-
Posts
646 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Keroro
-
-
A me la finestra abilità non è mai piaciuta XD
Questa è una buona occasione per rifarla tutta, anche se sono tentato di fare delle scelte piuttosto vincolanti che si adattano al gameplay del mio gioco ma poi non distribuirei il codice u.u
Il problema è che è fatta alla cavolo, la descrizione dell'abilità è in alto, le abilità in basso, a sinistra un mostra scelta schifoso, e a destra una finestra di status che sta lì non si sa il perché.
Potrei aggiungere la visualizzazione dell'attacco primario all'interno della finestra di status, un'altra barra sopra farebbe confusione con la finestra di descrizione delle abilità. ma non saprei cosa mettere nel mostra scelta per renderlo armonico, per questo chiedevo uno schizzo u.u
-
Continua sul 2d, non farti traviare :D
Io renderei la barba più evidente nel chara, sembra un ragazzino così
-
Se mi butti giù uno schizzo della schermata che vorresti lo faccio :D
-
Descrizione
Sostituisce 'Attacco' nel menù del Battle System con una skill definita dall'utente
Autore
Keroro
Esempio
http://img215.imageshack.us/img215/6640/awesome2.png
Istruzioni
Copiare lo script in una nuova scheda in Materials.
Si può usare in due modi, staticamente o dinamicamente.
Staticamente potete aggiungere una nuova linea nell'hash Attack del modulo Awesome.
Dinamicamente potete definire quale attacco userà l'eroe tramite:
Awesome::set_attack(actor_id, skill_id)
Un esempio di uso dinamico è in questo evento
http://img59.imageshack.us/img59/8904/awesomepj.png
Script
#=============================================================================== # Awesome Attack # By Keroro - cris87@gmail.com # Version 1.0 # Last Date Updated. 2012.04.02 #=============================================================================== # # Sostituisce "Attacco" nel BS con una Skill definita dall'utente # #=============================================================================== module Awesome Attack = { #Actor ID => Skill ID 1 => 51, 2 => 3 } Default_Attack = 1 def self.set_attack(actor_id,skill_id) Attack[actor_id] = skill_id end end #=============================================================================== # Window_ActorCommand #=============================================================================== class Window_ActorCommand < Window_Command #----------------------------------------------------- # Cambia la voce nel menù del BS #----------------------------------------------------- def add_attack_command Awesome::Attack[@actor.id] = Awesome::Default_Attack \ unless Awesome::Attack[@actor.id] add_command($data_skills[Awesome::Attack[@actor.id]].name, :attack, \ @actor.attack_usable?) end end #=============================================================================== # Scene_Battle #=============================================================================== class Scene_Battle < Scene_Base #----------------------------------------------------- # Usa la skill, codice basato sul metodo on_skill_ok #----------------------------------------------------- def command_attack @skill = $data_skills[Awesome::Attack[battleManager.actor.id]] BattleManager.actor.input.set_skill(@skill.id) BattleManager.actor.last_skill.object = @skill if !@skill.need_selection? @skill_window.hide next_command elsif @skill.for_opponent? select_enemy_selection else select_actor_selection end end end -
Direttamente da Scene_MenuBase
def create_background @background_sprite = Sprite.new @background_sprite.bitmap = SceneManager.background_bitmap @background_sprite.color.set(16, 16, 16, 128) end
Non ho mai visto il Neo Save System in opera quindi non saprei ricostruirlo, sii più dettagliato nelle richieste e allega script o foto u_u
-
I template sono perfetti e ho iniziato a capirci qualcosa e a mappare su vx ace, evento storico XD
Non avevo scritto in sportello veloce perché ero l'ultimo ad aver scritto e non volevo fare doppi post!
-
La domanda è probabilmente stupida ma...
Posso usare le risorse VX in VX-Ace o è cambiato qualcosa?
Dove posso trovare dei template?
C'è qualcuno che mi insegnerebbe a pixellare tileset?
-
Di recente ho giocato ad un videogame commerciale che ha un'intro lunghissima e prima di giocare ti fa salvare due volte (la prima dopo che crei il personaggio, la seconda prima di iniziare a giocare), se non che appena prima del secondo salvataggio si scaricano le pile -.- e devo ribeccarmi altri 5 minuti di intro >_>
Quindi attenzione, il rischio di annoiare un giocatore è alto...
-
L'ho chiamata Quest per comodità: è la prima associazione mentale quando penso a più condizione necessarie per l'attivazione
Può essere usata per un gran numero di applicazioni diverse dalle quest perché è un gestore di switch personalizzabili
-
Dato che rpgmaker lavora sugli interi conviene prima moltiplicare per 3 e poi dividere per 100 (se dividi prima ti tronca il numero, es. ATK 350 => +9 invece di +10)
-
Penso che così ci si complichi la vita, per fare eventi attivabili da condizioni multiple preferisco di gran lunga usare un hash ;)
Ecco del codice buttato giù in 10 minuti :3
#========================= # Keroro Basic Quest #========================= class Quest attr_reader :quest def initialize @quest = {} end def add(symbol) @quest[symbol] = false end def completed? quest.empty? || !quest.value?(false) end def clear(symbol) return unless @quest.key?(symbol) @quest[symbol] = true end end $quest1 = Quest.new $quest1.add(:leva1) $quest1.add(:condizione1) #----- $quest1.clear(:condizione1) p $quest1.completed? $quest1.clear(:leva1) p $quest1.completed? -
Nel VX-Ace c'è la finestra Caratteristiche e cliccando due volte puoi impostare Parametro [Attacco] * 103% (che significa +3%).
Su VX non ho idea =s
-
Un altro modo per scomporre un numero in cifre è sfruttando le espressioni regolari, ha il vantaggio di essere indipendente dal numero di cifre.
Ho creato quindi una funzioncina che restituisce un array (la posizione 0 è la cifra più significativa), per provarlo potete metterlo in materials e abilitare la console nel test.
#========================= # Keroro Int to Chars #========================= def to_chars(number) number.to_s.scan(/./) end # Example numero = to_chars(102321345) p numero p numero[7] # End Example
diventa poi molto semplice stampare un numero con una immagine personalizzata
Immaginando di aver già scritto
def draw_letter(x,y,letter)
(non entro nel merito, non ancora ho dato un'occhiata al caching e alle bitmap)
Allora per scrivere un singolo numero potremmo fare:
def draw_number(x,y,number) cifre = to_chars(number) for i in cifre.size draw_letter(x+i*16,y,cifre[i]) end end -
Sisì tranquillo, erano solo idee per il futuro ^_^
L'unico modo per arrivarci è tramite piccoli passi :3
Primo passo; l'eroe al posto di attaccare esegue una skill pre-scelta tramite variabile globale.
Secondo passo: la variabile globale bassamente diventa un array globale per poter personalizzare personaggio per personaggio
Terzo (futuro?) passo: il sistema legge direttamente dentro l'actor senza bisogno di variabili esterne, o seleziona una skill tramite criterio di utilità (es. la skill più forte per i pm che mi restano).
Pubblico quindi il secondo passo ;O
#============================ # My Awesome Attack - Keroro #============================ #Array di skill, l'indice è l'actor_id $my_awesome_attack = [] $my_awesome_attack[1] = 51 #assegna Fuoco all'actor 1 #Cambio il nome nel menù class Window_ActorCommand < Window_Command def add_attack_command $my_awesome_attack[@actor.id] = 1 unless $my_awesome_attack[@actor.id] add_command($data_skills[$my_awesome_attack[@actor.id]].name, :attack, \ @actor.attack_usable?) end end #Usa la skill, basandosi sul metodo preesistente on_skill_ok class Scene_Battle < Scene_Base def command_attack @skill = $data_skills[$my_awesome_attack[battleManager.actor.id]] BattleManager.actor.input.set_skill(@skill.id) BattleManager.actor.last_skill.object = @skill if !@skill.need_selection? @skill_window.hide next_command elsif @skill.for_opponent? select_enemy_selection else select_actor_selection end end end
Ditemi che ne pensate, se volete migliorarlo siete i benvenuti ^^
-
concordo, via libera ai fix ma secco no al yanfly engine
ps: sono a un quarto della traduzione, consiglio di mettere <html lang="it"> oltre a tradurre ^^
-
Se sei collegato come Admin non importa dove hai il pc, se ti bucano il firewall sei fottuto :)
-
Però avere al primo posto una skill "rapida" pre-selezionata da menù sarebbe cosa buona e giusta, specialmente per i maghi puri
-
-
Un uso semplice è il controllo tasti.
I simboli delle lettere vanno da :VK_A a VK_Z (per altri tasti guardare lo script)
Questi simboli vanno passati come argomento alle funzioni predefinite del modulo Input (press?, repeat? e trigger?)
http://img85.imageshack.us/img85/8207/inputp.png
Se premi il tasto A si attiva la condizione
-
Senza entrare nel merito dello script, di cui esistono versioni di autori e qualità diversa, mi permetto di fare qualche appunto:
Usare un case per una variabile booleana è eccessivo, basta un if.
Si può rendere lo script molto più corto, esistono già le funzioni per caricare file e creare nuovi oggetti!
class Scene_Title < Scene_Base def start if $intro DataManager.setup_new_game DataManager.load_normal_database DataManager.create_game_objects SceneManager.clear $game_party.setup_starting_members $game_map.setup(1) $game_player.moveto(1, 1) $game_player.refresh Graphics.freeze $game_map.autoplay $game_map.update SceneManager.goto(Scene_Map) else SceneManager.goto(Scene_Title_Screen) end end def terminate SceneManager.snapshot_for_background Graphics.fadeout(Graphics.frame_rate) end end
-
Sono disponibile per tradurre la quarta parte dell'help (ruby & rgss), forse anche la terza (script editor).
-
Ho provato a tradurre uno script a riguardo da vx a ace ma il battle system è cambiato molto, è più facile farne uno da zero... Ho già qualche idea, appena avrò tempo ^-^
-
E' rimasto l'errore Glossario-> Parametri Base -> Livelo che avevo messo nell'edit del mio post precedente
-
E' l'idea a scegliere il tool e non il tool a scegliere l'idea.
Ho passato 10 anni da rpgmaker-scettico perché il tool non offriva quello di cui avevo bisogno.
RpgMaker 2000 è perfetto se ti intendi di pixel art (o hai voglia di rippare) e non hai un gameplay complesso.
Il 2003 è più o meno identico.
Esistono poi tre tool che usano un linguaggio di scripting: XP, VX, VX-Ace.
Ha senso usare questi tool solo se il gameplay non è implementabile con i primi due, perché fare la grafica per una finestra grande quasi il doppio è trenta volte più sbatti.
Dal punto di visita dello scripting:
XP venuto prima è male organizzato (=per fare una tua modifica devi intervenire su mille fronti), per programmare decentemente ti conviene installare un sdk creato dai fan.
VX è organizzato meglio, la finestra è leggermente più piccola ed i frame rate diventano decenti, è un buon prodotto che i linuxisti definirebbero stable.
VX-Ace è molto meglio, ruby 1.9.x e organizzazione degli script ancora più semplice, è un terreno vergine perché non ha ancora il parco script del VX.
Io adoro la grafica pucciosa e per implementare il progetto che ho su carta ho scelto il VX-Ace per le potenzialità inespresse e per il Character&Face Generator Integrato.
Sul discorso che su rpgmaker 2000/2003 ci sono molti giochi belli mentre per XP,VX si contano sulla punta delle dita sono pienamente d'accordo ed è dovuto al fatto che il 99.9% degli utenti usa scripts altrui senza neanche provare a modificarli e questo crea un effetto fotocopia più sgradevole di quello che avveniva sul 2000/2003 quando si parlava di pappa pronta.
Sicuramente i nuovi giochi sono meno buggati ma si vede quanto manca l'anima.

Sportello aiuti veloci VX-Ace
in Supporto VX e VX-Ace
Posted
Avevi scritto che ti dava errore su @effect_sprites.update, che non ti trovava il metodo update.
Non ho la minima idea di che accozzaglia di script hai usato né ho intenzione di scoprirlo
Puoi provare a sostituire la riga con
In questo modo chiama il metodo update solo se @effect_sprites esiste