
Metin2 GM NPC Questi
İçindekiler
state start begin
function LevelAyarla()
say_title("Amiral: ")
say("Hoşgeldin "..pc.get_name()..", ")
say("Kaç Level olmak istiyorsun. 1-120 arası bir Level yaz. ")
say("")
local yLevel = input()
if yLevel == "" or yLevel == nil then return end
yLevel = tonumber(yLevel)
if yLevel 120 then return end
pc.set_level(yLevel)
chat("Yeni Level: "..yLevel)
end
function ItemUret()
say_title("Amiral: ")
say("Hoşgeldin "..pc.get_name()..", ")
say("İstedğin itemin kodunu lütfen. ")
say("")
local iVnum = input()
if iVnum == "" or iVnum == nil then return end
iVnum = tonumber(iVnum)
if iVnum 999999 then return end
local sonuc = pc.give_item2(iVnum, 1)
if sonuc == 0 then
say_title("Amiral: ")
say(iVnum.." bu id'ye ait bir item yok.. ")
say("")
wait()
return
end
say_item_vnum(iVnum)
say("")
wait()
end
function YangWonGem()
say_title("Amiral: ")
local secim = select("Yang Ver ","Won Ver ", "Gem Ver ", "Kapat ")
if secim == 4 then return end
say_title("Amiral: ")
say("Ne kadar istiyorsun? lütfen bana yaz. ")
say("")
local neKadar = input()
if neKadar == "" or neKadar == nil then return end
neKadar = tonumber(neKadar)
if neKadar
if secim ==1 and (pc.get_gold() + neKadar) > 2000000000 then
say_title("Amiral: ")
say("Üzgünüm "..pc.get_name()..", ")
say("Bu rakamı sana verir isem üzerindeki yang 2T'yi geçeceği için olmaz. ")
say("")
return
end
if secim ==2 and (pc.get_cheque() + neKadar) >= 250 then
say_title("Amiral: ")
say("Üzgünüm "..pc.get_name().."")
say("Bu rakamı sana verir isem üzerindeki Won 250'yi geçeceği için olmaz. ")
say("")
return
end
if secim ==1 and (pc.get_gem() + neKadar) >= 100000 then
say_title("Amiral: ")
say("Üzgünüm "..pc.get_name().."")
say("Bu rakamı sana verir isem üzerindeki Gem 100000'yi geçeceği için olmaz. ")
say("")
return
end
if secim ==1 then
pc.change_gold(neKadar)
say_title("Amiral: ")
say(neKadar.." Yang'ı aldın. İyi işlerde kullan. ")
say("")
return
end
if secim ==2 then
pc.change_cheque(neKadar)
say_title("Amiral: ")
say(neKadar.." Won'u aldın. İyi işlerde kullan. ")
say("")
return
end
if secim ==3 then
pc.change_gem(neKadar)
say_title("Amiral: ")
say(neKadar.." Gem'i aldın. İyi işlerde kullan. ")
say("")
return
end
end
when 20378.chat."Level Ayarla " with game.get_gorev_durum(53) and pc.get_map_index()==41 begin --GRV_20378_LEVEL
npc_20378.LevelAyarla()
end --when
when 20378.chat."İtem Üret " with game.get_gorev_durum(54) and pc.get_map_index()==41 begin --GRV_20378_ITEM
npc_20378.ItemUret()
end --when
when 20378.chat."Yang/Won/Gem Ver " with game.get_gorev_durum(55) and pc.get_map_index()==41 begin --GRV_20378_YANG
npc_20378.YangWonGem()
end --when
when 20378.chat."Arındırma panelini aç " with game.get_gorev_durum(41) and pc.get_map_index()==301 begin --GRV_20378_CUBE
setskin(NOWINDOW)
command("cube open")
end --when
when 20378.take begin
if not game.get_gorev_durum(42) then return end --42
local vnum = item.get_vnum()
local can_change = true
local upgrade_list = {[11299] = 20000, [11499] = 20250, [11699] = 20500, [11899] = 20750, [21079] = 21090, [20009] = {[1] = 20860, [2] = 20910}, [20259] = {[1] = 20870, [2] = 20920}, [20509] = {[1] = 20880, [2] = 20930}, [20759] = {[1] = 20890, [2] = 20940}, [21099] = {[1] = 20900, [2] = 20950},}
local material_list = {
{["vnum"] = vnum, ["count"] = 1,},
{["vnum"] = 70031, ["count"] = 3,},
{["vnum"] = 71129,["count"] = 4,},
{["vnum"] = 71123,["count"] = 3,},
{["vnum"] = 51001, ["count"] = 1000,},
}
if vnum == 11299 or vnum == 11499 or vnum == 11699 or vnum == 11899 or vnum == 21079 then
local p = 5000000
say_title(mob_name(20378))
say("")
say("Yükseltme için ")
say("")
say_item_vnum(upgrade_list[vnum])
say("")
say("")
say("")
say("")
wait()
say_title(mob_name(20378))
say("")
say("Şunlara ihtiyacın var: ")
say(string.format("%d Yang", p))
for i, material in ipairs(material_list) do
say(string.format("x%d %s", material.count, item_name(material.vnum)))
can_change = can_change and (material.count
if pc.get_gold()
can_change = false_yang
end
end
say("Yükseltme işlemine devam etmek istediğine emin misin ? ")
local agree = select("Evet ", "Hayır ")
if agree == 1 then
say_title(mob_name(20378))
say("")
if can_change == false_yang then
say("Üzerinde yeterli Yang yok. ")
return
elseif can_change != true then
say("Gereken materyallere sahip değilsin. ")
return
end
local bTry = item.copy_and_give_before_remove(upgrade_list[vnum])
if not bTry then
say("Bir hata oluştu. ")
else
pc.change_gold(-p)
for i, material in ipairs(material_list) do
if material.vnum != vnum then
pc.remove_item(material.vnum, material.count)
end
end
say_item_vnum(upgrade_list[vnum])
say("")
say("")
say("")
say("Kazandın. ")
wait()
end
end
elseif vnum == 20009 or vnum == 20259 or vnum == 20509 or vnum == 20759 or vnum == 21099 then
local a1 = string.format(item_name(upgrade_list[vnum][1]))
local a2 = string.format(item_name(upgrade_list[vnum][2]))
say_title(mob_name(20378))
say("")
say("İki zırhı geliştirebilirim, istediğin ")
say("zırhı seç. ")
local armors = select(a1, a2, "Kapat ")
if armors == 1 or armors == 2 then
local p = 10000000
if armors == 1 then
requirments_list = {{["vnum"] = vnum, ["count"] = 1,}, {["vnum"] = 70031, ["count"] = 5,}, {["vnum"] = 30619, ["count"] = 5,}, {["vnum"] = 30615, ["count"] = 5,}, {["vnum"] = 30605, ["count"] = 10,}, {["vnum"] = 30606, ["count"] = 10,},}
else
requirments_list = {{["vnum"] = vnum, ["count"] = 1,}, {["vnum"] = 70031, ["count"] = 5,}, {["vnum"] = 30619, ["count"] = 5,}, {["vnum"] = 30614, ["count"] = 5,}, {["vnum"] = 30609, ["count"] = 10,}, {["vnum"] = 30608, ["count"] = 10,},}
end
say_title(mob_name(20378))
say("")
say("Yükseltme için ")
say("")
say_item_vnum(upgrade_list[vnum][armors])
say("")
say("")
say("")
say("")
wait()
say_title(mob_name(20378))
say("")
say("İhtiyacın olanlar: ")
say(string.format("%d Yang", p))
for i, material in ipairs(requirments_list) do
say(string.format("x%d %s", material.count, item_name(material.vnum)))
can_change = can_change and (material.count
if pc.get_gold()
can_change = false_yang
end
end
say("Yükseltme işlemine devam etmek istediğine emin misin ? ")
local agree = select("Evet ", "Hayır ")
if agree == 1 then
say_title(mob_name(20378))
say("")
if can_change == false_yang then
say("Üzerinde yeterli Yang yok. ")
return
elseif can_change != true then
say("Gereken materyallere sahip değilsin. ")
return
end
local bTry = item.copy_and_give_before_remove(upgrade_list[vnum][armors])
if not bTry then
say("Bir hata oluştu. ")
else
pc.change_gold(-p)
for i, material in ipairs(requirments_list) do
if material.vnum != vnum then
pc.remove_item(material.vnum, material.count)
end
end
say_item_vnum(upgrade_list[vnum][armors])
say("")
say("")
say("")
say("Kazandın.")
wait()
end
end
end
end
end
end --state