Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
byxox

Oyuncuya Cash Hedıye edılmesı hk

Önerilen Mesajlar

Arkadaslar merhabalar

mesela oyuncu bdw yı kazandıgında


pUser->GiveItem(RED_TREASURE_CHEST, 1);
pUser->GiveItem(CERTIFICATE_OF_VICTORY, 1);
pUser->GiveItem(BORDER_SECURITY_SCROLL, 1);
pUser->SendLoyaltyChange(500);


bu hedıyelerı almaktadır

ben bdw yı kazanan oyuncuya 100 cash eklemesı yapabılmek ıcın

online 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ı acaba

onlı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

İletiyi paylaş


Link to post
Sitelerde Paylaş

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);

İletiyi paylaş


Link to post
Sitelerde Paylaş
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ı

İletiyi paylaş


Link to post
Sitelerde Paylaş
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 .?

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

İletiyi paylaş


Link to post
Sitelerde Paylaş
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

İletiyi paylaş


Link to post
Sitelerde Paylaş
@ 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);

İletiyi paylaş


Link to post
Sitelerde Paylaş
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

İletiyi paylaş


Link to post
Sitelerde Paylaş

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 şart

düzenli hali

else if (pUser->GetLevel() >= 79 && pUser->GetLevel() {
pUser->GiveItem(SILVERY_GEM);
pUser->GiveKnightCash(100, false);
pUser->AchieveMainCount(0, 6, 0, 0);
}

İletiyi paylaş


Link to post
Sitelerde Paylaş
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ı

 

İletiyi paylaş


Link to post
Sitelerde Paylaş
Misafir
Bu konu kapalıdır ama konuya cevap yazmaya yetkiniz var görünüyor.

×
×
  • Yeni Oluştur...