İlan
05 Haz 2026 27 çevrimiçi üye Duyurular
Ana Sayfa Quests
Ana Sayfa Forum Quests "Mükemmel WS Quest Stratejisini Keşfedin! Örn...
İlan Yan banner placeholder

"Mükemmel WS Quest Stratejisini Keşfedin! Örnek yok! Öğrenin."

PikkyMedya 23.04.2026 17:59 1.1K görüntüleme 9 cevap
Son Mesaj
PikkyMedya
Üye
Üye
Katılım09 Ara 2025
Konular5
Mesajlar57
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
23.04.2026 17:59 #1
merhaba arkadaşlar stratejili ws questi paylasıyorum denendi onaylandı!
arkadaşlar bu verdiğim quest e ws aranasında bir npc ye tıklayıp o anki wsye özel özellik kritik vb şeyleri aktif ediyorsun.
----------------------------------------------------------------------------
'npcden secilen stratejiler
*kritik, zehirleme, kanama gibi özelliklerin aktif veya kapatma özelliği.
*ws de hangi kurallar olacagını npcden onaylama.
*İki kişi seçmeden kimse strateji bilmez.
-----------------------------------------------------------------------------
diğer ws deki arkadaşında npc den onayladıktan sonra ws başlar. ws bitince tüm özellikler silinir. tamamen wslik sw de strateji olarak
büyük dikkat çeker. iyi kullanımlar.
-----------------------------------------------------------------------------
!önemli!
bir npc ekleyin yada düzenleyin o npcye quest vericez cünkü o npcyi ws arenası gibi biryere ekleyin.
(ekledigim 90020 npc kodunu değiş)
( if pc.get_map_index() != 123 then burdaki 123 ü ws arenası mapınızın konumunu yazın)
(map 123 olan tüm yerleri değiştirin)
------------------------------------------------------------------------------
strateji kodu:
quest ws_strateji_arenasi begin
    state start begin
        when 90020.chat."Strateji Seçimi" begin
            -- 🔹 Arena haritası kontrolü
            if pc.get_map_index() != 123 then
                say_title("Strateji Ustası:")
                say("Bu özelliği sadece WS Arenasında kullanabilirsin.")
                return
            end

            -- 🔹 Oyuncuları bul
            local list = {}
            local count = 0
            for i = 1, get_pc_count() do
                local pid = get_pc_id(i)
                if pid != pc.get_player_id() then
                    table.insert(list, pid)
                    count = count + 1
                end
            end

            if count == 0 then
                say_title("Strateji Ustası:")
                say("Rakibin arenada değil.")
                return
            end

            local rakip_id = list[1]
            local rakip_name = pc.name_by_id(rakip_id)

            pc.setqf("rakip_name", rakip_name)

            -- Eğer savaş başlamışsa izin verme
            if game.get_event_flag("ws_basladi") == 1 then
                say_title("Strateji Ustası:")
                say("Savaş başladıktan sonra strateji değiştiremezsin.")
                return
            end

            say_title("Strateji Ustası:")
            say("Savaş öncesi stratejini seç:")
            local secim = select("Saldırı Odaklı", "Savunma Odaklı", "Direnç Odaklı", "Vazgeç")

            if secim == 4 then
                return
            end

            pc.setqf("taktik_secimi", secim)
            game.set_event_flag("ws_secim_"..pc.get_name(), secim)
            notice("Stratejini belirledin. Rakibini bekliyorsun...")

            local rakip_secim = game.get_event_flag("ws_secim_"..rakip_name)

            if rakip_secim > 0 then
                -- 🔹 Her iki oyuncu da seçimini yaptıysa
                game.set_event_flag("ws_basladi", 1)
                notice_all("Her iki oyuncu da stratejisini seçti!")
                
                -- Geri sayım
                notice_in_map(123, "Savaş 3 saniye içinde başlayacak...")
                server_timer("ws_countdown", 1, 3)
            end
        end

        when ws_countdown.server_timer begin
            local t = get_server_timer_arg()
            if t > 0 then
                notice_in_map(123, t.."...")
                server_timer("ws_countdown", 1, t - 1)
            else
                notice_in_map(123, "Başla!")
                
                -- 🔹 Affect uygulaması
                local list = {}
                for i = 1, get_pc_count() do
                    table.insert(list, get_pc_id(i))
                end

                for _, pid in ipairs(list) do
                    local name = pc.name_by_id(pid)
                    local secim = game.get_event_flag("ws_secim_"..name)
                    local affect_time = 60 * 60 -- 1 saat

                    if secim == 1 then
                        command("affect_add_collect "..pid.." "..apply.ATT_SPEED.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.CRITICAL_PCT.." 5 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.STR.." 10 "..affect_time)
                    elseif secim == 2 then
                        command("affect_add_collect "..pid.." "..apply.DEX.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_SWORD.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_TWOHAND.." 10 "..affect_time)
                    elseif secim == 3 then
                        command("affect_add_collect "..pid.." "..apply.RESIST_MAGIC.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_DAGGER.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_BELL.." 10 "..affect_time)
                    end
                end
                notice_in_map(123, "Stratejiler uygulandı! WS başladı!")
            end
        end

        -- 🔹 Savaş bittiğinde etkileri kaldır
        when kill with pc.get_map_index() == 123 begin
            notice_in_map(123, "Savaş sona erdi! Strateji etkileri kaldırılıyor...")
            game.set_event_flag("ws_basladi", 0)
            affect.remove_collect()
            clear_server_timer("ws_countdown")
            game.set_event_flag("ws_secim_"..pc.get_name(), 0)
            game.set_event_flag("ws_secim_"..npc.get_name(), 0)
        end
    end
end
Sercan52
Üye
Üye
Katılım25 Kas 2025
Konular8
Mesajlar72
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
24.04.2026 23:11 #2
Paylaşım için teşekkürler emegine saglık
ArmanHAN
Üye
Üye
Katılım17 Ara 2025
Konular5
Mesajlar51
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 18:05 #3
Paylaşım için teşekkürler göreselde olsaydı daha iyi olurdu
SosyalHesap
Üye
Üye
Katılım25 Mar 2026
Konular6
Mesajlar39
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 20:40 #4
Paylaşım için teşekkürler..
ZORGAD
Üye
Üye
Katılım27 Oca 2026
Konular11
Mesajlar60
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 22:04 #5
Emeğine sağlık
PikkyMedya
Üye
Üye
Katılım09 Ara 2025
Konular5
Mesajlar57
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 22:12 #6
merhaba arkadaşlar stratejili ws questi paylasıyorum denendi onaylandı!
arkadaşlar bu verdiğim quest e ws aranasında bir npc ye tıklayıp o anki wsye özel özellik kritik vb şeyleri aktif ediyorsun.
----------------------------------------------------------------------------
'npcden secilen stratejiler
*kritik, zehirleme, kanama gibi özelliklerin aktif veya kapatma özelliği.
*ws de hangi kurallar olacagını npcden onaylama.
*İki kişi seçmeden kimse strateji bilmez.
-----------------------------------------------------------------------------
diğer ws deki arkadaşında npc den onayladıktan sonra ws başlar. ws bitince tüm özellikler silinir. tamamen wslik sw de strateji olarak
büyük dikkat çeker. iyi kullanımlar.
-----------------------------------------------------------------------------
!önemli!
bir npc ekleyin yada düzenleyin o npcye quest vericez cünkü o npcyi ws arenası gibi biryere ekleyin.
(ekledigim 90020 npc kodunu değiş)
( if pc.get_map_index() != 123 then burdaki 123 ü ws arenası mapınızın konumunu yazın)
(map 123 olan tüm yerleri değiştirin)
------------------------------------------------------------------------------
strateji kodu:
quest ws_strateji_arenasi begin
    state start begin
        when 90020.chat."Strateji Seçimi" begin
            -- 🔹 Arena haritası kontrolü
            if pc.get_map_index() != 123 then
                say_title("Strateji Ustası:")
                say("Bu özelliği sadece WS Arenasında kullanabilirsin.")
                return
            end

            -- 🔹 Oyuncuları bul
            local list = {}
            local count = 0
            for i = 1, get_pc_count() do
                local pid = get_pc_id(i)
                if pid != pc.get_player_id() then
                    table.insert(list, pid)
                    count = count + 1
                end
            end

            if count == 0 then
                say_title("Strateji Ustası:")
                say("Rakibin arenada değil.")
                return
            end

            local rakip_id = list[1]
            local rakip_name = pc.name_by_id(rakip_id)

            pc.setqf("rakip_name", rakip_name)

            -- Eğer savaş başlamışsa izin verme
            if game.get_event_flag("ws_basladi") == 1 then
                say_title("Strateji Ustası:")
                say("Savaş başladıktan sonra strateji değiştiremezsin.")
                return
            end

            say_title("Strateji Ustası:")
            say("Savaş öncesi stratejini seç:")
            local secim = select("Saldırı Odaklı", "Savunma Odaklı", "Direnç Odaklı", "Vazgeç")

            if secim == 4 then
                return
            end

            pc.setqf("taktik_secimi", secim)
            game.set_event_flag("ws_secim_"..pc.get_name(), secim)
            notice("Stratejini belirledin. Rakibini bekliyorsun...")

            local rakip_secim = game.get_event_flag("ws_secim_"..rakip_name)

            if rakip_secim > 0 then
                -- 🔹 Her iki oyuncu da seçimini yaptıysa
                game.set_event_flag("ws_basladi", 1)
                notice_all("Her iki oyuncu da stratejisini seçti!")
                
                -- Geri sayım
                notice_in_map(123, "Savaş 3 saniye içinde başlayacak...")
                server_timer("ws_countdown", 1, 3)
            end
        end

        when ws_countdown.server_timer begin
            local t = get_server_timer_arg()
            if t > 0 then
                notice_in_map(123, t.."...")
                server_timer("ws_countdown", 1, t - 1)
            else
                notice_in_map(123, "Başla!")
                
                -- 🔹 Affect uygulaması
                local list = {}
                for i = 1, get_pc_count() do
                    table.insert(list, get_pc_id(i))
                end

                for _, pid in ipairs(list) do
                    local name = pc.name_by_id(pid)
                    local secim = game.get_event_flag("ws_secim_"..name)
                    local affect_time = 60 * 60 -- 1 saat

                    if secim == 1 then
                        command("affect_add_collect "..pid.." "..apply.ATT_SPEED.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.CRITICAL_PCT.." 5 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.STR.." 10 "..affect_time)
                    elseif secim == 2 then
                        command("affect_add_collect "..pid.." "..apply.DEX.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_SWORD.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_TWOHAND.." 10 "..affect_time)
                    elseif secim == 3 then
                        command("affect_add_collect "..pid.." "..apply.RESIST_MAGIC.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_DAGGER.." 10 "..affect_time)
                        command("affect_add_collect "..pid.." "..apply.RESIST_BELL.." 10 "..affect_time)
                    end
                end
                notice_in_map(123, "Stratejiler uygulandı! WS başladı!")
            end
        end

        -- 🔹 Savaş bittiğinde etkileri kaldır
        when kill with pc.get_map_index() == 123 begin
            notice_in_map(123, "Savaş sona erdi! Strateji etkileri kaldırılıyor...")
            game.set_event_flag("ws_basladi", 0)
            affect.remove_collect()
            clear_server_timer("ws_countdown")
            game.set_event_flag("ws_secim_"..pc.get_name(), 0)
            game.set_event_flag("ws_secim_"..npc.get_name(), 0)
        end
    end
end
Sercan52
Üye
Üye
Katılım25 Kas 2025
Konular8
Mesajlar72
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 22:46 #7
Paylaşım için teşekkürler emegine saglık
ArmanHAN
Üye
Üye
Katılım17 Ara 2025
Konular5
Mesajlar51
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 23:05 #8
Paylaşım için teşekkürler göreselde olsaydı daha iyi olurdu
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
18 cevap
2K görüntüleme
Yeni Fantezi Rölenti Oluşturma Yöntemi
Kirkhammett · 02 Nis 2026
19 cevap
2K görüntüleme
11 cevap
1.9K görüntüleme
Yeni Quest I Kelle Avcısı
EniyiSunucum · 11 Nis 2026
16 cevap
1.9K görüntüleme
65 - 250 Jackpot Sistemi | Quest
Gusav · 28 Mar 2026
6 cevap
1.9K görüntüleme
İlan Yan banner placeholder