Descriere: Acest quest este facut de mine si permite player ului sa revendice un cadou odata la cat timp ii setezi tu din quest, cadoul si npc ul pot fi modificate cat si timpul de asteptare, aveti descriere in cod unde puteti modifica si ce puteti modifica , poate fi adaptat la orice npc, item si timp de astepare(in secunde), afiseaza timpul ramas in ore minute si secunde, tin sa mentionez ca eu am pus si o conditie de nivel 40 care poate fi scoasa ....
quest panza_fina_40 begin
state start begin
when levelup or login with pc.get_level() >= 40 begin
if pc.getqf(mesaj_level40_theowahdan) == 0 then
say("Se pare ca ai o scrisoare de la Theowahdan.")
else
pc.setqf(mesaj_level40_theowahdan, 1)
end
set_state("mergi_la_Theowahdan")
end
end
state mergi_la_Theowahdan begin
when letter begin
local v = find_npc_by_vnum(20406)
if v != 0 then
target.vid("__TARGET__", v, "Surpriza lui Theowahdan")
send_letter("Surpriza lui Theowahdan")
end
end
when button or info begin
say("Te astept pe la mine pentru a vorbi despre meritele tale.")
say("De asemenea am si o surpriza pregatita pentru tine, asa ca haide cat mai repede, te astept!")
end
when __TARGET__.target.click or 20406.chat."Cadou Panza Fina" begin
if pc.get_level() < 40 then
say_size(260, 165)
say_rosu("Avertizare!!!")
say_auriu("Nu ma poti pacali, ai nivelul "..pc.get_level().."![ENTER]Crezi ca eu nu vad ce nivel ai?[ENTER]Te iert de data asta dar am rugamintea[ENTER]Sa treci mai intai prin toate etapele ca si ceilalti[ENTER]Atinge nivelul 40 si vom mai discuta, te astet cu drag!")
else
clear_letter("Surpriza lui Theowahdan")
target.delete("__TARGET__")
local ultima_revendicare = pc.getqf("esarfa_ultima_revendicare") or 0
local urmatoarea_revendicare = 4 * 3600 --[[(4 ore) setezi cat sa astepte pana la urmatorul premiu in secunde sau calcul matematic... 2 * 3600 inseamna 2 ore adica 1 ora este 3600 secunde,
altfel se mai poate si in zile 3 * 24 * 3600 adica 3 zile a cate 24 ore o zi si cate o ora 3600 secunde si tot asa mai departe
1 luna 1 * 30 * 24 * 3600 .... 1 luna inseamna 30 zile +- (depinde de luna) a cate 24 de ore per zi si a cate 3600 scunde per ora....]]--
pc.setqf("esarfa_urmatoarea_revendicare", urmatoarea_revendicare)
local timp_curent = os.time()
local timp_de_la_ultima_revendicare = timp_curent - ultima_revendicare
if timp_de_la_ultima_revendicare >= urmatoarea_revendicare then
pc.give_item2(85000, 5)
say("Theowahdan:")
say_auriu("Iata cele 5 bucati de Panza Fina cadou!")
say_item_vnum(85000)
wait()
say_title("Revino peste 4 ore.")
pc.setqf("esarfa_ultima_revendicare", timp_curent)
-- Resetarea timpului in state-ul check_interval
pc.setqf("esarfa_ultima_revendicare_check_interval", 0)
else
local timp_ramas = urmatoarea_revendicare - timp_de_la_ultima_revendicare
local ore = math.floor(timp_ramas / 3600)
local minute_ramase = timp_ramas - (ore * 3600)
local minute = math.floor(minute_ramase / 60)
local secunde_ramase = timp_ramas - (ore * 3600) - (minute * 60)
local secunde = math.floor(secunde_ramase)
say("Theowahdan:")
say("Se pare ca te-ai intors mai devreme decat ti-am spus, uite mai jos cat mai ai de asteptat!")
say(string.format("Mai ai de asteptat: %02d ore <-> %02d minute <-> %02d secunde!", ore, minute, secunde))
end
end
end
end
end
Tutorial instalare quest:
Salvaţi conţinutul quest-ului într-un fişier text numit de exemplu nume_quest.quest/.lua
Vă conectaţi la filezilla / winscp şi întrati în /usr/home/game/share/locale/germany/quest (depinde ce server aveţi).
Îl puneţi acolo (să fie .quest sau .lua).
Vă logaţi în FreeBSD / putty şi scrieţi în felul următor: cd /usr/home/game/share/locale/germany/quest (depinde ce server aveţi) apoi ./qc nume_quest.quest/.lua