Oyuncuya Obje Takmak

Oyuncuya Obje Takmak

Selamlar, bu yazıda oyuncuya nasıl obje takıldığını anlatacağım. İsterseniz giriş kısmını bu seferlik kısa tutalım ve direkt anlatıma geçelim.

Obje ile alakalı fonksiyonlar şunlardır:


SetPlayerAttachedObject - Oyuncuya obje takmak için kullanacağımız fonksiyon.

RemovePlayerAttachedObject - Belirtilen slottaki objeleri kaldırmak için kullanacağımız fonksiyon.

IsPlayerAttachedObjectSlotUsed - Seçilen slotta objenin olup olmadığını kontrol etmek için kullanacağımız fonksiyon.

EditAttachedObject - Oyuncudaki objeyi düzenlemek için kullanacağımız fonksiyon.

Peki, bunlar nasıl kullanılır ki?

1-) Obje Takmak - SetPlayerAttachedObject:

SetPlayerAttachedObject(playerid, index, modelid, bone, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ, materialcolor1, materialcolor2);

Aynen, aynen. Biliyorum, bayağı bir karmaşık geldi sana. Ama dert etme, aslında çok basittir. Hadi, gel de tek tek açıklayalım ne işe yaradıklarını.

Index: Objenin bulunacağı slotu ayarlar. 0 ile 9 arasında bir sayı kullanabilirsiniz.
Modelid: Obje idsini buraya gireceğiz. Peki, ben nereden bulurum ki bu obje idlerini diye bir soru soruyorsunuz gibi geldi. Obje idlerine buradan ulaşabilirsiniz.
Bone: Burası ise, objenin oyuncunun neresinden çıkacağını ayarladığımız kısım. Hemen alttaki tablodan hangi id neresiymiş, neresi hangi idmiş öğrenebilirsiniz.
Offset, Scale, Rot: Objenin konumunu ayarlamaya yarar.

IDBölge
1Omurga
2Kafa
3Sol Kol Üstü
4Sağ Kol Üstü
5Sol El
6Sağ El
7Sol Kalça
8Sağ Kalça
9Sol Ayak
10Sağ Auak
11Sağ Baldır
12Sol Baldır
13Sol Ön Kol
14Sağ Ön Kol
15Sol Omuz
16Sağ Omuz
17Boyun
18Çene

2-) Obje Kaldırmak - RemovePlayerAttachedObject:

RemovePlayerAttachedObject(playerid, Slot Index);

Yukarıdaki kod ise belirttiğiniz slot idsindeki objelerin kaldırılmasını sağlar.

3-) Slot Kontrolü - IsPlayerAttachedObjectSlotUsed:

Burada ise belirtilen slotta objelerin olup olmadığını kontrol ediyoruz.

Örnek Kullanım:

for(new i=0; i < MAX_PLAYER_ATTACHED_OBJECTS; i++)
{
if(IsPlayerAttachedObjectSlotUsed(playerid, i)) print("Adamsin be!");
}


4-) Obje Düzenleme - EditAttachedObject:

EditAttachedObject(playerid, Slot Model ID);

Bununla da obje editleme işlemini yapıyoruz. Örneğin aşağıdaki komut ile objeyi oluşturup, oluşturduğumuz slottaki objeyi düzenleyebiliriz.

public OnPlayerConnect(playerid)
{
SetPlayerAttachedObject(playerid, 2, 18636, 2);
return 1;
}


if(!strcmp(cmdtext, "/edit", true))
{
SendClientMessage(playerid, -1, "Obje düzenleniliyor...");
EditAttachedObject(playerid, 2);
return 1;
}


..:: Bu anlatımın size faydalı olduğunu düşünerek mesajımı iletiyorum, bir sonraki anlatımda görüşmek üzere!

Yorum Gönder

0 Yorumlar