Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
Definire l'ID di un'immagine attraverso una variabile

    Sanny
  • Nuovo Arrivato

  • Utenti
  • Rens: 3
  • 2
  • Stelletta
  • 81 messaggi

#1 Inviato 18 December 2016 - 22:04 PM

https://scontent.xx....093&oe=585995C5

Ciao a tutti! :3

Se non ho capito male il modo in cui Rpg Maker Mv gestisce le immagini, esso fa stabilire un valore numerico all'ID dell'immagine da inserire.
Se verrà fatta visualizzare un'immagine con ID '1' e successivamente un'altra con lo stesso numero ID, la prima sparirà per far spazio alla seconda. Giusto?

Ecco, il mio guaio è che, a quanto pare, non è possibile affidare il valore di questo ID ad una variabile °-°
 

Conoscete qualche plugin che permetta ciò?

 

 

 



    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#2 Inviato 18 December 2016 - 22:07 PM

Mmmh qual è il motivo di voler associare l'ID ad una variabile? Visto che le immagini sono limitate creare un evento comune del tipo...

Condizione se variabile = 1

---- agisci su picture con ID 1

Condizione se variabile = 2

---- agisci su picture con ID 2

Condizione se variabile = 3

---- agisci su picture con ID 3

 

cambiando il numero della variabile tutte le volte che usi un'immagine, non ti è utile come cosa? ^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    Sanny
  • Nuovo Arrivato

  • Utenti
  • Rens: 3
  • 2
  • Stelletta
  • 81 messaggi

#3 Inviato 19 December 2016 - 00:09 AM

Sto creando il menu del fabbro del mio game attraverso cui si possono upgradare le armi e le armature.
In questo menu vorrei che apparissero le immagini delle armi che sono presenti nell'inventario del giocatore. 

X = 1

if ( spada è presente nell'inventario )
                   Mostra immagine della spada (ID 'X')
                    X + 1
if ( arco è presente nell'inventario )
                    Mostra immagine arco (ID 'X')
                    X + 1

 

Potrei settare l'ID con delle costanti stabilendo che l'ID della spada è 1 e quella dell'arco è 2 ma purtroppo il numero massimo che può avere l'ID è 999 e... beh... non mi bastano per coprire tutte le armi xD


                   



    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#4 Inviato 19 December 2016 - 00:13 AM

Hai più di 999 armi? ° °

 

Non capisco però perché ogni arma deve avere una ID immagine diversa. Ci sarà un massimo di armi mostrabili a schermo, no? Quindi puoi sovrascrivere le stesse immagini. Ti basta fare una cosa tipo...

se oggetto nello slot 1 è spada...

---- mostra immagine ID1 (posizionata nello slot 1) della spada

 

ci son problemi a fare a quel modo? ^ ^

 

Nope aspetta, edito, mi sto confondendo! > <

 

Ok, qualcosa non va, se davvero son 999 armi comunque nel tuo caso sopra verrebbero 999 if uno dietro l'altro! D:

 

Sapresti descrivermi meglio come funziona il menù nel dettaglio? Quante immagini mostra? Tutte le armi? D: Sicura che non conviene a quel punto usare la grafica dei chara così la gestisci come vuoi? ^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    Sanny
  • Nuovo Arrivato

  • Utenti
  • Rens: 3
  • 2
  • Stelletta
  • 81 messaggi

#5 Inviato 19 December 2016 - 02:05 AM

Il numero di armi elevato è dovuto al fatto che non ho trovato un modo migliore di gestire gli upgrade delle armi se non creare tante versioni di un'arma quanti sono gli upgrade ( Spada di ferro +0 - Spada di ferro +1, ecc. Dove la seconda andrà a sostituire la prima nel caso di upgrade riuscito ).

Il menu funziona a "pagine". Nella prima pagina ci sono fino a 16 armi tra quelle che il giocatore ha nell'inventario, e scorrendo di pagina vengono sostituite dalle prossime 16.

Funziona tutto ad immagini. Attraverso le frecce direzionali il giocatore sceglie quale arma migliorare ( la selezione avviene attraverso un'altra immagine rappresentante un riquadro lampeggiante che si sposta sopra le coordinate delle immagini delle armi in modo che quando si trova sopra l'arma desiderata basti premere Invio per dare il via all'upgrade )

Il mio problema sta nel passaggio precedente. Non so come gestire l'ID delle immagini =S



    Ste
  • SpaccaUova

  • Rpg˛S Mod
  • Rens: 200
  • 4
  • StellettaStellettaStellettaStellettaStelletta
  • 1351 messaggi
  • Sesso:Maschio
  • Provenienza:Italy
  • Abilitā:Maestro


#6 Inviato 19 December 2016 - 09:06 AM

Per definire l'id di un'immagine attraverso una variabile puoi usare questo call script:

$gameScreen.showPicture($gameVariables.value(n), 'nomedellapicture', 0, 0, 0, 100, 100, 255, 0)

In realtà in questo modo puoi sostituire qualsiasi altro valore della picture con il valore di una variabile, come l'opacità ad esempio.

Basta incollare, al posto del valore fisso, la riga $gameVariables.value(n), dove sostituirai la "n" tra parantesi con l'id della variabile a cui vuoi far gestire quel valore.

 

Su questo argomento ho scritto una guida sull'uso avanzato delle variabili integrato a plugin e script call che puoi trovare qui



    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#7 Inviato 19 December 2016 - 11:37 AM

Ste in quel caso ti ha postato uno scriptino molto molto utile visto che è più facile copia incollarlo come testo e cambiare velocemente i parametri invece di usare i comandi standard. Inoltre come volevi puoi mettere l'ID a variabile.

Però sembra rimanere il problema di avere più di 999 armi. Sono tantissime e ti viene un evento con più di 999 condizioni se, lunghissimo! ° ° Considera anche di pianificare bene il tutto: gli slot sono limitati a 2000 nel database.

Solitamente son contento se si fa tutto ad eventi, però magari in questo caso, dato il numero elevato di oggetti, ti conviene scendere a compromesso con qualche script...

http://yanfly.moe/20...-upgrade-slots/

questo dovrebbe limitarti il numero di oggetti nel database, perché permette di upgradare l'arma stessa e quindi di fare sempre il sistema di upgrade ad eventi, ma con meno codice (dovresti poter puntare alla stessa arma anche upgradata).

^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    Sanny
  • Nuovo Arrivato

  • Utenti
  • Rens: 3
  • 2
  • Stelletta
  • 81 messaggi

#8 Inviato 19 December 2016 - 14:56 PM

Per definire l'id di un'immagine attraverso una variabile puoi usare questo call script:

$gameScreen.showPicture($gameVariables.value(n), 'nomedellapicture', 0, 0, 0, 100, 100, 255, 0)

In realtà in questo modo puoi sostituire qualsiasi altro valore della picture con il valore di una variabile, come l'opacità ad esempio.

Basta incollare, al posto del valore fisso, la riga $gameVariables.value(n), dove sostituirai la "n" tra parantesi con l'id della variabile a cui vuoi far gestire quel valore.

 

Su questo argomento ho scritto una guida sull'uso avanzato delle variabili integrato a plugin e script call che puoi trovare qui

Uh perfetto, grazie!

Ho letto la tua guida e proprio grazie a quella ho iniziato ad usare vari plugins dell'Orange Hud! ( tipo per fare l'orologio in game, io lo avevo impostato ad eventi ed era un po' più macchinoso )

 

 

Ste in quel caso ti ha postato uno scriptino molto molto utile visto che è più facile copia incollarlo come testo e cambiare velocemente i parametri invece di usare i comandi standard. Inoltre come volevi puoi mettere l'ID a variabile.

Però sembra rimanere il problema di avere più di 999 armi. Sono tantissime e ti viene un evento con più di 999 condizioni se, lunghissimo! ° ° Considera anche di pianificare bene il tutto: gli slot sono limitati a 2000 nel database.

Solitamente son contento se si fa tutto ad eventi, però magari in questo caso, dato il numero elevato di oggetti, ti conviene scendere a compromesso con qualche script...

http://yanfly.moe/20...-upgrade-slots/

questo dovrebbe limitarti il numero di oggetti nel database, perché permette di upgradare l'arma stessa e quindi di fare sempre il sistema di upgrade ad eventi, ma con meno codice (dovresti poter puntare alla stessa arma anche upgradata).

^ ^

Ma quel plugin permette di upgradare un'arma anche senza dover passare per il menu che propone?
Tipo un call script che posso inserire all'interno di un evento che modifichi il nome e le statistiche dell'arma istantaneamente



    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#9 Inviato 19 December 2016 - 16:32 PM

Veramente stavo cercando di forzare lo script a cambiare stat via call script senza riuscirci, però ho scoperto che le stat si possono forzare facilmente anche senza quello script e cioè con...

$dataWeapons[1].params[2] += 44;

quello ad esempio forza l'arma con ID 1 nel database ad avere l'attacco (parametro 2) aumentato di 44.

C'è un grosso problema... io prendo l'arma dal database quindi tutte le armi del mondo prese dal database dopo l'upgrade avranno il parametro attacco aumentato. Significa che se compri una nuova spada avrà già più attacco anche se non l'hai upgradata.

Ci serve capire cosa sostituire al $dataWeapons[1] per prendere l'oggetto dall'inventario dell'eroe e non da database.

Non riesco a trovare il codice utile... qualcuno? Ste?

^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    Lomax_Iced
  • Elfo di Babbo Natale

  • Utenti
  • Rens: 28
  • 3
  • StellettaStellettaStelletta
  • 225 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo
  • Abilitā:Adepto

#10 Inviato 09 March 2023 - 22:45 PM

https://scontent.xx....093&oe=585995C5
Ecco, il mio guaio è che, a quanto pare, non è possibile affidare il valore di questo ID ad una variabile °-°
Conoscete qualche plugin che permetta ciò?

Plugin non ne conosco, ma piuttosto so qualche trucchetto.
Ora se ho ben capito tu vorresti assegnare un ID immagine ad una variabile.
Le immagini qui vengono gestite dagli Sprite, che sono oggetti grafici.
Nel nostro caso possiamo utilizzarli da ponte per bypassare le limitazioni del tool e arrivare ad assegnare un ID immagine ad una variabile.

È facile e furbesco guarda:
Crea l'oggetto Sprite e lo lasci vuoto:
var mySprite = new Sprite();
Poi crei una sua var ambasciatrice:
var myvariabile = 42;
Tramite il comando meta assegni un ID alla variabile:
mySprite.meta.variabileID = 'myVarID';
Ora associamo la variabile all'oggetto Sprite
$gameVariables.setValue(mySprite.meta.variableId, myVariable);
E adesso dovremmo aver bypassato la limitazione
accedendo alla variabile tramite l'ID dell'oggetto Sprite:
var retrievedVariable = $gameVariables.value(mySprite.meta.variableId);
Non ci resta che avviare un console.log e vedere che cosa ci rimanda indietro.
Se stamperà 42 allora ce l'avremmo fatta!
console.log(retrievedVariable);
È un metodo, nulla preclude che ce ne siano di altri migliori.




  • Feed RSS