Unmantained Guida [GUIDA]ALLE BASI DEL LUA ( 1000° POST)

Una guida contrassegnata come Unmantained contiene informazioni su un argomento obsoleto, non più utile o files non aggiornati da parte del creatore.
Stato
Discussione chiusa ad ulteriori risposte.
Complimenti...volete il +1 o il biscotto?
Biscotto Zenzy!
11vi8zq.jpg
 
Premessa: questo forum vieta gli insulti, pertanto ogni volta che vedi due asterischi vicini (**), usa la tua immaginazione per sostituirli agli insulti che meno ti garbano.

Partiamo dal titolo:
[GUIDA]ALLE BASI DEL LUA ( 1000° POST)
Lasciamo perdere il fatto che hai 503 messaggi... Ma ** ** ** ** ** **, scrivere "guida alle basi del lua di Metin2" ti faceva schifo? C'è già troppa disinformazione in giro, con gente che crede che Lua == Metin2.

Poi, ;e per fare ciò si creano delle variabili come si e no. Ma almeno le rileggi le ** che scrivi?

Ancora, "elseif" che è la stessa cosa di un "if" cambia solo la posizione e meglio spiegare la stringa soprastante. NO, grandissimo **, l'elseif non è la stessa cosa di un if. Impara a "programmare" prima di fare le guide.

a ecco qua questo e tutto un npc cembra lungo ma è una cosa che se imparata si fa in 30 secondi Davvero, io son dell'idea che tu non legga affatto ciò che scrivi.

fin qua e semplice ametetelo voi che non avete mai capito il lua non comenterete ma secondo me questa guida vi sara stata utile =) detto ciò continuiamo

ora io gli fo creare delle opzioni ma dentro quelle opzioni dovro pur far fare qualcosa o no?

Sisi, utilissima, come un calcio nelle balle.

 
L

lyonel

Ultima modifica da un moderatore:
Premessa:
Rilascio questa guida per iniziare a conoscere il linguaggio chiamato ".lua"; voi direte old e su questo non posso darvi torto ,perchè di fatto ci sono guide riguardanti il lua ,ma solo 2 sono comprensibili alla gente che si è appena appassionata al linguaggio o al mondo di metin2.
Premesso questo e le mie scuse per gli errori ortogrammali passati,presenti e futuri in quest guida.

Allora,il linguaggio lua nel mondo di metin si usa sopratuto per fare quest,dialoghi,e altre cose...
io provero a spiegare il linguaggio in meno parole possibili =)


Per Quanto Riguarda Dialoghi NPC.

Scaricare e Aprire NotePad++

Ogni conversazzione inizia con un titolo che si mette con il comando

say_title ("Titolo")

dopo il titolo viene immesso un testo che si mette con il comando

say ("Testo")

Questo è ciò che bisogna sapere per iniziare il lua =p

Ora Decidiamo che il nostro npc deve venderci qualcosa e quindi come titolo usiamo una cosa banale come :

say_title ("Venditore")

come facciamo a sapere che lui ci vuole vendere qualcosa ?? ce lo deve dire; allora usiamo i "say" e strutturiamo il primo pezzo di dialogo

Say_title ("Venditore")
say ("Ciao Amico")
say ("Ti stai avventurando sempre di più ")
say ("Nel meraviglioso mondo di metin!")
say ("Presto gli animali selvatici sarannò più forti")
say ("Vorresti Comprare Delle Pozzioni Per Sopravivere?")


Ecco abbiamo struturato il discorso ora che ci siamo fatti fare una domanda, dobbiamo rispondere ;e per fare ciò si creano delle variabili come si e no. Non staro qui a parlare molto
perchè e meglio che vi faccio vedere prima il comando e poi spiegarvelo. La Varriabile si crea cosi:

local variabile = select ("si" , "no" )

ora il comando e quello sopra elencato ma non sara sempre cosi io ora ho ciamato la variabile "variabile" ma voi potrete chiamarla pure in un altro modo tipo

local siono = select ( "si" , "ciao")

come avete visto non ho cambiato solo il nome variabile ma anche le opzioni che voi potrete modificare a vostro piacimento :)

fin qua e semplice ametetelo voi che non avete mai capito il lua non comenterete ma secondo me questa guida vi sara stata utile =) detto ciò continuiamo

ora io gli fo creare delle opzioni ma dentro quelle opzioni dovro pur far fare qualcosa o no?
certo che si allora si fa cosi

local siono = select ( "si" , "no" )

if siono == 1 then

ecco qua xd che siamo arrivati alla parte più difficile per chi inizia la sua aventura
nel linguaggio lua
ogni variabile si distingue con il nome visto prima che in questo caso è "siono"
ma come fa il game a distinguere il si e il no? non puo se non glielo diciamo noi allora
si usano gli " if " e gli "elseif" che ora andremo a vedere
ora prima di vedere "elseif" che è la stessa cosa di un "if" cambia solo la posizione e meglio spiegare la stringa soprastante

if = (in inglese) se
siono = nome variabbile
==
1 then = sarebbe la prima opzione che si indica con il numero 1

if si usa solo alla prima opzione di una variabile
mentre elseif si usa per le altre =p

quindi riassunto script .

Say_title ("Venditore")
say ("Ciao Amico")
say ("Ti stai avventurando sempre di più ")
say ("Nel meraviglioso mondo di metin!")
say ("Presto gli animali selvatici sarannò più forti")
say ("Vorresti Comprare Delle Pozzioni Per Sopravivere?")

local siono = select ( "si" , "no" )
if siono == 1 then

pc.giveitem2 (value item , numero item)
if pc . gold >= 500000 then
pc . changegold ( - 500000 )
return
end

elseif siono == 2 then
return
end



a ecco qua questo e tutto un npc cembra lungo ma è una cosa che se imparata si fa in 30 secondi
e non per dire =)
ma io vi o spiegato fino al "if siono == 1 then"
cosa sono tutti quei comandi sotto??
semplice questo

pc.giveitem2 (value item , numero item)

serve a far ottenere a un player l'item e il numero immessi tipo se voglio che il player ottenga una velenosa +9 scrivero

pc.giveitem2 (189, 1)
ovvero value spada velenosa +9 e quantità

ma non vogliamo dargliela gratis allora si usano questi comandi


if pc . gold >= 500000 then
pc . changegold ( - 500000 )


che sono la quantita yang

if pc . gold >= 500000 then

cioè 500k

e il comando che toglie al player la quantita yang scritta

pc . changegold ( - 500000 )




deto ciò che è riimasto solo

return
end

elseif siono == 2 then
return
end

"
return
end
"
si spiegano da soli sono la parte che chiudono una opzione di una variabile in questo caso del si
facendogli vendere ecc..
e chiudere script

mentre

elseif siono == 2 then
retrun
end


e semplicemente la chiusura dello script
visto che premendo no si rifiuta
si scrive solo return end

ora salvate lo script con il nome " change_empire.start.0.script "
creare una cartella e rinominarla nel value del npc che vogliate
dentro di essa creare una cartella chiamata " chat "
e dentro " chat " inserire il file salvato
ora riaprite note pad++ e scrivete "Nome Che Volete Dare Al Neg " con le virgolette e salvate con
il nome " change_empire.start.0.arg "
e in file creare un altro documento di testo ma lasciarlo vuoto e salvarlo con il nome " change_empire.start.0.when "

quindi voi su desckstop avrete 1 cartella chiamata con il valu npc ( io uso 9003 bottegaia)
dentro la cartella chat e dentro chat i 3 file

9003 > chat > i 3 file fatti
sopra =/

=) ho detto tutto ciò che serviva per imparare la base di uno script forse non mi saro spiegato al massimo come detto in cima io non sono un genio del lua ma spero che molti di voi che leggendo la guida abbiano imparato qualcosa e spero che voi non premiate subito la X in alto a destra ma comentiate xd non so come dire

PS:so gia che almeno qualcuno verra a criticare ma ameno io ho fatto ciò che ritenevo gusto =)
 
Complimenti, sia per l'ordine che per l'utilità senza di te non avrei mai potuto fare il mio primo script

se dovessi seguire la tua guida ecco il risultato di una quest

PHP:
state start begin
       when value.chat."Ciao" begin
       say_title("Npc:")
              say("Ciao")
               say("paga 5 yang perchè è così")
               pc.change_gold(-5)
         return
   end

Ecco l'utilità della tua guida....Compliementi...volete il +1 o il biscotto?
bellissima la quest insegnami perfavore 1!!oneone!111!!!oneone :\
 
In questa "guida" dici tutto e niente. Per esempio se io voglio scrivere una quest come inizio? Con un say_title ed un say?
Prima devi dichiarare il nome della quest, dichiari lo stato di start, poi dichiari l'npc o chi per esso che esegue l'azione, e poi viene la parte che hai spiegato tu.
In ogni caso questa non è una guida dato che con un say_title, un say ed un select non crei di certo una quest.
Se proprio devi creare una guida, creala con una base.
E non uscire con la scusa "ho detto che è solo una base", ma una base senza un inizio corretto non si regge in piedi senza contare che non basta un say per fare una vera quest.

- - - Updated - - -

Ah dimenticavo, sezione errata :omfg:
 
  • Mi piace
Reazioni: Daruma
Premessa: questo forum vieta gli insulti, pertanto ogni volta che vedi due asterischi vicini (**), usa la tua immaginazione per sostituirli agli insulti che meno ti garbano.

Partiamo dal titolo:
[GUIDA]ALLE BASI DEL LUA ( 1000° POST)
Lasciamo perdere il fatto che hai 503 messaggi... Ma ** ** ** ** ** **, scrivere "guida alle basi del lua di Metin2" ti faceva schifo? C'è già troppa disinformazione in giro, con gente che crede che Lua == Metin2.

Poi, ;e per fare ciò si creano delle variabili come si e no. Ma almeno le rileggi le ** che scrivi?

Ancora, "elseif" che è la stessa cosa di un "if" cambia solo la posizione e meglio spiegare la stringa soprastante. NO, grandissimo **, l'elseif non è la stessa cosa di un if. Impara a "programmare" prima di fare le guide.

a ecco qua questo e tutto un npc cembra lungo ma è una cosa che se imparata si fa in 30 secondi Davvero, io son dell'idea che tu non legga affatto ciò che scrivi.

fin qua e semplice ametetelo voi che non avete mai capito il lua non comenterete ma secondo me questa guida vi sara stata utile =) detto ciò continuiamo

ora io gli fo creare delle opzioni ma dentro quelle opzioni dovro pur far fare qualcosa o no?

Sisi, utilissima, come un calcio nelle balle.


1. Bhe... il lua di metin ha un lua tutto particolare, non si mette in dubbio ma riguardo la sezione si intuisce.
2. lol questa bella xD non ci ho fatto caso sinceramente "Poi, ;e per fare ciò si creano delle variabili come si e no. "
3. non mettiamo in dubbio che un elseif sia uguale ad un if ù.ù.

In questa "guida" dici tutto e niente. Per esempio se io voglio scrivere una quest come inizio? Con un say_title ed un say?
Prima devi dichiarare il nome della quest, dichiari lo stato di start, poi dichiari l'npc o chi per esso che esegue l'azione, e poi viene la parte che hai spiegato tu.
In ogni caso questa non è una guida dato che con un say_title, un say ed un select non crei di certo una quest.
Se proprio devi creare una guida, creala con una base.
E non uscire con la scusa "ho detto che è solo una base", ma una base senza un inizio corretto non si regge in piedi senza contare che non basta un say per fare una vera quest.

1. Lui immagino abbiamo scritto come iniziare un .script non una quest, che non richiede:
quest nomequest begin
state start begin


--BOSSE
when value.use/chat ecc.. begin

2. si questo è vero un say_title, un say ed un select non possono creare una quest ma già danno un input per lo meno.

3. A me sembra una base per iniziare o_O poi non so tu

Questo non è lua, tu non spieghi niente in questa guida sul lua. Consiglio a chi vuole programmare seriamente di evitare questa guida.

Linkami una guida dove impasta tutto ciò che riguarda un linguaggio di programmazione in una sola guida.

N.B chi vuole iniziare a programmare "Seriamente" intanto si da un inizio con questa che è propio la base (con la manca di inizio quest come diceva Ryo), poi si cera altre sul web come si fa con ogni linguaggio...

Io la penso cosi.

Comunque riquoto quello che avevo scritto

Pero la continuerei aggiungendo altri comandi, tipo: pc . remove_item, pc . count_item, say_item, affect.remove_collect, wait (), pc.get_level, horse . ride, affect.add_collect, d . notice e via dicendo... la miglioreresti ulteriormente.
 
  • Mi piace
Reazioni: || A l i 3 N © ||
Il say è una funziona scritta in C/C++!
Sì, una funzione in lua equivalente al say è la seguente: (è un esempio)
PHP:
function say(...)
	for i,v in ipairs(arg) do
		raw_script(v)
	end
	raw_script("[ENTER]")
end

Vi ricordo che il lua è nato allo scopo di essere leggero e veloce (non ha switch, classi e tante altre cose) e per esser esteso (nella maggior parte dei casi) con delle librerie esterne in c++ (nel caso di metin è l'eseguibile ma si possono creare senza problemi anche librerie)
La versione che usa metin è la "5.0.3". (lua_version su game)

Sì, la guida è fatta con i piedi! ClickMe
 
  • Mi piace
Reazioni: xXIntelXx
airiorax tu ai capito cosa intendevo xd
metin2hackning il tuo like e ironico? perchè non è arrivato
 
  • Mi piace
Reazioni: Aioriax
Complimenti, sia per l'ordine che per l'utilità senza di te non avrei mai potuto fare il mio primo script

se dovessi seguire la tua guida ecco il risultato di una quest

PHP:
state start begin
       when value.chat."Ciao" begin
       say_title("Npc:")
              say("Ciao")
               say("paga 5 yang perchè è così")
               pc.change_gold(-5)
         return
   end

Ecco l'utilità della tua guida....Compliementi...volete il +1 o il biscotto?
 
  • Mi piace
Reazioni: xXIntelXx
Complimenti, sia per l'ordine che per l'utilità senza di te non avrei mai potuto fare il mio primo script

se dovessi seguire la tua guida ecco il risultato di una quest

PHP:
state start begin
       when value.chat."Ciao" begin
       say_title("Npc:")
              say("Ciao")
               say("paga 5 yang perchè è così")
               pc.change_gold(-5)
         return
   end

Ecco l'utilità della tua guida....Compliementi...volete il +1 o il biscotto?
1€ <.<
 
  • Mi piace
Reazioni: DarkScorpS
ai sapientoni che criticano una guida BASE LAU
un consiglio: fate voi una guida con tutti i comandi e variabili.
io sono alle prime armi e vi dico questa guida mi ha servito
ps: non rosicate

Dovremmo rosicare della sua grammatica o della sua autoconvinzione di conoscere il LUA?
Abbiamo capito che sei un suo amico e tenti di difenderlo,ma io non difenderei la gente che sbaglia,le farei solo un torto in più!
 
  • Mi piace
Reazioni: xXIntelXx
Molto utile per chi lo sconosce, bravo.
Pero la continuerei aggiungendo altri comandi, tipo: pc . remove_item, pc . count_item, say_item, affect.remove_collect, wait (), pc.get_level, horse . ride, affect.add_collect, d . notice e via dicendo... la miglioreresti ulteriormente.
 
Bella guida, semplice per chi di LUA ne sa poco o niente, magari aggiungendo qualche altra opzione con la spigazione vicino diventa miglione :D Like
 
Ultima modifica da un moderatore:
Questo non è lua, tu non spieghi niente in questa guida sul lua.
Inoltre il lua non si limita alle 4 funzioni di metin2. ma è un linguaggio vero e proprio. I say, ecc sono FUNZIONI scritte in lua. Consiglio a chi vuole programmare seriamente di evitare questa guida.
 
Stato
Discussione chiusa ad ulteriori risposte.