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
RPG Witch - - - - -

    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#41 Inviato 15 May 2017 - 11:50 AM

Please, renderebbe tutto più immediato se postassi direttamente le immagini e non i link, nell'apposito tag (per avere l'immagine pulita senza sito intorno, devi agguantarla dalla pagina che hai linkato e trascinarla lì in alto a fianco delle altre schede del browser, in modo da avere un indirizzo con estensione immagine tipo https://image.ibb.co...wT5/ruota1.png)

 

almeno si vedono così direttamente nel post:

 

ruota1.png

 

ruota2.png

 

 

Nella seconda picture vedo un sacco di ELSE inutilizzati. O li togli oppure potresti sfruttarli per i successivi conditional branch.

 

Nel senso che tutti quelli che riguardano lo stesso spicchio puoi metterli uno dentro l'altro

 

SFONDO = 1?

SE SI...

ALTRIMENTI SFONDO = 2?

___SE SI...

______ALTRIMENTI SFONDO = 3?

______SE SI...

_________ALTRIMENTI SFONDO = 4?

_________SE SI...

______

___

 

SPICCHIO1 = 0?

SE SI...

ALTRIMENTI SPICCHIO1 = 1?

___SE SI...

______ALTRIMENTI...

 

 

ecc. Così, giusto un pelo, si velocizza il codice dato che se lo sfondo = 1 salta a pié pari i controlli successivi per vedere se vale 2, 3 o 4.

 

 

 

Provata la demo. Funziona perfettamente, anche se consente di parlare solo una volta ciascuno. Però, sì, lo scheletro c'è.


183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    Guardian of Irael
  • Coniglietto Rosso

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


#42 Inviato 15 May 2017 - 20:42 PM

Ah ah, vero, anche l'altro progetto era pieno di else vuoti! XD

 

Per fare una prova più indicativa potresti creare eventi che aumentano realmente di +1 o +tot il valore della ruota e non fissi come nella demo, cioè che continuano ad aggiungere +1.

^ ^

 

Comunque ottimo lavoro, già testato se in battaglia dà problemi di "tempi" e lag? :3


(\_/)
(^ ^) <----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


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#43 Inviato 16 May 2017 - 15:02 PM

 

Nella seconda picture vedo un sacco di ELSE inutilizzati. O li togli oppure potresti sfruttarli per i successivi conditional branch.

 

Nel senso che tutti quelli che riguardano lo stesso spicchio puoi metterli uno dentro l'altro

 

Grazie per la dritta sulle immagini, con imgBB cercavo di usare il link come tinypic e non andava, mi ero arresa  @.@

Ho risistemato l'evento, ora è così:

neweklfnkle4g.png

 

Mentre ho affidato tutta l'organizzazione della Ruota alle 4 variabili degli elementi e creato un nuovo evento comune per esse ( per ora è pronto solo VarAcqua e funziona, riempie gli spicchi dall'1 al 20 ma non va a sottrazione, anche se sottraggo la variabile gli spicchi non scompaiono, devo vedere se aggiungendo le condizioni per gli altri elementi si aggiusta, visto che in teoria per "sottrarre" dovrebbe semplicemente cambiare il colore dello spicchio all'elemento corrispondente ):

nowefn45iono4g.png

 

 

Ah ah, vero, anche l'altro progetto era pieno di else vuoti! XD

 

Per fare una prova più indicativa potresti creare eventi che aumentano realmente di +1 o +tot il valore della ruota e non fissi come nella demo, cioè che continuano ad aggiungere +1.

^ ^

 

Comunque ottimo lavoro, già testato se in battaglia dà problemi di "tempi" e lag? :3

 

Non pensavo desse fastidio al codice, anzi, mettendoli in parallelo credevo di evitargli problemi xD Adesso so che non è così xD

Come detto prima, ho aggiunto il metodo di addizione/sottrazione per la prima variabile, non appena saranno pronti tutti e 4 la sistemerò nella finestra di battaglia e vedrò di accocchiare eventi comuni ad ogni skill.

 

Ho anche trovato uno script per far cambiare il danno/elemento in base alle variabili e spero funzioni:

https://forums.rpgma...variable.77790/

 

In ogni caso, non sembra dia lag, visto che le picture sono piccine e se ne cambiano massimo tre alla volta. :meow:

 

Ed ora, qualcosa di diverso: mi sono messa a lavorare sul design per i "mostri" dei primi dungeon. Eccone un due:

 

tumblr_oq1rkncZHK1vogp1po1_1280.png

 

 

 

A sinistra la Nerumba Venefica: è un corpo di rospo posseduto da un demone. Il fior di loto sulla sua testa cresce dall'orbita dell'ormai defunto rospo e viene usato dalla Nerumba per mimetizzarsi sott'acqua. Solitamente cattura la sua preda con la lingua ( che possiede un cervelletto tutto suo  ) per poi portarla vicino all'addome dai cui fori secerne un liquido urticante/velenoso.

 

A destra la Nymphanura, uno spiritello codardo dalle sembianze di rana. La Nymphanura prova ad imitare nell'aspetto la ben più pericolosa Nerumba per scoraggiare eventuali predatori. Indossa una ninfea sulla testa ed il suo gozzo, quando gonfiato, ha un motivo che ricorda la "testa" della lingua della Nerumba. Essendo questo spirito timido per natura, se attaccato cercherà di spaventare il nemico gonfiando il gozzo per poi approfittare della confuzione per scappare.


13yoz61.png

tumblrtwitter


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#44 Inviato 16 May 2017 - 17:26 PM

Belli i primi nemici. Ottimo risultato direi.


183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    Guardian of Irael
  • Coniglietto Rosso

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


#45 Inviato 16 May 2017 - 19:06 PM

Ottimo, quindi addizione e sottrazione di variabili, pure lo scriptino per calcolare comodamente il danno senza mille eventi di battaglia...

Davvero belli quei design dei mostri sia per quanto riguarda l'aspetto grafico che per la descrizione studiata! ^ ^


(\_/)
(^ ^) <----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


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#46 Inviato 18 May 2017 - 12:37 PM

Grazie, i nemici sono sempre divertenti da disegnare! :meow:

 

Ottimo, quindi addizione e sottrazione di variabili, pure lo scriptino per calcolare comodamente il danno senza mille eventi di battaglia...

Davvero belli quei design dei mostri sia per quanto riguarda l'aspetto grafico che per la descrizione studiata! ^ ^

 

Sfortunatamente, ho già incontrato uno "scoglio" prima di applicare il tutto alla battaglia. A furia di risistemare l'evento, tutti gli spicchietti si sottraggono tra di loro senza problemi ( se sono in ordine di elemento ), ma non appena inizio a mescolarli certi spicchi colorano altri che non dovrebbero cercando di andare in ordine, ad esempio:

acqua = 10, fuoco = 0

se cerco di portare fuoco ad 1 appare lo spicchietto rosso nell'ultimo dell'acqua, dato che è lì che è programmato lo spicchio fuoco=1 e se poi porto acqua a 11 continua il disastro:

fbqhjcju.png

acqua 10, fuoco 0 -> acqua 10 ( ma appare 9 ), fuoco 1, aria 4 ( ma appare 5 ) -> acqua 11, fuoco 0, aria 4 ( diventa visibile ora che è 4 ).

Ho rigirato l'evento per la sottrazione/addizione parecchie volte, quindi non ricordo esattamente tutti i tentativi che ho fatto, ma per ora è così ( questo è per VarAcqua, gli altri tre per ogni elemento sono identici, cambiano sono gli elementi sottratti ed il loro ordine di sottrazione ):

ewocbvoqerlv.png

 

Forse sbaglio ad inserire l'ordine di sottrazione? Spero di non dover fare una Conditional Branch per ogni combinazione possibile! @.@

 

Questa è la demo con i nuovi eventi, basta parlare con i quattro personaggi e aumenteranno di 1 la variabile corrispondente al loro colore:

https://www.mediafir...53pytcu3n6tb7bu

Il file non è criptato, quindi si possono visionare/modificare tutti gli eventi.


Modificato da eritiacoli, 18 May 2017 - 15:26 PM.

13yoz61.png

tumblrtwitter


    Guardian of Irael
  • Coniglietto Rosso

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


#47 Inviato 18 May 2017 - 13:34 PM

Quel pezzo di codice mostrato sembra essere giusto. Cioè calcola prima se l'acqua è al massimo e poi mano a mano va a toccare gli altri elementi sempre se un tale elemento è almeno 1, altrimenti non può sottrarre nulla. Conviene forse che ti riguardi proprio la parte grafica? Lì dove vai a cambiare le picture della ruota, magari c'è qualche buco lì. Prova ad usare F9 per controllare di volta in volta se le variabili corrispondono alla grafica per individuare l'errore.

^ ^


(\_/)
(^ ^) <----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


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#48 Inviato 18 May 2017 - 15:12 PM

Quel pezzo di codice mostrato sembra essere giusto. Cioè calcola prima se l'acqua è al massimo e poi mano a mano va a toccare gli altri elementi sempre se un tale elemento è almeno 1, altrimenti non può sottrarre nulla. Conviene forse che ti riguardi proprio la parte grafica? Lì dove vai a cambiare le picture della ruota, magari c'è qualche buco lì. Prova ad usare F9 per controllare di volta in volta se le variabili corrispondono alla grafica per individuare l'errore.

^ ^

 

Lo stavo facendo, ed è proprio lì che avevo notato il problema. Forse ha a che fare con come ho impostato gli spicchi?

La ruota parte con ogni variabile a 5, ed ogni variabile occupa 5 spicchi del suo colore:

Acqua da 19 a 3

Fuoco da 4 a 8

Aria da 9 a 13

Terra da 14 a 18.

Siccome gli elementi tolgono in senso orario avevo fatto in modo che lo spicchio di valore 1 per ogni elemento fosse l'ultimo in senso orario: Acqua 3, Fuoco 8, Aria 13 e Terra 18. Quindi quando gli elementi aumentano dal valore 1 al 5 vanno prima in senso antiorario e poi, al valore 6, procedono in senso orario fino al valore 20 ( tipo Acqua fa 3>2>1>20>19 e poi 4>5>6 etc etc ).

Ecco l'ordine con il quale si riempie l'intera ruota del fuoco:

ruotafuoco.gif

Seguendo questo metodo, quando acqua è a 10 gli spicchi 1,2,3,4,5,6,7,8,19,20 diventano del suo colore.

Nel momento in cui porto fuoco a 1 ( prima era a zero) colora lo spicchio numero 2, facente parte dell'acqua.

Quindi, anche se la variabile sottrae all'Aria, la picture sottrae all'acqua.

Forse dovrei trovare un modo per dire alla variabile di non sottrarre da quello spicchio se è occupato dall'acqua?

Una cosa tipo:

se var spicchio2 = 1 ( che è il valore dello spicchio che ho assegnato all'acqua ) -> all'interno: se var spicchio3 = 1 -> ( e continua a scatola cinese per tutti gli spicchi?) else var spicchio3=2 (colora lo spicchio dopo del fuoco se trova il precedente occupato dall'acqua) ;

else var spicchio2 = 2 ( colora del fuoco se non lo trova occupato ).


Modificato da eritiacoli, 18 May 2017 - 15:15 PM.

13yoz61.png

tumblrtwitter


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#49 Inviato 18 May 2017 - 15:44 PM

Mumble.

La visualizzazione non può avere problemi, se è programmata correttamente. E' solo il risultato visuale del valore delle variabili.

Io proverei a fare un passo indietro giocando con le quantità di ciascun elemento.

Sappiamo che gli spicchi sono 20, quindi la somma dei 4 elementi (più gianni?) si può considerare una costante (e al limite gianni tenerlo a zero).

Quindi forse è utile fare i conti su queste quantità.

Se inizialmente la situazione standard è:

Qtà fuoco = 5
Qtà acqua = 5
Qtà terra = 5
Qtà aria = 5

ogni variazione potrebbe agire direttamente su queste quantità (ovviamente tenendo da conto i vincoli tipo controllare che l'elemento da sottrarre sia >0 ) controllando poi alla fine, ma giusto per scrupolo se tutto è fatto correttamente, che la somma sia sempre costante.

POI
in base a queste quantità, dato che gli elementi sono disposti in un preciso ordine in senso orario, andare a valorizzare i vari spicchi (partendo magari dal 19, poi 20, poi 1 ecc dato il come li vuoi visualizzare).

Tipo, sappiamo che l'elemento 1 è il primo (non ricordo qual è ^^) si guarda qual è la quantità dell'elemento 1 e si riempiono tanti spicchi di '1' quanto è questa variabile. Finiti quelli si passa alla quantità di elemento 2 ecc.

Rimane l'incognita Gianni, perché da quel che ricordo si va a frapporre fra i vari elementi incasinando un po' l'ordine.

Non vorrei star complicando troppo la situazione.

Ma bene o male quando ci sono delle fette di torta che possono espandersi in una o nell'altra direzione è bene sapere dove cominciano e dove finiscono i suoi confini e forse avere un metodo che ridefinisce la torta dall'inizio basandosi sull'unico vincolo che le fette siano 20 è più lineare e meno propenso a errori.


Edit: No, spè, forse già usi questo metodo dato che hai le variabili acqua, fuoco, ecc.
mi è difficile visionare il codice perché non ho XP installato (cioè Windows sì, rpgmaker no), quindi perdonami se ho detto cose che già fai...

Modificato da Testament, 18 May 2017 - 15:46 PM.

183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#50 Inviato 18 May 2017 - 16:22 PM

Mumble.

La visualizzazione non può avere problemi, se è programmata correttamente. E' solo il risultato visuale del valore delle variabili.

Io proverei a fare un passo indietro giocando con le quantità di ciascun elemento.

Sappiamo che gli spicchi sono 20, quindi la somma dei 4 elementi (più gianni?) si può considerare una costante (e al limite gianni tenerlo a zero).

Quindi forse è utile fare i conti su queste quantità.

Se inizialmente la situazione standard è:

Qtà fuoco = 5
Qtà acqua = 5
Qtà terra = 5
Qtà aria = 5

ogni variazione potrebbe agire direttamente su queste quantità (ovviamente tenendo da conto i vincoli tipo controllare che l'elemento da sottrarre sia >0 ) controllando poi alla fine, ma giusto per scrupolo se tutto è fatto correttamente, che la somma sia sempre costante.

POI
in base a queste quantità, dato che gli elementi sono disposti in un preciso ordine in senso orario, andare a valorizzare i vari spicchi (partendo magari dal 19, poi 20, poi 1 ecc dato il come li vuoi visualizzare).

Tipo, sappiamo che l'elemento 1 è il primo (non ricordo qual è ^^) si guarda qual è la quantità dell'elemento 1 e si riempiono tanti spicchi di '1' quanto è questa variabile. Finiti quelli si passa alla quantità di elemento 2 ecc.

Rimane l'incognita Gianni, perché da quel che ricordo si va a frapporre fra i vari elementi incasinando un po' l'ordine.

Non vorrei star complicando troppo la situazione.

Ma bene o male quando ci sono delle fette di torta che possono espandersi in una o nell'altra direzione è bene sapere dove cominciano e dove finiscono i suoi confini e forse avere un metodo che ridefinisce la torta dall'inizio basandosi sull'unico vincolo che le fette siano 20 è più lineare e meno propenso a errori.


Edit: No, spè, forse già usi questo metodo dato che hai le variabili acqua, fuoco, ecc.
mi è difficile visionare il codice perché non ho XP installato (cioè Windows sì, rpgmaker no), quindi perdonami se ho detto cose che già fai...

 

Scusami, non ho ben capito cosa intendi. @.@

Dovrei porre prima un comando che imposti Acqua+Fuoco+Aria+Terra = 20?

Un Call Script ad inizio evento così?:

$game_variables[acqua] + $game_variables[fuoco] + $game_variables[aria] + $game_variables[terra] = 20

Gianni/Pinotto/etc visivamente appaiono sulla ruota "occupando" 4 spicchi, ma sono una sostituzione dello sfondo, gli spicchi semplicemente sono vuoti.

Sono condizioni che seguono una legge del tutto o del nulla, non delle variabili: ci sono da inizio battaglia -> completi le condizioni per levarli -> spariscono; il nemico li può reimpostare, etc.

Fintanto che ci sono dovrebbero agire sulle altre 4 variabili limitando il valore massimo di ognuna a 19 e la loro somma, di conseguenza, a 16.

 

Non ho ben capito se quello che mi stai suggerendo è ciò che ho già fatto: acqua a valore 1 prende lo spicchio 3, a 2 il 2, a 2 l'1, a 4 il 19 a 5 il 20 e poi continua ad ingombrare gli spicchi dal 4 al 18 in senso orario.

Ho fatto così per ogni elemento.

( ho controllato adesso il tuo edit, e sì, mi sa che è la stessa cosa )

 

Il problema è che il metodo non funziona perchè gli elementi che non procedono in senso orario non si sostituiscono tra di loro.

Se ho portato terra a diciamo 16, questo è avvenuto togliendo ad acqua 5 e a fuoco 5 e ad aria 1, quindi fuoco=0, acqua=0, aria=4.

Se poi provo a portare fuoco ad 1 la variabile Fuoco sale e Aria scende, ma nessuna picture cambia, perchè:

1. c'è ancora elemento Aria, quindi fuoco sta togliendo a quello e non a Terra;

2. fuoco=1 è uno spicchio che in questo momento è occupato dal valore Terra=16 e siccome Terra non diminuisce a 15, dato che fuoco sta togliendo ad Aria, non cambierà nessuna picture.

.gif (sto partendo con terra=14):

whatadisaster.gif

Addirittura inizia ad aumentare a 2 spicchi e, arrivati a metà della ruota, si impalla e smette di aumentare i colori @.@

 

Ogni aumento di una variabile prende uno spicchio in più, così:

onvoeinye.png

E continua fino a 20. Stessa cosa per le altre 3 variabili elementali. Forse dovrei rimuomere quelli già cambiati dal valore precendente e lasciare solo lo spicchio  nuovo? Così facendo si sovrascriverebbero correttamente?


13yoz61.png

tumblrtwitter


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#51 Inviato 18 May 2017 - 16:50 PM

Allora, vediamo se faccio meno casino. XD

Innanzitutto no, non intendevo dire che devi mettere la somma = 20, ma che controllare che la somma sia 20 è una buona riprova che tutti gli elementi siano quantificati correttamente.


Secondo me, il problema nasce dal fatto che quando c'è una variazione di un elemento, sei tu direttamente a dire quali spicchi questo va ad occupare, come vedo nel codice lì sopra nel quale assegni a ogni spicchio il valore 1.
Questo è un problema perché dovresti tenere di conto ciascuna possibilità per quanto concerne gli spicchi precedenti.



Quello che suggerisco è un metodo in 3 parti:

1) variazione degli elementi (in base ai +/-) e calcolo delle nuove quantità.

2) valorizzazione ordinata degli spicchi effettuata dal programma

3) visualizzazione della ruota leggendo il valore degli spicchi in ordine.



Ora la 3) è "banale" e dò per scontato che funzioni.


Per la 1) e la 2) vado a fare un esempio. Perdona se non riporto fedelmente l'ordine che hai impostato e le variazioni che hai deciso, tanto è un esempio non è necessario che sia preciso.


1)

Si parte con

Fuoco (valore 1) = 5
Acqua (valore 2) = 5
Aria (valore 3) = 5
Terra (valore 4) = 5

Ho quindi le 20 variabili che rappresentano gli spicchi valorizzate come segue:

1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5

ma su questo torno poi, perché per ora nella fase 1) queste variabili non vengono contate.


Diciamo che aumento fuoco di 2 punti e questo faccia calare di 1 punto aria e 1 punto acqua.

Utilizzando solo le quantità e usando gli algoritmi da te decisi su cosa cala e di quanto nel caso che aria e acqua siano già a 0, sempre facendo controlli che fuoco non superi 20 e gli altri elementi non scendano sotto 0, ottendo le nuove quantità.


Fuoco (valore 1) = 7
Acqua (valore 2) = 4
Aria (valore 3) = 4
Terra (valore 4) = 5

La cui somma è sempre 20, tanto per verifica.

Questo pone fine alla fase 1).


Fase 2).

Seguendo un ordine, che per me in questo esempio è quello Fuoco, Acqua, Aria e Terra e che comincia dalle ore 12 in senso orario, un altro evento assegna alle variabili che rappresentano i 20 spicchi della ruota i valori 1 - 4 leggendo solo queste quantità:

Quindi, cominciando in ordine, quanti Fuoco ho? 7

Le prime sette variabili vengono poste a 1

1 1 1 1 1 1 1

quanta acqua ho? 4

Le successive 4 variabili vengono poste a 2

1 1 1 1 1 1 1 2 2 2 2

Quanta aria? 4

Le successive 4 variabili vengono poste a 3

1 1 1 1 1 1 1 2 2 2 2 3 3 3 3

Quanta terra? 5

1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 4

In questo modo ho riempito il "vettore" degli elementi (ovvero le 20 variabili consecutive che hai adibito allo scopo) di valori in base alle quantità di ciascun elemento.

Questo si può fare, scorrere da una variabile alla successiva intendo, usando un particolare tipo di variabile che in informatica si chiama indice e su rpgmaker è... un po' più complicato, magari ci torniamo sopra se la cosa è fattibile.


A questo punto il vettore viene letto dall'evento che disegna il cerchio e questo viene visualizzato nei suoi spicchi.



Il problema che mi ponevo è la presenza di spazi vuoti fra i vari elementi, l'elemento Gianni.
Dato che non è un elemento che ha spicchi successivi è difficile porlo ordinatamente in una sequenza del genere.

Cioè, non c'è 0 0 0 0 e poi gli altri, ma m'era parso di capire che era più una situazione del tipo:

1 1 1 1 0 2 2 2 2 0 3 3 3 3 0 4 4 4 4 0

E quindi andrebbe trovato un modo di includerlo nella fase 2)

Modificato da Testament, 18 May 2017 - 16:52 PM.

183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#52 Inviato 18 May 2017 - 17:41 PM

Quindi, evento comune che chiama variabili standard:

vw4t_4un_4vio6.png

Che in teoria verrebbe rappresentato così, sistemando spicchio per spicchio partendo dal 19 ( 1=acqua, 2=fuoco, 3=aria, 4=terra ):

wbfwichiq3.png

 

Quando devo cambiare cose ( ad esempio acqua + 1, fuoco - 1 ) chiamo un altro evento comune che conta, partendo dallo spicchio 19: 6 acqua(1), 4 fuoco(2), 5 aria(3), 5 terra(4)?

Ma in questo modo non dovrei farne una versione per ogni variazione?

Mi spiace di essere così ottusa in questo campo, ma non capisco davvero come andrebbero organizzate le variabili per seguire questo "vettore".  Mi sa che non ho capito la fase 2 :vergogna: 

Sì, Gianni è così ( in questo caso ogni variabile è 4, e ci sono 4 spicchi vuoti ):

bvbki4n.png

Il problema sarebbe dare degli spazi anche se non sono fissi? Cioè, andrebbe rifatto di nuovo un calcolo/indice per considerarlo?

 

Se la questione della ruota è troppo complicata gli si possono dare dei valori numerici a picture e basta, forse @.@


13yoz61.png

tumblrtwitter


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#53 Inviato 18 May 2017 - 23:31 PM

Dunque, la fase 2 sarebbe solo da programmare "generica" poi in teoria è automatica di volta in volta.

 

Dalla tua prima immagine noto però subito un problemino.

 

Dov'è finita la variabile 104???

 

Per operare come vettore è necessario che le variabili siano una di seguito all'altra, senza "buchi" o salti, altrimenti non funziona.

 

E ora, giusto per chiarire un po' di terminologia:

 

 

Una variabile sai cos'è. E' un "contenitore" nel quale puoi memorizzare cose.

 

Nei linguaggi di programmazione una variabile è qualcosa del tipo

 

int pippo;

 

con questa riga si dice al compilatore che deve riservare memoria per una variabile che si chiamerà d'ora in poi "pippo" e che sarà di tipo int, cioè un numero intero secondo la sintassi del linguaggio (e il tipo serve appunto a sapere che tipo di dato ci andrà a finire dentro, come leggerlo e quanta memoria occupa nella ram).

 

Poi con una variabile più avanti nel codice uno ci fa cose.

 

Gli assegna un valore, lo moltiplica, ecc

 

pippo = 2;

 

pluto = pippo * 2;

 

...

 

 

 

Un vettore cos'è?

 

è un condominio di variabili, un nome di comodo per identificare una serie di variabili dello stesso tipo una accanto all'altra.

 

quando definisco un vettore, di nuovo

 

int paperino[10];

 

ho indicato al compilatore che paperino sarà un vettore di 10 variabili di tipo intero.

 

si comporta esattamente come ogni altra variabile, ma avendo 10 spazi, posso accedervi singolarmente usando l'indice fra le parentesi quadre.

 

Ora per convenzione gli indici partono da 0, quindi i dieci elementi di paperino saranno

 

paperino[0]

paperino[1]

paperino[2]

...

paperino[9]

 

se voglio assegnare un valore al primo elemento del vettore userò un semplicissimo

 

paperino[0] = 4444;

 

la cosa bella dei vettori è che tramite il numero fra parentesi quadre, CHE PUò ESSERE INDICATO A SUA VOLTA DA UNA VARIABILE, io posso scorrermi tutti i valori con semplicità.

 

Quindi un'altra variabile, detta indice, ma è solo un nome, viene usata per identificare i singoli elementi.

 

int i;

 

paperino[i]

 

il valore che otterrò da paperino sarà dipendente dal valore assunto da i, ovviamente compreso fra 0 e 9, altrimenti si avranno errori.

 

Per esempio posso creare un vettore di tot elementi per tenere traccia della mano di carte di un giocatore in un gioco di carte e tramite la variabile i, facendola crescere da 0 al numero di carte che ho in mano -1 controllare tutte le carte per cercarne una in particolare.

 

 

 

Come si applica tutto questo a RPGMaker, almeno nella gestione delle variabili a eventi (che se gestite tramite script immagino siano più simili alla programmazione standard.

 

Rpgmaker riconosce solo valori numeri interi come variabili (positivi e negativi).

 

ogni variabile ha un numero ID e un nome. Il nome, che gli assegni tu, è solo un'etichetta che serve a te per ricordarti a che serve quella particolare variabile, ma al programma, che la variabile abbia o meno un nome, non importa nulla, l'importante è l'ID.

 

E guarda un po', TUTTE le variabili di RPGMaker, sono contenute in un VETTORE di migliaia di variabili di tipo int(ero).

 

 

0001

0002

0003

 

...

 

999999 (o numero definito dall'utente)

 

sono tutti gli elementi di questo vettorone gigante che noi usiamo per tutti i nostri conti (in questo caso però non partono da 0, ma da 1)

 

 

Quindi di fatto abbiamo già a che fare con un vettore, solo che è molto grosso e siamo abituati a vederlo singola variabile per singola variabile.

 

Quello che intendo quando dico che la ruota degli elementi può essere rappresentata da un vettore intendo dire che i suoi spicchi possono essere associati a 20 variabili CONSECUTIVE

 

ad esempio da 102 a 121

 

e poi posso navigare fra gli spicchi usando una variabile esterna, un INDICE, per andare da questi 2 numeri, 102 a 121 per identificare i relativi spicchi.

 

 

In rpgmaker non esiste la notazione VETTORE[INDICE] fra parentesi quadre.

 

Esiste però un'assegnazione di variabile che assegna a una variabile il valore di una variabile il cui numero ID è contenuto in un'altra variabile ancora... °_°

 

sì, è più complicato a dirlo che a farlo.

 

Se io oltre a quelle 20 variabili che hanno per ID i numeri da 102 a 121 uso un'altra variabile, bo, non mi interessa che ID abbia purché non sia uno di quelli e la uso per memorizzare un numero compreso fra 102 e 121 la posso sfruttare per assegnare valore in sequenza ai vari spicchi.

 

Mettiamo che sia

 

0001 INDICE

 

indice = 102

 

Ora in indice c'è il numero 102, che è solo un numero per il momento.

 

Se faccio l'operazione adatta (che su XP non ricordo come si chiama... ma sta lì nella gestione delle variabili, in alto, terza opzione credo),

 

posso assegnare

 

ALLA VARIABILE IL CUI ID è CONTENUTO NELLA VARIABILE 0001 (e quindi la variabile 102, cioè il primo spicchio) un valore a mio piacimento.

 

Poi aumento di 1 INDICE e ottendo di poter accedere al secondo spicchio

 

e via aumento INDICE fino a 121 per scorrere tutti gli spicchi e associarvi un valore.

 

 

 

Spero si sia capita la logica dietro il mio ragionamento.


183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#54 Inviato 19 May 2017 - 09:55 AM

 

Dunque, la fase 2 sarebbe solo da programmare "generica" poi in teoria è automatica di volta in volta.

 

Dalla tua prima immagine noto però subito un problemino.

 

Dov'è finita la variabile 104???

 

Per operare come vettore è necessario che le variabili siano una di seguito all'altra, senza "buchi" o salti, altrimenti non funziona.

 

Colpa mia, avevo scritto 2 volte lo spicchio2 senza accorgemene e uno dei 2 l'avevo rinominato varAcqua per fare prima.

Ora è tutto in ordine, dalla variabile 103 alla 122:

rvoi4vn.png

Credo di aver capito con la tua spiegazione, grazie!

Ho creato una variabile Indice(id=100) e l'ho impostata uguale a 103 ( il numero della variabile del primo spicchio )

L'operazione che intendi qual è? Variable Range?

variableop.png

Dovrei fare una di queste cose?:

jevbj.png

Poi, immagino che il valore che potrò assegnare al contenuto ( quindi ad uno spicchio ) vada da 0 a 4, dato che sono i colori assegnatagli da me:

ljevrtvn5n5v.png

Quindi se voglio che 103 mi dia "acqua" lo imposto uguale ad 1.

L'intera ruota da 103 a 122, con ogni variabile elementale uguale a 5, verrebbe impostata:

1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 1 1

Ma poi come funziona lo "scorrimento" ad ogni cambiamento? Cioè, se imposto acqua a +2 e fuoco mi va a -2 come fa questo sistema a "seguire" lo spostamento?


13yoz61.png

tumblrtwitter


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#55 Inviato 19 May 2017 - 10:21 AM

...

...

 

Dannazione!

 

Ecco cosa succede a non avere installato il tool sul quale si cerca di dare un aiuto ritenendolo generico.

 

NON C'è L'OPZIONE!! ><

 

 

Sul 2000/2003 la schermata di gestione variabile è questa:

 

GpAZoIx.png

 

E io mi riferivo proprio a "riferimento a variabile".

 

 

Variabile Range serve solo a impostare un gran numero di variabili consecutive a un unico valore uguale per tutte, senza stare a fare nmila righe di assegnazione.

 

Può essere utile per inizializzare la ruota dicendogli mettimi ste 5 variabili a 1, queste altre 5 a 2 ecc. Ma poi non serve ad altro.

 

 

 

Non credevo che su XP avessero tolto ANCHE questa cosa.

 

Porca miseria tutto il mio ragionamento va ramengo, a meno di non usare uno script per gestire il vettore direttamente in RGSS...

 

Gomen nasai .__.


183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#56 Inviato 19 May 2017 - 10:43 AM

 

Non credevo che su XP avessero tolto ANCHE questa cosa.

 

Porca miseria tutto il mio ragionamento va ramengo, a meno di non usare uno script per gestire il vettore direttamente in RGSS...

 

Gomen nasai .__.

 

Mannaggia! :C

Con un call script si riuscirebbe ad organizzare qualcosa?

Purtroppo con il nome in italiano non so dove cercare per vedere se qualcuno ha già provato a fare uno script per re-introdurre quella funzione in XP ( cercando rpg maker XP refer to variable/refer to variable rpg maker 2003 for XP non ho trovato nulla ).

Cercando di creare uno script da 0 dovrebbe essere simile a come lo hai spiegato nel post precedente?

Tipo:

$game_variables[100] = [i]
 for i in $game_variables[103]...$game_variables[122]

E chiamarlo poi per ogni volta che si fa l'operazione?


13yoz61.png

tumblrtwitter


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#57 Inviato 19 May 2017 - 11:26 AM

Suppongo di sì, ma non avendo mai messo mano agli script di rpgmaker, per rispondere alla tua domanda serve uno scripter... ammesso che non abbiano cambiato radicalmente le cose pure da RGSS a RGSS3.

 

Ad ogni modo la tua sintassi è errata.

 

$game_variables[100] = [i]      qui assegni alla variabile 100 il valore [i] che non è nulla perché i non è stata inizializzata da nessuna parte e le parentesi quadre non servono.

 

 

for i in $game_variables[103]...$game_variables[122]   qui fai un ciclo for per i che va dal valore contenuto nella variabile 103 a quello contenuto nella variabile 122 e questo non porta a nulla.

 

 

dovrebbe essere una cosa più tipo:

 

for i in 103...122

{

   $game_variables[i] = valore.

}

 

ma anche in questo caso, usando gli script, credo sia possibile direttamente creare un vettore fregandosene delle variabili da 103 a 122.

 

 

 

Praticamente, scritto in C, l'algoritmo per riempire la RuotaElementale avendo a disposizione le quantità dei singoli elementi contenuti nelle variabili AcquaEl, FuocoEl, AriaEl, TerraEl è:

 

int RuotaElementale[20];

int i = 0;

 

 

//INSERIMENTO ELEMENTO ACQUA

 

if(AcquaEl > 0)

{

    for (; i < AcquaEl; i++)          // Non serve inizializzare i dato che deve, per ogni elemento, ripartire da dove è arrivato nel vettore durante

   {                                            // l'inserimento precedente

      RuotaElementale[i] = 1;     //assegno l'elemento acqua allo spicchio i

   }

}

 

 

//INSERIMENTO ELEMENTO FUOCO

 

if(FuocoEl > 0)

{

    for (; i < FuocoEl; i++)       

   {                                         

      RuotaElementale[i] = 2;     //assegno l'elemento fuoco allo spicchio i

   }

}

 

 

//INSERIMENTO ELEMENTO ARIA

 

if(AriaEl > 0)

{

    for (; i < AriaEl; i++)       

   {                                         

      RuotaElementale[i] = 3;     //assegno l'elemento aria allo spicchio i

   }

}

 

 

//INSERIMENTO ELEMENTO TERRA

 

if(TerraEl > 0)

{

    for (; i < TerraEl; i++)       

   {                                         

      RuotaElementale[i] = 4;     //assegno l'elemento terra allo spicchio i

   }

}

 

 

In questo modo tramite i mi scorro tutto il vettore di 20 elementi e assegno gli 1, i 2, i 3 e i 4 a seconda delle quantità dei singoli elementi.

 

 

In tutto questo resta fuori Gianni, ma il suo inserimento potrebbe essere incluso fra un elemento e l'altro, in modo che se ho 1 gianni sarà fra acqua e fuoco, se ne ho 2, uno sarà fra acqua e fuoco e uno fra fuoco e aria, ecc.

 

tipo così:

 

int RuotaElementale[20];

int i = 0;

 

 

//INSERIMENTO ELEMENTO ACQUA

 

if(AcquaEl > 0)

{

    for (; i < AcquaEl; i++)          // Non serve inizializzare i dato che deve, per ogni elemento, ripartire da dove è arrivato nel vettore durante

   {                                            // l'inserimento precedente

      RuotaElementale[i] = 1;     //assegno l'elemento acqua allo spicchio i

   }

}

 

 

//INSERIMENTO GIANNI se ne ho almeno 1

if(GianniEL >= 1)

{

   RuotaElementale[i] = 0;  //inserisco gianni e mando avanti l'indice.

   i++;

}

 

 

//INSERIMENTO ELEMENTO FUOCO

 

if(FuocoEl > 0)

{

    for (; i < FuocoEl; i++)       

   {                                         

      RuotaElementale[i] = 2;     //assegno l'elemento fuoco allo spicchio i

   }

}

 

 

//INSERIMENTO GIANNI se ne ho almeno 2

if(GianniEL >= 2)

{

   RuotaElementale[i] = 0;  //inserisco gianni e mando avanti l'indice.

   i++;

}

 

//INSERIMENTO ELEMENTO ARIA

 

if(AriaEl > 0)

{

    for (; i < AriaEl; i++)       

   {                                         

      RuotaElementale[i] = 3;     //assegno l'elemento aria allo spicchio i

   }

}

 

 

//INSERIMENTO GIANNI se ne ho almeno 3

if(GianniEL >= 3)

{

   RuotaElementale[i] = 0;  //inserisco gianni e mando avanti l'indice.

   i++;

}

 

//INSERIMENTO ELEMENTO TERRA

 

if(TerraEl > 0)

{

    for (; i < TerraEl; i++)       

   {                                         

      RuotaElementale[i] = 4;     //assegno l'elemento terra allo spicchio i

   }

}

 

 

//INSERIMENTO GIANNI se ne ho 4

if(GianniEL == 4)

{

   RuotaElementale[i] = 0;  //inserisco gianni e mando avanti l'indice.

   i++;

}

 

 

Ammesso che il numero massimo di gianni sia 4. Se poi ci sono altre dinamiche, il suo inserimento va cambiato.


183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilitā:Apprendista

#58 Inviato 19 May 2017 - 12:09 PM

 

Suppongo di sì, ma non avendo mai messo mano agli script di rpgmaker, per rispondere alla tua domanda serve uno scripter... ammesso che non abbiano cambiato radicalmente le cose pure da RGSS a RGSS3.

Che io sappia ci sono delle differenze, ma più che altro per i termini che usa il programma stesso per rifersi a battlers/party/nemici etc, forse con solo operazioni numeriche si può mettere insieme senza grossi problemi.

Non so se int venga letto però, cercando su come funziona RGSS ho trovato questo:

Java:

int a = 5; //variable "a" contains an Integer, 5.
a = "testing.."; //a is set to "testing..", a String.
//Since a is an Integer, the line above will produce an error.

Ruby:

a = 5 #variable "a" contains 5, an Integer.
a = "testing.." #a is set to "testing..", a String.
#a is automatically changed from an Integer to a String.
#It now contains "testing.." and no error occurred.

Lo dovrei rimuovere e lasciare solo RuotaElementale = 20 e i = 0?

 

C'è un problema con il ";", non lo legge, cosa significa in C? E' un separatore e basta sostituirlo con una virgola?

Sostituisco AcquaEl/Fuoco/Aria/Terra con le $game_variables[x] corrispondenti?

"RuotaElementale" sarebbe il common event o un valore che hai settato a 20 all'inizio?

 

Dovrei mettere il tutto in una Scene per chiamarlo quando mi serve?

Lo chiamo Scena_Ruota e quando lo devo usare metto in un call script: "$scene = Scena_Ruota.new" ?

Perchè non entra in un comune call script, è troppo grande.

 

Scusa per tutte le domande, ma vorrei vedere se riesco a "tradurlo" per RGSS @.@


13yoz61.png

tumblrtwitter


    Testament
  • Il Custode della Memoria

  • Utenti Speciali
  • Rens: 1141
  • 51
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 12373 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze
  • Abilitā:Esperto


#59 Inviato 19 May 2017 - 14:31 PM

Il C è un linguaggio di programmazione diverso dal Ruby.

 

No, se fai RuotaElementale = 20 assegni il numero 20 alla variabile RuotaElementale, mentre invece il 20 deve servire a definire il fatto che è un vettore di 20 elementi.

 

Per tutto il resto non so risponderti perché del ruby so solo che vuol dire rubino in inglese.

 

Aspettiamo uno scripter.


183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif


    Daemond
  • Utente avanzato

  • Utenti
  • Rens: 60
  • 2
  • StellettaStellettaStelletta
  • 385 messaggi
  • Sesso:Maschio
  • Abilitā:Esperto


#60 Inviato 19 May 2017 - 15:57 PM

Chi ha detto scripter?

Allora... come prima cosa, inserisci questo come script:
Spoiler

 
Bene, poi, quando cambi una delle variabili, dopo averla cambiata ci metti uno script, con
el = [ARIA, FUOCO, TERRA, ACQUA]
$game_variables[126] = ElementManager::calculate_elements(el)

Al posto di quel 126, ci metti l'id di una variabile vuota, che sei sicura di non toccare mai.
In el, al posto dei nomi dell'elemento ci metti l'id della variabile che contiene il valore di quell'elemento. Ad esempio, mettiamo che tu conservi l'aria nella variabile 1, il fuoco nella variabile 2, la terra in 3, l'acqua in 4
el = [1, 2, 3, 4]

Ok, quindi, ora, quando devi controllare nella condizione SE per sapere quale spicchio mostrare, nell'if, quarta pagina, premi sulla radiobox del campo Script
qPj6Oud.png
 
E lì, come linea di codice, ci metti
$game_variables[126][0] == 1

Quell'126 è l'id della variabile vuota che hai impostato prima, quell'1 è la posizione dell'elemento nell'el di prima(Quindi, in quel caso 1 è il primo elemento, 2 è il secondo... blablabla)
Quello zero, invece, è lo spicchio. Attenzione, non vanno da 1 a 20, ma da 0 a 19.
Questo controllo lo ripeti per ogni spicchio quattro volte, una per elemento, così da dirgli di quale elemento è quello spicchio.
 
Spero di esser stato chiaro

uReusxe.png

QUtwcNw.png

Personaggio R2S PlayByForum: Lumbar.(3/3 PV, 6/6 PA, 15/20 PN)

Inventario: 

Spoiler

Immagini a caso​
Spoiler




  • Feed RSS