Yardım metin2 quest ile mob çağırmak

  • Konuyu açan Konuyu açan Tengrist
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 401
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Tengrist

MT Üye
MT Üye
Mesaj
697
Çözümler
25
Beğeni
516
Puan
809
Ticaret Puanı
0
Python:
Genişlet Daralt Kopyala
            local boss_koords = {
                                {1093}, -- boss1
                                {2598}, -- boss2
                                {2192}, -- boss3
                                {2493}, -- boss4
                                }
            if boss_koords[INPUT]==nil then syschat("Beklenmeyen Bir Hata Var. Lütfen Daha Sonra Tekrar Deneyiniz.") return end
            spawn_mob(warp_koords[INPUT][1], pc.get_local_x(),pc.get_local_y())
arkadaşlar bu spawn_mob nasıl kullanılıyor?
 
bu quest dungeon için mi geçerli bilemiyorum fakat ben daha önce bir şey denemek için bir kod yazdığımda spawn_mob değilde mob.spawn kullanmışım. Onunda kullanımını şu şekilde vermişler :


Kod:
Genişlet Daralt Kopyala
it will spawn a mob [vnum] in [map_index] coordinates [local_x],[local_y] for [count] times, and if [is_aggressive]=true it will be aggressive

LuaFunc:
    mob.spawn(LuaNumber vnum, LuaNumber local_x, LuaNumber local_y, LuaNumber radius, LuaBoolean is_aggressive, LuaNumber count)

Returns
    [1] LuaNumber: the vid of the spawned mob, 0 otherwise

Ben de şu şekilde kullanmıştım:


Lua (Quest):
Genişlet Daralt Kopyala
quest fishingmonsters begin
    state start begin
        when fish begin
            notice("Denizden ALEV KRAL cikti")
            notice("Denizden neden ALEV KRAL cikti ve hala nasil yaniyor?")
            mob.spawn(2206, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
        end
    end
end
 
bu quest dungeon için mi geçerli bilemiyorum fakat ben daha önce bir şey denemek için bir kod yazdığımda spawn_mob değilde mob.spawn kullanmışım. Onunda kullanımını şu şekilde vermişler :


Kod:
Genişlet Daralt Kopyala
it will spawn a mob [vnum] in [map_index] coordinates [local_x],[local_y] for [count] times, and if [is_aggressive]=true it will be aggressive

LuaFunc:
    mob.spawn(LuaNumber vnum, LuaNumber local_x, LuaNumber local_y, LuaNumber radius, LuaBoolean is_aggressive, LuaNumber count)

Returns
    [1] LuaNumber: the vid of the spawned mob, 0 otherwise

Ben de şu şekilde kullanmıştım:


Lua (Quest):
Genişlet Daralt Kopyala
quest fishingmonsters begin
    state start begin
        when fish begin
            notice("Denizden ALEV KRAL cikti")
            notice("Denizden neden ALEV KRAL cikti ve hala nasil yaniyor?")
            mob.spawn(2206, pc.get_local_x(),  pc.get_local_y(), 1, 1, 1)
        end
    end
end
Çok teşekkür ederim bu gece deneyeceğim
 
Dostum merhabalar ben de bir iki birşey eklemek istiyorum. Yazdığım bazı özel etkinlik questleri oldu ve genelde spawnmob quest kodlarında sorunlar çıkıyordu tabi sebebini c# veya c++ dillerinde yüksek kodlama bilgim olmadığı için tespit edememiştim. Bu sebepten ötürüdür ki zaten birçok harita ve questlerde kullanılan 'regen_in_map' quest kodunu kullandım. Sizin tasarımını yaptığınız 'Metin Yarışı' haritasında kullandığım quest kodunu aşağıya ekliyorum. Zaten serverde pek oynayan kalmadı, siz faydalanmış olursunuz.

Kısa notlar: Bildiğinizi varsayıyorum fakat yine de küçük basit eklemeler yapmak istedim.
regen_in_map(415, "data/dungeon/bayrak_savasi/bayrak_savasi.txt") komutu sunucuya kurmuş olduğumuz dosyaların içinde ilgili adrese eklediğimiz ve hangi mobların spawn edileceğinin kontrol edildiği bir txt dosyası ekliyoruz. Örnek kullandığım txt dosyasını da ekliyorum. Biz quest ile her tetiklediğimizde mobları spawn edecektir.
415= İlgili haritanın index kodu
data/dungeon/bayrak_savasi/bayrak_savasi.txt= Spawn edilecek mobların bulunduğu ilgili txt dosyasının konumu


bayrak_savasi.txt:
Genişlet Daralt Kopyala
m    1    1    1    1    0    0    s    10800s    1    30101
m    586    342    1    1    0    0    s    10800s    1    63200
m    605    537    1    1    0    0    s    10800s    1    63200
m    600    540    1    1    0    0    s    10800s    1    63200
m    622    538    1    1    0    0    s    10800s    1    63200
m    624    556    1    1    0    0    s    10800s    1    63200
m    627    577    1    1    0    0    s    10800s    1    63200
m    634    536    1    1    0    0    s    10800s    1    63200

m    284    538    1    1    0    0    s    10800s    1    63210
m    298    512    1    1    0    0    s    10800s    1    63210
m    306    492    1    1    0    0    s    10800s    1    63210
m    317    535    1    1    0    0    s    10800s    1    63210
m    315    525    1    1    0    0    s    10800s    1    63210
m    330    511    1    1    0    0    s    10800s    1    63210

m    622    325    1    1    0    0    s    10800s    1    63220
m    630    301    1    1    0    0    s    10800s    1    63220
m    629    284    1    1    0    0    s    10800s    1    63220
m    600    272    1    1    0    0    s    10800s    1    63220
m    561    308    1    1    0    0    s    10800s    1    63220
m    549    308    1    1    0    0    s    10800s    1    63220

m    303    278    1    1    0    0    s    10800s    1    63230

Lua (Quest):
Genişlet Daralt Kopyala
--Metin2Fix sunucusu Metin Yarışı özel quest kodlaması    https://metin2fix.com.tr
quest metin_yarisi begin
    state start begin
        when login or kill or logout or dead begin
        local saat = tonumber(os.date("%H"))
        local dk = tonumber(os.date("%M"))
        
            if game.get_event_flag("gm_savas_baslat") == 1 or saat == 21 and dk == 58 then
                
                timer("metin_giris_ac", 61)
                timer("gm_savas_baslat",1)
                
                
                
            end
        end
        --------[I]------------[B][I]YARIŞ DELAY******[/I][/B][/I]------
        when login with pc.get_map_index() == 415 and game.get_event_flag("yaris_lobi_bekleme") == 0 begin
        game.set_event_flag("yaris_lobi_bekleme",1)
        timer("bayrak_isinla",300)
        end
        --------[I]------------[B][I]YARIŞ DELAY******[/I][/B][/I]------
        when gm_savas_baslat.timer begin --gm savaşı başlatınca tekrardan fonksiyon tetiklenmemesi için temizleme kısmı
            if game.get_event_flag("gm_savas_baslat") == 1 then
            game.set_event_flag("gm_savas_baslat",0)
            return end
            cleartimer("gm_savas_baslat")
        end
        
        when metin_giris_ac.timer begin --saat vakti gelince veya gm ile tetiklendikten sonra giriş izni verme kısmı
            game.set_event_flag("yaris_lobi_bekleme",0)
            game.set_event_flag("bayrak_savasi_ac",1)
            
            game.set_event_flag("odul_aktif",0)
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı girişleri başlamıştır. 22:05'da girişler kapanacaktır.")
            --clear_server_timer("metin_giris_ac")
            cleartimer("metin_giris_ac")
        end
        when 20355.chat."Metin Yarışı Başlat " with pc.is_gm() begin --gm yetkisiyle savaş başlatma kısmı
            say("Bayrak savası başlattınız.")
            
            game.set_event_flag("gm_savas_baslat",1)
            game.set_event_flag("bayrak_savasi_ac",0)
            --galibiyet bug kontrol
            game.set_event_flag("mavi_galibiyet",0)
            game.set_event_flag("sari_galibiyet",0)
            game.set_event_flag("kirmizi_galibiyet",0)
            --galibiyet bug kontrol
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı Yönetici Tarafından Başlatıldı.")
            
        end
        

        -----------------------------------Bekleme Lobisi ----------------------------
        when bayrak_isinla.timer begin
        
        regen_in_map(415, "data/dungeon/bayrak_savasi/bayrak_savasi.txt")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Yarış başladı! Hızlı olan kazansın.")
        game.set_event_flag("mavi_sayac",0) --metinlerin sayacı
        game.set_event_flag("sari_sayac",0)
        game.set_event_flag("kirmizi_sayac",0)
        game.set_event_flag("bayrak_savasi_ac",0)
        game.set_event_flag("metin_odasina_giris",1)
        cleartimer("bayrak_isinla")
        timer("girisleri_kapat2",1)
        
    
        end
        
        --lobi girişleri kapatma
        when girisleri_kapat2.timer begin
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Bekleme Lobisine Girişler Kapandı.")
        cleartimer("bayrak_isinla")
        cleartimer("girisleri_kapat2")
        end
        --lobi girişleri kapatma
        -----------------------------------Bekleme Lobisi ----------------------------
        
        ----------------------------------Final Oda Son metin kesme ---------------------------
        when kill with npc.get_race() == 63230 and pc.get_map_index() == 415 begin
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı Sona erdi. ")
        if pc.get_empire() == 1 then ----Kırmızı bayrak girişler
            
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 Kırmızı Bayrağa Galibiyeti getiren ''"..pc.getname().."'' oldu. ")
            server_timer("kirmizi_galibiyet", 5)
            elseif pc.get_empire() == 2 then --Sarı Bayrak girişler
            server_timer("sari_galibiyet", 5)
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 Sarı Bayrağa Galibiyeti getiren ''"..pc.getname().."'' oldu. ")
            elseif pc.get_empire() == 3 then --Mavi Bayrak girişler
            server_timer("mavi_galibiyet", 5)
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff Mavi Bayrağa Galibiyeti getiren ''"..pc.getname().."'' oldu. ")
            else return
            end
        
        
        end
        ---------------------------------galibiyet kısmı------------------
        when kirmizi_galibiyet.server_timer begin
        game.set_event_flag("kirmizi_galibiyet",1)
        game.set_event_flag("odul_aktif",1)
        server_timer("yarisi_bitir", 60)
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 Kırmızı Bayrak Metin Yarışı Kazandı! ")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]60 Saniye İçinde Herkes Şehre Gönderilecek!")
        
        
        --clear_server_timer("kirmizi_galibiyet")
        end
        ------------------------------------------------------------------------------------------------------------------------
        when sari_galibiyet.server_timer begin
        game.set_event_flag("sari_galibiyet",1)
        game.set_event_flag("odul_aktif",1)
        server_timer("yarisi_bitir", 60)
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 Sarı Bayrak Metin Yarışı Kazandı! ")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]60 Saniye İçinde Herkes Şehre Gönderilecek!")
        
        --clear_server_timer("sari_galibiyet")
        end
        ------------------------------------------------------------------------------------------------------------------------
        when mavi_galibiyet.server_timer begin
        game.set_event_flag("mavi_galibiyet",1)
        game.set_event_flag("odul_aktif",1)
        server_timer("yarisi_bitir", 60)
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff Mavi Bayrak Metin Yarışı Kazandı! ")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]60 Saniye İçinde Herkes Şehre Gönderilecek!")
        
        --clear_server_timer("mavi_galibiyet")
        end
        ---------******************************************************ÖDÜL VERME KISMI***************************************---------------
        when 20355.chat."Ödülü AL " with pc.get_map_index() == 415 and game.get_event_flag("odul_aktif") == 1 begin
            if game.get_event_flag("kirmizi_galibiyet") == 1 then
                if pc.get_empire() == 1 then
                say("|cffff0000 Ödül alındı.")
                pc.give_item2(63509, 1) --altın yarış sandığı
                pc.change_gold(10000000)
                wait()
                warp_to_village()
                elseif pc.get_empire() == 2 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                elseif pc.get_empire() == 3 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                else return end
            elseif game.get_event_flag("sari_galibiyet") == 1 then
                if pc.get_empire() == 2 then
                say("|cffFFC125 Ödül alındı.")
                pc.give_item2(63509, 1) --altın yarış sandığı
                pc.change_gold(10000000)
                wait()
                warp_to_village()
                elseif pc.get_empire() == 1 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                elseif pc.get_empire() == 3 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                else return end
            elseif game.get_event_flag("mavi_galibiyet") == 1 then
                if pc.get_empire() == 3 then
                say("|cff00ccff Ödül alındı.")
                pc.give_item2(63509, 1) --altın yarış sandığı
                pc.change_gold(10000000)
                wait()
                warp_to_village()
                elseif pc.get_empire() == 1 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                elseif pc.get_empire() == 2 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                else return end
            else
            say("Ödül almak için hak kazanamadınız. ")
            wait()
            warp_to_village()
            return end
        end
            
        ---------******************************************************ÖDÜL VERME KISMI***************************************---------------
        -------------------yarışı bitir----------------
        when yarisi_bitir.server_timer begin
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı Sona Erdi.")
        game.set_event_flag("mavi_galibiyet",0)
        game.set_event_flag("sari_galibiyet",0)
        game.set_event_flag("kirmizi_galibiyet",0)
        game.set_event_flag("odul_aktif",0)
        game.set_event_flag("mavi_sayac",0) --metinlerin sayacı
        game.set_event_flag("sari_sayac",0)
        game.set_event_flag("kirmizi_sayac",0)
        warp_all_to_village(415)
        
        end
        
        -------------------yarışı bitir----------------
        ----------------------------------Final Oda Son metin kesme ---------------------------
        
        
        
        --/////////////////////////*-----------------------------------------------------------------
        --------------------------------kirmizi bayrak-----------------------------
        when kill with npc.get_race() == 63220 and pc.get_map_index() == 415 and pc.get_empire() == 1 begin
        if game.get_event_flag("kirmizi_sayac") == 5 then
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 Kırmızı Bayrak İçin Büyük Salon Girişleri Açıldı. ")
        
        else
        local local_m_sayac = game.get_event_flag("kirmizi_sayac")
        game.set_event_flag("kirmizi_sayac",local_m_sayac+1)
        local local_m_sayac2 = 1
        local local_m_sayac3 = local_m_sayac2 + local_m_sayac
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 "..local_m_sayac3..". Kırmızı kaya kesildi. ")
        return
        end
        end
        --------------------------sari bayrak-----------------------
        when kill with npc.get_race() == 63210 and pc.get_map_index() == 415 and pc.get_empire() == 2 begin
        if game.get_event_flag("sari_sayac") == 5 then
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 Sarı Bayrak İçin Büyük Salon Girişleri Açıldı. ")
        
        else
        local local_m_sayac = game.get_event_flag("sari_sayac")
        game.set_event_flag("sari_sayac",local_m_sayac+1)
        local local_m_sayac2 = 1
        local local_m_sayac3 = local_m_sayac2 + local_m_sayac
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 "..local_m_sayac3..". Sarı kaya kesildi. ")
        return
        end
        end
        -------------------mavi bayrak-----------------------------------
        when kill with npc.get_race() == 63200 and pc.get_map_index() == 415 and pc.get_empire() == 3 begin
        if game.get_event_flag("mavi_sayac") == 5 then
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff Mavi Bayrak İçin Büyük Salon Girişleri Açıldı. ")
        
        else
        local local_m_sayac = game.get_event_flag("mavi_sayac")
        game.set_event_flag("mavi_sayac",local_m_sayac+1)
        local local_m_sayac2 = 1
        local local_m_sayac3 = local_m_sayac2 + local_m_sayac
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff "..local_m_sayac3..". Mavi kaya kesildi. ")
        return
        end
        end
        
        --/////////////////////////*-----------------------------------------------------------------
        --[B][B][B][B]********Büyük odaya giriş kısmı *[/B][/B][/B][/B]-----------///////////////////////////////////////////////////////////////////////
        when 20355.chat."Büyük Salona Git " with pc.get_map_index() == 415 and game.get_event_flag("kirmizi_sayac") == 5 and pc.get_empire() == 1 begin
        say("Şimdi Büyük Salona Gidiyorsunuz. ")
        --game.set_event_flag("kirmizi_sayac",0)
            
        game.set_event_flag("metin_odasina_giris",0)
            
        wait()
        pc.warp(6191000,6189300)
        
        end
        
        
        -------------------------------sari bayrak salon giriş------------------
        when 20355.chat."Büyük Salona Git " with pc.get_map_index() == 415 and game.get_event_flag("sari_sayac") == 5 and pc.get_empire() == 2 begin
        say("Şimdi Büyük Salona Gidiyorsunuz. ")
        --game.set_event_flag("sari_sayac",0)
            
        game.set_event_flag("metin_odasina_giris",0)
            
        wait()
        pc.warp(6181800,6185700)
        
        end
        -------------------------------mavi bayrak salon giriş------------------
        when 20355.chat."Büyük Salona Git " with pc.get_map_index() == 415 and game.get_event_flag("mavi_sayac") == 5 and pc.get_empire() == 3 begin
        say("Şimdi Büyük Salona Gidiyorsunuz. ")
        --game.set_event_flag("mavi_sayac",0)
            
        game.set_event_flag("metin_odasina_giris",0)
            
        wait()
        pc.warp(6190200,6179400)
        
        end
        --[B][B][B][B]********Büyük odaya giriş kısmı *[/B][/B][/B][/B]-----------///////////////////////////////////////////////////////////////////////
        
        when 20355.chat."Metin Odasına Giriş " with pc.get_map_index() == 415 and game.get_event_flag("metin_odasina_giris") == 1 begin
        
            if pc.get_empire() == 1 then ----Kırmızı bayrak girişler
            
            pc.warp(6205800,6186700)
            
            elseif pc.get_empire() == 2 then --Sarı Bayrak girişler
            
            pc.warp(6180600,6209100)
            elseif pc.get_empire() == 3 then --Mavi Bayrak girişler
            
            pc.warp(6206100,6210100)
            else return
            end
        
        
        
        
        end
        
        when 20355.chat."Metin Yarışı GİRİŞ " with pc.get_map_index() == 41 and game.get_event_flag("bayrak_savasi_ac") == 1 begin
        if pc.get_level() < 90 then
        say("Metin Yarışına girebilmek için en az 90 Seviye olmalısınız.")
        elseif pc.get_level() > 89 then
        say("Şimdi bekleme lobisine gönderiliyorsunuz. ")
        notice_all("|cffADFF2F >>>>>[Metin Yarışı] '"..pc.get_name().."' Metin Yarışına giriş yaptı.")
        pc.warp(6166400,6162000)
        else return end
        end
        
    end
end



Biraz uzun bir quest kodlaması olmuş fakat sizin işinize yarayacağını ümit ediyorum iyi çalışmalar.









.
 
Dostum merhabalar ben de bir iki birşey eklemek istiyorum. Yazdığım bazı özel etkinlik questleri oldu ve genelde spawnmob quest kodlarında sorunlar çıkıyordu tabi sebebini c# veya c++ dillerinde yüksek kodlama bilgim olmadığı için tespit edememiştim. Bu sebepten ötürüdür ki zaten birçok harita ve questlerde kullanılan 'regen_in_map' quest kodunu kullandım. Sizin tasarımını yaptığınız 'Metin Yarışı' haritasında kullandığım quest kodunu aşağıya ekliyorum. Zaten serverde pek oynayan kalmadı, siz faydalanmış olursunuz.

Kısa notlar: Bildiğinizi varsayıyorum fakat yine de küçük basit eklemeler yapmak istedim.
regen_in_map(415, "data/dungeon/bayrak_savasi/bayrak_savasi.txt") komutu sunucuya kurmuş olduğumuz dosyaların içinde ilgili adrese eklediğimiz ve hangi mobların spawn edileceğinin kontrol edildiği bir txt dosyası ekliyoruz. Örnek kullandığım txt dosyasını da ekliyorum. Biz quest ile her tetiklediğimizde mobları spawn edecektir.
415= İlgili haritanın index kodu
data/dungeon/bayrak_savasi/bayrak_savasi.txt= Spawn edilecek mobların bulunduğu ilgili txt dosyasının konumu


bayrak_savasi.txt:
Genişlet Daralt Kopyala
m    1    1    1    1    0    0    s    10800s    1    30101
m    586    342    1    1    0    0    s    10800s    1    63200
m    605    537    1    1    0    0    s    10800s    1    63200
m    600    540    1    1    0    0    s    10800s    1    63200
m    622    538    1    1    0    0    s    10800s    1    63200
m    624    556    1    1    0    0    s    10800s    1    63200
m    627    577    1    1    0    0    s    10800s    1    63200
m    634    536    1    1    0    0    s    10800s    1    63200

m    284    538    1    1    0    0    s    10800s    1    63210
m    298    512    1    1    0    0    s    10800s    1    63210
m    306    492    1    1    0    0    s    10800s    1    63210
m    317    535    1    1    0    0    s    10800s    1    63210
m    315    525    1    1    0    0    s    10800s    1    63210
m    330    511    1    1    0    0    s    10800s    1    63210

m    622    325    1    1    0    0    s    10800s    1    63220
m    630    301    1    1    0    0    s    10800s    1    63220
m    629    284    1    1    0    0    s    10800s    1    63220
m    600    272    1    1    0    0    s    10800s    1    63220
m    561    308    1    1    0    0    s    10800s    1    63220
m    549    308    1    1    0    0    s    10800s    1    63220

m    303    278    1    1    0    0    s    10800s    1    63230

Lua (Quest):
Genişlet Daralt Kopyala
--Metin2Fix sunucusu Metin Yarışı özel quest kodlaması    https://metin2fix.com.tr
quest metin_yarisi begin
    state start begin
        when login or kill or logout or dead begin
        local saat = tonumber(os.date("%H"))
        local dk = tonumber(os.date("%M"))
       
            if game.get_event_flag("gm_savas_baslat") == 1 or saat == 21 and dk == 58 then
               
                timer("metin_giris_ac", 61)
                timer("gm_savas_baslat",1)
               
               
               
            end
        end
        --------[I]------------[B][I]YARIŞ DELAY******[/I][/B][/I]------
        when login with pc.get_map_index() == 415 and game.get_event_flag("yaris_lobi_bekleme") == 0 begin
        game.set_event_flag("yaris_lobi_bekleme",1)
        timer("bayrak_isinla",300)
        end
        --------[I]------------[B][I]YARIŞ DELAY******[/I][/B][/I]------
        when gm_savas_baslat.timer begin --gm savaşı başlatınca tekrardan fonksiyon tetiklenmemesi için temizleme kısmı
            if game.get_event_flag("gm_savas_baslat") == 1 then
            game.set_event_flag("gm_savas_baslat",0)
            return end
            cleartimer("gm_savas_baslat")
        end
       
        when metin_giris_ac.timer begin --saat vakti gelince veya gm ile tetiklendikten sonra giriş izni verme kısmı
            game.set_event_flag("yaris_lobi_bekleme",0)
            game.set_event_flag("bayrak_savasi_ac",1)
           
            game.set_event_flag("odul_aktif",0)
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı girişleri başlamıştır. 22:05'da girişler kapanacaktır.")
            --clear_server_timer("metin_giris_ac")
            cleartimer("metin_giris_ac")
        end
        when 20355.chat."Metin Yarışı Başlat " with pc.is_gm() begin --gm yetkisiyle savaş başlatma kısmı
            say("Bayrak savası başlattınız.")
           
            game.set_event_flag("gm_savas_baslat",1)
            game.set_event_flag("bayrak_savasi_ac",0)
            --galibiyet bug kontrol
            game.set_event_flag("mavi_galibiyet",0)
            game.set_event_flag("sari_galibiyet",0)
            game.set_event_flag("kirmizi_galibiyet",0)
            --galibiyet bug kontrol
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı Yönetici Tarafından Başlatıldı.")
           
        end
       

        -----------------------------------Bekleme Lobisi ----------------------------
        when bayrak_isinla.timer begin
       
        regen_in_map(415, "data/dungeon/bayrak_savasi/bayrak_savasi.txt")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Yarış başladı! Hızlı olan kazansın.")
        game.set_event_flag("mavi_sayac",0) --metinlerin sayacı
        game.set_event_flag("sari_sayac",0)
        game.set_event_flag("kirmizi_sayac",0)
        game.set_event_flag("bayrak_savasi_ac",0)
        game.set_event_flag("metin_odasina_giris",1)
        cleartimer("bayrak_isinla")
        timer("girisleri_kapat2",1)
       
   
        end
       
        --lobi girişleri kapatma
        when girisleri_kapat2.timer begin
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Bekleme Lobisine Girişler Kapandı.")
        cleartimer("bayrak_isinla")
        cleartimer("girisleri_kapat2")
        end
        --lobi girişleri kapatma
        -----------------------------------Bekleme Lobisi ----------------------------
       
        ----------------------------------Final Oda Son metin kesme ---------------------------
        when kill with npc.get_race() == 63230 and pc.get_map_index() == 415 begin
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı Sona erdi. ")
        if pc.get_empire() == 1 then ----Kırmızı bayrak girişler
           
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 Kırmızı Bayrağa Galibiyeti getiren ''"..pc.getname().."'' oldu. ")
            server_timer("kirmizi_galibiyet", 5)
            elseif pc.get_empire() == 2 then --Sarı Bayrak girişler
            server_timer("sari_galibiyet", 5)
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 Sarı Bayrağa Galibiyeti getiren ''"..pc.getname().."'' oldu. ")
            elseif pc.get_empire() == 3 then --Mavi Bayrak girişler
            server_timer("mavi_galibiyet", 5)
            notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff Mavi Bayrağa Galibiyeti getiren ''"..pc.getname().."'' oldu. ")
            else return
            end
       
       
        end
        ---------------------------------galibiyet kısmı------------------
        when kirmizi_galibiyet.server_timer begin
        game.set_event_flag("kirmizi_galibiyet",1)
        game.set_event_flag("odul_aktif",1)
        server_timer("yarisi_bitir", 60)
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 Kırmızı Bayrak Metin Yarışı Kazandı! ")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]60 Saniye İçinde Herkes Şehre Gönderilecek!")
       
       
        --clear_server_timer("kirmizi_galibiyet")
        end
        ------------------------------------------------------------------------------------------------------------------------
        when sari_galibiyet.server_timer begin
        game.set_event_flag("sari_galibiyet",1)
        game.set_event_flag("odul_aktif",1)
        server_timer("yarisi_bitir", 60)
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 Sarı Bayrak Metin Yarışı Kazandı! ")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]60 Saniye İçinde Herkes Şehre Gönderilecek!")
       
        --clear_server_timer("sari_galibiyet")
        end
        ------------------------------------------------------------------------------------------------------------------------
        when mavi_galibiyet.server_timer begin
        game.set_event_flag("mavi_galibiyet",1)
        game.set_event_flag("odul_aktif",1)
        server_timer("yarisi_bitir", 60)
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff Mavi Bayrak Metin Yarışı Kazandı! ")
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]60 Saniye İçinde Herkes Şehre Gönderilecek!")
       
        --clear_server_timer("mavi_galibiyet")
        end
        ---------******************************************************ÖDÜL VERME KISMI***************************************---------------
        when 20355.chat."Ödülü AL " with pc.get_map_index() == 415 and game.get_event_flag("odul_aktif") == 1 begin
            if game.get_event_flag("kirmizi_galibiyet") == 1 then
                if pc.get_empire() == 1 then
                say("|cffff0000 Ödül alındı.")
                pc.give_item2(63509, 1) --altın yarış sandığı
                pc.change_gold(10000000)
                wait()
                warp_to_village()
                elseif pc.get_empire() == 2 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                elseif pc.get_empire() == 3 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                else return end
            elseif game.get_event_flag("sari_galibiyet") == 1 then
                if pc.get_empire() == 2 then
                say("|cffFFC125 Ödül alındı.")
                pc.give_item2(63509, 1) --altın yarış sandığı
                pc.change_gold(10000000)
                wait()
                warp_to_village()
                elseif pc.get_empire() == 1 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                elseif pc.get_empire() == 3 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                else return end
            elseif game.get_event_flag("mavi_galibiyet") == 1 then
                if pc.get_empire() == 3 then
                say("|cff00ccff Ödül alındı.")
                pc.give_item2(63509, 1) --altın yarış sandığı
                pc.change_gold(10000000)
                wait()
                warp_to_village()
                elseif pc.get_empire() == 1 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                elseif pc.get_empire() == 2 then
                pc.give_item2(63508, 1) --Gümüş yarış sandığı
                pc.change_gold(1000000)
                warp_to_village()
                else return end
            else
            say("Ödül almak için hak kazanamadınız. ")
            wait()
            warp_to_village()
            return end
        end
           
        ---------******************************************************ÖDÜL VERME KISMI***************************************---------------
        -------------------yarışı bitir----------------
        when yarisi_bitir.server_timer begin
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]Metin Yarışı Sona Erdi.")
        game.set_event_flag("mavi_galibiyet",0)
        game.set_event_flag("sari_galibiyet",0)
        game.set_event_flag("kirmizi_galibiyet",0)
        game.set_event_flag("odul_aktif",0)
        game.set_event_flag("mavi_sayac",0) --metinlerin sayacı
        game.set_event_flag("sari_sayac",0)
        game.set_event_flag("kirmizi_sayac",0)
        warp_all_to_village(415)
       
        end
       
        -------------------yarışı bitir----------------
        ----------------------------------Final Oda Son metin kesme ---------------------------
       
       
       
        --/////////////////////////*-----------------------------------------------------------------
        --------------------------------kirmizi bayrak-----------------------------
        when kill with npc.get_race() == 63220 and pc.get_map_index() == 415 and pc.get_empire() == 1 begin
        if game.get_event_flag("kirmizi_sayac") == 5 then
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 Kırmızı Bayrak İçin Büyük Salon Girişleri Açıldı. ")
       
        else
        local local_m_sayac = game.get_event_flag("kirmizi_sayac")
        game.set_event_flag("kirmizi_sayac",local_m_sayac+1)
        local local_m_sayac2 = 1
        local local_m_sayac3 = local_m_sayac2 + local_m_sayac
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffff0000 "..local_m_sayac3..". Kırmızı kaya kesildi. ")
        return
        end
        end
        --------------------------sari bayrak-----------------------
        when kill with npc.get_race() == 63210 and pc.get_map_index() == 415 and pc.get_empire() == 2 begin
        if game.get_event_flag("sari_sayac") == 5 then
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 Sarı Bayrak İçin Büyük Salon Girişleri Açıldı. ")
       
        else
        local local_m_sayac = game.get_event_flag("sari_sayac")
        game.set_event_flag("sari_sayac",local_m_sayac+1)
        local local_m_sayac2 = 1
        local local_m_sayac3 = local_m_sayac2 + local_m_sayac
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cffFFC125 "..local_m_sayac3..". Sarı kaya kesildi. ")
        return
        end
        end
        -------------------mavi bayrak-----------------------------------
        when kill with npc.get_race() == 63200 and pc.get_map_index() == 415 and pc.get_empire() == 3 begin
        if game.get_event_flag("mavi_sayac") == 5 then
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff Mavi Bayrak İçin Büyük Salon Girişleri Açıldı. ")
       
        else
        local local_m_sayac = game.get_event_flag("mavi_sayac")
        game.set_event_flag("mavi_sayac",local_m_sayac+1)
        local local_m_sayac2 = 1
        local local_m_sayac3 = local_m_sayac2 + local_m_sayac
        notice_all("|cff00ff00 >>>>>[Metin Yarışı]|cff00ccff "..local_m_sayac3..". Mavi kaya kesildi. ")
        return
        end
        end
       
        --/////////////////////////*-----------------------------------------------------------------
        --[B][B][B][B]********Büyük odaya giriş kısmı *[/B][/B][/B][/B]-----------///////////////////////////////////////////////////////////////////////
        when 20355.chat."Büyük Salona Git " with pc.get_map_index() == 415 and game.get_event_flag("kirmizi_sayac") == 5 and pc.get_empire() == 1 begin
        say("Şimdi Büyük Salona Gidiyorsunuz. ")
        --game.set_event_flag("kirmizi_sayac",0)
           
        game.set_event_flag("metin_odasina_giris",0)
           
        wait()
        pc.warp(6191000,6189300)
       
        end
       
       
        -------------------------------sari bayrak salon giriş------------------
        when 20355.chat."Büyük Salona Git " with pc.get_map_index() == 415 and game.get_event_flag("sari_sayac") == 5 and pc.get_empire() == 2 begin
        say("Şimdi Büyük Salona Gidiyorsunuz. ")
        --game.set_event_flag("sari_sayac",0)
           
        game.set_event_flag("metin_odasina_giris",0)
           
        wait()
        pc.warp(6181800,6185700)
       
        end
        -------------------------------mavi bayrak salon giriş------------------
        when 20355.chat."Büyük Salona Git " with pc.get_map_index() == 415 and game.get_event_flag("mavi_sayac") == 5 and pc.get_empire() == 3 begin
        say("Şimdi Büyük Salona Gidiyorsunuz. ")
        --game.set_event_flag("mavi_sayac",0)
           
        game.set_event_flag("metin_odasina_giris",0)
           
        wait()
        pc.warp(6190200,6179400)
       
        end
        --[B][B][B][B]********Büyük odaya giriş kısmı *[/B][/B][/B][/B]-----------///////////////////////////////////////////////////////////////////////
       
        when 20355.chat."Metin Odasına Giriş " with pc.get_map_index() == 415 and game.get_event_flag("metin_odasina_giris") == 1 begin
       
            if pc.get_empire() == 1 then ----Kırmızı bayrak girişler
           
            pc.warp(6205800,6186700)
           
            elseif pc.get_empire() == 2 then --Sarı Bayrak girişler
           
            pc.warp(6180600,6209100)
            elseif pc.get_empire() == 3 then --Mavi Bayrak girişler
           
            pc.warp(6206100,6210100)
            else return
            end
       
       
       
       
        end
       
        when 20355.chat."Metin Yarışı GİRİŞ " with pc.get_map_index() == 41 and game.get_event_flag("bayrak_savasi_ac") == 1 begin
        if pc.get_level() < 90 then
        say("Metin Yarışına girebilmek için en az 90 Seviye olmalısınız.")
        elseif pc.get_level() > 89 then
        say("Şimdi bekleme lobisine gönderiliyorsunuz. ")
        notice_all("|cffADFF2F >>>>>[Metin Yarışı] '"..pc.get_name().."' Metin Yarışına giriş yaptı.")
        pc.warp(6166400,6162000)
        else return end
        end
       
    end
end



Biraz uzun bir quest kodlaması olmuş fakat sizin işinize yarayacağını ümit ediyorum iyi çalışmalar.









.
Teşekkürler hocam regen kullanma fikri de güzel ben sadece tek bir boss çağıracağım için gerekli fonksiyon var mı diye merak edip araştırırken mob.spawn ı gördüm o yüzden sordum
 
Üst