Oh ottimo! Magari si può creare anche uno status zombie su procedimento simile che se mette in negativo la variabile del recovery così da avere danno in stile FF. E:3
#21 Inviato 30 March 2014 - 13:31 PM
(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
disponibile su Google Play, qui i dettagli! ^ ^
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) ^ ^
#22 Inviato 31 March 2014 - 14:00 PM
Esattamente... inutile dire che sostituendo b.state con a.state il gioco controllerà se sarà colui che effettua la skill ad avere quello stato...
AAARGH! COSA E' SUCCESSO
AI TUOI PIXEL, FRATELLO!
I miei trofei!
#23 Inviato 01 April 2014 - 05:31 AM
Non avrei mai creduto che oggetti e skill potessero avere effetti del genere...nemmeno nella guida del programma ci si trova niente. Questo topic dovrebbe essere caldo e appiccicoso forever. Beh, non in quel senso.
Un piccolo contrappunto: per far sì che una skill costi soldi, dovrebbe essere piuttosto:
if $game_party.gold > 500; $game_party.lose_gold(500); 1000; else; 0; end
Altrimenti è possibile continuare a spammare quella skill anche se si è al verde...a meno che nel gioco non ci sia un sistema dove si può andare in rosso e subirne le conseguenze (che ideona, me la devo appuntare da qualche parte)
Modificato da Zoro the Gallade, 01 April 2014 - 06:03 AM.
#24 Inviato 01 April 2014 - 11:43 AM
Cazzarola...
Per avere un costo in oggetti dovrebbe essere qualcosa del tipo:
if $game_party.item_number ($data_item[1]) >= 2; $game_party.lose_item(($data_item[1]), 2); 300; else; 0; end
Dico bene?
Il problema è che non c'è sufficiente spazio nella barra delle formule...
#25 Inviato 01 April 2014 - 12:16 PM
Ouch è vero è limittissimo lo spazio ° °
Non poi tipo creare 2 variabile globali in uno script a caso così:
a = $game_party.item_number ($data_item[1])
b = $game_party.lose_item(($data_item[1]), 2)
e fare if a >= 2; b; 300; else; 0; end
? ^ ^
Sarebbe quindi interessante creare un miniscriptino da configurare per scrivere lì le parti di formule troppo lunghe, più che uno script anzi un tutorial dedicato che spiega come fare! ^ ^
(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
disponibile su Google Play, qui i dettagli! ^ ^
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) ^ ^
#26 Inviato 01 April 2014 - 12:59 PM
Le formule troppo lunghe possono essere raccolte in uno script, e poi possono essere richiamate nella formula del danno. esempio:
class Game_Battler < Game_BattlerBasedef Example_Skill(a, b)
a.atk * 4 - b.def * 2
end
e va chiamata con a.Example_Skill
Modificato da Sieghart, 01 April 2014 - 13:06 PM.
AAARGH! COSA E' SUCCESSO
AI TUOI PIXEL, FRATELLO!
I miei trofei!
#27 Inviato 01 April 2014 - 13:34 PM
Oh era molto più che semplice, perfetto quello scriptino allora, da aggiungere al primo post
^ ^
(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
disponibile su Google Play, qui i dettagli! ^ ^
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) ^ ^
#28 Inviato 01 April 2014 - 13:55 PM
Uh, splendido!
Io stavo pensando di fare le variabili globali per tutti gli oggetti e già piangevo...
#29 Inviato 02 April 2014 - 11:37 AM
Contribuisco anche io!
Skill che infligge più danni con una certa categoria di armi (Es. Salto del Dragoon di Final Fantasy che raddoppia il danno con le lance)
$game_actors[a.actor_id].weapons.any?{|weapon| weapon.wtype_id == 3 }? a.atk*8-b.def*2 : a.atk*5-b.def*2
Forse ho fatto un errorino di sintassi, ma il succo è questo.
Altre formule più semplici ma pur sempre utili sono:
Attacco che riduce gli HP ad 1 (Fallen One di Kefka/Sephiroth):b.hp - 1 (Con zero Variance)
Attacco kamikaze: a.add_state(1); a.hp
Modificato da Zoro the Gallade, 03 April 2014 - 10:00 AM.
#30 Inviato 02 April 2014 - 11:47 AM
Interessante il slato del drago... sarebbe bello anche programmare la parte in cui rimane lontano dal mondo per un turno! E:3
(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
disponibile su Google Play, qui i dettagli! ^ ^
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) ^ ^
#31 Inviato 02 April 2014 - 12:42 PM
Se vale la pena farlo, vale la pena strafarlo, eh? (cit.)
Per quello farei così:
1-Creare uno state in cui il personaggio è "in volo" (non può agire nè essere colpito, quindi PDR, MDR e TGR a 0%)
2-Far sì che la skill "marchi" il bersaglio del salto (Qualcosa come $game.actors[a.actor_id].jump_target = b.id) e metta il personaggio nello status "in volo"
3-Andare in def remove_state e far sì che quando il suddetto status scade, l'actor che ne era sotto l'effetto "atterra" usando la skill e infliggendo il danno al nemico scelto (Metodo Force Action sul nemico "marchiato" dal personaggio se il nemico è ancora vivo, e su un nemico a caso altrimenti).
Modificato da Zoro the Gallade, 02 April 2014 - 14:08 PM.
#32 Inviato 02 April 2014 - 16:11 PM
Belle, ottimo! Prima o poi aggiornerò il primo post, e ci aggiungo anche queste qui
AAARGH! COSA E' SUCCESSO
AI TUOI PIXEL, FRATELLO!
I miei trofei!
#33 Inviato 04 April 2014 - 10:55 AM
Le formule troppo lunghe possono essere raccolte in uno script, e poi possono essere richiamate nella formula del danno. esempio:
class Game_Battler < Game_BattlerBasedef Example_Skill(a, b)
a.atk * 4 - b.def * 2
end
e va chiamata con a.Example_Skill
Solo due piccole correzioni, per chi volesse utilizzare questo scriptino:
Nello script occorre inserire ancora un end alla fine delle formule, per chiudere lo script.
Il callScript, in questo caso, è
a.Example_Skill(a,b)
Modificato da nomorehero, 04 April 2014 - 10:55 AM.
#34 Inviato 04 April 2014 - 17:20 PM
Esatto, chiedo venia :D
AAARGH! COSA E' SUCCESSO
AI TUOI PIXEL, FRATELLO!
I miei trofei!
#35 Inviato 27 January 2015 - 22:02 PM
Vi presento l'ultima skill che ho sfornato!
Come fare? Per prima cosa, nella formula del danno ho scritto:
v[3] = b.index;v[2] = b.gold;a.mat * 4 - b.mdf * 2
La parte in blu è la formula del danno, potete cambiarla come volete.
Ora, leghiamo a questa abilità un evento comune e lo strutturiamo così:
Così facendo, accoppare un nemico che vale pochi soldi ci darà un certo oggetto, ma dare il colpo di grazia ad un nemico che ne vale molti ce ne darà uno molto migliore!
EDIT: Ho trovato un problema: non funziona se il nemico è l'ultimo rimasto in campo...ho risolto usando uno script che permette di eseguire eventi comuni prima della vittoria o della sconfitta in battaglia:
http://www.rpgmakerv...-on-battle-end/
Modificato da Zoro the Gallade, 28 January 2015 - 10:07 AM.
#36 Inviato 28 January 2015 - 01:11 AM
Mi piacciono le skill dorificanti! XD Bel lavoro, pure articolata come skill.
^ ^
(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
disponibile su Google Play, qui i dettagli! ^ ^
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) ^ ^
#37 Inviato 28 January 2015 - 16:25 PM
FURTO
Per eseguire un semplice comando che permetta di rubare denaro al nemico, inserite come formula per l'abilità
$game_party.gain_gold(N); FORMULA
dove N è la quantità di oro che vogliamo venga rubato, mentre con FORMULA si intende la formula per infliggere danno. In caso non volessimo danneggiare l'avversario, ma solo derubarlo, inseriamo 0 come formula.
L'ho fatto ed effettivamente Ruba ma non esce nessun messaggio di testo che dice per esempio "hai rubato 25 $" si può inserire in qualche modo?
e può essere inserito per ogni mostro diverso un valore da (per esempio) 10$ a 50$ da rubare in random?
oppure ancora che ogni mostro ha un tot massimo da farsi rubare e se gli abbiamo già rubato tutto compare un messaggio con scritto che non possiede più nulla?
Non so se si possa fare con il sistema semplice dei call script, illuminatemi =) !
Crystal - La minaccia di Ormul
Mapping 90%
Event 90%
Rpg Maker MV
#38 Inviato 29 January 2015 - 10:13 AM
FURTO
Per eseguire un semplice comando che permetta di rubare denaro al nemico, inserite come formula per l'abilità
$game_party.gain_gold(N); FORMULA
dove N è la quantità di oro che vogliamo venga rubato, mentre con FORMULA si intende la formula per infliggere danno. In caso non volessimo danneggiare l'avversario, ma solo derubarlo, inseriamo 0 come formula.
L'ho fatto ed effettivamente Ruba ma non esce nessun messaggio di testo che dice per esempio "hai rubato 25 $" si può inserire in qualche modo?
e può essere inserito per ogni mostro diverso un valore da (per esempio) 10$ a 50$ da rubare in random?
oppure ancora che ogni mostro ha un tot massimo da farsi rubare e se gli abbiamo già rubato tutto compare un messaggio con scritto che non possiede più nulla?
Non so se si possa fare con il sistema semplice dei call script, illuminatemi =) !
Credo che si possa fare con lo stesso metodo della skill "dorificante" che ho postato poco fa...più qualche altro accorgimento.
All'inizio del combattimento (mettendo un evento comune di inizio battaglia) setterei un insieme di 8 variabili (diciamo 201-208), ciascuna delle quali rappresenta il fatto che il nemico con quell'ID nel gruppo sia già stato derubato di tutto (0) o no, settandole tutte al numero di volte in cui si può derubare ciascun nemico. Per esempio, se nel gruppo il mostro numero 1 è un soldato da cui si può rubare tre volte e i numeri 2 e 3 dei cani da cui si può rubare una sola volta, settiamo:
-Variabile 201 a 3
-Variabile 202 a 1
-Variabile 203 a 1
Poi, nella formula del danno, scriverei...
v[x]=b.id+200;v[y]=b.gold (Formula danno)
E infine collegare la skill a un evento comune che si svolge così:
SE la variabile numero x è maggiore di 0
--Diminuisci la variabile x di 1
--Prendi la variabile y
--Moltiplica la variabile y per un numero random (per esempio, 20-40) e poi dividila per 100. Così rubando si ottiene dal 20 al 40% dei soldi normalmente lasciati dal mostro.
--Aggiungi oro al party in base al risultato
--Mostra messaggio "Hai ottenuto \v[y] soldi"
ALTRIMENTI
--Mostra messaggio "Il nemico non ha soldi"
Fine
Modificato da Zoro the Gallade, 29 January 2015 - 10:32 AM.
#39 Inviato 30 January 2015 - 19:51 PM
b.restriction = 4 ? a.atk*30 -b.def*2 : a.atk*4 -b.def*2
Skill "assassina" che infligge danni supermassicci se il bersaglio è incapace di muoversi (Addormentato, stordito o paralizzato)
#40 Inviato 31 January 2015 - 14:31 PM
class Game_Battler < Game_BattlerBase def formula(id, a, b, *extra) case id when 1 # formula personalizzata 1 when 2 # formula personalizzata 2 # when NUMERO end end endche poi richiamo con a.formula(numero,a,b).
La variabile *extra è un array dinamico con cui si possono aggiungere valori facoltativi da usare nelle formule. Questo si rivela utile quando più skill utilizzano la stessa formula ma con valori diversi
Esempio: Questa è la formula per un attacco normale nel mio progetto:
a.atk * (extra[0].nil? ? 4 : extra[0]) - a.def * (extra[1].nil? ? 2 : extra[1])Se voglio cambiare i moltiplicatori di attacco e difesa mi basterà fare:
a.formula(1, a, b, 10, 3)senza dover riscrivere di nuovo la formula. E se vorrò cambiare la formula in un secondo momento dovrò semplicemente riscrivere una riga.
Ho voluto condividerlo, potrebbe tornare utile a qualcuno. :D
~ Retrolexip
~ Lex, l'amichevole omino pixelloso di quartiere!