Lockpick[SYSTEM]

Indította FloodX, 2018-01-04, 20:28:47

Kedves fórumozó!

Metin2dev-en találtam egy rendszert, amely egy skill-t is magába foglalt, de én ezt átalakítottam. Lényegében egy Láda NPC-t lehet "kinyitni", majd eltűnik. Ha van kulcsod, kinyithatod vele, ha nincs akkor lényegében egy lutri :D
Vágjunk is bele!

Kliens

A csatolmányban található fájlokat rakd be.

locale/Item_list.txt végére
[spoiler]51040 ETC icon/item/51040.tga[/spoiler]

locale/Item_desc.txt végére
[spoiler]51040 Mágikus kulcs Mágikus erővel rendelkező kulcs, amellyel minden elveszett láda kinyitható. 10 percenként használhatod.[/spoiler]

locale/Item_proto végére
[spoiler] <ItemDef Vnum="50600" Name="ŔĚĆÄŔÇ »óŔÚ" LocalizedName="Mágikus kulcs" Type="23" SubType="0" Weight="0" Size="1" AntiFlags="74112" Flags="0" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0"  />
[/spoiler]

root/npclist.txt végére
[spoiler]20130 box_npc[/spoiler]

Szerver
Quest:
[spoiler]--[[
Dátum: 2018.01.04
Quest név: lockpick.quest
Tulajdonos: Legaria2
Verzió: 1.0.0
]]--
quest locpick begin
state start begin
when 20130.take with item.vnum == 50600 begin
pc.setqf("lockpick", 1) --Foggalmam sincs miért raktam ide
say_title("Láda kinyítása ")
say("Üdvözöllek kalandor! [ENTER]Gratulálok, hogy megszerezted ezt a ládát. ")
say("A láda kinyitása után várnod kell, hogy kinyithass [ENTER]egy újabb ládát. [ENTER]Biztosan folytatod a folyamatot? ")
local a=select("Információk", "Láda kinyítása", "Bezárás")
if a==3 then
return
elseif a==1 then
say_title(mob_name(20130)..":")
say("A láda kinyítására két lehetőség van. [ENTER]A láda kinyítható egy varázslatos kulccsal, [ENTER]de lehetőség van a láda feltörésére. Ilyenkor a láda [ENTER]nehézségi fokozatát figyelembe véve kell kitalálni [ENTER]számokat.")
elseif a==2 then
--[[if pc.get_money() < 100000 then
say_title(mob_name(20130)..":")
say("")
say("Sajnálom, de nincs elég yangod.")
return
end ]]--
if pc.count_item(50600) < 1 then --Biztonság kedvéért :)
say_title(mob_name(20130)..":")
say("")
say("Sajnálom, de nincs kulcsod.")
return
end
if get_time() < pc.getqf("next_time2") then
say("Kérlek várj 10 percet, hogy újrapróbálhasd. ")
say("")
return
end
say_title(mob_name(20130)..":")
say("")
say("A láda kinyitása folyamatban [DELAY value; 4000]. . . . . . . . . . .[/DELAY] ")
--pc.changegold(-100000)
local b=select("Folytatás")
if b==1 then
local nyeri = number(1, 9)
if nyeri==1 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(50042, "Hősök medálja", "50 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(50042, 50)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
elseif nyeri==2 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(80014, "SÉ utalvány (100)", "10 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(80014, 1) --Összerekhatóság miatt van 10-szer
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
elseif nyeri==3 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(21029, "Merkúr öltözék", "1 darab")
local nem=select("Férfi", "Női")
if nem==1 then
pc.give_item2(21029, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
else
pc.give_item2(21039, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
end
elseif nyeri==4 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(89102, "Zöld ceruza", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(89102, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
elseif nyeri==5 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed: ")
say_item_vnum(80008, "Aranyrög", "10 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(80008, 10)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
elseif nyeri==6 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed: ")
say_item_vnum(53017, "Jáde főnix-pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53017, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
elseif nyeri==7 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed: ")
say_item_vnum(53017, "Jáde főnix-pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53017, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
elseif nyeri==8 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed: ")
say_item_vnum(53005, "Baby Azrael", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53005, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
elseif nyeri==9 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed: ")
say_item_vnum(53001, "Tűzfőnix pecsét", "1 darab ")
say_reward("[ENTER]Gratulálunk a nyereményhez. ")
pc.give_item2(53001, 1)
pc.setqf("next_time2", get_time()+60*10)
npc.purge()
end --nyeri
end --b
end--a
end--when
when 20130.chat."Vetélkedő " begin
--[[if pc.get_money() < 100000 then
say_title(mob_name(20130)..":")
say("")
say("Sajnálom, de nincs elég yangod.")
return
end]]--
if pc.count_item(50600) >= 1 then
say_title(mob_name(20130)..":")
say("Kedves kalandor! [ENTER]Rendelkezel kulccsal ezért megkönnyítheted a dolgod. [ENTER]A kulcsot egyszerűen húzd rá a ládára. ")
return
end
if get_time() < pc.getqf("next_time") then
say("Kérlek várj 10 percet, hogy újrapróbálhasd. ")
say("")
return
end
say_title("Láda kinyítása")
say("[ENTER]Üdvözöllek kalandor! [ENTER]Gratulálok, hogy megszerezted ezt a ládát. ")
say("Sajnos nem rendelkezel kulccsal így hosszú folyamat áll előtted. [ENTER]Biztosan folytatoda folyamatot? ")
local a=select("Információk", "Láda kinyítása", "Bezárás")
if a==3 then
return
elseif a==1 then
say_title(mob_name(20130)..":")
say("A láda kinyítására két lehetőség van. [ENTER]A láda kinyítható egy varázslatos kulccsal, [ENTER]de lehetőség van a láda feltörésére. Ilyenkor a láda [ENTER]nehézségi fokozatát figyelembe véve kell kitalálni [ENTER]számokat. ")
elseif a==2 then
local neh = number(1, 2)
if neh==1 then
local numbers = { 1,2,3,4,5,6,7,8,9,10 }
local number = numbers[number( 1 ,10 )]
local szam = number
say_title(mob_name(20130)..":")
say("")
say_title("Nehézségi fokozat: Könnyű ")
say("")
say_reward("Első feladat. Találd ki 1 és 10 között a gondolt számot. [ENTER]Ha nem sikerül, legközelebb 5 perc múlva próbálkozhatsz. ")
local c = input()
if c == ""..number.."" then
--pc.changegold(-100000)
local nyeri = number(1, 9)
if nyeri==1 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(50042, "Hősök medálja", "50 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(50042, 50)
npc.purge()
elseif nyeri==2 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(80014, "SÉ utalvány (100)", "10 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
npc.purge()
elseif nyeri==3 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(21029, "Merkúr öltözék", "1 darab")
local nem=select("Férfi", "Női")
if nem==1 then
pc.give_item2(21029, 1)
npc.purge()
else
pc.give_item2(21039, 1)
npc.purge()
end
elseif nyeri==4 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(89102, "Zöld ceruza", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(89102, 1)
npc.purge()
elseif nyeri==5 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(80008, "Aranyrög", "10 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(80008, 10)
npc.purge()
elseif nyeri==6 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53017, "Jáde főnix-pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53017, 1)
npc.purge()
elseif nyeri==7 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53017, "Jáde főnix-pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53017, 1)
npc.purge()
elseif nyeri==8 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53005, "Baby Azrael", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53005, 1)
npc.purge()
elseif nyeri==9 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53001, "Tűzfőnix pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53001, 1)
npc.purge()
end --nyeri
else
say_title(mob_name(20130)..":")
say("")
say_reward("Sajnálom.")
say_reward("Nem sikerült eltalálnod a számot.")
say_reward("A jó szám: "..szam.." volt.")
say_reward("5 perc múlva próbáld meg újra.")
pc.setqf("next_time", get_time()+60*10)
--pc.changegold(-100000)
end --c
elseif neh==2 then
local numbers = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 }
local number = numbers[number( 1 ,20 )]
local szam = number
say_title(mob_name(20130)..":")
say("")
say_title("Nehézségi fokozat: Könnyű ")
say("")
say_reward("Első feladat. Találd ki 1 és 10 között a gondolt számot. [ENTER]Ha nem sikerül, legközelebb 5 perc múlva próbálkozhatsz.")
local c = input()
if c == ""..number.."" then
--pc.changegold(-100000)
local nyeri = number(1, 9)
if nyeri==1 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(50042, "Hősök medálja", "50 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(50042, 50)
npc.purge()
elseif nyeri==2 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(80014, "SÉ utalvány (100)", "10 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
pc.give_item2(80014, 1)
npc.purge()
elseif nyeri==3 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(21029, "Merkúr öltözék", "1 darab")
local nem=select("Férfi", "Női")
if nem==1 then
pc.give_item2(21029, 1)
npc.purge()
else
pc.give_item2(21039, 1)
npc.purge()
end
elseif nyeri==4 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(89102, "Zöld ceruza", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(89102, 1)
npc.purge()
elseif nyeri==5 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(80008, "Aranyrög", "10 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(80008, 10)
npc.purge()
elseif nyeri==6 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53017, "Jáde főnix-pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53017, 1)
npc.purge()
elseif nyeri==7 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53017, "Jáde főnix-pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53017, 1)
npc.purge()
elseif nyeri==8 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53005, "Baby Azrael", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53005, 1)
npc.purge()
elseif nyeri==9 then
say_title(mob_name(20130)..":")
say_reward("[ENTER]A nyereményed:")
say_item_vnum(53001, "Tűzfőnix pecsét", "1 darab")
say_reward("[ENTER]Gratulálunk a nyereményhez.")
pc.give_item2(53001, 1)
npc.purge()
end --nyeri
else
say_title(mob_name(20130)..":")
say("")
say_reward("Sajnálom.")
say_reward("Nem sikerült eltalálnod a számot.")
say_reward("A jó szám: "..szam.." volt.")
say_reward("5 perc múlva próbáld meg újra.")
pc.setqf("next_time2", get_time()+60*10)
--pc.changegold(-100000)
end --c
end --neh
end --a
end --when
end --state
end --quest
[/spoiler]

Első egyedileg megírt Quest-em, ha bármi probléma lenne, írj PM-be.

Ötlet forrása: Metin2Dev.org