[Ghid]Crearea / modificarea unui Quest !

Deconectat
Avatar utilizator
Western
Nivel 3
Nivel 3
Mesaje: 340
Membru din: 30 Iul 2013
Localitate: Craiova
Status: Va urma ...
Mulțumiri acordate: 0
Mulțumiri primite: 13
Contact:

[Ghid]Crearea / modificarea unui Quest !

Mesajde Western » 18 Iun 2014, 18:26

Salut!
Am vazut ceva interesant si am zis sa impart cu voi.


1.

----------------------------------------------------------------------------
-- CUM SA FOLOSESTI ,,INPUT"
-- input-urile sunt folosite pentru a scrie un text intr-o ,,casuta'' , ex:
----------------------
-- "local atashi = input()"
-----------------------
-- Pentru ca textul scris sa apara foloseste comanda
-- say(atashi)
----------------------------------------------------------------------------

----------------------------------------------------------------------------
-- CUM SE FOLOSESTI ,,SELECT"
-- Acest cod creaza butoane catre diferite texte, EXEMPLU:
-- local ath_text = select("Da","Nu")
-- Pentru a face diferenta intre DA si NU se foloseste urmatorul cod:
--
-- if ath_text == 1 then --Acest text va aparea cand apesi click pe (Da)
-- say("Ai ales DA!")
-- return--Inchide misiunea
-- elseif ath_text == 2 then --Cand apesi pe Nu quest-ul va fi inchis
-- return --Inchide misiunea"
--
----------------------------------------------------------------------------

----------------------------------------------------------------------------
-- CUM SA FOLOSESTI PC.SETQF SI PC.GETQF
-- setqf inmagazineaza informatii despre jucator.
-- getqf scrie acele informatii care au fost inmagazinate de setqf
-- Structura arata cam asa:
----------------------------------------------------------------------------
-- "say("Ce level ai?")
-- local level = input()
-- say("Level dumneavoastra a fost salvata!")
-- pc.setqf("Level",level) -- Salveaza level in qf"
----------------------------------------------------------------------------
-- GETQF, scrie informatiile introduse in SETQF, ex:
----------------------------------------------------------------------------
-- local atashi = pc . getqf ( "level") --Importa level pe care l-ai scris in setqf
-- say("Tu ai " .. atashi .. " level!" ) --Textul"
----------------------------------------------------------------------------

----------------------------------------------------------------------------
-- CUM SA FOLOSESTI Q.SET_CLOCK()
-- q.set_clock, este folosit pentru a seta o limita de timp, pentru a termina misiunea.
-- Structura:
--
-- "pc.setqf("limita_timp", get_time()+20*60) --In acest caz 20*60 inseamna 20 minute, iar 20*60*60 inseamna 20 de ore.
-- q.set_clock("Timp ramas ", pc.getqf("limita_timp")-get_time()) --Va monitoriza timp-ul ramas"
--
-- E adesso? Come si fa a mettere un blocco?
--
-- "when 20094.chat."Textul tau..." with pc . getqf("limita_timp") < get_time() begin
-- say("Imi pare rau, esti prea lent.") -- Acest text va aparea atunci cand timp-ul a expirat.
-- set_state("__COMPLETE__")
-- end
--
-- Iar cand ai rezolvat quest-ul inainte ca timpul sa se scurga foloseste comanda urmatoare
--
-- "when 20094.chat."Succes!" with pc . getqf("limita_timp") >= get_time() begin
-- say("Felicitari, ai terminat misiunea.") -- Acest text va aparea atunci cand misiunea a fost incheiata
-- set_state("__COMPLETE__")
-- end
----------------------------------------------------------------------------

----------------------------------------------------------------------------
-- COMENZI DE BAZA
-- Aceasta este lista cu, comezi de baza care pot fi folosite in crearea unui quest/npc
-- say("atashi") --Text-ul care va aparea cand folosesti quest-ul/npc-ul.
-- say_reward("Recompensa") -- Text-ul va aparea cu rosu.
-- pc.give_item2("coditem",cantitate) --Aceasta comanda iti da un item la stabilit de tine.
-- pc.remove_item("coditem",cantitate) --Aceasta comanda iti sterge un item din inventar.
-- pc.count_item("coditem") --Aceasta variabile, iti arata cate iteme ai.
-- chat("Mesaj") --Aceasta comanda scrie un mesaj care va fi vazut de alti playeri.
-- notice_all("Mesaj") --Mesajul va aparea la fel ca un scris de GM.
-- pc.get_empire() --Aceasta comanda iti arata regatul in care esti.
-- pc.get_job() --Aceasta comanda iti arata ce rasa esti.
-- pc.is_gm() --Aceasta comanda este folosita de obicei in ,,Panourile GM,,
-- npc.is_pc() --Aceasta comanda recunoaste playerul ca fiind NPC.
----------------------------------------------------------------------------


2.

------------------------------------------------------------------------
-- FOLOSIREA UNUI ,,WHEN''
-- When este folosit pentru a stabili ce trebuie sa faca acel quest. Ex:
-- "when login or levelup with pc.count_item("COD_ITEM") >=1 begin
-- chat("Foarte bine!")
-- end
-- Comanda "or" este folosita pentru a include un nou eveniment.
-- In exemplul de mai sus face ca atunci cand va conectati si aveti acel item,
-- sa va apara textul "Foarte bine!"
------------------------------------------------------------------------

------------------------------------------------------------------------

-- FOLOSIREA COMENZII ,,STATE''
-- Primul state trebuie sa desemneze incepere unui quest
-- Poti folosi state si pentru a desemna un nou event
-- Poti folosi state si pentru a pasa un event, set_state() acest cod iti permite sa pasezi eventul actual la urmatorul. ex:
-- "when CODNPC.chat."TEST!" begin
-- chat("Bla bla")
-- set_state("urmatorulstate")
-- end
-- end
-- state urmatorulstate begin
-- when CODNPC2.chat."Urmatorul test" begin
-- chat("Ok, pa...")
-- end
-- end"
-- Pentru a opri un state sa foloseste urmatoarea comanda:
-- "state __COMPLETE__ begin -- folosita de obicei la sfarsitul quest-ului
-- end
-- end"
------------------------------------------------------------------------

------------------------------------------------------------------------
-- CUM SE FOLOSESTE ,,QUEST''
-- Comanda quest se foloseste la inceput-ul oricarui fisier .quest
-- Comanda quest desemneaza incepere unui quest, ex:
-- "quest NUME_QUEST begin"
-- Quest-ul trebuie inchis cu un End la sfarsitul acestuia
------------------------------------------------------------------------

------------------------------------------------------------------------
-- LISTA EVENIMENTE
-- Aceste evenimente sunt folosite impreuna cu when, ex:
-- "when EVENIMENT begin
-- end"
-- Lista evenimentelor:
-- login: Atunci cand esti conectat
-- levelup: Atunci cand faci lvl
-- logout: Atunci dai te deconectezi
--
letter: Acest lucru este folosit pentru a primi un scrisoare,
send_letter(EXEMPLU: when letter begin send_letter("MISIUNE ATASHI")
end)
-- button: Acest lucru functioneaza atunci cand dai click pe un quest, deci ar trebuii inclus impreuna cu letter
-- info: Atunci cand dai click pe un quest, la fel ca la button
-- quit: Jocul este inchis
-- kill: Acest cod este folosit pentru omorarea unor mobi.
-- chat."Titlu": Folosit pentru npc-uri, mai exact cand faceti click pe npc respectiv
-- codmob.kill: Atunci cand vrei sa omori un anume Mob
-- codnpc.chat."Titlu": Cand vorbesti cu un anumit NPC
------------------------------------------------------------------------


3.

------------------------------------------------------------------------
-- LA CE AJUTA FUNCTIA ,,TIMER''?
-- Timer, aceasta functie cronometreaza o actiune, pana intr-un anumit punct.
-- Aceasta este structura unui timer:
--
-- "timer("nume_timp",timp in secunde)"
--
-- Iar structura de mai jos este folosita pentru a opri si a incarca informatii
--
-- "when nume_timp.timer begin
-- say("Timp-ul a expirat!")
-- notice_all("Timp-ul a expirat!")
-- end"
--
-- In acest caz comanda ,,say'' este inlocuita cu ,,notice_all''
------------------------------------------------------------------------

------------------------------------------------------------------------
-- CUM SE FOLOSESTE ,,EVENT_FLAG''?
-- event_flag are mai mult functii, ca si qf
--
-- game.set_event_flag()
-- game.get_event_flag()
--
-- Structura este aceeasi ca la QF, numai ca event_flag in loc sa pastreze informatiile intr-un player / npc
--
--
-- "pc.setqf("atashi",12)"
--
-- Daca scrii say(pc.getqf("atashi")) iar un alt player citeste informatii, aceasta ii va aparea 0!
-- event_flag, salveaza orice informatie, deci daca am:
--
-- "game.set_event_flag("atashi",12)"
--
-- Si apoi am:
--
-- "say(game.get_event_flag("atashi"))"
--
-- La toti playeri va aparea valoarea 12!
------------------------------------------------------------------------


4.

------------------------------------------------------------------------
-- FUNCTIA ,,WHILE''
-- While este folosit pentru a repeta o actiune la durate de timp diferite.
-- EXEMPLU:
--
-- local atashi = 20
-- local test = 10
-- while test <= atashi do
-- say(atashi)
-- atashi = atashi + 1
-- end
------------------------------------------------------------------------

------------------------------------------------------------------------
-- FUNCTIA ,,RANDOM''
-- Alege un numar aleatoriu.
-- Exemplu:
--
-- local atashi = math.random(2) -- Seteaza un numar, intra 1 si 2
-- if atashi == 1 then
-- say("Tutorial creat de Atashi")
-- else
-- say("Foarte tare.")
-- end
--
-- Posibilitatea de a pica de doua ori acelasi numar este 50%.
------------------------------------------------------------------------


Acest ghid nu este realizat de mine !

Deconectat
Avatar utilizator
Kaczynski
Ad Moderator
Ad Moderator
Mesaje: 2660
Membru din: 05 Ian 2016
Localitate: Marte
Reputație: #//
------------------------------------------------
►Ad. Moderator J4M [3/3 Pct.]
►Super Moderator J4M [3/3 Pct.]
►Moderator J4M [3/3 Pct.]
►Trial Moderator J4M
►Membru Club J4M [Permanent]
►Mister J4M
►Nume anterior: "Chavesz" , "Jaroslaw", "Khepri © SCARABEUS™"
------------------------------------------------
Status: Respect Hip-Hop-ul !
Server Metin2: Niciunul
Regat: Chunjo
Mulțumiri acordate: 163
Mulțumiri primite: 103

Re: [Ghid]Crearea / modificarea unui Quest !

Mesajde Kaczynski » 12 Mai 2016, 13:49

Subiectul este deja existent, postat de către acelaşi utilizator - ghiduri-tutoriale/creare-sau-modificare-quest-t6394.html
Prin urmare, acest subiect, va fi trimis în Arhivă Ghiduri şi Tutoriale.
Imagine


Înapoi la “Arhivă”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: sasuke29 și 0 vizitatori