-- Lezione QUEST 2 by S4LV0DM
--Bene, nella prima lezione abbiamo imparato a come strutturare una quest.
--
--Gli argomenti stavolta saranno:
--1. Il setqf ed il getqf
--2. Il q.set_clock()
--3. Gli input e i select
--4. Alcuni comandi di base
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-- LE VARIABILI
--Le variabili sono dichiarate con una parola di nome local all'inizio. Esempio:
--"local a"
--In questo caso abbiamo solamente creato la variabile a con valore nil(nullo).
--Per dare un valore alla variabile, ci basta solo fare così:
--
--"local a = "PATATEEEEEE""
--
--Quindi ora se facciamo say(a), dirà PATATEEEEEEEE xD.
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-- COME USARE GLI INPUT
--Gli input servono a fare scrivere un pg, ESEMPIO:
----------------------
--"local ciao = input()"
-----------------------
--In questo caso, se avessimo fatto say(ciao), avrebbe scritto quello che avevano scritto prima.
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-- COME USARE I SELECT
--I select sono dei pulsanti, che ti possono dare delle scelte. ESEMPIO:
--local siono = select("Si","No")
--In questo caso, per dare una differenza se si clicca si o no basta fare così:
--
--if siono == 1 then --Se clicca sulla prima scelta(Si)
--say("Meno male hai scelto si!")
--return--Esce
--elseif siono == 2 then --Se clicca invece su no
--return --Esce"
--
--In pratica con questo vi ho spiegato l'if <.<
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-- COME USARE IL PC.SETQF ED IL PC.GETQF
--Il setqf immagazzina delle informazioni, dentro il pg.
--Il setqf può essere utile per fare un' opzione che puoi usare una sola volta, oppure anche per fare un counter di animali da killare.
--La struttura del setqf è questa:
---------------------------------
--"say("Quanti anni hai?")
--local anni = input()
--say("Anni immagazzinati!")
--pc.setqf("anni",anni) -- Salva gli anni nel qf"
---------------------------------------------------
--Il getqf, invece, scrive le informazioni immagazzinate, per esempio:
----------------------------------------------------------------------------------------------------
--local ciao = pc . getqf ( "anni") --Qui salviamo la variabile ciao, adesso ciao significa anni. --
--say("Tu hai " .. ciao .. " anni!" ) --Qui scriviamo quanti anni ha" --
----------------------------------------------------------------------------------------------------
--Quindi la banca(senza assegni) è fatta principalmente di qf!
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-- COME USARE IL Q.SET_CLOCK()
--Il q.set_clock, serve a dare una scadenza a qualcosa
--Struttura:
--
--"pc.setqf("nomeqflimite", get_time()+20*60) --In questo caso 20*60 sarebbe 20 minuti, se fai 20*60*60, sono 20 ore. Spero di essermi spiegato
--q.set_clock("Tempo rimanente ", pc.getqf("nomeqflimite")-get_time()) --Qui salva il q.set_clock."
--
--E adesso? Come si fa a mettere un blocco?
--
--"when 20094.chat."Troppo tardi..." with pc . getqf("nomeqflimite") < get_time() begin
--say("Mi dispiace, sei stato troppo lento")
--set_state("__COMPLETE__")
--end
--
--Invece per quando è in tempo, basta mettere >= get_time al posto di <
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
-- COMANDI DI BASE
--Ecco una lista dei comandi di base che potreste usare per creare quest/npc.
--say("parola") --Scrive in un npc.
--say_reward("scrive") -- Scrive rosso in un npc.
--pc.give_item2("valueitem",quantita) --Da un item.
--pc.remove_item("valueitem",quantita) --Rimuove un item.
--pc.count_item("valueitem") --E' una variabile; restituisce quanti item si hanno.
--chat("Messaggio") --Scrive nella chat visibile solo da un pg.
--notice_all("Scrive nella chat gm") --Scrive nella chat gm.
--pc.get_empire() --E' una variabile; restituisce il regno del pg.
--pc.get_job() --E' una variabile; restituisce la propria razza.
--pc.is_gm() --Questa è boolean, quindi restituisce true o false;Se un pg è gm.
--npc.is_pc() --Boolean;Se un npc è un pg.
--npc.get_empire() --Variabile;Restituisce il regno di un npc.
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
quest lezione2 begin --Nominazione
------state start begin --Primo state
------------when letter begin --Arriva la lettera
------------------send_letter("Dirigiti dal fabbro!") --Invia la lettera
------------end--Chiusura when
------------when button or info begin --Quando apre la lettera
------------------say("Il fabbro ha un compito per te!")
------------end --Chiusura when
------------when 20016.click begin --Quando clicchi sul fabbro
------------------say_title("Fabbro:")
------------------say(pc.get_name() .. "ti prego, va dal mercante d'armi in 30 minuti!")
------------------say("Devo preparare una cena, e mi serve un coltello!")
------------------pc.setqf("illimite", get_time()+30*60) --Qui salva il tempo
------------------q.set_clock("Tempo rimanente ", pc.getqf("illimite")-get_time()) --Qui dà il tempo rimanente
------------------set_state("vadalui") --Ti porta al nuovo state
------------end --Chisuura when
------end --Chiusura state
-------------------------------------------------------------------------
------state vadalui begin --Nuovo state
------------when letter begin --Arriva la lettera
------------------send_letter("Va dal mercante d'armi") --Invia la lettera
------------end --Chiusura when
------------when button or info begin --Quando apre la lettera
------------------say("Va dal mercante d'armi!")
------------end --Chiusura when
------------when login or levelup or kill or chat with pc.getqf("illimite") < get_time() begin --Quando il tempo è scaduto
------------------chat("Missione fallita, tempo scaduto")
------------------set_state("__COMPLETE__") --Fine
------------end --Chisuura when
------------when 9001.click with pc.getqf("illimite") >= get_time() begin --Quando sei in tempo
------------------say("Sì, ecco a te il coltello")
------------------pc .give_item2("valuecoltello",1)
------------------set_state("ritorna") --Ti porta al nuovo state
------------end --Chisura when
------end --Chisuura state
--------------------------------------------------------------------
------state ritorna begin
------------when login or levelup or kill or chat with pc.getqf("illimite") < get_time() begin --Quando il tempo è scaduto
------------------chat("Missione fallita, tempo scaduto")
------------------set_state("__COMPLETE__") --Fine
------------end --Chiusura when
------------when 20016.click with pc.getqf("illimite") >= get_time() and pc.count_item("valuecoltello") >= 1 begin --Quando sei ancora in tempo ed hai il coltello e clicchi sul fabbro
------------------say("Grazie!")
------------------pc.give_item2("199",1)
------------------set_state("__COMPLETE__") --Fine
------------end --Chisura when
------end --Chisura state
----------------------------------------------------------------------------
------state __COMPLETE__ begin --Lo state vuoto
------end --Chisura state
end --Chiusura quest
CREDIT BY DevilHunteR!
Tutti i trattini indicano un COMMENTO. Nell'esempio della missione li ho aggiunti per mantenere l'indentatura e farti vedere bene dove iniziano e finiscono le cose ^^