byxox 67 #1 Oluşturuldu: Kasım 3, 2017 Arkadaslar merhabalarmesela oyuncu bdw yı kazandıgındapUser->GiveItem(RED_TREASURE_CHEST, 1); pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1); pUser->GiveItem(BORDER_SECURITY_SCROLL, 1); pUser->SendLoyaltyChange(500);bu hedıyelerı almaktadırben bdw yı kazanan oyuncuya 100 cash eklemesı yapabılmek ıcınonline kaldıgında cash verdıgım fonksyondakı gıbı bır mantık kullanabılırmıyım yanı pUser deyıp 100 cash ekle kazanana seklınde yapsam sıstem çalışırmı acabaonlıne kal cash kazan mantıgı su sekılde :void CUser::GiveKnightCash(uint32 nKnightCash){ if (isDead() || isTrading() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isStoreOpen() || isMining() || m_bMerchantStatex) return; if (nKnightCash return; m_nKnightCash += nKnightCash; g_DBAgent.UpdateAccountKnightCash(m_strAccountID, nKnightCash); g_pMain->SendHelpDescription(this, string_format("[%d] Online Kalarak Kazandığınız Cash Hesabınıza Yüklenmiştir '%s'.", nKnightCash, m_strAccountID.c_str()));yardımcı olabılırsenız cok sevınırım Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
CerfiN 68 #2 Kasım 3, 2017 tarihinde gönderildi pUser->nKnightCash(100);gibi birşey olabilir belki direk aklıma geleni yazdım denemek lazım. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 924 #3 Kasım 3, 2017 tarihinde gönderildi pUser->GiveItem(RED_TREASURE_CHEST, 1); pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1); pUser->GiveItem(BORDER_SECURITY_SCROLL, 1); pUser->SendLoyaltyChange(500); pUser->GiveKnightCash(100);diyerek verebilirsin. Fakat bu şekilde 'online kalarak cash kazandınız yazısı da görünecektir, o yüzden void CUser::GiveKnightCash(uint32 nKnightCash) fonksiyonunu biraz değiştireceğiz.User.h dosyasında GiveKnightCash(uint32 nKnightCash) satırını bul veGiveKnightCash(uint32 nKnightCash, bool isActivityReward = true) olarak değiştir.User.cpp dosyasında void CUser::GiveKnightCash(uint32 nKnightCash) fonksiyonunu şu şekilde değiştir.void CUser::GiveKnightCash(uint32 nKnightCash, bool isActivityReward){ if (isDead() || isTrading() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isStoreOpen() || isMining() || m_bMerchantStatex) return; if (nKnightCash return; m_nKnightCash += nKnightCash; g_DBAgent.UpdateAccountKnightCash(m_strAccountID, nKnightCash); g_pMain->SendHelpDescription(this, string_format(isActivityReward ? "[%d] Online Kalarak Kazandığınız Cash Hesabınıza Yüklenmiştir '%s'.":"[%d] Border defense war ödülü hesabınıza yüklenmiştir %s", nKnightCash, m_strAccountID.c_str()));}son halinin kullanımı ;pUser->GiveItem(RED_TREASURE_CHEST, 1); pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1); pUser->GiveItem(BORDER_SECURITY_SCROLL, 1); pUser->SendLoyaltyChange(500); pUser->GiveKnightCash(100,false); 2 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #4 Konu Sahibi Kasım 4, 2017 tarihinde gönderildi Alıntı pUser->GiveItem(RED_TREASURE_CHEST, 1); pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1); pUser->GiveItem(BORDER_SECURITY_SCROLL, 1); pUser->SendLoyaltyChange(500); pUser->GiveKnightCash(100); diyerek verebilirsin. Fakat bu şekilde 'online kalarak cash kazandınız yazısı da görünecektir, o yüzden void CUser::GiveKnightCash(uint32 nKnightCash) fonksiyonunu biraz değiştireceğiz. User.h dosyasında GiveKnightCash(uint32 nKnightCash) satırını bul ve GiveKnightCash(uint32 nKnightCash, bool isActivityReward = true) olarak değiştir. User.cpp dosyasında void CUser::GiveKnightCash(uint32 nKnightCash) fonksiyonunu şu şekilde değiştir. void CUser::GiveKnightCash(uint32 nKnightCash, bool isActivityReward) { if (isDead() || isTrading() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isStoreOpen() || isMining() || m_bMerchantStatex) return; if (nKnightCash return; m_nKnightCash += nKnightCash; g_DBAgent.UpdateAccountKnightCash(m_strAccountID, nKnightCash); g_pMain->SendHelpDescription(this, string_format(isActivityReward ? "[%d] Online Kalarak Kazandığınız Cash Hesabınıza Yüklenmiştir '%s'.":"[%d] Border defense war ödülü hesabınıza yüklenmiştir %s", nKnightCash, m_strAccountID.c_str())); } son halinin kullanımı ; pUser->GiveItem(RED_TREASURE_CHEST, 1); pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1); pUser->GiveItem(BORDER_SECURITY_SCROLL, 1); pUser->SendLoyaltyChange(500); pUser->GiveKnightCash(100,false); teşekkurler deneyıp yazacagım o zaman bunu aynı sekılde chaos , bdw , jr ıcın de yapabılırım sanırım degılmı Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 924 #5 Kasım 4, 2017 tarihinde gönderildi Alıntıteşekkurler deneyıp yazacagım o zaman bunu aynı sekılde chaos , bdw , jr ıcın de yapabılırım sanırım degılmı @ byxox, tabiki. reward kısımlarında fonksiyonu çağırman yeterli. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
Maxim 33 #6 Kasım 4, 2017 tarihinde gönderildi Alıntı@ byxox, tabiki. reward kısımlarında fonksiyonu çağırman yeterli. Bdw ,chaos,monster gibi eventleri , klonlayip cogaltmak mumkun mu .? Ornegin aklimda bir event var bunu 1298 de editor ile yapmak gerekirdi ama 19xx lerde klonlama yontemiyle Chaos bdw yi iptal etmeden , sureli ve chaos gibi kendine has skill ve ozellikleriyle ayri bir map yapmak mumkun mu .? Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 924 #7 Kasım 4, 2017 tarihinde gönderildi AlıntıBdw ,chaos,monster gibi eventleri , klonlayip cogaltmak mumkun mu .? Ornegin aklimda bir event var bunu 1298 de editor ile yapmak gerekirdi ama 19xx lerde klonlama yontemiyle Chaos bdw yi iptal etmeden , sureli ve chaos gibi kendine has skill ve ozellikleriyle ayri bir map yapmak mumkun mu .? Mümkün. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #8 Konu Sahibi Kasım 8, 2017 tarihinde gönderildi Alıntı pUser->GiveItem(RED_TREASURE_CHEST, 1); pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1); pUser->GiveItem(BORDER_SECURITY_SCROLL, 1); pUser->SendLoyaltyChange(500); pUser->GiveKnightCash(100); diyerek verebilirsin. Fakat bu şekilde 'online kalarak cash kazandınız yazısı da görünecektir, o yüzden void CUser::GiveKnightCash(uint32 nKnightCash) fonksiyonunu biraz değiştireceğiz. User.h dosyasında GiveKnightCash(uint32 nKnightCash) satırını bul ve GiveKnightCash(uint32 nKnightCash, bool isActivityReward = true) olarak değiştir. User.cpp dosyasında void CUser::GiveKnightCash(uint32 nKnightCash) fonksiyonunu şu şekilde değiştir. void CUser::GiveKnightCash(uint32 nKnightCash, bool isActivityReward) { if (isDead() || isTrading() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isStoreOpen() || isMining() || m_bMerchantStatex) return; if (nKnightCash return; m_nKnightCash += nKnightCash; g_DBAgent.UpdateAccountKnightCash(m_strAccountID, nKnightCash); g_pMain->SendHelpDescription(this, string_format(isActivityReward ? "[%d] Online Kalarak Kazandığınız Cash Hesabınıza Yüklenmiştir '%s'.":"[%d] Border defense war ödülü hesabınıza yüklenmiştir %s", nKnightCash, m_strAccountID.c_str())); } son halinin kullanımı ; pUser->GiveItem(RED_TREASURE_CHEST, 1); pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1); pUser->GiveItem(BORDER_SECURITY_SCROLL, 1); pUser->SendLoyaltyChange(500); pUser->GiveKnightCash(100,false); kardeşim selam dediğin gibi yaptım ve bdw kazanma sonucunda hesaba otomatık 100 cash yukluyor alt tarafta ise http://prntscr.com/h7npiz şeklinde yazı çıkıyor. online kaldığımda aldığım cash halen devam edıyor http://prntscr.com/h7ptok bu problem konusunda yardım ısteyen arkadaşlara yardımcı olabılırım chaos a ekleme yaptığımda if (nUserRank > 0 && nUserRank pUser->GiveItem(BLUE_TREASURE_CHEST); pUser->GiveKnightCash(100, false); else if (nUserRank > 0 && nUserRank >= nItemRewardRankFirst && nUserRank pUser->GiveItem(GREEN_TREASURE_CHEST); else if (nUserRank > 0 && nUserRank > nItemRewardRankSecond) pUser->GiveItem(RED_TREASURE_CHEST); buıldlerken bu sekılde hata alıyorum http://prntscr.com/h7qxn0 reward kısmında fonksyonu çağıramadım sanırım yardımcı olabilirsen cok sevınırım Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
KODevelopers 440 #9 Kasım 8, 2017 tarihinde gönderildi @ byxox Farklı kullanmak gerekiyor.void CUser::GiveKnightBdw(uint32 nKnightCash, bool isActivityReward){ if (isDead() || isTrading() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isStoreOpen() || isMining() || m_bMerchantStatex) return; if (nKnightCash return; m_nKnightCash += nKnightCash; g_DBAgent.UpdateAccountKnightCash(m_strAccountID, nKnightCash); g_pMain->SendHelpDescription(this, string_format(isActivityReward ? "[%d] Online Kalarak Kazandığınız Cash Hesabınıza Yüklenmiştir '%s'.":"[%d] Border defense war ödülü hesabınıza yüklenmiştir %s", nKnightCash, m_strAccountID.c_str()));}pUser->GiveKnightBdw(100,false);void CUser::GiveKnightCash(uint32_t nKnightCash){ if (isDead() || isTrading() || isMerchanting() || isSellingMerchant() || isBuyingMerchant() || isStoreOpen() || isMining() || m_bMerchantStatex) return; if (nKnightCash return; m_nKnightCash += nKnightCash; g_DBAgent.UpdateAccountKnightCash(m_strAccountID,nKnightCash); g_pMain->SendHelpDescription(this,string_format("[%d] Knight Cash has sent to your account '%s'.",nKnightCash,m_strAccountID.c_str()));}pUser->GiveKnightCash(100,false); Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #10 Konu Sahibi Kasım 9, 2017 tarihinde gönderildi Alıntı@ byxox, tabiki. reward kısımlarında fonksiyonu çağırman yeterli. Kardeşim selam jr ıcın else if (pUser->GetLevel() >= 79 && pUser->GetLevel() pUser->GiveItem(SILVERY_GEM); pUser->GiveKnightCash(100, false); pUser->AchieveMainCount(0, 6, 0, 0); bu ekledım ve g_pMain->SendHelpDescription(this, string_format(isActivityReward ? "[%d] Online Kalarak Kazandığınız Cash Hesabınıza Yüklenmiştir '%s'.":"[%d] Border defense war ödülü hesabınıza yüklenmiştir %s", nKnightCash, m_strAccountID.c_str())); olan yere JR ödülü hesabınıza yüklenmiştir eklemesi yaptığımda buıld hatası alıyorum buraya ekleme yapmayacakmıyım acaba Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
goto566 39 #11 Kasım 9, 2017 tarihinde gönderildi else if (pUser->GetLevel() >= 79 && pUser->GetLevel() pUser->GiveItem(SILVERY_GEM); pUser->GiveKnightCash(100, false); pUser->AchieveMainCount(0, 6, 0, 0);EĞERKİ parantezleri kullanmadan if kullanacaksan sadece 1 komut yazabilirsin.1 den fazla komut için parantezler şartdüzenli halielse if (pUser->GetLevel() >= 79 && pUser->GetLevel() { pUser->GiveItem(SILVERY_GEM); pUser->GiveKnightCash(100, false); pUser->AchieveMainCount(0, 6, 0, 0);} 2 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #12 Konu Sahibi Kasım 15, 2017 tarihinde gönderildi Alıntı else if (pUser->GetLevel() >= 79 && pUser->GetLevel() <= 83) pUser->GiveItem(SILVERY_GEM); pUser->GiveKnightCash(100, false); pUser->AchieveMainCount(0, 6, 0, 0); EĞERKİ parantezleri kullanmadan if kullanacaksan sadece 1 komut yazabilirsin. 1 den fazla komut için parantezler şart düzenli hali else if (pUser->GetLevel() >= 79 && pUser->GetLevel() <= 83){ pUser->GiveItem(SILVERY_GEM); pUser->GiveKnightCash(100, false); pUser->AchieveMainCount(0, 6, 0, 0);} çok teşekkurler sorunsuz çalıştı Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
secvision 7 #13 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ş