YARDIM USKOWAR DATABASE K_NPCPOS SORUNU.

YARDIM USKOWAR DATABASE K_NPCPOS SORUNU.
6
557
Forum sitemizde mesaj sayısı kasmak için oto mesaj yanıtlayıcı programlar kullanmak kesinlikle yasaktır.
Lütfen yorum yaparken ( ty,tyty, +++++, up up, asasdasf ) vb. anlamsız ifadeler kullanmayalım. Bu şekilde yorum yapan üyelerin üyelikleri durdurulacaktır.
Spam mesajlar atan kişileri RAPOR butonu ile bize bildiriniz!

bitter27

Üye
2 Ara 2020
28
3
18
Selamün Aleyküm, Herkese Merhaba Forum'da Paylaşılan UskoWar filesler ile devam ediyorum 1299 projemde Yalnız 2 sorun karşılaştım..

1, Monster Ve Npc konumlarını koyarken Query'dan olsun Yanlış konum atıyor mesela 800,300 konumuna npc yerleştirdim bir tersine 300,800 diye gidiyor örnek olarak verdım problemin çözümü nedir bilgisi olan varmı K_NPCPOS mi buglu acaba


2, ise Gm yapılmıyor sql 'den Main girip server Gamemaster tablesinden yetkiyi veriyorum tekrar aynı problem konusuna okudum Src kaynaklı deniliyor tam bakmadım

önemli olan sorunum 1 dir ilk bunu çözersem gm problemine çözüm bulabilirm uğraşıp

yeterki 1 sıradaki sorunuma çözüm gerekir




You must be registered for see images attach
 

cyber00

🐫Gibi Loper.
Üye
7 Ocak 2021
38
5
18
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 ve GmCommandHandler.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
 
Son düzenleme:
  • Like
Tepkiler: bitter27

Who

Üye
1 May 2020
14
14
28
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
masallah mıstık neler biliyomusunda haberimiz yokmus :)
yalnız san soylediklerimi unutmussun o komut sadec chathandler icin gecerli degil
ayrıca GmCommandHandler.cpp icersinceki komut islemlerinede uygulanması lazım ogrettiklerimi cabuk unutmusun ;)
 
Son düzenleme:

bitter27

Üye
2 Ara 2020
28
3
18
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 :)
 
  • Like
Tepkiler: cyber00

cyber00

🐫Gibi Loper.
Üye
7 Ocak 2021
38
5
18
masallah mıstık neler biliyomusunda haberimiz yokmus :)
yalnız san soylediklerimi unutmussun o komut sadec chathandler icin gecerli degil
ayrıca GmCommandHandler.cpp icersinceki komut islemlerinede uygulanması lazım ogrettiklerimi cabuk unutmusun ;)
birşeyler öğrenip bilgi edinip senin gibi bilgi paylaşmaya çalışıyoruz abi 😊👍 bu arada çok fazla yazı yazdım o sırada GmCommandHandleri belirtmeyi unutmuşum 😂
 
Forum sitemizde mesaj sayısı kasmak için oto mesaj yanıtlayıcı programlar kullanmak kesinlikle yasaktır.
Lütfen yorum yaparken ( ty,tyty, +++++, up up, asasdasf ) vb. anlamsız ifadeler kullanmayalım. Bu şekilde yorum yapan üyelerin üyelikleri durdurulacaktır.
Spam mesajlar atan kişileri RAPOR butonu ile bize bildiriniz!