Quest Quest Wolf Primo LV nell'apposita mappa! Ispirata all'ufficiale

N@ruto

Utente Electrum
31 Ottobre 2010
293
36
47
144
Ultima modifica:
Salve, ragazzi lo sò forse non è delle migliori scritte la missione del primo livello per il Lican! Ma funziona perfettamente!


--**
--**Quest per (inforge.net) by N@ruto
--**
quest wolf_quest_lv1 begin
state start begin
when login or levelup with pc.get_level() == 1 and pc.get_job() == 4 begin
set_state ( gotoinformation )
end -- when login
end -- state start
state gotoinformation begin
when letter begin
send_letter(gameforge.wolf_quest_lv1._10_sendLetter)
end -- when letter
when button or info begin
say_title(gameforge.wolf_quest_lv1._10_sendLetter)
say(gameforge.wolf_quest_lv1._20_say)
set_state ( gototeacher )
end -- when button
end -- state

state gototeacher begin
when letter begin
local v=find_npc_by_vnum(20400)
if 0==v then
else
target.vid("__TARGET__", v, gameforge.wolf_quest_lv1._30_targetVid)
end -- else
end --when letter

when button or info begin
say_title(gameforge.wolf_quest_lv1._40_sayTitle)
end -- button or info
when __TARGET__.target.click begin
target.delete("__TARGET__")
say_title(gameforge.wolf_quest_lv1._50_sayTitle)
say(gameforge.wolf_quest_lv1._60_say)
say(gameforge.wolf_quest_lv1._70_say)
wait()
say_title(gameforge.locale.reward)
say_reward(gameforge.wolf_quest_lv1._80_sayReward)

pc.give_exp2( 250 )

clear_letter()
set_state (__CLOMPLETE__)
end -- when __TARGET__
end
state __CLOMPLETE__ begin
end
end

--WOLF LV1 Quest
gameforge.wolf_quest_lv1 = {}
gameforge.wolf_quest_lv1._10_sendLetter = "Una nuova vita "
gameforge.wolf_quest_lv1._20_say = "Ti svegli e non ti senti a posto.[ENTER]Cosa è successo? Che cosa sei?! Cerca Myonghorang[ENTER]il saggio. Te lo spiegherà lui. "
gameforge.wolf_quest_lv1._30_targetVid = "Trova Myonghorang il Saggio"
gameforge.wolf_quest_lv1._40_sayTitle = "Trova Myonghorang il Saggio"
gameforge.wolf_quest_lv1._50_sayTitle = "Myonghorang il Saggio"
gameforge.wolf_quest_lv1._60_say = "Ti do il benvenuto, lican! "
gameforge.wolf_quest_lv1._70_say = "Ah, era ora che ti svegliassi! Bene. Come ti[ENTER]senti? Ti tremano le gambe? Ti passerà presto.[ENTER]Ti stai chiedendo cosa è successo? Un lupo[ENTER]infetto ti ha morso e hai subito una[ENTER]trasformazione, amico mio.[ENTER]Proprio così, è incurabile. Non ti preoccupare,[ENTER]però. Non è una malattia. Non importa chi eri in[ENTER]passato. D'ora in poi sarai anche tu parte dei[ENTER]lican![ENTER]Presto sentirai pulsare la forza del lupo nelle[ENTER]tue vene! Il tuo intelletto e i tuoi sensi[ENTER]diventeranno più acuti che mai! "
gameforge.wolf_quest_lv1._80_sayReward = "300 punti esperienza [ENTER]6 Pozioni Rosse Piccole"

Spiegazione nell'implementare la quest!

1)Aprite il vostro winscp
2)Recatevi nella cartella "/usr/game/share/locale/vostrolocale/" e cercate il file "translate.lua"
3)Copiateci il contenuto del "Translate.lua" andando a posizionarlo all'ultima riga e salvate
4)Ora recatevi nella cartella "/usr/game/share/locale/vostrolocale/quest/" (cambia da file a file)
5)Create un nuovo file e chiamatelo "wolf_quest_lv1.lua"
6)Copiate e incollate "wolf_quest_lv1.lua"
7)Runnate la quest con il comando ./qc nomequest.lua
8)Entrare in game con un pg "GM" e fate /reload q e godetevi la vostra quest per il lican di lv1 :)
 
  • Mi piace
Reazioni: -Warning
Tre piccoli appunti molto banali:

1. when login or levelup with pc.get_level() == 1 and pc.get_job() == 4 begin
Ti consiglio per il livello di mettere sempre >= (per le quest iniziali!!) per la gente che usa come livello iniziale uno > 1 o decide di addare la quest in un momento successivo allo start.
when login or levelup with pc.get_level() >= 1 and pc.get_job() == 4 begin


2. Per la local v
Non ti conviene usare un if == 0 solo per far rientrare un else. Usa piuttosto la sua negazione ("~=" che equivale al "=!" (not equals) di altri linguaggi):
local v = find_npc_by_vnum(20400)
if v ~= 0 then
target.vid("__TARGET__", v, gameforge.wolf_quest_lv1._30_targetVid)
end -- end if

3. when __TARGET__.target.click begin
Molte volte capita che se ci sono altre quest attive nello stesso Npc non ti legge il .click ma semplicemente ti apre la lista delle quest. In questo modo non viene riconosciuto correttamente il comando e non deleta il target. Aggiungi un Or con un chat alla stessa funzione:
when __TARGET__.target.click or EVENT_NPC.chat."TESTO_DA_ADDARE" begin


Ho dato uno sguardo molto sommario alla quest senza soffermarmi sul contenuto.
 
  • Mi piace
Reazioni: N@ruto
Tre piccoli appunti molto banali:

1. when login or levelup with pc.get_level() == 1 and pc.get_job() == 4 begin
Ti consiglio per il livello di mettere sempre >= (per le quest iniziali!!) per la gente che usa come livello iniziale uno > 1 o decide di addare la quest in un momento successivo allo start.
when login or levelup with pc.get_level() >= 1 and pc.get_job() == 4 begin


2. Per la local v
Non ti conviene usare un if == 0 solo per far rientrare un else. Usa piuttosto la sua negazione ("~=" che equivale al "=!" (not equals) di altri linguaggi):
local v = find_npc_by_vnum(20400)
if v ~= 0 then
target.vid("__TARGET__", v, gameforge.wolf_quest_lv1._30_targetVid)
end -- end if

3. when __TARGET__.target.click begin
Molte volte capita che se ci sono altre quest attive nello stesso Npc non ti legge il .click ma semplicemente ti apre la lista delle quest. In questo modo non viene riconosciuto correttamente il comando e non deleta il target. Aggiungi un Or con un chat alla stessa funzione:
when __TARGET__.target.click or EVENT_NPC.chat."TESTO_DA_ADDARE" begin


Ho dato uno sguardo molto sommario alla quest senza soffermarmi sul contenuto.
Ciao scusa ero impegnato rileggendo le tue correzioni per me questa era la prima volta che provavo a fare una quest, provata e testata la pubblicai...
Se ci sono correzioni come la tua che può portare alle migliori che ben vengano :)
 
  • Mi piace
Reazioni: Genezis