
Görselde göründüğü gibidir oyuncu metin keserek yang kazanabilir. İyi forumlar.
metin_yang_reward.quest:
quest metin_yang_reward begin
state start begin
function get_settings()
local BASE_YANG = 1000 -- sabit taban
local PER_LEVEL_YANG = 200 -- metin level başına
local COOLDOWN_SEC = 1 -- spam engel
local MAX_LEVEL_DIFF = 10 -- oyuncu - metin level farkı
local KING_ROCK_YANG = 5000000 -- 8020-8023 sabit
return BASE_YANG, PER_LEVEL_YANG, COOLDOWN_SEC, MAX_LEVEL_DIFF, KING_ROCK_YANG
end
function get_metin_level_map()
return {
[8001] = 5, [8002] = 10, [8003] = 15, [8004] = 20,
[8005] = 25, [8006] = 30, [8007] = 35, [8008] = 40,
[8009] = 45, [8010] = 50, [8011] = 55, [8012] = 60,
[8013] = 65, [8014] = 70,
[8015] = 50, [8016] = 55, [8017] = 60, [8018] = 65, [8019] = 70,
[8020] = 1, [8021] = 1, [8022] = 1, [8023] = 1,
[8024] = 75, [8025] = 80, [8026] = 85, [8027] = 90,
}
end
function give_yang(amount)
if pc.change_gold ~= nil then
pc.change_gold(amount)
elseif pc.give_gold ~= nil then
pc.give_gold(amount)
elseif pc.change_money ~= nil then
pc.change_money(amount)
end
end
when kill begin
local metin_level = metin_yang_reward.get_metin_level_map()
local race = npc.get_race()
local lvl = metin_level[race]
if lvl == nil then
return
end
local BASE_YANG, PER_LEVEL_YANG, COOLDOWN_SEC, MAX_LEVEL_DIFF, KING_ROCK_YANG =
metin_yang_reward.get_settings()
-- Cooldown
local now = get_time()
if pc.getqf("metin_yang_cd") > now then
return
end
pc.setqf("metin_yang_cd", now + COOLDOWN_SEC)
-- Level farkı
if (pc.get_level() - lvl) > MAX_LEVEL_DIFF then
return
end
-- Ödül
local reward = BASE_YANG + (lvl * PER_LEVEL_YANG)
-- Krallık kayaları sabit
if race >= 8020 and race <= 8023 then
reward = KING_ROCK_YANG
end
metin_yang_reward.give_yang(reward)
syschat(string.format('Tebrikler! %s Metin keserek %d yang kazandin.', pc.get_name(), reward))
end
end
end


