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:
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


