Ho un problema con gli array e le variabili...
1
#1 Inviato 20 June 2008 - 07:32 AM
Premetto che di Ruby conosco proprio le basi, e basta, quindi può darsi che questi problemi siano una cavolata per molti...
1) Tramite Call Script vorrei aggiungere al Party un Oggetto (diciamo una Pozione, ID 1), ma se scrivo:
$game_party.gain_item(1, 1, false)
non succede niente. Qualcuno mi sa dire dove sbaglio?
2) Avrei bisogno di un array per inserirci dentro tutti gli Oggetti posseduti dal Party in un determinato momento, per poi cancellare tutti gli Oggetti del Party e restituirli in un secondo tempo. All'inizio avevo pensato a:
oggetti_presenti = []
for i in 1...$data_items.size
oggetti_presenti.push($game_party.item_number(i))
$game_party.item_number(i) = 0
end
e per restituirli usare in ciclo la funzione "pop" dopo aver invertito l'array oggetti_presenti...
...ma anche qui (come avrete immaginato) non funziona. Ho provato a fare una variante usando i metodi gain_item e lose_item, ma niente. Idee?
La questione è che in entrambi i casi non mi dà errori di sintassi o di altro tipo, quindi non ho idea di che problema possa essere...
1) Tramite Call Script vorrei aggiungere al Party un Oggetto (diciamo una Pozione, ID 1), ma se scrivo:
$game_party.gain_item(1, 1, false)
non succede niente. Qualcuno mi sa dire dove sbaglio?
2) Avrei bisogno di un array per inserirci dentro tutti gli Oggetti posseduti dal Party in un determinato momento, per poi cancellare tutti gli Oggetti del Party e restituirli in un secondo tempo. All'inizio avevo pensato a:
oggetti_presenti = []
for i in 1...$data_items.size
oggetti_presenti.push($game_party.item_number(i))
$game_party.item_number(i) = 0
end
e per restituirli usare in ciclo la funzione "pop" dopo aver invertito l'array oggetti_presenti...
...ma anche qui (come avrete immaginato) non funziona. Ho provato a fare una variante usando i metodi gain_item e lose_item, ma niente. Idee?
La questione è che in entrambi i casi non mi dà errori di sintassi o di altro tipo, quindi non ho idea di che problema possa essere...
Screen Contest (by Sakura & Shuuchan):
Bacheca Premi
Spoiler
Scarica la demo ver. 0.2:
RTP non incluse (19 MB) - richiede RMVX ver. 1.02 - Download
Versione completa (52 MB) - Download
#2 Inviato 20 June 2008 - 21:57 PM
1)Per aggiungere un oggetto non è più come nell'XP, adesso al posto dell'id dell'oggetto va messo:
$data_items[id] per gli oggetti
$data_weapons[id] per le armi
$data_armors[id] per le armature
2)prima di tutto oggetti_presenti è una variabile locale che viene cancellata al termine dell'esecuzione del metodo, poi item_number è un metodo non una variabile quindi non puoi assegnargli un valore.
In ogni caso prova a fare così:
Per memorizzare gli oggetti posseduti dentro un array e rimuoverli dall'inventario
Per rimettere gli oggetti nell'inventario
$data_items[id] per gli oggetti
$data_weapons[id] per le armi
$data_armors[id] per le armature
2)prima di tutto oggetti_presenti è una variabile locale che viene cancellata al termine dell'esecuzione del metodo, poi item_number è un metodo non una variabile quindi non puoi assegnargli un valore.
In ogni caso prova a fare così:
Per memorizzare gli oggetti posseduti dentro un array e rimuoverli dall'inventario
$oggetti_presenti=[] for i in $data_items $oggetti_presenti.push($game_party.item_number(i)) $game_party.gain_item(i, -99) end
Per rimettere gli oggetti nell'inventario
for i in 1...$oggetti_presenti.size $game_party.gain_item($data_items[i], $oggetti_presenti[i]) end
Scarica la Demo!
Tutti i miei script(o quasi) li trovi Qui!
#3 Inviato 21 June 2008 - 06:44 AM
...eh, già, mi sa che avevo fatto un bel po' di confusione...
...è che con tutti gli script in cui andare a parare facevo un po' fatica a orientarmi. E poi il linguaggio di programmazione lo conosco appena. Adesso spero di capirci un po' di più.
Ti sono molto grato!
EDIT: a chi interessasse, il primo frammento di codice non funziona così com'è: invece di $game_party.gain_item(i, -99) nella quarta riga, va messo
...è che con tutti gli script in cui andare a parare facevo un po' fatica a orientarmi. E poi il linguaggio di programmazione lo conosco appena. Adesso spero di capirci un po' di più.
Ti sono molto grato!
EDIT: a chi interessasse, il primo frammento di codice non funziona così com'è: invece di $game_party.gain_item(i, -99) nella quarta riga, va messo
$game_party.gain_item(i, -$game_party.item_number(i))
Modificato da shuuchan, 21 June 2008 - 16:18 PM.
Screen Contest (by Sakura & Shuuchan):
Bacheca Premi
Spoiler
Scarica la demo ver. 0.2:
RTP non incluse (19 MB) - richiede RMVX ver. 1.02 - Download
Versione completa (52 MB) - Download