Jump to content
Rpg²S Forum
  • 0

Aiuto per imparare l'RGSS


mikb89
 Share

Question

Questo topic non serve per risolvere i problemi con gli script, per quello c'è lo sportello amico, e non contiene neanche un lungo discorso che spiega gli script, ma sarà un corso passo passo con gli utenti che vorranno partecipare e quindi imparare (e se partecipate imparate perchè altrimenti io non mi darò pace).

 

Ogni passo del corso sarà identificato con un numero, che va citato quando gli si riferisce, insieme alla risposta sotto spoiler. Ad esempio questo punto:

 

0) Chi intende partecipare?

 

Per rispondere a questo passo, bisogna scrivere il messaggio così:

 

0) Chi intende partecipare?

 

Io partecipo ^^

 

 

E tutto quello che sta fuori dallo spoiler può essere un commento di altro tipo.

 

La partecipazione è vincolante, nel senso che non andrò avanti col 2° passo se tutti quelli che hanno dichiarato di partecipare non dicono che va bene il primo, quindi partecipate se avete intenzioni serie, altrimenti bloccate tutto ><

 

In qualsiasi momento cmq uno può disdire la partecipazione o uno che non partecipa può iniziare a partecipare.

 

Se chi già conosce gli script nota che sbaglio qualcosa, è pregato di farlo notare, con garbatezza e gentilezza, in modo da non impartire possibili nozioni errate a chi desidera imparare.

 

Credo che sia tutto. Vi aspetto in molti ^^

 

Ecco i link rapidi ai passi già postati.

Passo 1: Le variabili

Passo 2: Gestione delle variabili

Passo 3: Gli array

Passo 4: Le condizioni

Passo 5: I cicli

Edited by mikb89

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • Answers 146
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0
EBERK E SECONDO-ME...ASPETTIAMO VOI!!!!

http://i428.photobucket.com/albums/qq5/losco_individuo/2cmly83.png

 

http://i428.photobucket.com/albums/qq5/losco_individuo/BannerNGMI-1.png

Membro Alfa della: "Nuova Generazione del Making Italiano"

"Richiedi anche tu il bannerino della NGdMI e contribuisci alla sopravvivenza della specie...avrai un numero tuo di identificazione e un posto nella storia del making!"

Il making con il cuore

http://i62.servimg.com/u/f62/13/12/87/37/nuovob11.png

Nuovo LegendRpgMania

Link to comment
Share on other sites

  • 0

allora, visto che la maggioranza è d'accordo, tra 8 giorni posterò il 4° passo, se vedremo che sono troppi, diminuiremo i giorni ^^.

 

Passo 3: Gli array

 

Gli array possiamo definirli come contenitori di variabili, quindi un array può contenere un elenco di dati a differenza di una variabile che ne contiene uno. Mettiamo caso che vogliamo memorizzare 100 valori; utilizzando solo variabili, ce ne vorrebbero 100 con il nome var1, var2, var3, var4 e così via, mentre con un array possiamo mettere tutti i valori in una sola variabile che possiamo chiamare semplicemente var.

 

Sappiamo come creare le variabili, cioè:

var1 = 5
var2 = 3
var3 = 4

Per creare un array il codice è così:

var = [5,3,4]

Sono indispensabili le parentesi quadre e le virgole per separare i valori, ma per quello che possiamo mettere dentro non ci sono limiti. Ad esempio testo:

var = ["cinque","tre",4]

variabili:

var = [var1,3,var3]

e addirittura altri array dentro gli array:

var = [[8,5,16],3,4]

Notate come un array è sempre compreso tra parentesi quadre, e i valori all'interno di esso sono separati da virgole.

 

Adesso che sappiamo creare gli array, pensiamo ad utilizzarli.

Prendiamo l'array

array = ["a",4,[8,5,[1,2]]]

che offre tutti gli utilizzi.

Una volta che vogliamo leggere o modificare il primo valore dell'array, il codice da usare è questo:

lettera_a = array[0] 
array[0] = "b"

bisogna scrivere il nome dell'array e poi attaccate le parentesi quadre contenenti l'indice del valore che ci seve meno 1, perciò se volgiamo il primo valore mettiamo 0, se vogliamo il secondo mettiamo 1, e così via.

dieci = 6 + array[1]

per il resto, dopo aver messo le parentesi quadre ed il numero, il valore viene usato come si usa una qualsiasi variabile o numero o stringa.

Un pò di confusione o complicatezza, può sorgere quando ci sono array dentro array, ma non è niente di difficile, abbiamo:

array = ["a",4,[8,5,[1,2]]]

e ci interessa il terzo valore, quindi il numero da mettere tra parentesi è 2 (3 - 1). Se scriviamo solo array[2], però otterremo il contenuto del terzo valore, cioè:

array[2] = [8,5,[1,2]]

detto questo, array[2] è il nostro array, quindi se vogliamo ottenere il primo valore, scriveremo:

otto = array[2][0]

e per il secondo:

cinque = array[2][1]

quindi per ottenere i due valori dell'altro array dentro l'array, semplicemente scriveremo:

uno = array[2][2][0]
due = array[2][2][1]

Niente di difficile, spero, potrebbe portare confusione quando ci sono troppi array uno dentro l'altro ma non è niente di difficile.

 

In un array si possono anche usare + e -, e spiego con degli esempi:

arr1 = [2,2,0]
arr2 = [2,1]
arr2 += arr1 # arr2 conterrà [2,1,2,2,0]
arr3 = arr1 + arr2 # arr3 conterrà [2,2,0,2,1,2,2,0] (in quanto arr2 è cresciuto)
# e con il meno:
arr3 -= arr1 # arr3 conterrà [1], perchè gli elementi di arr1 (il 2 e lo 0) sono stati rimossi.
arr1 = arr3 - arr2 # arr3 contiene [1], quindi togliendogli il contenuto di arr2 (che comprende tutti e tre i numeri) rimane [], un array vuoto.

Agli array possiamo anche aggiungere o togliere elementi.

La sintassi è:

arr1 = []
arr1.push(5)
# arr1 conterrà [5]

per aggiungere, mentre per togliere:

arr1 = [5,6,7]
arr1.delete(5)
# arr1 conterrà [6,7]
arr1.delete_at(1)
# arr1 conterrà [6]
arr1.clear

Spiego meglio.

.delete(e) rimuove l'elemento e, in questo caso rimuove tutti i 5 presenti.

.delete_at(p) rimuove l'elemento specificando la posizione, in questo caso cancellerà nella posizione 1 (il secondo valore quindi)

.clear equivale ad arr1 = [], cioè svuota l'array.

.push(v) aggiunge il valore dopo l'ultimo elemento dell'array.

 

Un ultima cosa:

arr1 = [5,6,7]
arr1[arr1.size] = 8

nello specificare la posizione, possiamo anche mettere una variabile o una funzione che ritorni un valore numerico. in questo caso, arr1.size restituisce 3, che è la grandezza dell'array, il numero di valori che contiene. Questa riga equivale a .push(8) dato che inserisce l'8 alla fine. Altre funzioni con gli array potete trovarle nella guida di rpg maker.

 

Adesso l'esercizio. Seguite attentamente.

3) Creare un array contenente: un numero, una stringa, e un altro array con un altro numero (sempre dentro il primo).

Creare un secondo array che contenga: l'addizione dei due numeri inseriti nel primo array, la sottrazione, la moltiplicazione (la divisione no).

Aggiungere al primo array il secondo.

Inserire nel terzo valore del primo array (che è un altro array) la lunghezza del primo array.

Non vi posso fare un esempio, lo capisco che è un pò contorta la cosa.

Dovrete operare con soltanto due array, e il terzo valore del primo array deve essere a sua volta un array con un solo valore, dato che poi andrete ad aggiungere la lunghezza dello stesso.

 

Non confondetevi, mi raccomando... per ogni cosa utilizzate rapidamente questo finchè potete ^^ Buon lavoro!

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0
3) Creare un array contenente: un numero, una stringa, e un altro array con un altro numero (sempre dentro il primo).

Creare un secondo array che contenga: l'addizione dei due numeri inseriti nel primo array, la sottrazione, la moltiplicazione (la divisione no).

Aggiungere al primo array il secondo.

Inserire nel terzo valore del primo array (che è un altro array) la lunghezza del primo array.

 

arr1=[1,"ciao",[2]]
arr2=[[1+2],[1-2],[1*2]]
arr1=arr1+arr2
arr1=[1,"ciao",[arr1.size]]

Edited by Losco individuo

http://i428.photobucket.com/albums/qq5/losco_individuo/2cmly83.png

 

http://i428.photobucket.com/albums/qq5/losco_individuo/BannerNGMI-1.png

Membro Alfa della: "Nuova Generazione del Making Italiano"

"Richiedi anche tu il bannerino della NGdMI e contribuisci alla sopravvivenza della specie...avrai un numero tuo di identificazione e un posto nella storia del making!"

Il making con il cuore

http://i62.servimg.com/u/f62/13/12/87/37/nuovob11.png

Nuovo LegendRpgMania

Link to comment
Share on other sites

  • 0

@Losco:

 

 

allora intanto metti in spoiler.

 

poi, il codice è giusto, solo che per somma dei numeri non intendevo riscrivere il numero, ma prendere il valore dell'array, tipo arr[0] + arr[2][0]

 

e nell'ultima riga non devi riscrivere l'array, ma devi solo aggiungergli il size ^^

 

 

 

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0

Allora in mancanza di Mikb ti dico io:

 

 

la prima riga è ok, la seconda non è sbagliata ma credo ke l'esercizio intendesse di riferirsi ai 2 numeri del primo array e non di riscrivere "a mano" i 2 numeri. Cioè scrivere

arr2 = [arr1[...]+arr1[...], ...]

la terza riga è ok, e l'ultima invece è sbagliata(sempre se non ho inteso male io il significato dell'es.) xke dovevi inserire nella terza posizione riferendoti a essa e non riscrivendo completamente l'array e mettendo nella terza posizione il valore.

 

 

 

@Mikb: scusami per l'intrusione ma è per risp più velocemente a ki scrive in caso dica qualcosa di errato dimmi pure!!

 

EDIT: cavolo mi hai bruciato sul tempo!! sorry Mikb x la doppia risposta!!

Edited by makgyver

"A tre settimane da oggi io mieterò il mio raccolto, immaginate dove vorrete essere perchè così sarà. Serrate i ranghi! Seguitemi! E se vi ritroverete soli a cavalcare su verdi praterie col sole sulla faccia non preoccupatevi troppo perchè sarete nei campi elisi e sarete già morti! Fratelli, ciò che facciamo in vita riecheggia nell'eternità!"

 

"C'era un sogno che era roma sarà realizzato. Questo era il desiderio di Marco Aurelio!"

Link to comment
Share on other sites

  • 0

XD

 

dalla tua correzione cmq ho capito che il testo dell'esercizio si capisce, bon ^^

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0
3) Creare un array contenente: un numero, una stringa, e un altro array con un altro numero (sempre dentro il primo).

Creare un secondo array che contenga: l'addizione dei due numeri inseriti nel primo array, la sottrazione, la moltiplicazione (la divisione no).

Aggiungere al primo array il secondo.

Inserire nel terzo valore del primo array (che è un altro array) la lunghezza del primo array.

 

 

arr1=[1,"due",[3]]

arr2=[arr1[0]+arr1[2][0],arr1[0]-arr1[2][0],arr1[0]*arr1[2][0]]

arr1+=arr2

arr1[2][0]=arr1.size

 

 

 

edit:errori di battitura come al solito

Edited by Kamahl
Fiero membro della:

[img]http://img87.imageshack.us/img87/9409/yumenosoftgw5.png[/img]

[url="http://rpg2s.net/forum/index.php?showtopic=1529"][img]http://img225.imageshack.us/img225/8845/tenshibanxd5.png[/img][/url] [color="#0000FF"][b]A [i][url="http://yumeno.altervista.org/"][color="#9932CC"]YumeNo-Soft[/color][/url][/i] Production[/b][/color]
Link to comment
Share on other sites

  • 0

@kamahl:

 

 

corretto. l'unica cosa è che nell'ultima riga volevo aggiunto il valore, non sostituito.

 

 

 

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0

in che senso aggiunto?

cosi?

 

 

arr1[2].push(arr1.size)

 

 

 

Fiero membro della:

[img]http://img87.imageshack.us/img87/9409/yumenosoftgw5.png[/img]

[url="http://rpg2s.net/forum/index.php?showtopic=1529"][img]http://img225.imageshack.us/img225/8845/tenshibanxd5.png[/img][/url] [color="#0000FF"][b]A [i][url="http://yumeno.altervista.org/"][color="#9932CC"]YumeNo-Soft[/color][/url][/i] Production[/b][/color]
Link to comment
Share on other sites

  • 0
si, tanto per complicare un pò le cose ^^

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0

eh mi sa che sta' volta, devo rileggermelo bene, perchè non ho capito cosa intendi con:

 

ma prendere il valore dell'array, tipo arr[0]+ arr[2][0]

 

boh...non ho capito molto

quello [0] e quello [2] dove li prendo?

Me lo ristudio un po', questa è un po' più complicato

http://i428.photobucket.com/albums/qq5/losco_individuo/2cmly83.png

 

http://i428.photobucket.com/albums/qq5/losco_individuo/BannerNGMI-1.png

Membro Alfa della: "Nuova Generazione del Making Italiano"

"Richiedi anche tu il bannerino della NGdMI e contribuisci alla sopravvivenza della specie...avrai un numero tuo di identificazione e un posto nella storia del making!"

Il making con il cuore

http://i62.servimg.com/u/f62/13/12/87/37/nuovob11.png

Nuovo LegendRpgMania

Link to comment
Share on other sites

  • 0

@losco:

 

 

 

lo [0] e il [2] sono gli indici degli array cui si riferiscono... arr1[0] indica prendi il primo valore all'interno dell'array, arr1[2][0] significa prendi il terzo valore dell'array arr1 che a sua volta tale valore è un array allora di questo array (arr1[2] e come se fosse astrattamente un nuovo array) prendimi il primo elemento quindi [0] e in definitiva arr1[2][0]... Spero di essere stato chiaro...

 

 

 

"A tre settimane da oggi io mieterò il mio raccolto, immaginate dove vorrete essere perchè così sarà. Serrate i ranghi! Seguitemi! E se vi ritroverete soli a cavalcare su verdi praterie col sole sulla faccia non preoccupatevi troppo perchè sarete nei campi elisi e sarete già morti! Fratelli, ciò che facciamo in vita riecheggia nell'eternità!"

 

"C'era un sogno che era roma sarà realizzato. Questo era il desiderio di Marco Aurelio!"

Link to comment
Share on other sites

  • 0
beh si, leggi quello che ha scritto mak e rileggi la lezione, ma soprattutto metti in spoiler il codice che hai scritto sopra

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0
3) Creare un array contenente: un numero, una stringa, e un altro array con un altro numero (sempre dentro il primo).

Creare un secondo array che contenga: l'addizione dei due numeri inseriti nel primo array, la sottrazione, la moltiplicazione (la divisione no).

Aggiungere al primo array il secondo.

Inserire nel terzo valore del primo array (che è un altro array) la lunghezza del primo array.

 

 

>> arr1=[1,"ciao",[2]]

=> [1, "ciao", [2]]

>> arr2=[arr1[0]+arr1[2][0]]

=> [3]

>> arr3=[arr1[0]-arr1[2][0]]

=> [-1]

>> arr4=[arr1[0]*arr1[2][0]]

=> [2]

>> arr5=arr1+arr2

=> [1, "ciao", [2], 3]

>> arr6=[arr1.push(4)]

=> [[1, "ciao", [2], 4]]

 

 

ora credo di aver capito...ho cpiato i calvoli direttamente dal TryRuby, così avete la conferma che il programmino faceva quello che dicevo io...va bene ora?

http://i428.photobucket.com/albums/qq5/losco_individuo/2cmly83.png

 

http://i428.photobucket.com/albums/qq5/losco_individuo/BannerNGMI-1.png

Membro Alfa della: "Nuova Generazione del Making Italiano"

"Richiedi anche tu il bannerino della NGdMI e contribuisci alla sopravvivenza della specie...avrai un numero tuo di identificazione e un posto nella storia del making!"

Il making con il cuore

http://i62.servimg.com/u/f62/13/12/87/37/nuovob11.png

Nuovo LegendRpgMania

Link to comment
Share on other sites

  • 0

@Losco Individuo

 

 

Non ci siamo nemmeno ora.

Il primo punto va bene. Il secondo no. Dovevi mettere tutti i valori all'interno di un'unico array non in 3 diversi.

Hai sbagliato anche il terzo punto mikb ti dice di aggiungere al primo array il secondo non di creare un'altro array che la concatenazione dei due.

Infine nel quarto punto si dice di aggiungere un'altro valore all'array nell'indice 3 del primo array. Tu invece hai creato un nuovo array dove dentro ci hai messo il primo array + la grandezza del primo array, anche qui dovevi usare la funzione size degli array e non il numero 4. Insomma rivediti la lezione perché è bene che le imparatate queste cose, sono fondamentali.

 

 

 

http://www.rpg2s.net/awards/bestscripter1.jpg

Se avete bisogno di modifiche, correzioni o creazioni da zero di script RGSS, allora visitate la mia bottega.

La bottega di Sylaer

Link to comment
Share on other sites

  • 0
Il secondo no. Dovevi mettere tutti i valori all'interno di un'unico array non in 3 diversi.

 

eh lo so, ma il Try ruby andava a capo da solo senza fare il calcolo, e non mi diceva se la sintassi era giusta

 

cmq aspetta...

 

 

arr1=[1,"ciao",[2]]

arr2=[[arr1[0]+arr1[2][0]],[arr1[0]-arr1[2][0]],[arr1[0]*arr1[2][0]]]

arr1=arr1+arr2

arr1[2].push(arr1.size)

 

 

 

così va bene?

cioè...questione di impararsi push, size, etc. etc.

http://i428.photobucket.com/albums/qq5/losco_individuo/2cmly83.png

 

http://i428.photobucket.com/albums/qq5/losco_individuo/BannerNGMI-1.png

Membro Alfa della: "Nuova Generazione del Making Italiano"

"Richiedi anche tu il bannerino della NGdMI e contribuisci alla sopravvivenza della specie...avrai un numero tuo di identificazione e un posto nella storia del making!"

Il making con il cuore

http://i62.servimg.com/u/f62/13/12/87/37/nuovob11.png

Nuovo LegendRpgMania

Link to comment
Share on other sites

  • 0

@losco:

 

così è esatto^^ l'unica cosa, è solo un appunto, tu hai scritto (prendo un pezzo):

[[arr1[0]+arr1[2][0]],

questo significa che dentro il primo array (la prima parentesi quadra) ce n'è un secondo (la seconda parentesi quadra) che non era necessario. ma solo per fartelo notare, l'esercizio va benissimo così.

La differenza è che arr2 invece di contenere:

[3,-1,2]

conterrà

[[3],[-1],[2]]

capito, no?

scusa se sono stato puntiglioso, ma sono cose importanti queste

 

 

 

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0

si si ho capito, il programma crederà che io abbia 4 array (uno che ne contiene 3) invece di avere un array che contiene i numeri...giusto?

 

C'è l'ho fatta finalmente

Edited by Losco individuo

http://i428.photobucket.com/albums/qq5/losco_individuo/2cmly83.png

 

http://i428.photobucket.com/albums/qq5/losco_individuo/BannerNGMI-1.png

Membro Alfa della: "Nuova Generazione del Making Italiano"

"Richiedi anche tu il bannerino della NGdMI e contribuisci alla sopravvivenza della specie...avrai un numero tuo di identificazione e un posto nella storia del making!"

Il making con il cuore

http://i62.servimg.com/u/f62/13/12/87/37/nuovob11.png

Nuovo LegendRpgMania

Link to comment
Share on other sites

  • 0
esatto^^

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0
Link to comment
Share on other sites

  • 0

@niki:

si, giusto, brava^^

Script!

 

Roba scritta, guide:

 

Applicazioni:

 

Progetti!

http://img69.imageshack.us/img69/2143/userbarctaf.png http://img641.imageshack.us/img641/5227/userbartemplateb.pnghttp://i46.tinypic.com/ac6id0.png

Link to comment
Share on other sites

  • 0

ah... una cosa... sul sito tryruby, seguendo il corso in 15 minuti, non sono riuscita a capire una cosa, e quindi non riesco ad andare avanti... riesci ad aiutarmi? sarei all' help 6...

grazie mille^^

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...