byxox 67 #1 Oluşturuldu: Aralık 21, 2017 Arkadaşlar merhabalar Db'de bulunan tüm premium tiplerini kontrol ettim ve @ OzkanOzdemir arkadaşımızın paylaşım yaptığı https://www.kodevelopers.com/gerekli-bilgi-paylasimlari/868-guncel-kullanilan-premium-tipleri.html konusundaki tum premıumlar DB'de PREMIUM_ITEM tablosunda eklıdır. Kaira lua'sını kontrol ettıgımde tum premıumlar var fakat swıtch premıum yoktur. Db'dekı premıum tiplerınde de yoktur. src den kontrol ettıgımde switch premıum paketıde de mevcuttur. void CUser::PremiumSwitchHandle(Packet & pkt) { uint8 ChangePremiumID; uint8 opcode = pkt.read(); _PREMIUM_TYPE * pPremium; Packet result(WIZ_PREMIUM); switch(opcode) { case 4: ChangePremiumID = pkt.read(); result << uint8(4); pPremium = PremiumList.GetData(ChangePremiumID); if (pPremium == nullptr) return; if (PremiumChangeTime + PREMIUM_CHANGE_TIME >= UNIXTIME) goto failed_return; PremiumChangeTime = UNIXTIME; PremiumID = ChangePremiumID; g_DBAgent.UpdatePremiumType(PremiumID,GetAccountName()); result << PremiumID << int16(1); Send(&result); return; break; default: printf("PremiumSwitchHandle Handle Unknow : %d ",opcode); break; } failed_return: result << ChangePremiumID << int16(-1) << uint16(PREMIUM_CHANGE_TIME - (UNIXTIME - PremiumChangeTime)); Send(&result); } lua da örnek premıum kırdırma sıstemı if (EVENT == 266) then -- WAR Premium WARPREM = HowmuchItem(UID, 399292764); if (WARPREM < 1) then SelectMsg(UID, 2, -1, 9955, NPC, 18, 5000); else EVENT = 267 end end if (EVENT == 267) then RobItem(UID, 399292764, 1) GivePremium(UID, 12, 30) end Switch premıum kırdırmak için ne yapmam lazım yardımcı olabılırmısınız Teşekkurler 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OzkanOzdemir 1.560 Admin #2 Aralık 21, 2017 tarihinde gönderildi SWITCH PREMIUM diye bir tip yok. Sadece ITEM olarak var ve bunu verdiğinde kullanıcı 3 çeşit PREMIUM'a sahip oluyor. Bunu siz server tarafından kendiniz vereceksiniz. Bu 3 çeşit şunlar oluyor; 1) DC PREMIUM 2) WAR PREMIUM 3) EXP PREMIUM Bu çeşitlerin hepsini aynı güne sahip olarak kullanıcıya vereceksiniz. void CUser::PremiumSwitchHandle(Packet & pkt) Verdiğiniz fonksiyon ise 2000+ versionlarında gelen premium değiştirme yani premium switch özelliğinin paket sistemidir. 2 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #3 Konu Sahibi Aralık 21, 2017 tarihinde gönderildi Alıntı SWITCH PREMIUM diye bir tip yok. Sadece ITEM olarak var ve bunu verdiğinde kullanıcı 3 çeşit PREMIUM'a sahip oluyor. Bunu siz server tarafından kendiniz vereceksiniz. Bu 3 çeşit şunlar oluyor; 1) DC PREMIUM 2) WAR PREMIUM 3) EXP PREMIUM Bu çeşitlerin hepsini aynı güne sahip olarak kullanıcıya vereceksiniz. void CUser::PremiumSwitchHandle(Packet & pkt) Verdiğiniz fonksiyon ise 2000+ versionlarında gelen premium değiştirme yani premium switch özelliğinin paket sistemidir. @ OzkanOzdemir çok tesekkur edıyorum. Arkadaşlar şöyle çözebılırsınız Aslında swıtch premıum dıye bır premıum yok aynı anda 3 premıum eklememız gerekıyor premıum kırdırırken bu sebeple GivePremium(UID, 10, 30) GivePremium(UID, 11, 30) GivePremium(UID, 12, 30) şeklınde premıum kırdırma sonucunda hangı premıum verılecegı ayarı kısmına 10 - 11 -12 war , dc , exp premıum eklersenız ve paketınız eklıyse sourcede bu sekılde kullanabılırsınız 3 lu premıum geçişlerı problemsız calısmaktadır. örnek resım :http://prntscr.com/hqjaof Teşekkurler. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
vestside 90 #4 Aralık 21, 2017 tarihinde gönderildi abi bilgilendirme için teşekkürler. aradığım konuydu cok sağol 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
we1982 26 #5 Mart 13, 2018 tarihinde gönderildi merhaba konu nun çözümünü nasıl sağladınız paylaşabilirmiisniz Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #6 Konu Sahibi Mart 14, 2018 tarihinde gönderildi Alıntımerhaba konu nun çözümünü nasıl sağladınız paylaşabilirmiisniz we selam dostum yukarıda gosterdım lua ya eklemen gereken kodu deneyebıldınmı Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
we1982 26 #7 Mart 14, 2018 tarihinde gönderildi denedim olmuyor.-- mesaja ek olarak --if (EVENT == 888) then -- Switching Premium SelectMsg(UID, 2, -1, 9527, NPC, 4006, 889, 4005, 101); end if (EVENT == 889) then SlotControl = CheckGiveSlot(UID,1) if (SlotControl == true) then -- slotta yer var SWİTCHPREM = HowmuchItem(UID, 399295000); if (SWİTCHİNGPRE SelectMsg(UID, 2, -1, 9528, NPC, 18, 1000); else RobItem(UID, 399295000, 1) GivePremium(UID, 10, 30) GivePremium(UID, 11, 30) GivePremium(UID, 12, 30) end end end KULLANDIĞIM KOD BU AMA BİR YERDE YANLIŞLIK VAR BİR TÜRLÜ BULAMADIM. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #8 Konu Sahibi Mart 14, 2018 tarihinde gönderildi Alıntıdenedim olmuyor. -- mesaja ek olarak -- if (EVENT == 888) then -- Switching Premium SelectMsg(UID, 2, -1, 9527, NPC, 4006, 889, 4005, 101); end if (EVENT == 889) then SlotControl = CheckGiveSlot(UID,1) if (SlotControl == true) then -- slotta yer var SWİTCHPREM = HowmuchItem(UID, 399295000); if (SWİTCHİNGPRE SelectMsg(UID, 2, -1, 9528, NPC, 18, 1000); else RobItem(UID, 399295000, 1) GivePremium(UID, 10, 30) GivePremium(UID, 11, 30) GivePremium(UID, 12, 30) end end end KULLANDIĞIM KOD BU AMA BİR YERDE YANLIŞLIK VAR BİR TÜRLÜ BULAMADIM. if (EVENT == 7199) then SWİTCHPREM = HowmuchItem(UID, 399295000); if (SWİTCHPREM SelectMsg(UID, 2, -1, 12069, NPC, 18, 5000); else EVENT = 272 end end if (EVENT == 272) then RobItem(UID, 399295000, 1) GivePremium(UID, 10, 30) GivePremium(UID, 11, 30) GivePremium(UID, 12, 30) end bendekı kod bu sekılde event numaralarını sendekı gıbı degıstırıp denermısın Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
KroniqWaqaa 6 #9 Mart 14, 2018 tarihinde gönderildi @ byxox bende 3 premium u aktif etmiyor. galiba paketten dolayıvoid CUser::PremiumSwitchHandle(Packet & pkt)bu paketenmi kaynaklanıyor acba paylaşabilirmisin paketi ? Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
we1982 26 #10 Mart 14, 2018 tarihinde gönderildi merhaba sende buswitch premium çalışıyormu? Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #11 Konu Sahibi Mart 14, 2018 tarihinde gönderildi Alıntımerhaba sende buswitch premium çalışıyormu? Tabıkı calısıyor calışmazsa yazarmıydım kardeşim ;)-- mesaja ek olarak --Alıntı@ byxox bende 3 premium u aktif etmiyor. galiba paketten dolayı void CUser::PremiumSwitchHandle(Packet & pkt) bu paketenmi kaynaklanıyor acba paylaşabilirmisin paketi ? void CUser::PremiumSwitchHandle(Packet & pkt) { uint8 ChangePremiumID; uint8 opcode = pkt.read(); _PREMIUM_TYPE * pPremium; Packet result(WIZ_PREMIUM); switch(opcode) { case 4: ChangePremiumID = pkt.read(); result pPremium = PremiumList.GetData(ChangePremiumID); if (pPremium == nullptr) return; if (PremiumChangeTime + PREMIUM_CHANGE_TIME >= UNIXTIME) goto failed_return; PremiumChangeTime = UNIXTIME; PremiumID = ChangePremiumID; g_DBAgent.UpdatePremiumType(PremiumID,GetAccountName()); result Send(&result); return; break; default: printf("PremiumSwitchHandle Handle Unknow : %d",opcode); break; } failed_return: result Send(&result); } Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
KroniqWaqaa 6 #12 Mart 14, 2018 tarihinde gönderildi Bu Paket tam olarak nerde onuda yazsaydın keşke @ byxox kardesm. Muhtemelen benm fileslerde yok. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş