aakinci 141 #1 Oluşturuldu: Eylül 5, 2017 Arkadaşlar örnek olarak 52 level de açılan Haunga Warrior görevini Sınırsız yapılabilir hale yani tekrarlanabilir hale getirmek istiyorum. DB de tekrarlanabilir görev olmadığı için bakıp örnek çıkartamadım. Aşağıdaki gibi QUEST_HELPER tablosunda aşağıdaki görseldeki kırmızı yuvarlak ile gösterdiğim yeri 2 den 4 e çektim ve artık görev seri olarak alınabiliryor. Yani bir defa yapıldığında NPC den kaybolmuyor. Buraya kadar sorun yok.Ancak 2. sefer aldığımda görev otomatik olarak yapılmış gösteriyor. Yani DB de benim o ID li görevi yaptığımın kaydı tutulduğundan doalyı kestiğim Haunga Warrior sayısı görevi tamamlamama neden oluyor. Ben her görevi verdiğimde DB de görev ile ilgili olan kaydım silinsin ve görevi aldığımda 0 dan gidip yaratığı kesmemi istesin istiyorum. Bunu sağlamak için ne yapmam gerek? Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
CerfiN 67 #2 Eylül 5, 2017 tarihinde gönderildi Lua dan gorevin SaveEvet ini kaldir sinirsiz olur. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
CENGLYY 161 #3 Eylül 5, 2017 tarihinde gönderildi SavEvent'i kaldırırsan görev gelme erkanı ortadan gitmiyormuydu? Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
Nero 846 Admin #4 Eylül 5, 2017 tarihinde gönderildi ben hiç kurcalamadım twostarsın kaynak kodlarını fakat mantıken saveevent olayını görevi bitirdiği zaman tekrar devreye sokup başladığı anki haline getirebilirsin eğer fonksiyonda o özellik var ise Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
KODevelopers 438 #5 Eylül 5, 2017 tarihinde gönderildi 4 = nIndex , yani görevi verme event ıd ye geldiğinde 4 = nIndex yazaksın SaveEvent 'e Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #6 Konu Sahibi Eylül 5, 2017 tarihinde gönderildi Alıntı4 = nIndex , yani görevi verme event ıd ye geldiğinde 4 = nIndex yazaksın SaveEvent 'e lua da mı yapacağım hocam bu işlemi? Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
KODevelopers 438 #7 Eylül 5, 2017 tarihinde gönderildi Alıntılua da mı yapacağım hocam bu işlemi? evet runexchange nereye bağladın ? oraya bağladığın yere savenum da ekliceksin. oraya 4 = nIndex olarak yazacaksın. yani bEventStatus :4 = nIndex. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #8 Konu Sahibi Eylül 5, 2017 tarihinde gönderildi AlıntıSavEvent'i kaldırırsan görev gelme erkanı ortadan gitmiyormuydu? evet hocam saveeventi değiştirince durmadan görevi almak bile gerekmiyor. Seri seri veriliyor. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
KODevelopers 438 #9 Eylül 5, 2017 tarihinde gönderildi Alıntıevet hocam saveeventi değiştirince durmadan görevi almak bile gerekmiyor. Seri seri veriliyor. Hocam lua atsana be :) Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #10 Konu Sahibi Eylül 5, 2017 tarihinde gönderildi Alıntıevet runexchange nereye bağladın ? oraya bağladığın yere savenum da ekliceksin. oraya 4 = nIndex olarak yazacaksın. yani bEventStatus :4 = nIndex. if (EVENT == 8059) thenRunExchange(UID,952)SaveEvent(UID, 8981);endexchange kısmı bu hocam mesela burada ne gibi bir değişim yapacağım?Bu da luanın o görev için tamamı.Alıntıif (EVENT == 8050) then -- 47 Level Hornet SelectMsg(UID, 2, 204, 8245, NPC, 3003, 8051);endif (EVENT == 8051) then SaveEvent(UID, 8979);endif (EVENT == 8052) then MonsterSub = ExistMonsterQuestSub(UID); if (MonsterSub == 0) then SelectMsg(UID, 2, 204, 8246, NPC, 10, 8060); else SelectMsg(UID, 2, 204, 8254, NPC, 10, 193); endendif (EVENT == 8060) then SelectMsg(UID, 4, 204, 8247, NPC, 22, 8053, 23, 8054);endif (EVENT == 8053) then SaveEvent(UID, 8980);endif (EVENT == 8054) then SaveEvent(UID, 8983);endif (EVENT == 8055) then SelectMsg(UID, 2, 204, 8418, NPC, 3007, 193); SaveEvent(UID, 8982);endif (EVENT == 8057) then MonsterCount = CountMonsterQuestSub(UID, 204, 1); if (MonsterCount SelectMsg(UID, 2, 204, 8419, NPC, 18, 8058); else SelectMsg(UID, 4, 204, 8248, NPC, 41, 8059, 27, 193); endendif (EVENT == 8058) then ShowMap(UID, 27);endif (EVENT == 8059) thenRunExchange(UID,952)SaveEvent(UID, 8981);end Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
KODevelopers 438 #11 Eylül 5, 2017 tarihinde gönderildi Alıntı if (EVENT == 8059) then RunExchange(UID,952) SaveEvent(UID, 8981); end exchange kısmı bu hocam mesela burada ne gibi bir değişim yapacağım? Bu da luanın o görev için tamamı. önce şu işlemi yap : UPDATE USERDATA SET sQuestCount='0',sQuestDataCount='0' sonra : SaveEvent(UID,8983); veya SaveNum(UID,8983); Kolay Gelsin... 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #12 Konu Sahibi Eylül 5, 2017 tarihinde gönderildi Alıntıönce şu işlemi yap :UPDATE USERDATA SET sQuestCount='0',sQuestDataCount='0'sonra :SaveEvent(UID,8983);veya SaveNum(UID,8983);Kolay Gelsin...hocam görevi yeniden aldığımda yine otomatik tamamlanıyor. :( Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
CerfiN 67 #13 Eylül 5, 2017 tarihinde gönderildi İstediği şeyler 0 olduğu için olabilir yani ortada isteyeceği birşey olmadığından tamamlanmış olabilir. Ben görevleri test ederken db den sürekli karakterin görevini sıfırlamak yerine lua dan kaydetmesini kaldırmıştım görevi yapsam da yapmamış olarak kalıyordu ama uzun zaman oldu yanlış hatırlıyorda olabilirim. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 920 #14 Eylül 5, 2017 tarihinde gönderildi Bahsettiğin görev ile alakalı QUEST_HELPER girdileri şu şekilde; Alıntı 8978 2 47 0 5 2 1 2 14406 204 255 8050 0 0 0 14406_Guardsman.lua 8979 2 47 0 5 2 1 2 14406 204 0 8052 0 952 8158 14406_Guardsman.lua 8980 2 47 0 5 2 1 2 14406 204 1 8057 8055 952 8158 14406_Guardsman.lua 8981 2 47 0 5 2 1 2 14406 204 2 190 0 952 8158 14406_Guardsman.lua 8982 2 47 0 5 2 1 2 14406 204 3 8057 0 952 8158 14406_Guardsman.lua 8983 2 47 0 5 2 1 2 14406 204 4 8052 0 952 8158 14406_Guardsman.lua Bu senin görevi tamamlayan exchange kısmın. Alıntı if (EVENT == 8059) then RunExchange(UID,952) SaveEvent(UID, 8981); end 952 nolu exchangeyi çalıştırıp, 8981 nolu QUEST_HELPER girdisini işletiyor. yani, '204' idsine sahip questi, '2' durumuna getiriyor, yani tamamlanmış. Senin yapmak istediğin şey için, SaveEvent(UID, 8981);'in altına SaveEvent(UID,8983); yazarsan, görevi önce teslim eder, yapılmış duruma getirir, daha sonra hiç yapılmamış duruma döndürür. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 920 #15 Eylül 5, 2017 tarihinde gönderildi Konuyla alakasız fakat, kullandığın scriptte;RunExchange(UID,952);SaveEvent(UID, 8981);yerineif RunExchange(UID,952) > 0 thenSaveEvent(UID, 8981);endşeklinde kullanılması daha sağlıklı olur. RunExchange'nin sonucuna bakılmaksızın görev bitmiş duruma getiriliyor. Bu durumda eğer RunExchange fonksiyonu, eksik bir materyalden dolayı takası gerçekleştirmese dahi görev bitti olarak etiketleneceğinden, oyuncu questten hiçbir ödül alamadığı halde quest tamamlanmış olur. Bunlara dikkat edin. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #16 Konu Sahibi Eylül 6, 2017 tarihinde gönderildi AlıntıBahsettiğin görev ile alakalı QUEST_HELPER girdileri şu şekilde; Bu senin görevi tamamlayan exchange kısmın. 952 nolu exchangeyi çalıştırıp, 8981 nolu QUEST_HELPER girdisini işletiyor. yani, '204' idsine sahip questi, '2' durumuna getiriyor, yani tamamlanmış. Senin yapmak istediğin şey için, SaveEvent(UID, 8981);'in altına SaveEvent(UID,8983); yazarsan, görevi önce teslim eder, yapılmış duruma getirir, daha sonra hiç yapılmamış duruma döndürür. hocam dediğinizi yaptım ancak yine görev 2. alınışında otomatik tamamlanıyor. Ayrıca görev giveup yani alındıktan sonra bir defa silinip yeniden alındığında bu sefer sanki hiç yapılmamış gibi baştan yapmak gerekiyor. Yani giveup için hangi fonksiyon kullanılıyor ise aslında görevi teslim ederken o komutu da eklesek ve çalıştırsak sorun kalmayacak sanki. Olayın daha anlaşılır olması adına video da paylaşıyorum. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #17 Konu Sahibi Eylül 6, 2017 tarihinde gönderildi Alıntıİstediği şeyler 0 olduğu için olabilir yani ortada isteyeceği birşey olmadığından tamamlanmış olabilir. Ben görevleri test ederken db den sürekli karakterin görevini sıfırlamak yerine lua dan kaydetmesini kaldırmıştım görevi yapsam da yapmamış olarak kalıyordu ama uzun zaman oldu yanlış hatırlıyorda olabilirim. hocam luadan kaydı kaldıramıyoruz. Eğer kaydetmeyi kaldırırsanız görevi verdiğinizde sizden silinmiyor. Dolayısı ile görevi almaya gerek kalmadan sürekli verilebilir hale geliyor. Kaydedildiğinde görevin verilme aşamasında sizden silinmesini sağlıyor. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OCB 6 #18 Eylül 6, 2017 tarihinde gönderildi Hornet görevinin quest_helper tablosundaki satırlarını atarmısın.İlk sayfada paylaştığın quest_helper satırları hornete ait değil Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #19 Konu Sahibi Eylül 6, 2017 tarihinde gönderildi AlıntıHornet görevinin quest_helper tablosundaki satırlarını atarmısın.İlk sayfada paylaştığın quest_helper satırları hornete ait değil Buyrun hocam: Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OCB 6 #20 Eylül 6, 2017 tarihinde gönderildi lua:if (EVENT == 8052) then MonsterSub = ExistMonsterQuestSub(UID); if (MonsterSub == 0) then SelectMsg(UID, 4, 204, 8158, NPC, 22, 8053, 23, 193); else SelectMsg(UID, 2, 204, 8158, NPC, 27, 193); end end -- Quest Accept if (EVENT == 8053) then SaveEvent(UID, 8980); end -- Check Quest if (EVENT == 8057) then MobCount1 = CountMonsterQuestSub(UID, 204, 1); if(MobCount1 SelectMsg(UID, 2, 204, 8158, NPC, 18, 8058); else SelectMsg(UID, 4, 204, 8145, NPC, 29, 8061, 27, 193); end end -- Show Map if (EVENT == 8058) then ShowMap(UID,27); -- NPC : Hornet end -- Complete Button if (EVENT == 8061) then Check = CheckExchange(UID, 952); if (Check) then RunCountExchange(UID, 952,0); end SaveEvent(UID,8983);---8981 di end quest_helper: 8979 Hornet Hunt 2 47 0 5 2 1 2 14406 204 0 8052 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8980 Hornet Hunt 2 47 0 5 2 1 2 14406 204 1 8057 8055 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8981 Hornet Hunt 2 47 0 5 2 1 2 14406 204 2 190 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8982 Hornet Hunt 2 47 0 5 2 1 2 14406 204 3 8057 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8983 Hornet Hunt 2 47 0 5 2 1 2 14406 204 4 8052 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt benim sistemim biraz farklı sen fazda kolonları silersin quest helper icin. Bende calısıyor suan tekrarlanabilir olarak sende hata verirse söyle. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #21 Konu Sahibi Eylül 6, 2017 tarihinde gönderildi Alıntılua:if (EVENT == 8052) then MonsterSub = ExistMonsterQuestSub(UID); if (MonsterSub == 0) then SelectMsg(UID, 4, 204, 8158, NPC, 22, 8053, 23, 193); else SelectMsg(UID, 2, 204, 8158, NPC, 27, 193); end end -- Quest Accept if (EVENT == 8053) then SaveEvent(UID, 8980); end -- Check Quest if (EVENT == 8057) then MobCount1 = CountMonsterQuestSub(UID, 204, 1); if(MobCount1 SelectMsg(UID, 2, 204, 8158, NPC, 18, 8058); else SelectMsg(UID, 4, 204, 8145, NPC, 29, 8061, 27, 193); end end -- Show Map if (EVENT == 8058) then ShowMap(UID,27); -- NPC : Hornet end -- Complete Button if (EVENT == 8061) then Check = CheckExchange(UID, 952); if (Check) then RunCountExchange(UID, 952,0); end SaveEvent(UID,8983);---8981 di end quest_helper: 8979 Hornet Hunt 2 47 0 5 2 1 2 14406 204 0 8052 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8980 Hornet Hunt 2 47 0 5 2 1 2 14406 204 1 8057 8055 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8981 Hornet Hunt 2 47 0 5 2 1 2 14406 204 2 190 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8982 Hornet Hunt 2 47 0 5 2 1 2 14406 204 3 8057 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt 8983 Hornet Hunt 2 47 0 5 2 1 2 14406 204 4 8052 0 952 8158 14406_Guardsman.lua 0 827 31 0 0 Hunt benim sistemim biraz farklı sen fazda kolonları silersin quest helper icin. Bende calısıyor suan tekrarlanabilir olarak sende hata verirse söyle. hocam lua yı metin belgesi olarak atabilir misiniz? kopyalama yapılmıyor forumda. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OCB 6 #22 Eylül 6, 2017 tarihinde gönderildi İndir luatekrarlanma txt Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
aakinci 141 #23 Konu Sahibi Eylül 6, 2017 tarihinde gönderildi Alıntıİndir luatekrarlanma txt yok hocam gene aynı durumda. Tw vereyim müsaitseniz bir bakın. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OCB 6 #24 Eylül 6, 2017 tarihinde gönderildi 0 dan char acıp denedin dimi Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş