-
Posts
835 -
Joined
-
Last visited
Community Answers
-
Ischenderun's post in YEP_X_AnimatedSVenemies, problema con le ombre was marked as the answer
Per la centratura puoi agire al contrario, regolare l'ancoraggio dello sprite con il notetag : <Sideview Anchor X: y.z>
Per la sgranatura potresti fare l'ombra di default più grande (adatta a nemici grandi) e ridimensionare l'ombra per i nemici più piccoli. In ridimensionamento non dovresti avere quell'effetto di sgranatura
-
Ischenderun's post in Trasformazioni tramite Mp/Tp was marked as the answer
Mi pare di aver capito che stai usando i plugin e i tip and tricks di Yanfly per ricreare questa meccanica.
Se è così, puoi inserire, al di sotto del codice che hai inserito sulla nota dello stato, questo altro tag con il codice che trovi sotto.
Nota: sostituisci stateId con l'id dello stato relativo alla trasformazione. Sotto al codice pulito troverai la spiegazione.
<Custom Regenerate Effect> var perditaMP = Math.floor(user.mmp * 0.10); if (origin.isAlive() && origin.mp > 0) { origin.gainMp(-perditaMP); origin.startDamagePopup(); origin.clearResult(); } else { origin.removeState(stateId); } </Custom Regenerate Effect> Spiegazione:
<Custom Regenerate Effect>
// definisci la perdita in mp. Qui la perdita percentuale è del 10%
var perditaMP = Math.floor(user.mmp * 0.10);
// controllo se il personaggio è vivo e se ha abbastanza mp per pagare il costo
if (origin.isAlive() && origin.mp > 0) {
// se le condizioni sopra sono vere allora il personaggio trasformato perde mp pari al valore che abbiamo definito sopra.
origin.gainMp(-perditaMP);
// appare pop-up dei pm che vengono spesi
origin.startDamagePopup();
// aggiorna il personaggio (nessun effetto particolare, solo una cosa tecnica)
origin.clearResult();
} else {
// Altrimenti, se il pg è a terra oppure non ha abbastanza mp, lo stato si cancella.
origin.removeState(stateId);
}
</Custom Regenerate Effect>
-
Ischenderun's post in Status a turni come regolarli? was marked as the answer
Figurati, è stato un piacere.
Come regola generale diciamo che i Core vanno posizionati sempre in alto e che il primo, nel caso di Yanfly, deve sempre essere l'engine core.
Lo stesso vale per tutta la serie di plugin degli altri sviluppatori.
Quando un plugin richiede un altro plugin occorre inserire il plugin richiesto sopra il plugin richiedente.
Purtroppo il posizionamento dei plugin per Mv (specie nel caso di Yanfly) può essere un pò caotico
-
Ischenderun's post in Problema con importare i file dal programma was marked as the answer
le immagini devono essere in png. Per la grandezza non hai un vero e proprio limite ma mantieniti in grandezze che puoi inserire a schermo senza coprire altre cose o uscirne fuori. Salva il file dentro la cartella enemies e dentro la cartella sv_enemies, così potrai usare sia la vista frontale che quella laterale.
-
Ischenderun's post in Status Fragilità was marked as the answer
Dinamica:
Ho uno status Fragilità che permette all'abilita Distruzione di uccidere il bersaglio all'istante se i suoi hp sono inferiori al 50%, inoltre mi fa ottenere un oggetto (in questo caso una pozione).
1) Crea lo status. Di base non ha bisogno di nulla ma se vuoi puoi aggiungere quello che vuoi. Ricordati l'ID dello status, ti servirà in seguito per la formula.
2) Creiamo l'abilità Distruzione (quella che prevede la dinamica sopra descritta). Nella barra della formula devi inserire il seguente codice Javascript :
if(b.isStateAffected(11) && b.hpRate() < 0.5){$gameParty.gainItem($dataItems[7],1);$gameMessage.add("Ottieni:pozione");b.hp}else{10} Spiegazione del codice:
if(b.isStateAffected(11) && b.hpRate() < 0.5).....
Questa parte mi crea le condizioni: se il bersaglio(b) è affetto dallo stato Fragilità (ID 11) e (&&) il bersaglio ha meno del 50% di hp
allora ....
{$gameParty.gainItem($dataItems[7],1);$gameMessage.add("Ottieni:pozione");b.hp}
La prima parte sino al punto e virgola prende l'oggetto dal database (sempre tramite ID, non dimenticarlo) e la sua quantità (il numero dopo la virgola). Nel mio caso si tratta di una pozione.
Mettiamo un messaggio per avvisare il giocatore di questo gradito bottino ($gameMessage.add("Ottieni:pozione")).
Infine togliamo tutti gli hp al bersaglio (b.hp). Ci sono anche altri modi per fare questo, come infliggere il primo stato che è quello della morte ma questo è quello più breve.
Altrimenti (se le condizioni sopra non sono state soddisfatte)
else {10}
*Nota: io ho messo 10 per restringere la formula e permetterti di leggerla ma potevi anche mettere il classico a.atk-b.def ecc. ecc.
3) Crei l'abilità che deve infliggere lo status, anche qui puoi personalizzarla come vuoi. La cosa importante è che deve fare riferimento allo status con : aggiungi status Fragilità.
-
Ischenderun's post in Memorizzare e richiamare ordine party was marked as the answer
prova questi script:
Evento che rimuove i membri:
memorizza in una variabile i membri del party con lo script
$gameParty.members(); rimuovi i membri.
Evento che reinserisce i membri in ordine:
$gameVariables.value(x).forEach(function(actor) { $gameParty.addActor(actor._actorId); }); dove x è la variabile utilizzata come contenitore.Esempio degli eventi :
qui ho usato la variabile di gioco con id 1 come contenitore
-
Ischenderun's post in Disabilitare temporaneamente un comando del menu was marked as the answer
Menu Item abilitato tramite oggetto
Dunque . Premesso che ho cercato un modo semplice per fare la cosa ti dico solo la c.. fesseria delle ore 23 : 30 circa
Pillola blu : devi usare il codice javascript dentro il plugin . Pillola rossa : stessa cosa ma è alla fragola .
Passiamo a cose serie :
Requisiti : Plugin EngineCore e MainMenuCore Visustella (tutti i diritti sono riservati ecc. ecc..)
1) Eventi comuni :
- in un evento comune vuoto imposta il valore di una variabile di gioco vuota a 0 (nomina entrambi con nomi che ti ricordano cosa fanno)
2) Plugin Engine_core
- qui dobbiamo dire cosa vogliamo che accada all'inizio del gioco , ovvero che la variabile mostra menu oggetto sia 0 , facciamo questo richiamando
dal plugin l'evento comune ad OGNI INIZIO GAME
3) Plugin MainMenuCore
- E qui arriva la parte più ostica se non mastichi codice
- dovrai fare una piccola modifica dentro il codice del plugine del menu
(in caso copia/incolla quello che ti metterò sotto l'immagine .
ATTENZIONE : e' fondamentale che tu metta il codice nel posto giusto
Codice per copia incolla :
if ($gameVariables.value(4)>0) { return this.needsCommand("item"); }else{ return false; } spiegazione :riga 1 : se(if) il valore contenuto nella variabile di gioco con ID* 4 è maggiore di 0
riga 2: fai partire il comando per abilitare il menu per gli item (oggetti)
riga 3 : Altrimenti (else)
riga 4 : nessun ritorno (return false)
*cosa è l'id? : è la posizione che occupano oggetti, armi, armature ecc. Dentro il database. Se usi codice annotati sempre gli id relativi
4) Evento vuoto in parallelo
- crea un evento vuoto (senza immagine) in una posizione della mappa non praticabile dal giocatore e allo stesso tempo in un posto che puoi subito individuare
- Nominala per favore
- crea al suo interno una diramazione condizionale che controlli se il gruppo possiede l'oggetto che intend dare per far apparire il menu , io ho usato una pozione
- Mi raccomando l'evento deve essere in parallelo
- una volta che la prima pagina dell'evento ha eseguito il suo compito (accertarsi che l gruppo abbia l'oggetto , dovrà essere disabilitata
con l'ausilio degli interruttori interni . Segui gli esempi delle due pagine in immagine
di seguito diramazione condizionale + prima e seconda pagina dell'evento
5) crea l'evento che fornirà l'oggetto al giocatore :
Ad inizio gioco :
Dopo aver ottenuto l'oggetto che mi abilita il menu Item :
Per il resto delle cose per adesso prova tu , seguendo quello che hai visto qua , se poi non riesci mi dici cosa hai provato e vedrò di aiutarti