Jump to content
Rpg²S Forum

crismon.trident

Utenti
  • Posts

    31
  • Joined

  • Last visited

Posts posted by crismon.trident

  1. Per chi fosse interessato a questo argomento posto i risultati dei test ad alti livelli di questo sistema di danno:

    la formula di danno va modificata da:

    if(a.isClass(5)||a.isClass(6)){v[3]=a.level} else if (a.isClass(1)||a.isClass(2)){v[1]= a.level /2} else if (a.isClass(3)||a.isClass(4)||a.isClass(7)){v[1]= a.level /3}; v[3]=v[4]; v[3]=0; v[4] + a.atk - b.def + b.agi/2

    a:

    if(a.isClass(1)||a.isClass(2)){v[3]=a.level*2} else if (a.isClass(3)||a.isClass(4)||a.isClass(7)){v[1]= a.level} else if (a.isClass(5)||a.isClass(6)){v[1]= a.level *3}; v[3]=v[4]; v[3]=0; v[4] + a.atk - def +b.agi/2

    Questo perchè mentre il livello arriva solo fino a 99 l'agilità arriva fino a 999, il che ad alti livelli, ipotizziamo al 99° ad esmpio: sia avrà un valore di 499 (di base) in aggiunta alla difesa del difensore, mentre solo un +99 al danno, si capisce bene che poi questo bonus all'attacco (danno) ad alti livelli perderebbe del tutto il suo valore.

  2. Ciao a tutti, non mi ricordo come si visualizza l'immagine del giocatore seduto, intendo nell'animazione della mappa, mi sembrava fosse un'opzione di percorso, ma se fosse cosìi non ricordo quale, e se non lo fosse non riesco più a farlo...

  3. La versione che uso è la 1.5.1 di MV.

    Il funzionamento è ottimo solo vanno parametrate un tot di cose anche nella creazione di nemici:

    I nemici di base non hanno ne un livello ne una classe, perciò quando si creano va considerato che l'abilità ATTACCO è comune a tutti, mostri compresi: quando si imposta l'attacco del mostro va calcolato anche il valore da aggiungere manualmente, poichè non avendo ne una classe ne un livello la formula per i mostri risulterebbe incompleta dato che i valori mancanti vengono calcolati 0.

    PS: Può essere che alcuni plugin modifichino la formula del danno e vadano settati.

  4. Premetto che io uso MV, ma supponendo che sia simile e tu sai gia come fare una porta cercherò di spiegare come farlo:

    1. Crea la porta come la fai di solito (su MV c'è l'opzione che te la crea in automatico) una volta creata , apri l'oggetto e vai nella pagina dove vi è la descrizione del percorso, la disssolvenza e lo spostamento del giocatore, queste sono le tre cose che ci interessano per il momento.
    2. Elimina la dissolvenza e la desinazione del giocatore (cancellale prorprio).
    3. Crea un'altra pagina uguale a quella che hai appena modificato( che a questo punto conterrà solo la descrizione dell'animazione dell'APERTURA della porta e il rumore della stessa che si apre).
    4. Modifica l'animazione step per step (l'animazione  è fatta con la rotazione di immagini, dovrebbe bastare riprodurlo alla rovescia per riprodurre la chiusura), invertendo le direzioni che servono a creare l'animazione di questa pagina. Cosi facendo tanto per capirci hai una pagina con l'animazione della porta che si apre e una della porta che si chiude.
    5. Ora devi creare un evento nel tile davanti alla porta, e dovrai impostarlo in maniera che il personaggio possa andarci sopra (su MV l'opzione è "Al di sotto del personaggio) e che l'attivazione sia che si attiva quando il giocatore ci va sopra (in MV è "Tocco giocatore"), a questo punto nella pagina crea due switch,ES. "Apertura porta X","Chiusura porta X" e imposti su ON "Apertura porta X" e su OFF "Chiusura porta X" in maniera che ogni volta che il giocatore calpesta il tile l'interruttore "Apertura porta X" diventi ON e "Chiusura porta X" diventi OFF.
    6. Crea un altro evento come quello precedente, ma con con gli interruttori invertiti, quando il personaggio lo calpesta: "Apertura porta X" = OFF, "Chiusura porta X" = ON e posizionalo facendone delle copie attorno a quello davanti alla porta.
    7. Ora fai in modo che la pagina con la'nimazione della porta che sia apre (quella originale) si attivi con l'accensione dell'interruttore "Apertura porta X" ( in MV c'è l'opzione apposta) e la pagina con l'animazione della porta che si chiude si attivi con l'attivazione dell'interruttore "Chiusura porta X".
    8. A questo punto devi impostare tutto l'evento della porta in modo che sia calpestabile, ovvero che il personaggio possa andarci sopra e attraversarlo.
    9. Infine crea un altro evento, posizionalo attacato alla porta dall parte opposta a dove passerà il giocatore, ovvero in maniera che per andarci sopra il giocatore debba attraversare la porta, impostalo in maniera che si attivi quando il giocatore ci va sopra (Al di sotto del giocatore, Tocco giocatore per MV). Nella pagina di questo evento imposta come prime 2 cose "Apertura porta X " = OFF , "Chiusura porta X " = ON (in maniera da rimettere la porta nella posizione di chiusa) e per  ultima imposta il cambio mappa come più ti piace.

    NB: E' importante che ogni porta abbia i suoi interuttori personali se si vuole che ogni porta sia indipendente e si apra solo lei quando gli si passa davanti , poichè sei si usano gli stessi interruttori per più porte si avrà il risultato che tutte le porte che usano quegli interuttori siano collegate e vengano aperte o chiuse anche quando si passa davanti ad un altra porta.

     

  5. O

    On 10/22/2024 at 10:31 AM, Waldorf said:

    Se definisci una variabile come var attaccoHarold = a.atk, sparisce alla fine dell'esecuzione del codice (quando lo "scope" finisce).

    Però se vuoi creare delle variabili semipermanenti, ti basta mettere un $ all'inizio del nome:
    var $attaccoHarold = a.atk
    Queste spariscono solo quando chiudi la finestra di gioco

    Riguardo la questione di sovrascrivere variabili con più personaggi, si potrebbe ad esempio salvare il valore in variabili diverse a seconda del personaggio, ad esempio con un: \V[a.id] = a.atk, che salva il valore nella variabile corrispondente all'ID. (ES: se harold è ID 1 la salva nella var1).
    Si possono mettere condizioni nelle formule di danno, quindi ci sono molti modi per verificare chi sta attaccando.

    Ottimo ... grazie mille, ora dovrei riuscire a fare quello che avevo in mente.... 

  6. Salve ragazzi, avrei necessità di creare un effetto che condivida il danno subito da un giocatore con un altro, ho trovato in "Tips & Trikcs"  il modo di condividere le cure ricevute, utilizzando il  plugin "buff e State core", tramite il lunatic mode:

    <Custom React Effect>

    if (value < 0) {

    var heal = Math.floor(value * 0.5);

    origin.gainHp(-heal);

    origin.startDamagePopup();

    origin.clearResult();

    }

    </Custom React Effect>

     Vorrei sapere se c'è un modo per modificarlo in maniera che non siano le cure ricevute, ma bensì i danni subiti a essere ripartiti...

    In poche parole per chi volesse vedere come funziona l'esempio di condivisione cure che ho trovato, lo può vedere a questo link:"Healing link".

    Pensavo a una cosa del tipo:

    <Custom React Effect>

    if (value > 0) {

    var damage = Math.floor(value * 0.5);

    origin.gainHp(damage);

    origin.startDamagePopup();

    origin.clearResult();

    }

    </Custom React Effect>

    In oltre se non ho capito male, così facendo, conferirei un tot di danno subito al personaggio che ha castato lo status, senza toglierlo a quello che ha lo status (che subisce il danno), mi servirebbe che il danno venga ripartito, esempio:

    Harold lancia lo status su Therese: tutti i danni che Therese subisce vengono divisi tra Harold e Therese (però divisi, quindi Harold subisce metà dei danni). 

     

     

     

  7. Ottimo e giusto per sapere, se uso il codice (var attaccoHarold= user.atk), la variabile resta in memoria per quanto, mi spiego meglio:

    io realizzo un codice che assegni e elabori queste variabili, poi queste restano in memoria con quella designazione fino a che non vengono cancellate/riscritte oppure a fine codice vengono cancellate?  

  8. Salve ragazzi,

    avrei alcuni dubbi,

    1) Se in una formula di danno uso una variabile, stabilendola con il sistema:  

    V[X]= a.atk: la varibile vine immagazzinata nella variabile N°8 del database, per capirci quelle a cui è possibile assegnare/visualizzare il nome nella creazione di eventi con il pulsante "Variabili di controllo", per tanto ogni volta che  quella variabile viene usata, verrà riscritta se viene assegnata e quando la si richiama viene richiamato l'ultimo valore che le è stato assegnato, il che comporta che se servono svariate e diverse variabili  si debba tenerne conto nella creazione del database delle variabili, esempio:

    Se assegno alla variabile 1 il valore dell'attacco che ha Harold, assegnando ad Harold un Abilità con Formula  danno:  V[1]=a.atk....), questa resta in memoria finchè non viene riscritta, per tanto se dovessi assegnare quella abilità ad un altro personaggioad esempio Therese  e ovviamente usando l'abilità, la variabile V[1] verrebbe riscritta e si perderebbe il primo valore, in questo caso l'atacco di Harold, che verrebbe riscritto da quello d Therese, in poche porole converrebbe ogni volta che si crea assegna una variabile con il sistema V[x], assegnnre alla variabile corrispondente nel database (Variabili di controllo) il nome della varibile, al fine di evitare il sovrapporsi di delle varibili usate nelle varie formule del danno. 

    Giusto?

    2)Se invece uso il javascript dei plugin (dove possibile) e la assegno con il sistema: 

    var attacco_Harold=User.atk; : dove viene salvata la variabile?  

  9. Rieccomi ho riadattato un po le cose e mi ritrovo con problema simile a quello precedente: dovrei creare una pergamena che aggiunga o tolga abilità,livelli, ecc al personaggio che la utilizza, come faccio a definire il "target" come l'utilizzatore della pergamena, esempio:

    Pergamena livello +1 = aumenta di 1 livello chi la utilizza.

    Harold utilizza "Pergamena Livello +1"=>Harold aumenta di 1 Livello

    Therese utilizza "Pergamena Livello +1"=>Therese aumenta di 1 Livello.

    Nelle opzioni prestabilite questa opzione non c'è e l'unica opzione è specificare l'attore, o una variabile, io pensavo appunto di sfruttare questo secondo modo, definendo come Varibile, l'attore utilizzatore, e usando l'ozione per imparare/dimenticare abilità, caratteristiche, ecc., cambiare cio che mi serve  indicando come soggetto della modifica non un attore specifico ma quello che che legge la pergamena.

  10. Salve ragarazzi, volevo valorizzare, nel bene e nel male l'atacco base delle classi, per farlo avevo pensato adun sistema alla D&D 3.0:

    Bonus attacco base= dato dal livello di classe per il moltolicatore di classe :

    1 Guerriero/Ladro

    1/2 Barbaro/Monaco/Bardo/Ladro

    1/3 Druido/Chierico/Stregone/Mago

     

    La formula del danno che avevo pensato era:

    "If (a.isClass(5) || a.isClass(7)){v[1]=a.level}

    Else if (a.isClass(1) || a.isClass(3) || a.isClass(6)) { v[1]= a.level /2}

    Else { v[1]=a.level/3};

    V[1]=v[2]; v[1]=0; v[2] + a.atk - b.def + b.agi/2"

     

    Secondo voi puo' funzionare?

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

  11. Ma se volessi mettere un valore acquisito nella formula del danno in una variabile di quelle definite, per spiegarci, quelle a cui puoi dare un nome e utilizzre negli eventi, come faccio? Non ho capito se v[1], v[2], ecc, corrispondono rispettivamente a quelle o sono altre?

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

  12. Ciao a tutti!

    Vorrei creare un'abilita' che faccia assorbire al personaggio parte dei danni subiti dagli altri membri del party.

    Per far questo mi servirebbe sapere come calcolo i danni subiti dal party in quel turno?

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

  13. Praticamente non puoi aggiungere alla fine della formula

    ; v[1]=0; v[2]=0

    perché solo l'ultima posizione dopo ; è utile per calcolare il danno, giusto?

    Però puoi usare un trucco:

    v[2] = a.hp; v[3] = v[1]; v[4] = v[2]; v[1] = 0; v[2] = 0; a.atk + v[3] + v[4] - b.def

    in pratica salvi nelle variabili 3 e 4 i valori di 1 e 2, poi azzeri e usi i valori di 3 e 4 nella formula. Quando riuserai Vendetta sia 3 che 4 verranno impostati dalla formula prima del danno così non dovresti avere problemi di azzeramento per loro.

    ^ ^

    Esatto!!! Grazie mille!!! Dopo lo faccio!!!

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

  14. Ciao a tutti, vorrei creare un'abilita che con un attacco restituisca tutti o parte dei danni subiti dal personaggio nei round precedenti.

    Per farlo ho seguito questo schema:

     

    1) Con la prima abilita' (in questo caso Taunt), oltre a fare tutte le altre azioni previste dall'abilita', assegno alla variabile 1 gli Hp del personaggio con la formula:

    "v[1]=a.hp".

    2) Col la seconda abilita' (in qusto caso vendetta, come per la prima, ma assegno gli hp attuali alla varibile 2, e con la formula:

    "v[2]= a.hp; a.atk + v[1] + v[2] - b.def"

    restituisco il danno subito.

    Quello che vorrei e' che quando venga usata l'abilita' "Vendetta" i danni da restituire si azzerassero, i pratica dovrei o cancellare o resettare a 0 le variabili v[1] e v[2].

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

  15. Io andrei a cambiare questo metodo in rpg_objects, nella parte del BattlerBase

     

    Game_BattlerBase.prototype.paramPlus = function(paramId) {

    if (paramId == 0 && this.isStateAffected(x)) {

    return this._paramPlus[paramId] + this.param(3);

    }

    return this._paramPlus[paramId];

    };

     

    Ovvero che tra i parametri "addizionali" aggiunge il parametro 3 (difesa fisica) al parametro 0 (HP) se possiede lo status numero x.

    L'idea mi piace ma devo chiederti un paio di delucidazioni sullo script, scusa la mia ignoranza ma alcune cose le sto imparando adesso.

    1) Devo metterlo nella formula del danno?

    2)"paramID" va sostituito con cosa? Perche' nn capisco il punto in cui dice :"paramId == 0", mi sarebbe venuto da pensare che andasse sostituito con MHP, ma gli MHP nn partono da 0...

     

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

  16. Salve a tutti, Mi chiamo Davide e ad un po' lavoro a un progetto che per il momento e' in fase di strutturazione, ma appena avro' qualcosa di piu' certo mi piacerebbe condividerlo per creare qualcosa assieme.

    E' la prima volta' che mi iscrivo a un forum di making, noostante abbia gia' famigliarita' con gli ambienti delle comunity.

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

     

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

  17. Salve a tutti, Mi chiamo Davide e ad un po' lavoro a un progetto che per il momento e' in fase di strutturazione, ma appena avro' qualcosa di piu' certo mi piacerebbe condividerlo per creare qualcosa assieme.

    E' la prima volta' che mi iscrivo a un forum di making, noostante abbia gia' famigliarita' con gli ambienti delle comunity.

     

    Inviato dal mio SM-G780G utilizzando Tapatalk

×
×
  • Create New...