O funcţie în quest - plătesc !

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Avatar utilizator
aqdasfg1
Fost Helper

Fost Helper
Mesaje: 382
Membru din: 28 Iul 2013, 14:06
Aprecieri: 1  
Mulţumiri: 21  
Medalii

Salutare tuturor!
Este ceva cam complicat, dar sper să fie pe aici vreun quester bun.

Deci, am aceste funcţii la începutul quest-ului care automat când un jucător se loghează în mapa respectivă, sunt numerotaţi în funcţie de regat. Imagine Ok, fiecare regat are un getqf specific. Acum, vreau ca atunci când omor un câine în acestă mapa şi sunt din regatul blue, respectiv pc.getqf == 3, pe toţi ceilalţi din regatul rosu şi regatul galben să îi teleporteze înafara mapei.
Sau, dacă omor acel câine şi sunt din regatul roşu, să teleporteze jucătorii din regatul blue şi regatul galben înafara mapei.

Sper că aţi înţeles ce anume vreau de la questul acesta. :))
Dacă nu-i nimeni amabil să ajute de bună voie, plătesc prin orice metodă alegeţi voi.
„Cunoştinţele mele, le împărtăşeşc cum vreau!”
Y.M! mandi_work47
Dă-mi un glonţ direct în ţestos în clipa în care n-am să mai recunosc;
Că-s extrem de norocos să am părinţi ce m-au crescut perfect sănătos;
Departe de influenţa bestică şi mai ales de violenţa domestică !
Afișează semnătura
Avatar utilizator
Melon
Utilizator interzis !

Utilizator interzis !
Mesaje: 60
Membru din: 09 Iul 2015, 17:20
Server: --------
Regat: Chunjo
Aprecieri: 0
Mulţumiri: 2  
 Contact:
Medalii

Fra .. Practic .. Nu se poate Ca daca stiam .. Ca se poate iti faceam eu .. Daca e explica si tu mai bine . Poate imi dau seama mai bine .
Imagine
Afișează semnătura
Avatar utilizator
aqdasfg1
Fost Helper

Fost Helper
Mesaje: 382
Membru din: 28 Iul 2013, 14:06
Aprecieri: 1  
Mulţumiri: 21  
Medalii

No offence, dar dacă ştiai ceva Lua, înţelegeai perfect ce am nevoie!
Mulţumesc oricum de amabilitate. :D
Y.M! mandi_work47
Dă-mi un glonţ direct în ţestos în clipa în care n-am să mai recunosc;
Că-s extrem de norocos să am părinţi ce m-au crescut perfect sănătos;
Departe de influenţa bestică şi mai ales de violenţa domestică !
Afișează semnătura
Avatar utilizator
AlexTzutzu
Nivel 10

Nivel 10
Mesaje: 2345
Membru din: 12 Feb 2014, 13:59
Server: Am RENUNTAT
Regat: Jinno
Aprecieri: 18  
Mulţumiri: 91  
 Contact:
Medalii

@Mandi asta este o intrebare sau este o cerere ?

[ Mesaj scris via Android ] Imagine
Imagine


The quieter you become,the more you are able to hear.
Afișează semnătura
Avatar utilizator
aqdasfg1
Fost Helper

Fost Helper
Mesaje: 382
Membru din: 28 Iul 2013, 14:06
Aprecieri: 1  
Mulţumiri: 21  
Medalii

Frate, sunt amândouă la pachet. :)) Am nevoie şi de o definiţie şi de un exemplu.
Y.M! mandi_work47
Dă-mi un glonţ direct în ţestos în clipa în care n-am să mai recunosc;
Că-s extrem de norocos să am părinţi ce m-au crescut perfect sănătos;
Departe de influenţa bestică şi mai ales de violenţa domestică !
Afișează semnătura
Avatar utilizator
aqdasfg1
Fost Helper

Fost Helper
Mesaje: 382
Membru din: 28 Iul 2013, 14:06
Aprecieri: 1  
Mulţumiri: 21  
Medalii

sus!
Y.M! mandi_work47
Dă-mi un glonţ direct în ţestos în clipa în care n-am să mai recunosc;
Că-s extrem de norocos să am părinţi ce m-au crescut perfect sănătos;
Departe de influenţa bestică şi mai ales de violenţa domestică !
Afișează semnătura
Avatar utilizator
Metin2Blue
Utilizator interzis !

Utilizator interzis !
Mesaje: 78
Membru din: 21 Iun 2015, 11:30
Server: lucrez la un sv
Regat: Jinno
Aprecieri: 0
Mulţumiri: 0
Medalii

when CODUL LA CAINE .kill with pc.in_(AICI NU STIU CUM SA TE TELEPORTEZE IN blue sau red unde vrei..() begin
game.set_event_flag(("dc_geschaft"), game.get_event_flag("dc_geschaft")+1)
local level = pc.get_level()
chat("...ai ucis cainele...s`a terminat...")
chat("Ve`ti fi trimis acasa in cateva minute...")
chat("Te rugam sa adunci obiectele care iti apartin, inainte de`a fi prea tarziu!.")
d.kill_all()
d.kill_all()
timer("goout_from_dc", 120)
d.spawn_mob(9012, 74, 1159)
end

when dc6.timer begin
chat("Timpul tau a expirat, vei fi trimis acasa!")
warp_all_to_village( pc.get_map_index() , 5 )
end
when goout_from_dc.timer begin
warp_all_to_village( pc.get_map_index() , 3 )
end


Şi după ce baţi mobul ăla te trimite in funcţie de ce regat eşti tu .
Avatar utilizator
JIntors
Nivel 1

Nivel 1
Mesaje: 61
Membru din: 25 Iun 2015, 01:53
Aprecieri: 3  
Mulţumiri: 0
Medalii

Iti recomand sa faci altceva, de exemplu cum e in camera de cristal, dupa ce bati primul metin toti sunt teleportati in urmatoarea camera, deci pui functia aia a ta, apoi

Cod: Selectaţi tot

when MOBVNUM.kill with pc.get_map_index() == 41 begin
     if pc.getqf("shinsoo") == 1 and pc.get_map_index() == 41 then
          pc.warp(843200, 1066900) (map1 rosii ia tu coord din inelul de tp)
     elseif pc.getqf("chunjo") == 1 and pc.get_map_index() == 41 then
              pc.warp(843200, 1066900) (map1 galbeni ia tu coord din inelul de tp)
     else 
     chat("Tu faci parte din acest regat nu ai fost trimis acasa. Aceasta este casa ta. ")
     end
end
Vezi daca merge asa si zi ce eroare primesti sau cum se comporta. Probabil mai trebuie facut sau modificat cate ceva.
PS> Daca merge trebuie sa faci asa si pentru celelalte regate cu un MOB diferit. Sau le combini tu la acelasi mob.

EDIT> stai asa ca te mint sunt obosit nu trebuie sa schimbi VNUM de la mob doar indexul de la mapa.
Ultima oară modificat 13 Iul 2015, 07:20 de către JIntors, modificat 1 dată în total.
Avatar utilizator
Metin2Blue
Utilizator interzis !

Utilizator interzis !
Mesaje: 78
Membru din: 21 Iun 2015, 11:30
Server: lucrez la un sv
Regat: Jinno
Aprecieri: 0
Mulţumiri: 0
Medalii

Fă-ţi de cap.. testează , nu da bani aiurea
1.

Cod: Selectaţi tot

-- 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.

Cod: Selectaţi tot

------------------------------------------------------------------------
-- 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.

Cod: Selectaţi tot

------------------------------------------------------------------------
-- 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.

Cod: Selectaţi tot

------------------------------------------------------------------------
-- 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%.
------------------------------------------------------------------------
Avatar utilizator
aqdasfg1
Fost Helper

Fost Helper
Mesaje: 382
Membru din: 28 Iul 2013, 14:06
Aprecieri: 1  
Mulţumiri: 21  
Medalii

@Blue, mulţumesc, dar nu am găsit nimic care să mă ajute..
JIntors scrie:Iti recomand sa faci altceva, de exemplu cum e in camera de cristal, dupa ce bati primul metin toti sunt teleportati in urmatoarea camera, deci pui functia aia a ta, apoi

Cod: Selectaţi tot

when MOBVNUM.kill with pc.get_map_index() == 41 begin
     if pc.getqf("shinsoo") == 1 and pc.get_map_index() == 41 then
          pc.warp(843200, 1066900) (map1 rosii ia tu coord din inelul de tp)
     elseif pc.getqf("chunjo") == 1 and pc.get_map_index() == 41 then
              pc.warp(843200, 1066900) (map1 galbeni ia tu coord din inelul de tp)
     else 
     chat("Tu faci parte din acest regat nu ai fost trimis acasa. Aceasta este casa ta. ")
     end
end
Vezi daca merge asa si zi ce eroare primesti sau cum se comporta. Probabil mai trebuie facut sau modificat cate ceva.
PS> Daca merge trebuie sa faci asa si pentru celelalte regate cu un MOB diferit. Sau le combini tu la acelasi mob.

EDIT> stai asa ca te mint sunt obosit nu trebuie sa schimbi VNUM de la mob doar indexul de la mapa.
Merge perfect ceea ce mi-ai dat tu aici, dar nu ai înţeles, cred, ceea ce vreau eu.
Deci, Câinele este emblema regatului roşu, să zicem.
Eh, dacă un player din regatul albastru sau galben, omoară câinele, jucătorii din regatul roşu sunt scoşi pentru că le-a fost omorâtă emblema. Înţelegi?
Y.M! mandi_work47
Dă-mi un glonţ direct în ţestos în clipa în care n-am să mai recunosc;
Că-s extrem de norocos să am părinţi ce m-au crescut perfect sănătos;
Departe de influenţa bestică şi mai ales de violenţa domestică !
Afișează semnătura
Închis
Răspunsuri
3
Vizualizări
219
Răspunsuri
1
Vizualizări
81
Răspunsuri
2
Vizualizări
273
Răspunsuri
8
Vizualizări
302

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie