- 19 Marzo 2011
- 115
- 0
- Miglior risposta
- 0
Salve comunity di sciax2. Oggi girando per la comunity ho notato che molti non conoscono il concetto base del Lua.
Questa guida avrà come unico scopo di dare delle basi agli utenti volenteriosi che si sono stufati di prendere cose già fatte dal web e iniziarsi a fare da se partendo dalle piccole cose.
Setto la Guida in vari Step.
1)Premesse
2)Introduzione.
3)Concetti Base.
4)Analisi di uno script.
1) Premesse:
Premetto che la guida non vi farà diventare Scripter di Lua, ma vi toglierà quei dubbi e vi darà una base per iniziare a farvi da soli senza l'aiuto del web.
Premetto che accetto critiche costruttive, consigli su come modificare la guida a fine di renderla migliore e più dettagliata, etc...
Dopo queste piccole premesse continuiamo..
2) Introduzione:
Il linguaggio Lua è un Linguaggio non tuilizzato solo su Metin2.
Il Lua è un linguaggio abbastanza complesso ma nell'ambito di metin2 risulta semplificato dato che ci sono poche ma importanti cose da tener conto.
Il Lua viene usato su Metin2 generalmente per creare script, ovvero tutte quelle funzioni che troviamo quando andiamo a cliccare su un NPC presente in Game.
3) Concetti Base.
Adesso iniziamo ad entrare nel vivo della Guida.
Il Lua come possiamo vedere è diviso in 2 parti su Metin2, ovvero:
-Presenta una parte Quest.
-Presenta una parte Script.
Molti di noi avranno visto degli Script e per chi li vede per la prima volta, chiude o cambia pagina dato che sembra Arabo italianizzato.
Ci capita di vedere cose come:
Ad una variabile viene assegnata un nome per identificarla.
Come facciamo a dichiarare una variabile?
Semplicissimo. Usiamo una parola prima citata, ovvero "local"
Quindi per asssenare una variabile facciamo:
local nomedellanostravariabile (naturalmente invece di mettere "nomedellanostravariabile metteremo un altro nome a nostro piacimento).
In questo caso local serve a dichiarare la nostra variabile e "nomedellanostravariabile" è la nostra variabile.
Continuiamo con i concetti base...
Altri comandi:
-say_title Sarebbe quella parte Gialla presente in uno script.
-say serve a far parlare un Npc.
- pc.give_item2 ( "value item" , quantita ) : da un item
- pc.give_item ( "value item" , quantita ) : rimuove 1 item
- pc.count_item ( "valueitem" ) : è una variabile che restituisce degli item
- chat ( "messaggio" ) : scrive nella chat visibile solo da 1 pg
- notice_all ( "messaggio" ) : scrive nella chat dei game master (GM)
- pc.get_empire() : variabile che ridà il regno di provenienza ad 1 pg
- pc.get_job() : altra variabile che restituisce la razza al pg
Naturalmente ci sono altri comandi e non sto ad elencarveli tutti altrimenti diventerebbe un casino, ma ne parleremo se questa guida avrà successo e faremo una aggiornamento alla guida.
4) Analisi di uno script.
In giornata ho fatto uno semplice script per far capire le basi di uno script.
Parliamo di un teleporter semplicissimo e analizziamolo:
Dopo l'ultimo say abbiamo fatto una domanda e quindi ci troviamo d'innanzi ad una scelta. Cliccare su "Si" o "No". Come fare?
pc . warp server per teleportare un npc (naturalmente dobbiamo aggiungerci delle coordinate).
Abbiamo finito l'analisi approfondita di uno script basilare. Ho cercato di fare il possibile per rendere semplice questa guida.
Per far si che uno script funzioni dobbiamo creare questi file:
Se deve essere aperto a tutti scriviamo nel file .when
Dove metterli questi file? Creiamo una cartella con il value del nostro npc e dentro di essa creiamo un'altra cartella chiamata chat e dentro la cartella chat mettiamo i 3 file sopra citati.
Se la Guida verrà ben apprezzata sarò lieto di continuarla con aggiornamenti andando a fare qualcosina di più complesso e andare nello specifico in modo da far capire a tutti come usare gli altri comandi.
Spero che inizierete a scriptare a mi auguro di avervi aiutato minimamente con questa guida.
Distinti Saluti,
AtlanticStaff.
Questa guida avrà come unico scopo di dare delle basi agli utenti volenteriosi che si sono stufati di prendere cose già fatte dal web e iniziarsi a fare da se partendo dalle piccole cose.
Setto la Guida in vari Step.
1)Premesse
2)Introduzione.
3)Concetti Base.
4)Analisi di uno script.
1) Premesse:
Premetto che la guida non vi farà diventare Scripter di Lua, ma vi toglierà quei dubbi e vi darà una base per iniziare a farvi da soli senza l'aiuto del web.
Premetto che accetto critiche costruttive, consigli su come modificare la guida a fine di renderla migliore e più dettagliata, etc...
Dopo queste piccole premesse continuiamo..
2) Introduzione:
Il linguaggio Lua è un Linguaggio non tuilizzato solo su Metin2.
Il Lua è un linguaggio abbastanza complesso ma nell'ambito di metin2 risulta semplificato dato che ci sono poche ma importanti cose da tener conto.
Il Lua viene usato su Metin2 generalmente per creare script, ovvero tutte quelle funzioni che troviamo quando andiamo a cliccare su un NPC presente in Game.
3) Concetti Base.
Adesso iniziamo ad entrare nel vivo della Guida.
Il Lua come possiamo vedere è diviso in 2 parti su Metin2, ovvero:
-Presenta una parte Quest.
-Presenta una parte Script.
Molti di noi avranno visto degli Script e per chi li vede per la prima volta, chiude o cambia pagina dato che sembra Arabo italianizzato.
Ci capita di vedere cose come:
Abbiamo sentito parlare di Variabili negli script e ci siamo spessi domandati ma che sono queste variabili? La variabile identifica una porzione di memoria destinata a contenere dei dati.local
else
elseif
if
input
etc...
Ad una variabile viene assegnata un nome per identificarla.
Come facciamo a dichiarare una variabile?
Semplicissimo. Usiamo una parola prima citata, ovvero "local"
Quindi per asssenare una variabile facciamo:
local nomedellanostravariabile (naturalmente invece di mettere "nomedellanostravariabile metteremo un altro nome a nostro piacimento).
In questo caso local serve a dichiarare la nostra variabile e "nomedellanostravariabile" è la nostra variabile.
Continuiamo con i concetti base...
serve a fare 2 casi separati quando 2 azioni non possono essere eseguite nello stesso tempo
è la continuazione dell'if , quindi serve a continuare lo scriptelseif
serve per indicare se scegliere una cosa oppure l'altra.Esempio scegliere se cliccare su "Si" , "No" in uno script.
ha la funzione per far scrivere in game un determinato comando o una determinata cosa.Esempio: scrivere in game il value di un mob e farlo spownare.-input
Altri comandi:
-say_title Sarebbe quella parte Gialla presente in uno script.
-say serve a far parlare un Npc.
- pc.give_item2 ( "value item" , quantita ) : da un item
- pc.give_item ( "value item" , quantita ) : rimuove 1 item
- pc.count_item ( "valueitem" ) : è una variabile che restituisce degli item
- chat ( "messaggio" ) : scrive nella chat visibile solo da 1 pg
- notice_all ( "messaggio" ) : scrive nella chat dei game master (GM)
- pc.get_empire() : variabile che ridà il regno di provenienza ad 1 pg
- pc.get_job() : altra variabile che restituisce la razza al pg
Naturalmente ci sono altri comandi e non sto ad elencarveli tutti altrimenti diventerebbe un casino, ma ne parleremo se questa guida avrà successo e faremo una aggiornamento alla guida.
4) Analisi di uno script.
In giornata ho fatto uno semplice script per far capire le basi di uno script.
Parliamo di un teleporter semplicissimo e analizziamolo:
Questo sopra citato è uno script per un teleporter che ti porta nelle coordinate scritte. Iniziamo con l'analisi approfondita:say_title ( "Teleporter By AtlanticStaff " )
say ( "Welcome" )
say ( "Sono il teleporter creato per sciax2" )
say ( "Vuoi essere teleportato per dare prova della guida?" )
local lol = select ( "Si" , "No" )
if lol == 2 then
say ( "Ok rispetto la tua scelta." )
say ( "Ritorna quando sarai pronto" )
return
end
if lol == 1 then
say ( "Benissimo valoroso Guerriero" )
say ( "Hai scelto di provare la guida fatta per sciax2" )
say ( "Ti auguro tanta fortuna" )
say ( " e mi auguro che qualcuno abbia capito un tantino su come scriptare " )
local villagiz = select ( "Prova per sciax2" , "Annulla" )
if villagiz ==2 then
return
end
say ( "Verrai Teleportarto a breve. " )
say ( "Tieniti pronto utente di sciax2 " )
wait ( )
pc . warp ( 138500 , 234900 )
return
end
con il comando say_title la scritta dentro le parentesi si vedranno in Giallo.say_title ( "Teleporter By AtlanticStaff " )
Tutto ciò scritto tra parentesi e virgolette sarà il parlato di un npc.say ( " Welcome " )
say ( "Sono il teleporter creato per sciax2" )
say ( "Vuoi essere teleportato per dare prova della guida?" )
Dopo l'ultimo say abbiamo fatto una domanda e quindi ci troviamo d'innanzi ad una scelta. Cliccare su "Si" o "No". Come fare?
"local" server per assegnare una variabile e la nostra variabile è "lol"local lol = select ( "Si" ,"No" )
questa stringa dice: se clicchiamo la seconda opzione (ovvero No) decideremo di non utilizzare lo script ovvero il teleporter.if lol == 2 then
Dato che abbiamo cliccato su "No" abbiamo rifiutato di utilizzare quel Npc e metteremo un messaggio a nostro piacimento.say ( "Ok rispetto la tua scelta." )
say ( "Ritorna quando sarai pronto" )
"return" e "end" stanno a significare il termine dello script, cioè far chiudere lo script.return
end
then in questo caso sta per indicare la prima opzione (ovvero "Si" ).if lol == 1
come detto in precedenza tutto il testo dopo il say sarà il parlato dell'npc.say ( "Benissimo valoroso Guerriero" )
say ( "Hai scelto di provare la guida fatta per sciax2" )
say ( "Ti auguro tanta fortuna" )
say ( " e mi auguro che qualcuno abbia capito un tantino su come scriptare " )
come detto prima "local" server per assegnare una variabile e villagix "sarebbe la nostra variabile"local villagiz
sono le due nostre opzioni che visualizzeremo sull'npc.( "Prova per sciax2" , "Annulla" )
in questa stringa scegliamo la seconda opzione e quindi annulliamo il tutto.if villagiz ==2 then
se invece andiamo a cliccare su Prova sciax verremmo teleportato nelle coordinate specificate.say ( "Verrai Teleportarto a breve. " )
say ( "Tieniti pronto utente di sciax2 " )
wait ( )
pc . warp ( 138500 , 234900 )
return
end
pc . warp server per teleportare un npc (naturalmente dobbiamo aggiungerci delle coordinate).
Abbiamo finito l'analisi approfondita di uno script basilare. Ho cercato di fare il possibile per rendere semplice questa guida.
Per far si che uno script funzioni dobbiamo creare questi file:
Lo script che abbiamo analizzato va messo quiìnomefile.start.0.script
Quì va messo il titolo di inizio sul Npc. Esempio: "Teleporter By AtlanticStaff"nomefile.start.0.arg
nel file .when, possiamo decidere se l'npc deve essere apribile a tutti oppure solo a un gm.nomefile.start.0.when
Se deve essere aperto a tutti scriviamo nel file .when
Se invece vogliamo renderlo pubblico all'utenza lo lasciamo in bianco.return pc . is_gm ( )
Dove metterli questi file? Creiamo una cartella con il value del nostro npc e dentro di essa creiamo un'altra cartella chiamata chat e dentro la cartella chat mettiamo i 3 file sopra citati.
Se la Guida verrà ben apprezzata sarò lieto di continuarla con aggiornamenti andando a fare qualcosina di più complesso e andare nello specifico in modo da far capire a tutti come usare gli altri comandi.
Spero che inizierete a scriptare a mi auguro di avervi aiutato minimamente con questa guida.
Distinti Saluti,
AtlanticStaff.
Fonte AtlanticStaff For Sciax2.it
Ultima modifica: