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.
| ID | Bölge |
| 1 | Omurga |
| 2 | Kafa |
| 3 | Sol Kol Üstü |
| 4 | Sağ Kol Üstü |
| 5 | Sol El |
| 6 | Sağ El |
| 7 | Sol Kalça |
| 8 | Sağ Kalça |
| 9 | Sol Ayak |
| 10 | Sağ Auak |
| 11 | Sağ Baldır |
| 12 | Sol Baldır |
| 13 | Sol Ön Kol |
| 14 | Sağ Ön Kol |
| 15 | Sol Omuz |
| 16 | Sağ Omuz |
| 17 | Boyun |
| 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!
