fantans 0 Posted September 23, 2015 Share Posted September 23, 2015 (edited) hello, i've a error when open ox o others event set max players to events and return to select channel... https://metin2.download/picture/kP7ud3YQtOL3V2IpLqfy1HF0q9J1emY9/.png https://metin2.download/picture/Y82A7CargHujk8R1C1QXhNocE9v6jovJ/.jpg chanel1 SYSERR: Sep 24 00:29:03.606729 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(2410) Map(72) SYSERR: Sep 24 00:29:05.646051 :: Process: SEQUENCE 63eeb980 mismatch 0xdf != 0x0 header 30 SYSERR: Sep 24 00:29:05.646125 :: Process: SEQUENCE_LOG [XXXXXX]------------- [109 : 0xaf] [006 : 0xca] [241 : 0x8a] [010 : 0xcf] [061 : 0x48] [026 : 0xa7] [007 : 0x54] [029 : 0xc7] [029 : 0xd7] [030 : 0xdf] SYSERR: Sep 24 00:29:05.687004 :: ChildLoop: AsyncSQL: query failed: Data too long for column 'hint' at row 1 (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip) VALUES('CHARACTER', NOW(), 57787, 956026, 274765, 0, 'LOGOUT', '186.89.180.164 194424000 1 41 857', '186.89.180.164') errno: 1406) SYSERR: Sep 24 00:30:20.608194 :: SpawnGroupGroup: NOT_EXIST_GROUP_GROUP_VNUM(2410) MAP(73) every events like ox, battle empire and others Edited August 19, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Great 16 Posted September 23, 2015 Share Posted September 23, 2015 which game you used? Link to comment Share on other sites More sharing options...
fantans 0 Posted September 23, 2015 Author Share Posted September 23, 2015 40k robert serban Link to comment Share on other sites More sharing options...
kodepiko 38 Posted September 24, 2015 Share Posted September 24, 2015 (edited) So none of quests are working for you? try simple quest: quest working begin state start begin when kill begin chat("YOU KILL MOB/PC") end end end save it as working.quest and put in locale_list or compile it by ./qc and write /reload q in gameI think it depends on your quest which dumps core for ex. by wrong timer or smth like that Paste here your OX event quest so we can check it Edited September 24, 2015 by kodepiko 2 Link to comment Share on other sites More sharing options...
AlCapone 67 Posted September 25, 2015 Share Posted September 25, 2015 (edited) The quest work. But the OX dont the part of the OX were send you to login is this. elseif s == 2 then say_gm_title("Panou competiþie OX") say("") say_gm("Parolã:") say("") local sname = input() if sname == "m2" then say_gm_title("Panou competiþie OX") say("") say_gm("Adaugã obiect:") say("") local item_vnum = input() say_gm_title("Panou competiþie OX") say("") say_gm("Adaugã numãr articole:") say("") local item_count = input() oxevent.give_item(item_vnum, item_count) say_gm_title("Panou competiþie OX" ) say("") say_gm("Participanþii au primit "..item_name(item_vnum)) say("") notice_all("Participanþii competiþei OX au primit "..item_count.."x"..item_name(item_vnum)) end I think is for the INPUT because i tested whit another quest and give me a INPUT error. Edited August 19, 2022 by Metin2 Dev Core X - External 2 Internal 1 Link to comment Share on other sites More sharing options...
kodepiko 38 Posted September 25, 2015 Share Posted September 25, 2015 (edited) You paste here wrong part of quest, I suggest you to paste complete OX quest or in best way you should find working OX event quest here it is: (I got it from another site) -------------------------------------------------------------- --- For Epvp --- Erza² --- Automatic Ox Event -------------------------------------------------------------- quest automaticoxevent begin state start begin -- Dialogue with Uriel when 20011.chat."GM: Automatic Ox Event" with pc.is_gm() and pc.get_name() == "Erza" begin say_title(mob_name(npc.get_race())..":") say("") say("Do you want to open the Ox Event? ") say("") local s = select(locale.yes,locale.no) if(s == 2) then return end say_title(mob_name(npc.get_race())..":") say("") say("Ox opened the event!. ") say("Please wait. ") server_timer("countdown",10) game.set_event_flag("automatic_oxevent_status",1) end --- Start Countdown !. when countdown.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox opened the event!. ") notice_all("<Automatic-OxEvent> 5 Minutes the countdown has begun and Entries will be closed at the end of 5 minutes.. ") server_timer("countdownone",60) end end --- CountDown 2 when countdownone.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event !. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 4 minutes left") server_timer("countdowntwo",60) end end --- CountDown 3 when countdowntwo.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event !. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 3 minutes left") server_timer("countdownthre",60) end end --- CountDown 4 when countdownthre.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 2 minutes left") server_timer("countdownfour",60) end end --- CountDown 5 when countdownfour.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox closing entries : 1 minutes left") server_timer("countdownfive",60) end end --- Countdown 6 when countdownfive.server_timer begin if(game.get_event_flag("automatic_oxevent_status") == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") else notice_all("<Automatic-OxEvent> Ox entries closed. ") notice_all("<Automatic-OxEvent> Join as a spectator!. ") server_timer("playercheck",5) game.set_event_flag("automatic_oxevent_status",2) end end --- Player Check when playercheck.server_timer begin if(oxevent.get_attender() == 0) then notice_all("<Automatic-OxEvent> Event is closed because ; There's no one inside.. ") game.set_event_flag("automatic_oxevent_status",0) else server_timer("startox",5) end end --- Start Ox Event when startox.server_timer begin setskin(NOWINDOW) quiz = oxevent.quiz(1,30) if(quiz == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() elseif(quiz == 1) then if(oxevent.get_attender() == 1) then game.set_event_flag("automatic_oxevent_status",0) notice_all("<Automatic-OxEvent> Event is over. See you soon ") warp_all_to_village() else server_timer("startoxone",40) end else notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() end end --- Start Ox 1 when startoxone.server_timer begin setskin(NOWINDOW) quiz = oxevent.quiz(1,30) if(quiz == 0) then notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() elseif(quiz == 1) then if(oxevent.get_attender() == 1) then game.set_event_flag("automatic_oxevent_status",0) notice_all("<Automatic-OxEvent> Event is over. See you soon ") warp_all_to_village() else server_timer("startox",40) end else notice_all("an unexpected error occurred") notice_all("closing event!. ") game.set_event_flag("automatic_oxevent_status",0) warp_all_to_village() end end when 20011.chat."Ox Event !. " begin say_title(mob_name(npc.get_race())..":") say("") --- if(game.get_event_flag("automatic_oxevent_status") == 1) then say("Do you want to enter the effectiveness of the Ox") say("") local s = select(locale.yes,locale.no) if(s == 2) then return end pc.warp(896500, 24600) elseif(game.get_event_flag("automatic_oxevent_status") == 2) then say("Do you want to enter the effectiveness of the Ox") say("") local s = select(locale.yes,locale.no) if(s == 2) then return end pc.warp(896300, 28900) elseif(game.get_event_flag("automatic_oxevent_status") == 0) then say("The effectiveness of the Ox now closed") say("") end end end end Just replace yours OX EVENT quest and if this quest work and you want I can add for you a OX EVENT MEMBER LIMIT like in old quest Edited September 25, 2015 by kodepiko 1 Link to comment Share on other sites More sharing options...
fantans 0 Posted September 25, 2015 Author Share Posted September 25, 2015 not only oxevent quest, is every quest that have input like battle empire(set max player) and other with input Link to comment Share on other sites More sharing options...
kodepiko 38 Posted September 25, 2015 Share Posted September 25, 2015 (edited) Do you edit your client for client -> server quest communication? If not there is no possibility to not working input Test this quest (you need to summon id 20001 npc and talk to him) quest working begin state start begin when 20001.chat."Working input" begin say_title("TEST") say("write smth") local something = input() chat("INPUT: "..something.." ") end end end Edited September 25, 2015 by kodepiko Link to comment Share on other sites More sharing options...
fantans 0 Posted September 25, 2015 Author Share Posted September 25, 2015 https://metin2.download/picture/Ft6WY9ICYMlWx57416m2rlAaQ6bL311b/.png https://metin2.download/picture/ELvK1f28vun1N0A6amqsTjKiOBheN2EQ/.png https://metin2.download/picture/z9m9TgS9Crwj59mVCnjVbT5YPfqzYaDX/.png every quest when input back to login(select channel) Link to comment Share on other sites More sharing options...
Rideas 167 Posted September 25, 2015 Share Posted September 25, 2015 On 9/25/2015 at 6:27 PM, fantans said: https://metin2.download/picture/Ft6WY9ICYMlWx57416m2rlAaQ6bL311b/.png https://metin2.download/picture/ELvK1f28vun1N0A6amqsTjKiOBheN2EQ/.png https://metin2.download/picture/z9m9TgS9Crwj59mVCnjVbT5YPfqzYaDX/.png every quest when input back to login(select channel) Send me quests. On 9/24/2015 at 12:39 AM, fantans said: hello, i've a error when open ox o others event set max players to events and return to select channel... https://metin2.download/picture/kP7ud3YQtOL3V2IpLqfy1HF0q9J1emY9/.png https://metin2.download/picture/Y82A7CargHujk8R1C1QXhNocE9v6jovJ/.jpg chanel1 SYSERR: Sep 24 00:29:03.606729 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(2410) Map(72) SYSERR: Sep 24 00:29:05.646051 :: Process: SEQUENCE 63eeb980 mismatch 0xdf != 0x0 header 30 SYSERR: Sep 24 00:29:05.646125 :: Process: SEQUENCE_LOG [XXXXXX]------------- [109 : 0xaf] [006 : 0xca] [241 : 0x8a] [010 : 0xcf] [061 : 0x48] [026 : 0xa7] [007 : 0x54] [029 : 0xc7] [029 : 0xd7] [030 : 0xdf] SYSERR: Sep 24 00:29:05.687004 :: ChildLoop: AsyncSQL: query failed: Data too long for column 'hint' at row 1 (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip) VALUES('CHARACTER', NOW(), 57787, 956026, 274765, 0, 'LOGOUT', '186.89.180.164 194424000 1 41 857', '186.89.180.164') errno: 1406) SYSERR: Sep 24 00:30:20.608194 :: SpawnGroupGroup: NOT_EXIST_GROUP_GROUP_VNUM(2410) MAP(73) every events like ox, battle empire and others quest oto_ox begin state start begin when 20011.chat." OX-Yarışması " begin say_title(" Uriel : ") say(" Hey! ") say(" Sen Gerçekten Çok Zeki Görünüyorsun. ") say(" OX Yarışması Olacak. ") say(" Sorular Sorulacak Cevap Vereceksin, ") say(" Bilirsen Süper Bir Hediye Kazanacaksın. ") if game.get_event_flag("oxevent_status") == 0 then wait() say_title(" Uriel: ") say(" Şu anda OX-Yarışması Yok ") elseif game.get_event_flag("oxevent_status") == 1 then wait() say_title("Uriel:") pc.setqf("ox_engel",get_time()+10) say(" Yarışmaya Katılmak İstiyormusun? ") local s = select(" Evet ", " Hayır ", " İzlemek İstiyorum ") if s == 1 then if get_time() > pc.getqf("ox_engel") then say("Bug girişiminde bulunmayın !") return end say_title(" Uriel: ") say(" Tamam Şimdi Seni Işınlıyorum. ") wait() pc.warp(896500, 24600) elseif s == 3 then say_title(" Uriel: ") say(" İzleyici Olarakmı Katılmak İstiyorsun? ") say(" Tamam, ışınlıyorum Seni. ") wait() pc.warp(896300, 28900) end elseif game.get_event_flag("oxevent_status") == 2 then say_title(" Uriel: ") say(" Yarışma Başladı, Giremezsiniz! ") say(" Ancak İzleyici Olarak Katılabilirsin. ") local s = select(" Katıl ", " Katılma ") if s == 1 then say_title(" Uriel: ") say(" Tamam,Işınlıyorum Seni. ") wait() pc.warp(896300, 28900) end end end when 20011.chat."GM: Ox Ayar" begin say_title("Auto Ox Event") local s = select("Ödül ayarla", "Saat ayarla") if s == 2 then say("Saat yazınız:") local saat = tonumber(input()) -- int game.set_event_flag("oxeventsaat",saat) end if s == 1 then say("Ödül kodu giriniz") local odulkod = tonumber(input()) say("Ödül adeti giriniz") local oduladet = tonumber(input()) game.set_event_flag("oxodulkod",odulkod) game.set_event_flag("oxoduladet",oduladet) chat("Ox event ödülü ayarlanmıştır.") end when login begin local saat = tonumber(os.date("%H")) local gun = tostring(os.date("%A")) if saat == game.get_event_flag("oxeventsaat") and gun == "Saturday" then -- days settings if pc.get_map_index() == 113 then if game.get_event_flag("oto_ox") == 0 then if game.get_event_flag("oxevent_maintenance5_status") == 0 then local stat = oxevent.get_status() if stat == 1 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then local stat = oxevent.get_status() if stat == 1 and game.get_event_flag("oxevent_running_status") == 0 and game.get_event_flag("oxevent_maintenance1_time") == 0 and game.get_event_flag("oxevent_maintenance2_status") == 0 and game.get_event_flag("oxevent_maintenance3_status") == 0 and game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 then game.set_event_flag("oxevent_running_status", 1) game.set_event_flag("oxevent_status",1) game.set_event_flag("oxevent_maintenance1_time", 5) game.set_event_flag("oxevent_maintenance3_status", 1) notice_all(" <Otomatik OX Sistemi> Acele et ve yerini al! ") server_timer('oxevent4', 0, get_server_timer_arg()) server_timer('oxevent1', 60, get_server_timer_arg()) game.set_event_flag("oto_ox",1) end end end end else game.set_event_flag("oxevent_status",1) if game.get_event_flag("ox_ac_1") == 0 then notice_all(" <Otomatik OX Sistemi> OX Eventi Başlamıştır ") game.set_event_flag("ox_ac_1",1) end end else if game.get_event_flag("oxevent_running_status") == 1 then oxevent.end_event() notice_all(" <Otomatik OX Sistemi> OX Kapatıldı ") game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_status", 0) game.set_event_flag("ox_ac_1",0) game.set_event_flag("oxevent_maintenance1_time", 0) game.set_event_flag("oxevent_maintenance2_status", 0) game.set_event_flag("oxevent_maintenance3_status", 0) game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oto_ox",0) end game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_status", 0) game.set_event_flag("oxevent_maintenance1_time", 0) game.set_event_flag("oxevent_maintenance2_status", 0) game.set_event_flag("oxevent_maintenance3_status", 0) game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oto_ox",0) game.set_event_flag("ox_ac_1",0) end end when oxevent1.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent1', get_server_timer_arg()) if game.get_event_flag("oxevent_running_status") == 1 then local stat = oxevent.get_status() if stat == 1 then local min_user_number = 2 if game.get_event_flag("oxevent_maintenance1_time") == 0 and oxevent.get_attender() > 1 then game.set_event_flag("oxevent_maintenance1_time", 0) oxevent.close() game.set_event_flag("oxevent_status",2) local user_number = oxevent.get_attender() notice_all(" <Otomatik OX Sistemi> OX Eventi "..user_number.." kişiyle başlamıştır ") server_timer('oxevent2', 5, get_server_timer_arg()) else local close_time = game.get_event_flag("oxevent_maintenance1_time") local close_time_typ = 2 local close_time_typ_text = {"Saniye", "Dakika", "Saat", "Gün", "Ay", "Yıl"} if close_time == 0 then min_user_number = 2 elseif close_time == 1 then close_time_typ_text = {"Saniye", "Dakika", "Saat", "Gün", "Ay", "Yıl"} end if close_time != 0 then game.set_event_flag("oxevent_maintenance1_time", close_time-1) notice_all(" <Otomatik OX Sistemi> OX Girişleri "..close_time.." "..close_time_typ_text[close_time_typ].." sonra kapanacaktır. ") else notice_all(" <Otomatik OX Sistemi> OX Eventi "..oxevent.get_attender().." kişi ile başlatılamıyor. ") notice_all(" <Otomatik OX Sistemi> Yeni bir oyuncu gelene kadar OX Eventi bekletiliyor. ") end server_timer('oxevent1', 60, get_server_timer_arg()) end end end end end when oxevent2.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent2', get_server_timer_arg()) if game.get_event_flag("oxevent_running_status") == 1 then local stat = oxevent.get_status() if stat == 2 then if oxevent.get_attender() > 1 then local v = oxevent.quiz(1, 30) if v == 0 then game.set_event_flag("oxevent_maintenance1_time", 0) server_timer('oxevent1', 5, get_server_timer_arg()) elseif v == 1 then server_timer('oxevent2', 40, get_server_timer_arg()) else server_timer('oxevent2', 40, get_server_timer_arg()) end elseif oxevent.get_attender() == 1 then oxevent.give_item(40001, 1) notice_all(" <Otomatik OX Sistemi> 5 Saniye Sonra OX Eventi Sona Erecektir. ") notice_all(" <Otomatik OX Sistemi> Kazanan birazdan açıklanacak. ") server_timer('oxevent3', 5, get_server_timer_arg()) elseif oxevent.get_attender() == 0 then notice_all(" <Otomatik OX Sistemi> OX Eventi Kazanan Olmadığı İçin Tekrarlanıcaktır. ") oxevent.end_event() clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_maintenance2_status", 1) server_timer('oxevent3', 30, get_server_timer_arg()) end elseif stat == 3 then server_timer('oxevent2', 5, get_server_timer_arg()) else notice_all(" <Otomatik OX Sistemi> OX Eventinde Bir Hata Oluştu! ") end end end end when oxevent3.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent3', get_server_timer_arg()) if game.get_event_flag("oxevent_running_status") == 0 then if oxevent.open() == 1 then game.set_event_flag("oxevent_running_status", 1) game.set_event_flag("oxevent_maintenance1_time", 5) ---- OX Açıldıktan Sonra Girişlerin Kaç Dakika Açık Tutulacağı Örn: 5 Dakika game.set_event_flag("oxevent_maintenance2_status", 0) notice_all(" <Otomatik OX Sistemi> OX Yarışması Başladı ") server_timer('oxevent1', 30, get_server_timer_arg()) else notice_all(" <Otomatik OX Sistemi> OX Eventinde Bir Hata Oluştu! ") end elseif game.get_event_flag("oxevent_running_status") == 1 then oxevent.end_event() game.set_event_flag("oxevent_running_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) notice_all(" <Otomatik OX Sistemi> OX Yarışması Sona Erdiı ") if game.get_event_flag("oxevent_maintenance4_status") == 0 and game.get_event_flag("oxevent_maintenance5_status") == 0 and game.get_event_flag("oxevent_maintenance6_status") == 0 then game.set_event_flag("oxevent_maintenance2_status", 1) else game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) end end end end when oxevent4.server_timer begin if game.get_event_flag("oto_ox") == 1 then clear_server_timer('oxevent4', get_server_timer_arg()) if game.get_event_flag("oxevent_maintenance3_status") == 1 then if game.get_event_flag("oxevent_website_status") == 1 then server_timer('oxevent3', 0, get_server_timer_arg()) game.set_event_flag("oxevent_website_status", 0) end server_timer('oxevent4', 1, get_server_timer_arg()) end end end when login with pc.count_item("40001") > 0 begin if game.get_event_flag("oto_ox") == 1 then timer("oxevent_price", 0) pc.remove_item(40001,999999) pc.give_item2(game.get_event_flag("oxodulkod"), game.get_event_flag("oxoduladet")) end end when oxevent_price.timer begin if game.get_event_flag("oto_ox") == 1 then say_title(item_name(40001)..":") pc.remove_item(40001,200) ----- OX İtemi Sadece Karakterin Üstünde Bir Kereliğine Bulunan Bir İtem notice_all(" <Otomatik OX Sistemi> OX Eventini "..pc.get_name().." kazandı. ") -- pc.give_item2(71129,1) -- pc.give_item2(71123,1) -- pc.give_item2(50513,10) -- chat("5 EP Kazandın.") game.set_event_flag("oxevent_status",0) end end when 20358.chat."GM: OX Sıfırla" with pc.is_gm() begin ---- OX Eventi Aktifken OX'u Kapatmak (Yarışma Anında) say_title(" "..mob_name(20358)..": ") say(" Kapatmak İstiyor Musun? [ENTER] ") local s = select(locale.yes, locale.no) if s == 1 then oxevent.end_event_force() game.set_event_flag("oxevent_running_status", 0) game.set_event_flag("oxevent_status", 0) game.set_event_flag("oxevent_maintenance1_time", 0) game.set_event_flag("oxevent_maintenance2_status", 0) game.set_event_flag("oxevent_maintenance3_status", 0) game.set_event_flag("oxevent_maintenance4_status", 0) game.set_event_flag("oxevent_maintenance5_status", 0) game.set_event_flag("oxevent_maintenance6_status", 0) clear_server_timer('oxevent1', get_server_timer_arg()) clear_server_timer('oxevent2', get_server_timer_arg()) clear_server_timer('oxevent3', get_server_timer_arg()) clear_server_timer('oxevent4', get_server_timer_arg()) game.set_event_flag("oto_ox",0) game.set_event_flag("ox_ac_1",0) say_title(" "..mob_name(20358)..": ") say(" OX Kapatıldı ") notice_all(" <Otomatik OX Sistemi> Otomatik OX Eventi Kapatıldı. ") end end end end 1 Link to comment Share on other sites More sharing options...
fantans 0 Posted September 25, 2015 Author Share Posted September 25, 2015 (edited) priv_empire.quest oxevent.quest quest oxevent_manager begin state start begin function cleanup_event() oxevent.end_event() game.set_event_flag("ox_map_login_counter",0) end function check_limit() if game.get_event_flag("ox_map_login_counter") == game.get_event_flag("ox_map_player_max") then return 0 else return 1 end end function enter_level (vnum1,vnum2) lv_range={} lv_range[1] ={25,105} lv_range[2] ={40,105} lv_range[3] ={50,105} lv_range[4] ={60,105} lv_range[5] ={70,105} return lv_range [vnum1][vnum2] end when login or enter begin if pc.get_map_index() == 113 then local counter = game.get_event_flag("ox_map_login_counter") game.set_event_flag("ox_map_login_counter", counter+1) end end when logout begin if pc.get_map_index() == 113 then if is_test_server() then pc.setqf("ox_end_cooldown_time", get_time() + 10*1) else pc.setqf("ox_end_cooldown_time", get_time()+10*1) -----------------------------------15 Minuten nun end end end when 20011.chat.gameforge.oxevent._10_npcChat begin say_title(gameforge.main_quest_lv30._40_sayTitle) say(gameforge.oxevent._20_say) wait() if game.get_event_flag("oxevent_status") == 0 then say_title(gameforge.main_quest_lv30._40_sayTitle) say(gameforge.oxevent._30_say) elseif game.get_event_flag("oxevent_status") == 1 then say_title(gameforge.main_quest_lv30._40_sayTitle) say(gameforge.oxevent._40_say) local s = select(gameforge.buy_fishrod._120_select, gameforge.locale.cancel) if s == 1 then say_title(gameforge.main_quest_lv30._40_sayTitle) say(gameforge.oxevent._50_say) wait() -- read the limits that the admin set hopefully local min = game.get_event_flag("ox_map_level_min") local max = game.get_event_flag("ox_map_level_max") if pc.level < min or pc.level > max then say_title(gameforge.main_quest_lv30._40_sayTitle) say_reward(string.format(gameforge.entry_event_map._040_say, min, max)) return end if get_time() < pc.getqf("ox_end_cooldown_time") then say_title(gameforge.main_quest_lv30._40_sayTitle) say(gameforge.locale.monkey_dungeon.cannot_enter_yet) return end -- check again the limit before we warp the player, maybe someone have trigger the limit if oxevent_manager.check_limit() == 0 then say_title(gameforge.main_quest_lv30._40_sayTitle) say(gameforge.entry_event_map._060_say) return end -- removed the random warp, cause the current binary checks the coordinates. --pc.warp(math.random(892973,899719), math.random(23256, 26044) ) pc.warp(896500, 24600) elseif s == 2 then return end elseif game.get_event_flag("oxevent_status") == 2 then say_title(gameforge.main_quest_lv30._40_sayTitle) say(gameforge.oxevent._60_say) end end when 20358.chat.gameforge.oxevent._70_npcChat with pc.is_gm() begin local stat = oxevent.get_status() if stat == 0 then say(gameforge.entry_event_map._150_say) local choice = select ("1> min "..oxevent_manager.enter_level(1,1).." max "..oxevent_manager.enter_level(1,2),"2> min "..oxevent_manager.enter_level(2,1).." max "..oxevent_manager.enter_level(2,2), "3> min "..oxevent_manager.enter_level(3,1).." max "..oxevent_manager.enter_level(3,2), "4> min "..oxevent_manager.enter_level(4,1).." max "..oxevent_manager.enter_level(4,2), "5> min "..oxevent_manager.enter_level(5,1).." max "..oxevent_manager.enter_level(5,2), gameforge.locale.cancel) if choice == 6 then return end say(gameforge.entry_event_map._160_say) local amount_choice = input_number(gameforge.entry_event_map._240_say) if amount_choice > 200 or amount_choice <= 0 then say(gameforge.entry_event_map._250_say) return end say(gameforge.oxevent._80_say) say(gameforge.entry_event_map._180_say) say(gameforge.entry_event_map._190_say .. " " .. oxevent_manager.enter_level(choice,1).. " - " ..oxevent_manager.enter_level(choice,2)) say(gameforge.entry_event_map._200_say .. " " .. amount_choice) local s = select(gameforge.oxevent._90_select, gameforge.locale.cancel) if s == 1 then local v = oxevent.open() if v == 0 then say(gameforge.oxevent._100_say) say_reward(gameforge.oxevent._110_sayReward) elseif v == 1 then say(gameforge.oxevent._120_say) notice_multiline(gameforge.oxevent._130_notice_all,notice_all) notice_multiline(gameforge.oxevent._131_notice_all,notice_all) -- set the limits we set previous asked game.set_event_flag("ox_map_level_min",oxevent_manager.enter_level(choice,1)) game.set_event_flag("ox_map_level_max",oxevent_manager.enter_level(choice,2)) game.set_event_flag("ox_map_player_max",amount_choice) else say(gameforge.oxevent._100_say) end end elseif stat == 1 then say(string.format(gameforge.oxevent._140_say, oxevent.get_attender())) local s = select(gameforge.oxevent._150_select, gameforge.locale.cancel) if s == 1 then oxevent.close() say(gameforge.oxevent._160_say) end elseif stat == 2 then say(gameforge.oxevent._170_say) local s = select( gameforge.oxevent._180_select, gameforge.oxevent._190_select, gameforge.oxevent._195_select, gameforge.locale.cancel ) if s == 1 then local v = oxevent.quiz(1, 30) if v == 0 then say(gameforge.oxevent._200_say) elseif v == 1 then say(gameforge.oxevent._210_say) else say(gameforge.oxevent._220_say) end elseif s == 2 then oxevent_manager.cleanup_event() say(gameforge.oxevent._230_say) notice_multiline(gameforge.oxevent._240_notice_all,notice_all) notice_multiline(gameforge.oxevent._241_notice_all,notice_all) elseif s == 3 then oxevent_manager.cleanup_event() say(gameforge.oxevent._250_say) notice_multiline(gameforge.oxevent._260_notice_all,notice_all) notice_multiline(gameforge.oxevent._261_notice_all,notice_all) end elseif stat == 3 then say(gameforge.oxevent._270_say) say_reward(gameforge.oxevent._280_sayReward) else say(gameforge.oxevent._290_say) end end when 20358.chat.gameforge.oxevent._300_npcChat with pc.get_gm_level()== 5 begin say(gameforge.oxevent._310_say) local s = select(gameforge.oxevent._320_select, gameforge.locale.cancel) if s == 1 then oxevent.end_event_force() game.set_event_flag("ox_map_login_counter",0) say(gameforge.oxevent._330_say) end end when 20358.chat.gameforge.oxevent._340_npcChat with pc.get_gm_level()== 5 begin say(gameforge.oxevent._350_say) local item_vnum = input() say(gameforge.oxevent._360_say) local item_count = input() oxevent.give_item(item_vnum, item_count) say(string.format(gameforge.oxevent._370_say, oxevent.get_attender())) end end end quest priv_empire begin state start begin when guild_man1.chat.gameforge.priv_empire._10_npcChat or guild_man2.chat.gameforge.priv_empire._10_npcChat or guild_man3.chat.gameforge.priv_empire._10_npcChat with pc.get_gm_level() == 5 begin say_title(gameforge.priv_empire._20_sayTitle) say(gameforge.priv_empire._30_say) local empire_names = { [0] = gameforge.priv_empire._33_array, [1] = gameforge.locale.empire_names_2, [2] = gameforge.locale.empire_names_3, [3] = gameforge.locale.empire_names_4, } local e = select(empire_names[1], empire_names[2], empire_names[3], empire_names[0], gameforge.locale.cancel) if 5 == e then return end if 4 == e then e = 0 end say_title(gameforge.priv_empire._40_sayTitle) say_reward(__get_empire_priv_string(e)) say(gameforge.priv_empire._50_say) local titles = { gameforge.priv_empire._53_array, gameforge.priv_empire._54_array, gameforge.priv_empire._55_array, gameforge.priv_empire._56_array, } local t = select( titles[1], titles[2], titles[3], titles[4], gameforge.locale.cancel) if 5 == t then return end say_title(gameforge.priv_empire._40_sayTitle) say_reward(string.format(gameforge.priv_empire._60_sayReward, empire_names[e], titles[t])) say(gameforge.priv_empire._70_say) local g={10, 20, 50, 100, 150, 200} local p = select(g[1]..'%', g[2]..'%', g[3]..'%', g[4]..'%', g[5]..'%', g[6]..'%', gameforge.locale.cancel) if p == 7 then return end say_title(gameforge.priv_empire._40_sayTitle) say_reward(string.format(gameforge.priv_empire._100_sayReward, empire_names[e], titles[t], g[p])) say(gameforge.priv_empire._110_say) local v = 0 local h = select ( gameforge.priv_empire._120_select, gameforge.priv_empire._130_select, gameforge.priv_empire._134_select, gameforge.priv_empire._135_select, gameforge.locale.cancel ) if 5 == h then return elseif 4 == h then say_title(gameforge.priv_empire._40_sayTitle) say_reward(string.format(gameforge.priv_empire._100_sayReward, empire_names[e], titles[t], g[p])) say(gameforge.priv_empire._140_say) v=input() if v == "" then v = 0 else v=tonumber(v) end elseif 3 == h then v=24 elseif 2 == h then v=12 elseif 1 == h then v=6 end say_title(gameforge.priv_empire._40_sayTitle) say_reward(string.format(gameforge.priv_empire._150_sayReward, empire_names[e], titles[t], g[p], v)) say(gameforge.priv_empire._160_say) local s = select(gameforge.locale.guild.yes, gameforge.locale.guild.no) if 1 == s then say_title(gameforge.priv_empire._40_sayTitle) __give_empire_priv(e, t, g[p], v*60*60) say_reward(gameforge.priv_empire._170_sayReward) else say_title(gameforge.priv_empire._40_sayTitle) say_reward(gameforge.priv_empire._180_sayReward) end end end end when input "30" or every number in "max_player" return to login Edited September 25, 2015 by fantans Link to comment Share on other sites More sharing options...
kodepiko 38 Posted September 25, 2015 Share Posted September 25, 2015 Ok, but even using my simple test quest when you write something at input - it crash your channel core or only crash your client, and you are still able to login again at this channel? If it's core crash then you have something wrong in your source code or have mess with questlib.lua (you using files from someone so it can be) Link to comment Share on other sites More sharing options...
fantans 0 Posted September 26, 2015 Author Share Posted September 26, 2015 yes I still to login channel, not crash in client but go to login again sry for my bad english Link to comment Share on other sites More sharing options...
kodepiko 38 Posted September 26, 2015 Share Posted September 26, 2015 yes I still to login channel, not crash in client but go to login again sry for my bad english If you write ps command at putty/virtualbox console you still see all processes? Umm.. you can login again to the server after disconnect? or you need to restart your server? It's important because only on that way we can say it's client or game problem 1 Link to comment Share on other sites More sharing options...
AlCapone 67 Posted September 26, 2015 Share Posted September 26, 2015 (edited) Yes you can login again on the metin the core dont crash only client. How can I make the quest comunication whit client to see if is god. P.D: After put your quest write test whit input. Then and after kick me. Edited August 19, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
kodepiko 38 Posted September 26, 2015 Share Posted September 26, 2015 You compile client source binary? or you are using client from someone? It is game 40k+? You can paste syserr.txt from client after client crash - so maybe we see what is wrong If it's not a problem I suggest you to just change your client to working one. Link to comment Share on other sites More sharing options...
raihan3 20 Posted January 24, 2016 Share Posted January 24, 2016 i have problem with quest when i click for quiz on ox nameless flower say Failed to start quiz Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now