-
Posts
29 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Renato
-
-
Fantastico!
Era proprio quello che cercavo, stavo vicino a chiedere se si potesse fare :smile: -
Ho provato con diversi script, ma senza risultati
-
intendevo se si potesse fare con le variabili interne, ma dopo diversi tentativi ho capito che tramite una condizione non si può gestire tutto l'evento, poiché se l'evento viene inserito nella parte in cui la condizione si avvera funziona sempre, anche quando non si avvera, nel caso contrario, in cui venga inserito dopo else capita con quasi tutti gli script che ho provato che da un errore nel game interpreter, in un caso mi è successo che l'errore lo dava finché la condizione si verificava, quando la condizione smetteva di verificarsi segnalava lo stesso errore dell'interpreter
EDIT: per interne intendo interne allo script, comunque ho provato con variabili create nello script, variabili di base, variabili in altri script e anche con la variabile dei soldi (non si sa mai), ma niente
-
Si, ho messo notifica immediatamente, però ho appena notato che ci sono le opzioni per le notifiche e non c'erano le spunte sui quadratini, adesso ho messo il segno su quasi tutto, credo di aver risolto...
Aspetterò che qualcuno risponda ad un post, così ne avrò la certezza.
Grazie per la risposta!
-
Ok, scusate per il triplo post, è per renderlo visibile...
Oggi per la fretta di andare a lavoro non avevo fatto caso ad una parte dello script, ma ora con calma ho trovato la soluzione definitiva, ovvero:Poiché la definizione di morte è già definita negli script di base del gioco, riscriverla causa ovviamente un conflitto, quindi bisogna eliminare tutta questa parte o farla diventare un commento:
class Game_BattlerBase
#--------------------------------------------------------------------------
# * Overwrite method: refresh
#--------------------------------------------------------------------------
def refresh
state_resist_set.each {|state_id| erase_state(state_id) }
@hp = [[@hp, mhp].min, 0].max
@mp = [[@mp, mmp].min, 0].max
die if @dying && !immortal?
return if @dying
valid = @hp == 0 && !immortal?
valid ? add_state(death_state_id) : remove_state(death_state_id)
end#--------------------------------------------------------------------------# * Alias method: element_set#--------------------------------------------------------------------------alias :element_set_ve_animated_battle :element_setdef element_set(item)element_set = element_set_ve_animated_battle(item)element_set += poses.element_flagelement_set.compactendendOvviamente bisogna anche eliminare l'altra parte che crea il problema, ovviamente se la morte è definita di default per rendere invisibile un battler che subisce questo stato è inutile chiamare una posa che lo gestisca, come è inutile chiamarne una per quando questo stato viene rimosso, di base il battler ritorna, quindi è meglio eliminare tutta la parte che gestisce la posa della morte e della resurrezione, quindi basta eliminare o far diventare commento anche questa parte:
#--------------------------------------------------------------------------# * Alias method: die#--------------------------------------------------------------------------alias :die_ve_animated_battle :diedef diereturn @dying = true if immortal?poses.call_pose(:die, :clear)@dying = falsedie_ve_animated_battleend#--------------------------------------------------------------------------# * Alias method: revive#--------------------------------------------------------------------------alias :revive_ve_animated_battle :revivedef revivecall_pose(:revive,:clear)endAdesso funziona alla perfezione!!!!!!!PS: ci sono anche alcune piccole imperfezioni grafiche derivanti dallo script di Yanfly Ace Battle engine che ho corretto:modificaredx = 0; dy = 0; dw = 0condx = 0; dy = - 25; dw = 0perché i numeri che indicano il danno viene troppo attaccato al personaggioe modificare:bh = Font.default_size * 3conbh = Font.default_size * 4perché altrimenti viene tagliata la parte superiore dei numeri che indicano il dannoFinalmente risolto tutto!!!!!!!!!!! ^ ^ -
Purtroppo ho notato un altro bug, il metodo che ho descritto poco fa è valido solo se viene inflitto lo stato di morte da un attacco, e non se è provocato da danni, nell'ultimo caso il combattente rimane ancora invisibile, cercherò al più presto di trovare una soluzione anche a questo
-
Di niente ^_^
-
Ciao ragazzi,
ho un problemino con il forum, quando qualcuno scrive in un topic che seguo non mi arriva nessuna notifica, quindi se qualcuno risponde ad un post che mi interessa non me ne accorgo, come posso risolvere?
-
Grazie per avermelo fatto notare
Per non avere nessun errore basta sostituire:
call_pose(:revive, :clear)
con:
poses.call_pose(:revive,:clear)
Solo che c'è un problema, il personaggio rimane invisibile, ora sto cercando una soluzione, ma sono ancora in alto mare, mi viene in mente una possibile soluzione ma non so come attuarla:
Inserire nel database, all'interno della scheda stati, tra le caratteristiche "effetto morte: non scompare" (si trova in altro)
E fin qui nessun problema
Poi la soluzione che vorrei trovare è creare una dissolvenza al 100% per lo stato della morte, avevo trovato uno script che permetteva di creare effetti agli stati, ma non lo riesco più a trovare o comunque fare qualcosa di simile...
Però è straziante che dopo tutta questa fatica a cercare soluzioni per creare un gioco decente, poi doversi fermare per un dettaglio così banale, ma essenziale per la riuscita del gioco -_-
EDIT: Ho letto sul blog dello scripter che il bug è noto, ma che non ha tempo per risolverlo, ma appena avrà tempo lo sistemerà, scritto il 19 Aprile
EDIT: Ho trovato la soluzione, non so perché ma ogni volta che c'è qualcosa che non va, eliminandola si risolve sempre il problema ^_^
è vero che c'è un errore nel chiamare la posa, e che quindi non è call_pose ma poses.call_ pose, ma è una dicitura completamente inutile, quindi va eliminata, in più qualche riga sopra c'è il richiamo alla posa della morte, che è ancora più inutile, dato che rpg lo fa di base, quindi eliminando solo questa riga
poses.call_pose(:die, :clear)
si ottiene l'effetto corretto, ovvero, quando un personaggio muore scompare e quando ritorna in vita riappare normalmente, senza intoppi
Mi sono dovuto studiare gli script di default per arrivarci, ma ne è valsa la pena, ti ringrazio ancora per la segnalazione, mi ero proprio dimenticato di testare la resurrezione, se me ne fossi accorto tra qualche mese a gioco completo ci sarei rimasto malissimo
-
Grazie a tutti quanti, mi sto trovando veramente bene e con il supporto, diretto o indiretto, di moltissimi utenti del forum sto imparando tantissime cose e finora ho trovato soluzione ad ogni dubbio o problema trovato finora...
Rispondo solo ora perché non mi ero accorto che qualcuno mi avesse risposto alla presentazione ^_^
Un compositore, magnifico! Benvenutissimo! :smile:
Beh, si, è la mia passione, compongo sia canzoni da suonare, sia canzoni fatte al pc...
Purtroppo l'errore di cercare di comporre musica classica con più di 500 strumenti con reason mi ha mandato in corto circuito la scheda audio, quindi la scheda madre si è di conseguenza bruciata, ma appena avrò qualche risorsa economica in più, mi degnerò di acquistare un nuovo pc (quello che sto utilizzando non è proprio il massimo) e una volta acquistati anche i programmi per creare la musica, creerò anche basi adatte agli rpg, così potrò finalmente rendermi utile in qualche modo anch'io all'interno del forum ^_^
-
Grazie, sono contento di aver trovato una soluzione, in maniera un po' casuale, ma mi ha fatto capire alcune cose.
Per quanto riguarda disattivare uno script quindi, se si crea una variabile all'inizio dello script e si imposta a 0 e si crea una if che lo ricopre tutto (se la variabile è uguale a 0 lo script funziona, altrimenti no), poi comunque si può disattivare e riattivare a piacimento tramite eventi cambiando il valore di quella variabile, o sbaglio?
*_* mi si sta aprendo un mondo! -
Risolto anche questo enigma...
Questo potrebbe essere molto interessante per tutti quelli che intendono usare questi 2 fantastici codici:
Per utilizzare contemporaneamente gli script Victor Engine - Animated Battle e Yanfly - Ace Battle Engine
Bisogna aprire lo script di Yanfly (che va inserito nella voce Materiali al di sopra degli script di Victor) e cancellare (o far diventare commenti) le seguenti stringhe:
#--------------------------------------------------------------------------# new method: sprite#--------------------------------------------------------------------------def spriteindex = $game_party.battle_members.index(self)return SceneManager.scene.spriteset.actor_sprites[index]endUtilizzando la ricerca dei caratteri all'interno degli script per trovarli si può cercare con:"new method: sprite" (senza virgolette)e ne appariranno due all'interno dello script di Yanfly che ci interessa, bisogna selezionare il primo ed annullare quelle stringhe(il contenuto di queste stringhe viene modificato dallo script di victor, quindi non si perde nulla del codice, a parte quel brutto bug!!!!!) -
Ok, ho trovato una buona soluzione, che con molta sincerità mi ha lasciato sorpreso, ho fatto una piccolissima modifichina allo script di yanfly per renderli compatibili:
# dh = Graphics.height - SceneManager.scene.command_window.y# dh -= SceneManager.scene.command_window.heightnon ho ben capito queste 2 stringhe a cosa servano, ma basta toglierle per far funzionare tutto, anche i negozi funzionano a meraviglia ^_^all'inizio mi segnava un'altra stringa come errore, ma ho creato una mega if su tutto l'intero script (che ovviamente non ha funzionato, ma lavorerò per farla funzionare) e mi sono venure quelle 2 righe come errori (prima una e poi l'altra) ho provato ad eliminarle ed il gioco è fattose soluzioni più semplici a volte sono le migliori -
"Disattivare" temporaneamente uno script è impossibile, ma si può aggirare il problema incompatibilità a volte...
Mi è venuta in mente una possibile soluzione, ma credo sia molto più complicato di quello che penso, ovvero:
inserire nella prima riga:
if $game_switches[0005] = false
alla penultima else
e all'ultima end
ma come da aspettativa mi ha dato errore: undefinited method "[ ] =" for nil:NilClass
sto cercando di studiarmi un modo per riuscirci, però devo capire come inserirlo bene, ma credo sia possibile in un qualche modo
Eh, è un bel problema, in quanto la banca di Dekita è un "negozio" modificato e lo shop di Yanfly agisce proprio sui negozi...
Temo che dovrai per forza di cose rinunciare ad uno dei due...
Uhm... Nel caso non riuscissi a creare uno swich (o una variabile) capace di annullare uno script o una parte a mio piacimento durante il corso del gioco...
Sarebbe un bel problema, potrei comunque provare a fare una copia degli script di base riguardanti il negozio, rinominarli e rinominare allo stesso modo tutte le classi, metodi e variabili...
il lavoro sarebbe epico, ma non è detto che funzioni... tentar non nuoce ^_^
Chiedi a Dekita di renderlo compatibile magari :)
Ottima idea, anche se sono sicuro che ci abbia già pensato e che sia difficile anche per lui e che se dovesse trovare una soluzione la pubblicherebbe subito, nel frattempo che mi risponde o che trova una soluzione intanto provo a trovare una soluzione alternativa ^ ^
Ringrazio ancora tutti per l'attenzione e per l'impegno che mettete nel cercare di aiutarmi
-
Sono rimasto generico poiché il problema mi si è presentato in più occasioni, (speravo in un qualcosa che ad esempio potesse inserire un "=begin" alla prima riga ed un "=end" all'ultima per poi toglierli, ma immaginavo fosse assurdo ^_^ ) dunque, ho fatto una selezione degli script da scartare che ritengo carini ma non necessari al progetto, ed effettivamente di script di cui ho proprio tanta necessità non ci sono, gli unici che mi piacerebbe proprio tenere per via del lavoro e tempo impiegati nel lavorarli sono Yanfly ace shop options (ho scaricato e disegnato molte immagini per arricchire lo shop menu) e Banca di Dekita (ho pure già fatto una richiesta per chiarire un forte dubbio su questo script e ho passato ore a studiarmi lo script ed altri script per trovarmi una soluzione)
Si trovano rispettivamente in:
Yanfly ace shop options http://dl.dropboxusercontent.com/u/49701990/YEA/Ace_Shop_Options.rb
La Banca di Dekita si trova qui http://dekitarpg.wordpress.com/2013/01/29/perfect-bank/comment-page-1/#comment-445 (non linko il testo poiché l'autore non vuole, o almeno così ho capito)
Spero si possa trovare una soluzione per questi due script
-
Il problema alla fine non era neanche la modifica che avevo apportato, chiedo scusa se sto creando confusione, ma un conflitto con uno script di Yanfly: Ace Batte Engine:
https://dl.dropboxusercontent.com/u/17078211/Scripts/YEA/Ace_Battle_Engine.rb
anche se entrambi modificano la scena della battaglia non pensavo che andassero in conflitto perché Victor nei suoi video di esempio usa entrambi gli script e a lui non mostra questo conflitto, ho provato a cercare nel blog di victor e c'è scritto che ha reso lo script compatibile con quello di Yanfly
Ho fatto un test su un nuovo progetto in cui uso solo gli script relativi al problema e se non inserisco lo script di Yanfly tutto torna in ordine
L'aspetto delle battaglie è più bello con lo script di Yanfly e sembra tutto più ordinato, per questo mi sarebbe piaciuto utilizzarli insieme
-
Intendo se si può disattivare un intero script inserito nella voce Materials tramite un evento con call script, per poi riattivarlo con un altro call script
Il momento in cui uno script va in conflitto con un altro è quando si da inizio ad un evento che richiama una scena del primo script tramite un tag nel call script e appare l'errore del conflitto con il secondo script, questo significa che se prima di inserire il tag disattivassi il secondo script, potrei tranquillamente inserire il tag che chiama la scena senza avere errori, per poi riattivarlo successivamente una volta chiusa quella scena, spero di essermi spiegato bene
Nomorehero, ti ringrazio tantissimo per l'interessamento
-
Ciao a tutti!
Ecco, nel titolo ho scritto tutto, volevo sapere se è possibile tramite evento annullare uno script, fare come se proprio non ci fosse, per poi riattivarlo successivamente, tramite un'altro evento o sempre nello stesso evento.
Questo sarebbe veramente utilissimo per quando si hanno degli script che vanno in conflitto solo in determinare situazioni...
Vi ringrazio ancora vivamente in anticipo, anche se temo che la mia richiesta sia assurda!
-
Ok, ho risolto, andava in conflitto con un altro script dello stesso scripter che avevo modificato, rimettendo il codice originale ho risolto il problema ^_^
-
Chiedo scusa, purtroppo lo script non l'ho trovato all'interno del forum, credo comunque che ci sia, ho trovato però molte discussioni in cui se ne parla, ed essendo uno script molto famoso ho dato per scontato che si conosca...
Lo script è esageratamente troppo lungo da copiare, metto il link del txt:
https://dl.dropboxusercontent.com/u/27014140/Scripts/Victor%20Engine%20-%20Animated%20Battle.txt
Con più precisione, credo che il problema sia qui o in una parte dello script che lo richiama:
# Pose for physical attacks<action: attack, reset>wait: targets, movement;direction: self, subjects;pose: self, row 2, all frames, sufix _3, wait 3, y +1;icon: self, weapon, angle -90, x +12, y -16;icon: self, weapon, angle -45, x +6, y -16;icon: self, weapon, angle 0, x -6;anim: targets, weapon;icon: self, weapon, angle 45, x -10, y +8;effect: self, targets, 100%;wait: 20;icon: self, delete;</action>si trova in questa voce:#--------------------------------------------------------------------------# * Sample settings used for battlers tagged as 'kaduki' style#--------------------------------------------------------------------------VE_ACTION_SETTINGS[:kaduki] = " -
Ciao a tutti!!!!!!
Sono riuscito, dopo tantissime prove e con l'ausilio di tanto impegno, ma soprattutto fortuna a settare il Victor Engine - Battle Animated (v.1.21)
Una volta riuscito a far apparire i personaggi (eroi e nemici) con gli sprite desiderati ed aver impostato le ROW di tutte le pose in maniera che i personaggi si muovessero a mio piacere, ho notato una cosa alquanto insolita:
Quando un personaggio attacca, giustamente si avvicina al nemico, però quando colpisce non è lui a muovere l'arma, ma è il personaggio che si trova nel lato opposto.
Esempio:
Se ho 2 personaggi che combattono, quando il primo attacca, il secondo muove l'arma e quando il secondo attacca, il primo muove l'arma
Se ho 3 personaggi che combattono, quando il primo attacca, il terzo muove l'arma e quando il terzo attacca, il primo muove l'arma, mentre il secondo personaggio esegue l'attacco perfettamente
Quando ho 4 personaggi, il primo attacca e il quarto muove l'arma, il secondo attacca e il terzo muove l'arma, il terzo attacca e il secondo muove l'arma, il quarto attacca e il primo muove l'arma...
Come potrei rimediare a questo errore?
Grazie in anticipo
-
Non è che forse ho sbagliato qualcosa io?
Sopra ho descritto con precisione tutto quello che ho fatto
-
ti ringrazio tantissimo KenzoMe92 :D
proprio oggi ho trovato invece la soluzione tramite evento: $game_variables[n] = $game_storage.cash
comunque mi è molto più utile la soluzione che mi hai trovato tu, la proverò subito ^ ^
Edit: Provato, ma purtroppo mi da errore:
unexceped tIDENTIFIER, expecting keywood_end
$game variables[3] = @cash
ricapitolo quello che ho fatto, molto probabilmente è un mio errore, le linee sono rimaste inveriate, poiché lo script l'ho copiato tale e quale modificando solo i termini ed ho ricontrollato sullo script originale se le linee combaciassero
ho copiato $game_variables[3] += amount nella linea 683, mandando giù di una linea @main_com_wind.activate,
la linea 691 con scritto def deposit_cash(amount) è slittata ovviamente anche lei di un posto, ed ho copiato $game_variables[3] -= amount
nello spazio vuoto al di sopra, ovvero nella linea 691
infine nella linea 894, dove all'inizio c'era setup di:
def initialize
setupho provato quindi a copiare la stringa $game variables[3] = @cash in tutte le posizioni possibili, ovvero sopra def inizialize, sotto e infine sotto a setup, ma senza risultati, ho riprovato le varie combinazioni poi provando a mettere $game_variables[3] -= amount sotto la scrittadef deposit_cash(amount) ma senza risultatook, scusa per questa descrizione esagerata, spero di essermi fatto capire ^ ^grazie ancora per il supportoPS: ho riprovato tutto anche mettendo end dopo l'ultima stringa da aggiungere ed ho provato anche con $game_storage.cash al posto di @cash -
Ahhhh capito, infatti mi stavo scervellando, in tanti script che ho provato a "studiarmi" non ho trovato mai nulla di simile, ti ringrazio :smile:

Alchemic Synthesis ~GO GO TOTORI! (di grimore castle)
in Scripts RGSS3 (VX-Ace)
Posted
La possibilità di impostare i tratti di ingredienti e metterli sulla voce finale è completamente inutile, in quanto se si crea più volte lo stesso strumento ma ognuno con parametri differenti, il risultato sarà comunque sempre lo strumento finale con le caratteristiche create nel database, ho fatto diversi tentativi, il risultato rimane sempre lo stesso