insert into K_NPCPOS values (21,14000,100,0,0,0,0,315,341,315,341,315,341,315,341,1,300,0,NULL,0)
örnek böyle ekleme yapıyorum gene yanlış konuma atıyor
npcyi
1. SORUNUN ÇÖZÜMÜ ( NPC KONUM DEĞİŞTİRME )
ilk olarak vereceğim kod ile npc ismi yazarak NpcID sini buluyoruz.
KOD:
SELECT * FROM K_NPC WHERE strName Like '%NPCİSMİ%'
ikinci aşamada bulduğumuz NpcID' sini vereceğim kod ile K_NPCPOS üzerinde aratıyoruz.
KOD:
select *from K_NPCPOS where NpcID like '%BulunanNpcID%'
bu kısımda yaptığınız aramada database üzerinde ekli o ID'ye ait tüm npclerin
bölgesini, konumunu, bakış yönünü, ırk tipini vs vs.. tüm bilgilerini göreceksiniz.
Önemli Kısım:
aradığınız tablonun en sonunda npc'ye özel K_NPCPOS üzerindeki ID 'sini göreceksiniz.
değiştirmek istediğiniz Npc'nin ID 'sini alıp aşağıda vereceğim kendi kendime bulduğum ve sürekli kullandığım
kod ile istediğiniz konuma taşıyabileceksiniz.
KOD:
Update k_npcpos set Leftx = XKONUMU where id = ID
Update k_npcpos set limitmaxx = XKONUMU where id = ID
Update k_npcpos set rightx = XKONUMU where id = ID
Update k_npcpos set limitminz = XKONUMU where id = ID
Update k_npcpos set bottomz = ZKONUMU where id = ID
Update k_npcpos set limitminx = ZKONUMU where id = ID
Update k_npcpos set limitmaxz = ZKONUMU where id = ID
Update k_npcpos set topz = ZKONUMU where id = ID
NOT:
XKONUMU = oyun içerisinde hp barınızın altında bulunan sol kısımdaki koordinat değeri.
ZKONUMU = oyun içerisinde hp barınızın altında bulunan sağ kısımdaki koordinat değeri.
ID = k_npcpos üzerindeki aramada yaptığınız npc'ye ait ID.
Anlattığım herşeyi uygularsanız sorunsuz değiştirebileceksiniz iyi çalışmalar.
2. SORUNUN ÇÖZÜMÜ ( GM KODLARINI KULLANMA / YETKİ VERME )
GameServer Sourcenizin içerisinde ChatHandler.cpp kısmında verdiğim değerler sizde 1 olarak bulunmaktadır.
Bu değerleri 0 yaparak tüm ekli gm kodlarını kullanabilirsiniz.
ÖRNEK KODLAR ÖNCESİ:
if (m_GameMastersWarOpen1 != 1)
if (m_GameMastersWarOpen2 != 1)
if (m_GameMastersWarClose != 1)
ÖRNEK KODLAR SONRASI:
if (m_GameMastersWarOpen1 != 0)
if (m_GameMastersWarOpen2 != 0)
if (m_GameMastersWarClose != 0)
Sourcenizdeki diğer komutlar içinde aynı işlemi yapmak zorundasınız iyi çalışmalar.
DİPNOT:
1)Bu işlemlerin sonrasında Userdata tablosu üzerinden GM yaptığınız karakter komutları kullanabilecek.
2)Sql üzerinden tek tek yetki verme tablosunun hiç bir önemi kalmayacak işlevsiz olacak.
3)Nicke özel yetki vermek istiyorsanız
bu kısmı ;
if (!isGM())
return false;
bu şekilde değiştirip çoğaltıp kullanabilirsiniz.
if (!isGM() || GetName() != "OyunİçindekiGmNick")
if (!isGM() || GetName() != "OyunİçindekiGmNick")
return false;
BİLGİM DAHİLİNDE UMARIM ANLATABİLMİŞİMDİR İYİ FORUMLAR
Sorunlarım çözülmüş Tekrar Teşekkürlerimi sunuyorum bilgim kadar demişsin ama çok güzel biliyorsun mantıgını Eline koluna sağlık tekrardan Kral adamsın eyvallah