- Mesaj
- 4.073
- Çözümler
- 409
- Beğeni
- 4.314
- Puan
- 1.849
- Ticaret Puanı
- 0
Arkadaşlar kolay gelsin.
Serverimda ch1 seçmeli, ch2 yazmalı olarak kristal oda questi kurdum.
FTP işlemlerini halledip en son questi tanıttığımda sura ruhuna tıklayınca "Ejderhayı Öldürmek İstiyorum" seçeneği bir türlü gelmiyor. Sadece Süreyi Sıfırla seçeneği geliyor. Neyden kaynaklı acaba ?
Kullandığım quest kodları;
Serverimda ch1 seçmeli, ch2 yazmalı olarak kristal oda questi kurdum.
FTP işlemlerini halledip en son questi tanıttığımda sura ruhuna tıklayınca "Ejderhayı Öldürmek İstiyorum" seçeneği bir türlü gelmiyor. Sadece Süreyi Sıfırla seçeneği geliyor. Neyden kaynaklı acaba ?
Kullandığım quest kodları;
Lua (Quest):
quest kristal_oda begin
state start begin
when logout begin
if pc.get_map_index() == 79 then
pc.delqf("icerdesin1")
pc.delqf("icerdesin2")
pc.delqf("lider")
end
end
when 30121.chat."Ejderhayı öldürmek istiyorum!" with pc.get_map_index() == 73 and pc.get_channel_id() == 1 or pc.get_channel_id() == 2 begin
if pc.get_channel_id() == 2 then
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 2 and game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() > 0 then
say_title("Sura Ruhu:")
say("")
say("Üzgünüm Ejderha Tapınağı şuan dolu.")
say("Kalan süre: "..game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time().." saniye")
say("")
return
end
if game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() < 0 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") >= 1 then
game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",0)
purge_area(829200,1059600,844200,1074600)
---warp_all_in_map(79,241300,1275400)
warp_all_to_village(79)
setskin(NOWINDOW)
return
end
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) < 3 then
say_title("Sura Ruhu:")
say("Gerekli eşya 3x: "..item_name(30179)..":")
say_item_vnum(30179)
say("3 adet anahtara ihtiyacın var.")
return
end
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 1 then
pc.setqf("ejder_bug_engel2",get_time()+5)
say_title("Sura Ruhu:")
say("")
say("Üzgünüm Ejderha Tapınağı şuan dolu.")
say("Eğer şifreyi biliyorsan,")
say("doğru bir şekilde yaz.")
say("")
say_reward("5 saniye süren var!")
say("")
local pin = tonumber(input(""))
if get_time() > pc.getqf("ejder_bug_engel2") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel2",get_time()+0)
return
end
if string.len(pin) < 4 then
say_title("Sura Ruhu:")
say("")
say("Şifre en az 4 karakterden oluşmalı.")
return
end
if game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") == pin then
say_title("Sura Ruhu:")
say("")
if pc.count_item(30179) < 3 then
say("Girmene izin veremem.")
say("Gerekli eşya 3x: "..item_name(30179)..":")
say_item_vnum(30179)
say("3 tane anahtara sahip olduğunda tekrar gel.")
return
end
pc.remove_item("30179",3)
say("Şifre doğru tebrikler!")
say("Seni içeri gönderiyorum. Onu yenmeden dönme!")
pc.setqf("icerdesin"..pc.get_channel_id().."",1)
wait()
pc.warp(843600,1066900)
elseif pin != game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") then
say_title("Sura Ruhu:")
say("Üzgünüm şifreyi hatalı girdin.")
return
end
end
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) >= 3 then
say_title("Sura Ruhu:")
say("Ejderha Tapınağı'na girmek isteyen ilk kişi")
say("sensin. Yeterli sayıda Kıvrık Anahtara sahipsen")
say("seni içeri bırakacağım. Ama ilk önce bir şifre")
say("belirleyeceksin. Bu şifreyi, 5 dakika")
say("içerisinde savaş arkadaşlarına verip onların")
say("içeri girmesini sağlayabilirsin. Bu anahtarın")
say("sadece 60 dakika tesir edeceğini unutma. O zamana")
say("kadar ejderhayı öldürmüş olmanız gerekiyor!")
say("")
pc.setqf("ejder_bug_engel3",get_time()+5)
local i = select("Hazırım!", "Vazgeç ")
if get_time() > pc.getqf("ejder_bug_engel3") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel3",get_time()+0)
return
end
if 1 == i and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then
say_title("Sura Ruhu:")
pc.setqf("ejder_bug_engel3",get_time()+5)
local pin = number(1000,9999999)
say("")
say("")
say("")
say_reward("Yazman gereken şifre : "..pin)
say_reward("5 saniye süren var!")
local giris = tonumber ( input ( "" ) )
if get_time() > pc.getqf("ejder_bug_engel3") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel3",get_time()+0)
return
end
if giris != pin then
say_title("Sura Ruhu:")
say("")
say_red("Malesef, Yanlış yazdın.")
return
end
if pin and pin <= 999999999 and pc.count_item(30179)>=3 then
say_title("Sura Ruhu:")
say("")
say("Arzu edersen seni doğrudan Ejderha Mağarası'na")
say("götürebilirim. Bana şimdi vermen gerekenler:")
say("3x:")
say_item_vnum(30179)
pc.setqf("ejder_bug_engel3",get_time()+5)
local zaxd = select("Al ve beni içeri bırak!","Vazgeç ")
if get_time() > pc.getqf("ejder_bug_engel3") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel3",get_time()+0)
return
end
if zaxd == 2 then
return
elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then
syschat("Ejderha odasına başka bir grup girdi.")
return
end
game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",1)
pc.setqf("ejder_sifre",pin)
pc.setqf("icerdesin"..pc.get_channel_id().."",1)
pc.remove_item("30179",3)
pc.setqf("lider",1)
clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())
clear_server_timer("disari_yolluyoz"..pc.get_channel_id().."",get_server_timer_arg())
game.set_event_flag("ejder_sifresi"..pc.get_channel_id().."",pin)
game.set_event_flag("time_1"..pc.get_channel_id().."", get_time()+60*60*1)
--timer("iceri_gir",3)
pc.warp(843600, 1066900)
elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then
say_title("Sura Ruhu:")
say("")
say("Birileri senden önce davrandı. Onların")
say("odadan çıkmalarını bekle ya da parolayı ")
say("biliyorsan söyle.")
end
else
say_title("Sura Ruhu:")
say("")
say("Bir hata oluştu.")
say("")
end
end
end
elseif pc.get_channel_id() == 1 then
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 2 and game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() > 0 then
say_title("Sura Ruhu:")
say("")
say("Üzgünüm Ejderha Tapınağı şuan dolu.")
say("Kalan süre: "..game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time().." saniye")
say("")
return
end
if game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time() < 0 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") >= 1 then
game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",0)
purge_area(829200,1059600,844200,1074600)
---warp_all_in_map(79,241300,1275400)
warp_all_to_village(79)
setskin(NOWINDOW)
return
end
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) < 3 then
say_title("Sura Ruhu:")
say("Gerekli eşya 3x: "..item_name(30179)..":")
say_item_vnum(30179)
say("3 adet anahtara ihtiyacın var.")
return
end
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 1 then
pc.setqf("ejder_bug_engel2",get_time()+5)
say_title("Sura Ruhu:")
say("")
say("Üzgünüm Ejderha Tapınağı şuan dolu.")
say("Eğer şifreyi biliyorsan,")
say("doğru bir şekilde yaz.")
say("")
say_reward("5 saniye süren var!")
say("")
local pin = tonumber(input(""))
if get_time() > pc.getqf("ejder_bug_engel2") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel2",get_time()+0)
return
end
if string.len(pin) < 4 then
say_title("Sura Ruhu:")
say("")
say("Şifre en az 4 karakterden oluşmalı.")
return
end
if game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") == pin then
say_title("Sura Ruhu:")
say("")
if pc.count_item(30179) < 3 then
say("Girmene izin veremem.")
say("Gerekli eşya 3x: "..item_name(30179)..":")
say_item_vnum(30179)
say("3 tane anahtara sahip olduğunda tekrar gel.")
return
end
pc.remove_item("30179",3)
say("Şifre doğru tebrikler!")
say("Seni içeri gönderiyorum. Onu yenmeden dönme!")
pc.setqf("icerdesin"..pc.get_channel_id().."",1)
wait()
pc.warp(843600,1066900)
elseif pin != game.get_event_flag("ejder_sifresi"..pc.get_channel_id().."") then
say_title("Sura Ruhu:")
say("Üzgünüm şifreyi hatalı girdin.")
return
end
end
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 and pc.count_item(30179) >= 3 then
say_title("Sura Ruhu:")
say("Ejderha Tapınağı'na girmek isteyen ilk kişi")
say("sensin. Yeterli sayıda Kıvrık Anahtara sahipsen")
say("seni içeri bırakacağım. Ama ilk önce bir şifre")
say("belirleyeceksin. Bu şifreyi, 5 dakika")
say("içerisinde savaş arkadaşlarına verip onların")
say("içeri girmesini sağlayabilirsin. Bu anahtarın")
say("sadece 60 dakika tesir edeceğini unutma. O zamana")
say("kadar ejderhayı öldürmüş olmanız gerekiyor!")
say("")
pc.setqf("ejder_bug_engel3",get_time()+5)
local i = select("Hazırım!", "Vazgeç ")
if get_time() > pc.getqf("ejder_bug_engel3") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel3",get_time()+0)
return
end
if 1 == i and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then
pc.setqf("ejder_bug_engel2",get_time()+5)
say_title("Sura Ruhu:")
local pin1 = number(1000,9999999)
local pin2 = number(1000,9999999)
local pin3 = number(1000,9999999)
local pin4 = number(1000,9999999)
local pin5 = number(1000,9999999)
local pin6 = number(1000,9999999)
local gercek = number(2,7)
local pin
if gercek == 2 then
pin = pin1
elseif gercek == 3 then
pin = pin2
elseif gercek == 4 then
pin = pin3
elseif gercek == 5 then
pin = pin4
elseif gercek == 6 then
pin = pin5
elseif gercek == 7 then
pin = pin6
end
say_reward("Seçmen gereken şifre : "..pin)
say_reward("5 saniye süren var!")
local sifre = select("Vazgeç ",pin1,pin2,pin3,pin4,pin5,pin6)
if get_time() > pc.getqf("ejder_bug_engel2") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel2",get_time()+0)
return
end
if sifre == gercek and pc.count_item(30179)>=3 then
say_title("Sura Ruhu:")
say("")
say("Arzu edersen seni doğrudan Ejderha Mağarası'na")
say("götürebilirim. Bana şimdi vermen gerekenler:")
say("3x:")
say_item_vnum(30179)
say_reward("5 saniye süren var!")
pc.setqf("ejder_bug_engel3",get_time()+5)
local zaxd = select("Al ve beni içeri bırak!","Vazgeç ")
if get_time() > pc.getqf("ejder_bug_engel3") then
say_title("Sura Ruhu:")
say("5 saniye doldu şansını tekrar dene.")
pc.setqf("ejder_bug_engel3",get_time()+0)
return
end
if zaxd == 2 then
return
elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") == 0 then
if game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then
syschat("Ejderha odasına başka bir grup girdi.")
return
end
game.set_event_flag("ejder_kullanimda"..pc.get_channel_id().."",1)
pc.setqf("ejder_sifre",pin)
pc.setqf("icerdesin"..pc.get_channel_id().."",1)
pc.remove_item("30179",3)
pc.setqf("lider",1)
clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())
clear_server_timer("disari_yolluyoz"..pc.get_channel_id().."",get_server_timer_arg())
game.set_event_flag("ejder_sifresi"..pc.get_channel_id().."",pin)
game.set_event_flag("time_1"..pc.get_channel_id().."", get_time()+60*60*1)
--timer("iceri_gir",3)
pc.warp(843600, 1066900)
elseif zaxd == 1 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") != 0 then
say_title("Sura Ruhu:")
say("")
say("Birileri senden önce davrandı. Onların")
say("odadan çıkmalarını bekle ya da parolayı ")
say("biliyorsan söyle.")
end
else
say_title("Sura Ruhu:")
say("")
say("Bir hata oluştu.")
say("")
end
end
end
else
return
end
end
when login begin
if pc.getqf("icerdesin"..pc.get_channel_id().."") == 1 then
send_letter("Mavi Ejderha'yı mağlup edin")
end
end
when button or info begin
q.set_clock("Kalan süre:", game.get_event_flag("time_1"..pc.get_channel_id().."")-get_time())
kristal_oda.ejder_odasi_kalansure()
end
when login with pc.get_map_index() == 79 and pc.getqf("icerdesin"..pc.get_channel_id().."") != 1 begin
pc.warp(241300,1275400)
end
when login with pc.get_map_index() == 79 and pc.getqf("lider") == 1 begin
notice_all("CH "..pc.get_channel_id()..": "..pc.get_name().." grubu, Mavi Ejderha'yı öldürmeye çalışıyor!")
notice(""..pc.getqf("ejder_sifre").." numaralı şifreyi dağıtmaya 5 dakika zamanın")
notice("var!")
purge_area(829200,1059600,844200,1074600)
regen_in_map(79,"data/dungeon/skia_deliboss.txt")
server_timer("sifre_kapat"..pc.get_channel_id().."", 300,pc.get_map_index())
server_timer("ejderi_kescen"..pc.get_channel_id().."", 3600,pc.get_map_index())
kristal_oda.ejder_odasi_kalansure()
pc.setqf("lider",2)
pc.set_warp_location(73 , 2413, 12754)
end
when login with pc.get_map_index() == 79 and pc.getqf("icerdesin"..pc.get_channel_id().."") == 1 and pc.getqf("lider") != 1 begin
kristal_oda.ejder_odasi_kalansure()
pc.set_warp_location(73 , 2413, 12754)
end
when kill with npc.get_race() == 8031 or npc.get_race() == 8032 or npc.get_race()== 8033 and pc.get_map_index() == 79 begin
local n =game.get_event_flag("kesilen_metin"..pc.get_channel_id().."") + 1
game.set_event_flag("kesilen_metin"..pc.get_channel_id().."", n)
if n > 3 then
local t = number(1,4)
if 1 == t then
regen_in_map(79,"data/dungeon/skia_boss1.txt")
elseif 2 == t then
regen_in_map(79,"data/dungeon/skia_boss2.txt")
elseif 3 == t then
regen_in_map(79,"data/dungeon/skia_boss3.txt")
else
regen_in_map(79,"data/dungeon/skia_boss4.txt")
end
end
end
when kill with npc.get_race() == 2493 and pc.get_map_index() == 79 and game.get_event_flag("ejder_kullanimda"..pc.get_channel_id().."") >= 1 begin
game.drop_item_with_ownership("71123",1)
game.drop_item_with_ownership("71129",1)
local drop_chance = number(1,10)
if drop_chance == 5 then
game.drop_item_with_ownership("71129",1)
end
notice_all("CH "..pc.get_channel_id()..": "..pc.get_name().." grubu, Mavi Ejderha'yı öldürdü!")
game.set_event_flag("time_1"..pc.get_channel_id().."",get_time() + 5*60)
clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())
server_timer("disari_yolluyoz"..pc.get_channel_id().."",60*5, pc.get_map_index()) ---300 olcak
forked.warp_all_in_map("79","73","241300","1275400",295)
end
when sifre_kapat1.server_timer begin
game.set_event_flag("ejder_kullanimda1",2)
end
when disari_yolluyoz1.server_timer begin
notice_all("CH 1: Mavi Ejderha geri döndü!")
game.set_event_flag("kesilen_metin1",0)
purge_area(829200,1059600,844200,1074600)
clear_server_timer("ejderi_kescen1",get_server_timer_arg())
game.set_event_flag("ejder_kullanimda1",0)
forked.warp_all_in_map("79","73","241300","1275400",1)
end
when ejderi_kescen1.server_timer with game.get_event_flag("time_11") - get_time() <= 0 begin
---warp_all_in_map(79,241300,1275400)
forked.warp_all_in_map("79","73","241300","1275400",1)
notice_all("CH 1: Mavi Ejderha hâlâ yaşıyor!")
purge_area(829200,1059600,844200,1074600)
game.set_event_flag("kesilen_metin1",0)
game.set_event_flag("ejder_kullanimda1",0)
end
when sifre_kapat2.server_timer begin
game.set_event_flag("ejder_kullanimda2",2)
end
when disari_yolluyoz2.server_timer begin
notice_all("CH 2: Mavi Ejderha geri döndü!")
game.set_event_flag("kesilen_metin2",0)
purge_area(829200,1059600,844200,1074600)
clear_server_timer("ejderi_kescen2",get_server_timer_arg())
game.set_event_flag("ejder_kullanimda2",0)
forked.warp_all_in_map("79","73","241300","1275400",1)
end
when ejderi_kescen2.server_timer with game.get_event_flag("time_12") - get_time() <= 0 begin
---warp_all_in_map(79,241300,1275400)
forked.warp_all_in_map("79","73","241300","1275400",1)
notice_all("CH 2: Mavi Ejderha hâlâ yaşıyor!")
purge_area(829200,1059600,844200,1074600)
game.set_event_flag("kesilen_metin2",0)
game.set_event_flag("ejder_kullanimda2",0)
end
when login with pc.get_map_index() != 79 begin
if pc.getqf("icerdesin1") == 1 or pc.getqf("icerdesin2") == 1 then
pc.delqf("icerdesin1")
pc.delqf("icerdesin2")
pc.delqf("ejder_sifre")
pc.delqf("lider")
end
end
when 30121.chat."Süreyi sıfırla" with pc.is_gm() begin
say_title("Sura Ruhu;")
say("Sıfırlamak istediğinden emin misin ?")
local cyvercha = select("Evet","Hayır")
if cyvercha == 2 then
return
elseif cyvercha == 1 then
notice_all("CH "..pc.get_channel_id()..": Kristal oda süresi sıfırlanmıştır.")
game.set_event_flag("time_1"..pc.get_channel_id().."",get_time() + 5*60)
clear_server_timer("ejderi_kescen"..pc.get_channel_id().."",get_server_timer_arg())
server_timer("disari_yolluyoz"..pc.get_channel_id().."",60*5, pc.get_map_index()) ---300 olcak
forked.warp_all_in_map("79","73","241300","1275400",295)
end
end
function ejder_odasi_kalansure()
local saniyekalan = (game.get_event_flag("time_1"..pc.get_channel_id().."") - get_time())
local dakikakalan = math.ceil(saniyekalan / 60)
notice("Mavi Ejderha'yı öldürmeye "..dakikakalan.." dakikalık bir zaman")
notice("kaldı!")
end
end
end