vestside 90 #1 Oluşturuldu: Kasım 22, 2017 Merhaba üstadlar CZ monument kesilince yukarıdan yazı geçmiyor ve kesen ırk kestikce tekrar kesebiliyor. kesen IRK a geçmiyor yani ne yapabilirim simdiden teşekkürler. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OzkanOzdemir 1.560 Admin #2 Kasım 22, 2017 tarihinde gönderildi void CNpc::OnDeathProcess(Unit * pKiller)fonksiyonu içerisinde aşağıdaki kontrol yok ise ekleyeceksin. if (!m_bMonster) { switch (m_tNpcType) { case NPC_BIFROST_MONUMENT: bUser->BifrostProcess(bUser); break; case NPC_PVP_MONUMENT: PVPMonumentProcess(bUser); break; case NPC_CZ_MONUMENT: CZMonumentProcess(bUser); break; case NPC_BORDER_MONUMENT: BorderMonumentProcess(bUser); break; case NPC_BATTLE_MONUMENT: BattleMonumentProcess(bUser); break; case NPC_HUMAN_MONUMENT: NationMonumentProcess(bUser); break; case NPC_KARUS_MONUMENT: NationMonumentProcess(bUser); break; case NPC_DESTROYED_ARTIFACT: bUser->CastleSiegeWarProcess(bUser); break; } }Daha sonra aşağıdaki fonksiyon yok ise ekleyeceksin.void CNpc::CZMonumentProcess(CUser *pUser){ if (pUser == nullptr) return; std::string sKillMonu; std::string sRecoMonu; sKillMonu = string_format("%s has destroyed the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); sRecoMonu = string_format("%s has recovered the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); s_pGameMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); if (pUser->GetNation() == E_NATION::E_NATION_KARUS) { if (GetSpid() == 30092) { s_pGameMain->SendAnnouncement(sKillMonu.c_str()); pUser->GiveItem(BLUE_TREASURE_CHEST,1); pUser->SendLoyaltyChange(150); } else { s_pGameMain->SendAnnouncement(sRecoMonu.c_str()); } } else { if (GetSpid() == 30091) { s_pGameMain->SendAnnouncement(sKillMonu.c_str()); pUser->GiveItem(BLUE_TREASURE_CHEST,1); pUser->SendLoyaltyChange(150); } else { s_pGameMain->SendAnnouncement(sRecoMonu.c_str()); } }} 3 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
Mamico 2 #3 Kasım 22, 2017 tarihinde gönderildi Alıntı void CNpc::OnDeathProcess(Unit * pKiller) fonksiyonu içerisinde aşağıdaki kontrol yok ise ekleyeceksin. if (!m_bMonster) { switch (m_tNpcType) { case NPC_BIFROST_MONUMENT: bUser->BifrostProcess(bUser); break; case NPC_PVP_MONUMENT: PVPMonumentProcess(bUser); break; case NPC_CZ_MONUMENT: CZMonumentProcess(bUser); break; case NPC_BORDER_MONUMENT: BorderMonumentProcess(bUser); break; case NPC_BATTLE_MONUMENT: BattleMonumentProcess(bUser); break; case NPC_HUMAN_MONUMENT: NationMonumentProcess(bUser); break; case NPC_KARUS_MONUMENT: NationMonumentProcess(bUser); break; case NPC_DESTROYED_ARTIFACT: bUser->CastleSiegeWarProcess(bUser); break; } } Daha sonra aşağıdaki fonksiyon yok ise ekleyeceksin. void CNpc::CZMonumentProcess(CUser *pUser) { if (pUser == nullptr) return; std::string sKillMonu; std::string sRecoMonu; sKillMonu = string_format("%s has destroyed the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); sRecoMonu = string_format("%s has recovered the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); s_pGameMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); if (pUser->GetNation() == E_NATION::E_NATION_KARUS) { if (GetSpid() == 30092) { s_pGameMain->SendAnnouncement(sKillMonu.c_str()); pUser->GiveItem(BLUE_TREASURE_CHEST,1); pUser->SendLoyaltyChange(150); } else { s_pGameMain->SendAnnouncement(sRecoMonu.c_str()); } } else { if (GetSpid() == 30091) { s_pGameMain->SendAnnouncement(sKillMonu.c_str()); pUser->GiveItem(BLUE_TREASURE_CHEST,1); pUser->SendLoyaltyChange(150); } else { s_pGameMain->SendAnnouncement(sRecoMonu.c_str()); } } } teşekkurler aynı hatayla bende boğuşuyordum Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
vestside 90 #4 Konu Sahibi Kasım 22, 2017 tarihinde gönderildi Teşekkür ederim -- mesaja ek olarak --üstad bu kodlar bende var sourcede ekli evet buna rağmen atak yapmama sorunu var. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OzkanOzdemir 1.560 Admin #5 Kasım 22, 2017 tarihinde gönderildi AlıntıTeşekkür ederim -- mesaja ek olarak -- üstad bu kodlar bende var sourcede ekli evet buna rağmen atak yapmama sorunu var. Böyle durumlarda görsel ekleyin ki tam ne demek istediğinizi anlayalım. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
vestside 90 #6 Konu Sahibi Kasım 22, 2017 tarihinde gönderildi bu keserken üstad buda kestikten sonra.. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OzkanOzdemir 1.560 Admin #7 Kasım 22, 2017 tarihinde gönderildi Alıntı bu keserken üstad buda kestikten sonra.. Olması gereken bu zaten sen ne istiyorsun ki? Monument öldükten sonra NpcUpdate ile öldüren kişinin ırkına geçer böylelikle aynı ırk bir daha kesemez. Daha iyi anlaman için Karus ırkı monumenti keserse karus ırkı monumente attack yapamaz. Elmorad ırkı keserse elmorad ırkı attack yapamaz ama karşı ırk yapabilir. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
vestside 90 #8 Konu Sahibi Kasım 22, 2017 tarihinde gönderildi işte ustad sorun burada mesela KARUS kestiği zaman KARUS ırkı tekrar atak yapabiliyor.KARUS kestiği zaman yukarıdan yazı geçmiyor yani sürekli kesebiliyor her iki ırk ta Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OzkanOzdemir 1.560 Admin #9 Kasım 22, 2017 tarihinde gönderildi Alıntıişte ustad sorun burada mesela KARUS kestiği zaman KARUS ırkı tekrar atak yapabiliyor. KARUS kestiği zaman yukarıdan yazı geçmiyor yani sürekli kesebiliyor her iki ırk ta Başta diyorsun ki attack yapılmıyor şimdi de bir daha kestiğinde bir daha kesiliyor bir dediğin bir dediğini tutmuyor. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
vestside 90 #10 Konu Sahibi Kasım 22, 2017 tarihinde gönderildi üstad o yukarda bahsettiklerinden switch case olayını anlamadım yalnız benim Sourcedeki kodlar şu şekilde..void CNpc::CZMonumentProcess(CUser *pUser){ if (pUser == nullptr) return; std::string sKillMonu; std::string sRecoMonu; sKillMonu = string_format("%s has destroyed the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); sRecoMonu = string_format("%s has recovered the %s at Ronark Land!",pUser->GetName().c_str(),GetName().c_str()); g_pMain->NpcUpdate(GetProtoID(), m_bMonster, pUser->GetNation()); if (pUser->GetNation() == KARUS) { if (GetSpid() == 30092) { g_pMain->SendAnnouncement(sKillMonu.c_str()); pUser->GiveItem(BLUE_TREASURE_CHEST,1); pUser->SendLoyaltyChange(150); } else { g_pMain->SendAnnouncement(sRecoMonu.c_str()); } } else { if (GetSpid() == 30091) { g_pMain->SendAnnouncement(sKillMonu.c_str()); pUser->GiveItem(BLUE_TREASURE_CHEST,1); pUser->SendLoyaltyChange(150); } else { g_pMain->SendAnnouncement(sRecoMonu.c_str()); } }} Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OzkanOzdemir 1.560 Admin #11 Kasım 22, 2017 tarihinde gönderildi SQL açacaksın database içerisinden K_NPC değerlerini kontrol edeceksin. Aşağıdaki vereceğim kodu uyguladıktan sonra karşına çıkan değerleri kontrol et. Kodu uyguladıktan sonra yapacakların; Eğer karşına herhangi bir sonuç çıkmıyorsa senin kestiğin monumentlerin byType değerleri 220 eşit değil ve bunun için yukarıdan notice geçmiyor. Eğer karşına değer gelir ve sPid değerleri 30092 ve 30091 değerine eşit değilse bu yüzden yukarıdan notice atmıyor. SELECT * FROM K_NPC WHERE byType = '220' 2 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
vestside 90 #12 Konu Sahibi Kasım 22, 2017 tarihinde gönderildi buyur ustad DB tarafında sıkıntı yok sanırım, ayrıca SOURCE'de monuyu kestiğin zaman 150 NP gitme olayıda ekli kesince 150 NP geliyor ustad valla çözemedim sıkıntıyı ya-- mesaja ek olarak --buda SRC deki czmonumentprocess içerisinden bir görüntü ustad, senide yoruyorum kusura bakma.. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
vestside 90 #13 Konu Sahibi Kasım 22, 2017 tarihinde gönderildi sorunu çözdüm ustad teşekkür ederim yardımın için.. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
secvision 7 #14 Kasım 24, 2017 tarihinde gönderildi Konu çözülen konular bölümüne taşınmıştır. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş