Quest [MINI-MINI-MINI RELEASE] 2 QUEST npc che da un item & item che fa salire di un livello

Stato
Discussione chiusa ad ulteriori risposte.

Delirious

Utente Electrum
19 Febbraio 2014
348
12
102
154
Ultima modifica da un moderatore:
Premessa
Quando avevo proprio conoscenza 0 (ora non lo conosco bene, ma sto cercando di impararlo sempre di più) del LUA e avevo bisogno di una cosa simile non l'ho trovata, anche usando il tasto cerca, quindi vi prego di non commentare con insulti o cose varie anche perche magari a chi è più esperto di me non servirà a nulla.. ma a chi non lo è potrebbe tornare utile. Accetto critiche o complimenti, accetto tutto purchè vi sia il dovuto rispetto. È la mia prima quest che pubblico


Questa prima quest, come annunciato nel titolo, serve per far si che un NPC vi consegni un item.


QUEST
quest NOME_QUEST begin
state start begin
when VALUE_NPC.chat."TESTO_TESTO_TESTO" begin --- CAMBIARE TESTO A PIACERE
say_title("TITOLO_TITOLO") --- CAMBIARE TESTO A PIACERE
say("TESTO_TESTO_TESTO") --- CAMBIARE TESTO A PIACERE
say("TESTO_TESTO_TESTO") --- CAMBIARE TESTO A PIACERE
say("TESTO_TESTO_TESTO") --- CAMBIARE TESTO A PIACERE
local siono = select("Si" , "No")
if siono == 2 then
return
end
if siono == 1 then
say("TESTO_TESTO_TESTO") --- CAMBIARE TESTO A PIACERE
pc.give_item2("VALUE_ITEM", QUANTITA_ITEM) --- INSERIRE IL VALUE DELL'ITEM (SENZA CANCELLARE LE " E INSERIRE LA QUANTITà
return
end
end
end


ESEMPIO
quest consegnaitem begin
state start begin
when 20093.chat."Ricevi Spada+9" begin
say_title("Spada +9")
say("Ciao combattente, oggi voglio farti un regalo")
say("che cambierà il tuo modo di vivere il PVP")
say("Desideri ricevere Spada+9")
local siono = select("Si" , "No")
if siono == 2 then
return
end
if siono == 1 then
say("Va bene allora riceverai una Spada+9")
pc.give_item2("19", 1)
return
end
end
end

La seconda quest invece serve per far si che un item, utilizzandolo, faccia salire il proprio pg di un livello


QUEST
quest NOME_QUEST begin
state start begin
when VALUE_ITEM.use with pc.get_level > 199 begin ---E' POSSIBILE IL VALUE DELL ITEM & CAMBIARE LIV MIN, OPPURE RIMUOVERLO ELIMINANDO "with pc.get_level > 199"
say_title("TITOLO_TITOLO")
say("TESTO_TESTO_TESTO")
say("TESTO_TESTO_TESTO")
say("TESTO_TESTO_TESTO")
local siono = select ("Si" , "No")
if siono == 2 then
return
elseif siono == 1 then
pc . give_exp2 (pc.get_next_exp())
end
end
end
end


ESEMPIO
quest levelup begin
state start begin
when VALUE_ITEM.use with pc.get_level > 200 begin
say_title("Acqua miracolosa")
say("Salve combattente, desideri allenarti")
say("in un modo diverso dal normale? ")
say("Accettando salirai di un livello")
local siono = select ("Si" , "No")
if siono == 2 then
return
elseif siono == 1 then
pc . give_exp2 (pc.get_next_exp())
end
end
end
end

Spero di ricevere apprezzamenti da chi è meno esperto, e "incoraggiamenti" da chi lo è di più.

Saluti :)
 
la prima pare una scusa il termine caga....ta.,la seconda mi è piaciuta siccome non sapevo questo comando all'interno: (pc.get_next_exp()).

Scusa ma nella prima non puoi fare uno script e metterlo in un npc che ti da solo un item....

se volevi sentirti utile facevi cosi:

quest item begin
state start begin
when value.use begin
say_title("NPC")
say("ciao,vorresti un item?")
local a = select ("Si","No")
if a == 2 then
say_title("NPC")
say("ok torna quando vuoi")
return
elseif a == 1 then
say_title("NPC")
say("scrivi il value che ti interessa")
local item = input ( )
pc.give_item(item)
end
end
end
end


(cosi credo che funzioni),questo è un passo,puoi sbizzarirti magari mettendoli anche la funzione che controlla l'inventario che è pieno.
 
  • Mi piace
Reazioni: Delirious
la prima pare una scusa il termine caga....ta.,la seconda mi è piaciuta siccome non sapevo questo comando all'interno: (pc.get_next_exp()).

Scusa ma nella prima non puoi fare uno script e metterlo in un npc che ti da solo un item....

se volevi sentirti utile facevi cosi:

quest item begin
state start begin
when value.use begin
say_title("NPC")
say("ciao,vorresti un item?")
local a = select ("Si","No")
if a == 2 then
say_title("NPC")
say("ok torna quando vuoi")
return
elseif a == 1 then
say_title("NPC")
say("scrivi il value che ti interessa")
local item = input ( )
pc.give_item(item)
end
end
end
end


(cosi credo che funzioni),questo è un passo,puoi sbizzarirti magari mettendoli anche la funzione che controlla l'inventario che è pieno.
Questa tua quest può essere un suggerimento ma non ha molto senso per 2 motivi:
1) Molti player non conosco nulla di ciò che sta dietro metin2, quindi non conoscono i value
2) Gli item vanno ottenuti giocando col tempo, non tramite un npc che ti da qualunque cosa
Magari si potrebbe fare un "local" con all'interno una moltitudine di possibili item (per esempio, sulla base di metin2 ITA si possono mettere armi 105, armature e item vari) ..
Grazie per il consiglio comunque :)
 
  • Mi piace
Reazioni: Lallo96
La prima come detto da Agator mi pare inutile però bravo per averla postata..
La seconda è utile
 
La prima come detto da Agator mi pare inutile però bravo per averla postata..
La seconda è utile
Grazie :) mi rendo conto anche io che è di scarsa utilità, però come ho detto è abbastanza possibile che qualcuno ne abbia bisogno (soprattuto hamahci o no-ip) e io qui non ne ho mai viste quindi, visto che non mi costava nulla, l'ho messa.
 
  • Mi piace
Reazioni: Lallo96 e Artons
A questo punto, visto il buon lavoro che hai fatto, [MENTION=206628]Delirious[/MENTION] , ti consiglio di compeltare l'opera facendo un NPC che ti faccia salire di livello se gli consegni X item di un certo tipo
 
Ultima modifica:
  • Mi piace
Reazioni: Lallo96 e Artons
Ciò che puoi leggere qui è roba mia, fatta da me. E poi cosa sarebbe quel coso? ._.

P.S. Con "qui" intendo qui su inforge; e con " cosa sarebbe quel coso?" mi riferisco al tuo link che mi fa leggere ciò che ho scritto io
char coso="Relase";

É sarcasmo. Sto coso non credo serva a qualcuno
 
char coso="Relase";

É sarcasmo. Sto coso non credo serva a qualcuno

1) Leggi il titolo: ho messo 3 "mini" prima della parola "release".
2) A questo punto il tuo commento mi sembra inutile
3) In passato io lo cercavo ma purtroppo non l'avevo trovato; quindi potrebbe tornare utile.
4) Se leggi tutti i commenti 2 persone non conoscevano (pc.get_next_exp())

 
  • Mi piace
Reazioni: Lallo96 e Artons
1) Leggi il titolo: ho messo 3 "mini" prima della parola "release".
2) A questo punto il tuo commento mi sembra inutile
3) In passato io lo cercavo ma purtroppo non l'avevo trovato; quindi potrebbe tornare utile.
4) Se leggi tutti i commenti 2 persone non conoscevano (pc.get_next_exp())


ma che senso ha un npc che fa salire di un livello? pensaci.
 
Ultima modifica:
Re: [MINI-MINI-MINI RELEASE] 2 QUEST npc che da un item & item che fa salire di un livello

A questo punto, visto il buon lavoro che hai fatto, @Delirious , ti consiglio di compeltare l'opera facendo un NPC che ti faccia salire di livello se gli consegni X item di un certo tipo
Come desideri, ci provo :)

- - - Updated - - -

L'ho fatta, purtroppo però non ho modo di testarla al momento e non so se funziona o meno, attendo una tua risposta

QUEST
quest consegnaitem begin
state start begin
when VALUE_NPC.chat."Consegna NOME_ITEM"
say_title("TITOLO_A_PIACERE")
say("Salve combattente, sto cercando disperatamente NOME_ITEM")
say("Per caso tu lo hai?")
local siono = select( "Si, lo ho" , "No, non lo ho" )
if siono == 2 then
say("Va bene, se lo trovi torna da me.")
return
end
if siono == 1 then
say("Va bene ora controllo se si tratta davvero di NOME_ITEM")
if pc.count_item (VALUE_ITEM) >= 1 then
say("Oh santo cielo! Quello è proprio NOME_ITEM!")
say("Grazie per avermelo dato, in cambio ti faccio salire")
say("Al livello successivo.")
pc . give_exp2 (pc.get_next_exp())
pc.remove_item("VALUE_ITEM" , QUANTITA')
return
end
else
say("Mi spiace ma quello non mi sembra proprio NOME_ITEM")
return
end
end
end
 
  • Mi piace
Reazioni: Artons
Re: [MINI-MINI-MINI RELEASE] 2 QUEST npc che da un item & item che fa salire di un livello

Come desideri, ci provo :)

- - - Updated - - -

L'ho fatta, purtroppo però non ho modo di testarla al momento e non so se funziona o meno, attendo una tua risposta

QUEST
quest consegnaitem begin
state start begin
when VALUE_NPC.chat."Consegna NOME_ITEM"
say_title("TITOLO_A_PIACERE")
say("Salve combattente, sto cercando disperatamente NOME_ITEM")
say("Per caso tu lo hai?")
local siono = select( "Si, lo ho" , "No, non lo ho" )
if siono == 2 then
say("Va bene, se lo trovi torna da me.")
return
end
if siono == 1 then
say("Va bene ora controllo se si tratta davvero di NOME_ITEM")
if pc.count_item (VALUE_ITEM) >= 1 then
say("Oh santo cielo! Quello è proprio NOME_ITEM!")
say("Grazie per avermelo dato, in cambio ti faccio salire")
say("Al livello successivo.")
pc . give_exp2 (pc.get_next_exp())
return
end
else
say("Mi spiace ma quello non mi sembra proprio NOME_ITEM")
return
end
end
end

La funzione che toglie l'item...?
 
Vuoi imparare meglio il lua?

1^ Lezione: Usa il TAB e non postare mai parti prese da file.script, quindi senza tab.

Faciliti il lavoro a te stesso ed a chi ti sta intorno.
 
  • Mi piace
Reazioni: Markø
Stato
Discussione chiusa ad ulteriori risposte.