Jump to content
Rpg²S Forum

statistiche di base mostrate nella descrizione dell' abilità [mz]


Ischenderun
 Share

Recommended Posts

Autore: io

Requisiti : plugin visustella core (il message sicuro)
Descrizione : se l'abilità è legata a uno o più statistiche di base del personaggio (attacco,difesa ecc.) queste vengono mostrate singolarmente e con totale nella sua descrizione (battaglia e fuori battaglia).

Credit : Visustella

 

Passo 1 : dedicate una variabile di gioco al contenimento di quello che sarà la gestione del totale . Nel caso da me trattato io ho usato la variabile con id 2 dandole il nome : salvo_tot

Codice e posizione : si usa la text macros del plugin message core di Visustella, il codice viene scritto direttamente li

Esempi:
24JHKBZ.png
3X2eUap.png

Procedura : aprire il plugin message core\Text macros
qP90Z9I.png
IHOWzzu.png

Scrivi il nome (questo ti servirà per richiamare il codice dalla descrizione dell'abilità). Elimina quello che trovi scritto in STR: Text. Aggiungi il codice (che troverai sotto l'immagine) nella sezione JS: Text
VRI3YoP.png
Passo 2 : Bisogna creare 7 macro , una per ogni abilità e l'ultima per il totale . Il codice per le abilità è il seguente :

if (!$gameParty.inBattle()){
let x = $gameParty.menuActor().actorId();
for (o = 0; o < 42; o++){
if ($gameActors.actor(x).hasSkill(o)){
let y = $gameActors.actor(x).atk;
let b = $gameVariables.value(2);
let somma = y + b;
$gameVariables.setValue(2,somma);
return $gameActors.actor(x).atk;
}
}
} else {let a = BattleManager.actor().actorId();
let y = $gameActors.actor(a).atk;
let b = $gameVariables.value(2);
let somma = y + b;
$gameVariables.setValue(2,somma);
return $gameActors.actor(a).atk;};

Questo è quello relativo all'attacco . Cambiare ogni 'atk' con la relativa abreviazione per tutte le altre abilità (def,mat,mdf,agi,luk).
Spiegazione codice:
1) controlla se il gruppo non è in battaglia

2) salva in una variabile l'id dell'attore selezionato dal menu

3) ciclo che racchiude tutti gli id del database (o , se volete, solo una parte di esso) abilità (sostituite il 42 con il numero massimo del vostro database abilità + 1 )
4) (il precedente ciclo mi serve per questo controllo). Controlla se l'attore che è stato selezionato dal menu possiede una delle abilità del database

5) salvo il valore attacco dell'attore selezionato in una variabile locale
6) salvo il valore della variabile di gioco con id 2 in una variabile locale (questo mi serve x calcolare il futuro totale)

7/8/9) in pratica aumento la variabile di gioco con id 2 di = suo valore + statistica dell'attore selezionato

10) (il return) restituisco il valore della statistica dell'attore selezionato a quello che sarà il mio comando per richiamarlo .

blocco else = fa le stesse cose delle precedenti istruzioni tranne che considera l'id dell' attore attualmente attivo in battaglia ( . BattleManager.actor().actorId();)
Questo blocco viene usato durante la battaglia.

Codice per il totale :
let a = $gameVariables.value(2);
$gameVariables.setValue(2,0);
return a;


Spiegazione :
1) salvo l'attuale valore in una variabile locale
2) resetto la variabile di gioco con id 2 a zero (altrimenti aumenterebbe di continuo ad ogni selezione)
3) restituisco il valore del totale (prima che venga azzerato) a quello che sarà il mio comando per richiamarlo


In descrizione abilità : Ricordate i return ? , vengono richiamati dai comandi inseriti tra parentesi quadre (che sono anche i titoli che abbiamo dato alle macro). Ovviamente il tutto deve essere coerente con la formula danno da voi inserita
CkxfKNI.png

 

Fine .

 

Precisazione : non sono un programmatore esperto(sto cercando di imparare) e questo codice ha delle evidenti limitazioni (non può fare operazioni e forse è pure molto rozzo).

 

Per i motivi sopra citati chiedo a chi ne sa più di me qualche suggerimento su come migliorare questo codice

☆Polvere di Stelle☆ ora anche su itch.io: https://ischenderun.itch.io/polvere-di-stelle

 

Non ho particolari talenti, sono soltanto appassionatamente curioso.
Siate affamati, siate folli, perché solo coloro che sono abbastanza folli da pensare di poter cambiare il mondo lo cambiano davvero.

Ad maiora semper


HUks2tu.gif

 

Contatto Facebook : https://www.facebook.com/Ischenderun/

Pagina Facebook: https://www.facebook.com/Rpg-Maker-Mv-ed-Mz-100937052104281

 

4753.png

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...