-
Posts
224 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Enomis
-
-
Giusto Dilos. Ho disegnato a mano, poi l'ho inchiostrato a china, scannerizzato, pulito, colorato e ridimensionato XD
-
Crepi il lupo :)
Adesso provo a farne qualcun'altro, così mi rendo conto di quanto ci metto a farne uno ^^" al lavoro!
-
hahahaha beh, il copia incolla della testa sarebbe furbissimo, però visto che lo disegno a mano voglio che si vedano piccole imperfezioni...poi dipende XD se mi stufo, il copia incolla sarà la mia salvezza XD
-
Ah ok, questo si, penso di farlo. Per fare le "comparse" penso anche di sfruttare più volte lo stesso chara, cambiandogli il colore di capelli, della pelle, o la casa di appartenenza.
-
Visto che devo fare praticamente tutta la grfica da zero, speravo di poter saltare questo passaggio. Speravo di cavarmela disegnando e riducendo ^^"
EDIT: Ho provato a migliorare i bordi, adesso dovrebbe andare meglio, anche se ha ancora il problema dei piedi e degli occhi.
http://i43.tinypic.com/4qpumv.png
-
In che senso una correzione a pixel??? ^^"
-
Avete ragione, i piedi nella prima posa sono proprio a papera XD Per quanto riguarda gli occhi, beh, il problema è che ho disegnato il chara a mano, e quindi essere super precisi mi è impossibile ^^" nel prossimo cercherò di farli tutti uguali. Vorrei aggiungerci anche un pò di colore negli occhi, ma devo studiarmelo bene. Comunque, si capisce che è un Grifondoro? cioè, rende l'idea?
-
Ho realizzato un chara, il mio primo chara :') e volevo dei consigli su come posso migliorarlo. Usando la stessa tecnica vorrei fare tutti gli altri che mi servono, quindi gli errori meglio saperli prima ^^"
Ecco il chara: http://imageshack.us...rototipoga.png/
http://oi42.tinypic.com/sg4lqg.jpg
E' più grande degli RTP, ma è fatto apposta. Che ne dite?
-
ok, io inizio con Ultima - L'isola dei Ricordi Perduti :D
-
Alcuni dei giochi sopra citati sono delle Demo, facendo riferimento alla sezione Giochi del video. Vanno recensite anche le demo?
-
è molto simile al progetto che avevo in cantiere io, che però ho lasciato causa problemi vari. La lista delle features è molto simile alla mia XD
Continualo il progetto :) ne vale la pena
-
avevo già provato a farlo ma non mi era molto piaciuto..ora ci riprovo Grazie a tutti dell'aiuto!!!
-
Un'ultima cosa. Ho un'animazione di un attacco da usare su un personaggio composta da 3 frames: nel primo il personaggio ha il braccio alzato, nel secondo il braccio è sfumato perchè in movimento, nel terzo frame il personaggio ha il braccio abbassato. Ho costruito l'animazione creando 3 frame e mettendo ognuna delle tre immagini in uno dei frame dell'animazione. Quando richiamo nel gioco l'animazione però, passa troppo velocemente, come posso fare per renderla più naturale??
-
Grazie mille per la sipegazione, bravo!! Poi hai risolto anche il primo problema, perchè utilizzando il comando che mi hai consigliato l'animazione non fa problemi, anche se vorrei sapere perchè prima non funzionavano. Grazie mille!!!
-
Ho due problemi con la programmazione ad eventi, uno legato alle animazionie euno legato alle condizioni Se associate ai tasti:
1- Ho creato un animazione semplicissima di 6 frame, e la richiamo usando una condizione "se tasto D premuto mostra animazione su eroe". Il problema è che il gioco si blocca...dove può essere il problema? Non mi era mai capitata una cosa del genere. L'evento che gestisce l'animazione è un processo parallelo.
2- Come sopra sto associando determinate azioni ad alcuni tasti. Lo schema dell'evento che uso io è:
If Tasto X(ad esempio) è premuto
contenuto della condizione se
End
Il tutto in un evento in processo parallelo. L'evento funziona, il problema è che se io tengo il tasto in questione premuto, l'evento continua a far accadrere la condizione se..ad esempio fa saltare sempre l'eroe. Come posso fare in modo che l'evento ripete l'azione solo quando il tasto viene rilasciato e poi premuto di nuovo?
Non so se mi sono spiegato in modo chiaro ^_^'
Aspetto risposte...Graazie Mille!!!
-
Penso sia proprio questo! Grazie Mille!!!
EDIT: Mi da errore alla riga 147!!!
Comunque intendo quello script che permetteva di usare i chara ad 8 pose per ogni direzione (8 per i passi verso destra, 8 per quelli verso sinistra ecc..)
-
Mi dispiace ma non era quello lo script. Io cerco lo script che permetta di utilizzare i chara ad 8 pose e a 4 pose contemporaneamente. girava tempo fa sul forum.
-
Cercavo lo script che permetteva di usare sia i chara a 4 pose che quelli a 8 pose. Ho utilizzato il tasto Cerca ma non ho trovato nulla. Poi vorrei un esempio di chara a 8 pose ^_^'
-
Non è complicato, puoi associare ai minuti e alle ore delle variabili, poi crei un evento parallelo che gestisce le immagini dell'orologio facendo sì che se la variabile ore è uguale a uno, mostra l'immagine con l'ora dell'orologio impostata all'una di notte. nopn so se mi sono spiegato, ma comunque è fattibile ad eventi.
-
E' l'unica che sono riuscito a trovare ^^'
Magari puoi aiutarmi???
-
Ho trovato questo script per il bs laterale minkoff
#======================================================================# ** Animated Battlers - Enhanced ver. 5.0 (12-23-2006)#------------------------------------------------------------------------------# Animated Battlers by Minkoff# Enhancements by DerVVulfman# Low percentage and Status Poses# Concept & Base coding by Twin Matrix# Stationary Enemies requested by jens009# Continuous Victory Looping for actors requested by Skyla Doragono# Actors readying themselves before battle requested by Clive# Default Battlers for Enemies requested for by WithViolence# Mixed Default and Spritesheet Battlers requested for by SteveE22# Hero & Enemy z.depth concept by Min-Chan and Caldaron ( totally redone )# Stationary Poses suggested by Twin Matrix# Critical Hit animation requested by Mimi-Chan# Both Enemy and Actor's individual Frames per Pose requested by creiz# Expandable Battle Parties beyond 4 requested by Leknaat# Additional value call added for compatability with Battle Cry script# Removed dependancy on $game_system for the Sideview Mirror system# Fixed the 'Blocking during Victory State' bug discovered by Kaze950# Collapse stack-error found by JirbyTaylor(fixed) / Code by SephirothSpawn##==============================================================================## ADDITIONAL CALLS AVAILABLE PRIOR TO COMBAT:##------------------------------------------------------------------------------# SIDEVIEW MIRROR: This value switches the positions of both enemies and# heroes to opposite ends of the screen.## Script : $sideview_mirror = [number]# number : a value indicating whether the hero & enemy positions are switched# 0 = Default: Enemies on the left, Heroes on the right# 1 = Switched: Heroes on the left, Enemies on the right##------------------------------------------------------------------------------# BATTLER FORMATIONS: This value changes the way your heroes line up when the# battle starts.## Script : $formation_style = [number]# number : a value indicating the type of formation your heroes will use# 0 = Diagonal (Default) 4 = Column Pattern 1# 1 = Diagonal Pattern 2 5 = Column Pattern 2# 2 = Slanted Pattern 1 6 = Wave Formation 1# 3 = Slanted Pattern 2 7 = Wave Formation 2## 8 = Randomized (system will choose from 0 to 7)##------------------------------------------------------------------------------# FORMATION OPTIONS: These values may expand your system to go beyond the# default four player system.## Script : $formation_max_member = [number]# number : A value indicating the maximum number of members in your party.# (default = 4)## Script : $formation_max_height = [number]# number : A value indicating (in pixels) the top height of your party shown# in the Battle Screen. The higher the number, the lower the party# on the screen. (default = 220)## Script : $formation_max_width = [number]# number : The left/right width of the party's formation. (default = 128)## Script : $battlestatus_height = [number]# number : The actual height of your battlestatus window. (default = 160)## NOTE: The combined $formation_max_height and $battlestatus_height determines# the vertical distance between battlers in their formation.##============================================================================== # Things added since original version by Minkoff:# Can reverse the battler positions# Editable spritesheet layout in script# Able to define total/max frames per pose# Can define individual # of frames per each pose# Can use 'red-out' RTP death or 'battler death' pose# Can show battler falling before death.# 'Casting' pose now available for RTAB/Skill Timing users# Can show battler celebrating before victory pose# Can tag battlers who's victory pose loops indefinitely# Can show actor battlers get ready before battle starts.# Separate poses for 'skills', 'items' or 'weapons' based on their id# Can allow the battlers to step forward before using items & skills (FFVII+)# Attacking battlers rush towards their targets while item & skill users don't# Certain weapons can force the battler NOT to move# Certain items & skills can force battlers to 'rush' the enemy# Certain skills or items can force movement to the center of the screen# Stationary enemies. In case enemies do NOT move when they attack.# Adjustable 'low health' checker. Set your low health to 25%... 30%... 10%...# Poses now available for status ailments# Dead revert to 'victory' pose bug fixed.# Default battlers now available for actors and/or enemies# Default battlers now usable by ID number (had to rewrite red-out for that)# Escaping Enemies bug found by SteveE22. Fixed just as fast.# Hero Formations (total of 8 hardwired -& 1 random- ... add at your own risk)# Z-Depth for attack overlapping purposes# Corrected attack overlap offset routine. Overlap now based on battler size# Certain skills and items can now prevent movement# Can allow battlers to take step forward before performing 'attack' pose.(FF)# Certain weapons can move battlers to center screen instead of a full move.# Escaping Enemies can now have a pose before disappearing (was a rush pose)# Redesigned Scene_Battle's movement routine# Added pose for Critical Hits# Added the enemy's hash for frame number based on poses# Added the actor's hash for frame number based on poses# Re-Tooled the formations to go beyond the default four party system# Minor value added for compatability with Delissa's Battle Cry script# Default Collapse Stack-Error fixed(code by SephirothSpawn) found JirbyTaylor# Removed dependancy on $game_system for the Sideview Mirror system# Fixed the 'Blocking during Victory State' bug discovered by Kaze950# Includes an Adaptation Switch for use with RTAB's Connected Attacking script## 40 counted. #==============================================================================# ** Sprite_Battler#------------------------------------------------------------------------------# This sprite is used to display the battler.It observes the Game_Character# class and automatically changes sprite conditions.#============================================================================== class Sprite_Battler < RPG::Sprite attr_accessor :battler_offset # Degree of action forcingattr_accessor :skill_used # Degree of action forcingattr_accessor :item_used # Degree of action forcing #--------------------------------------------------------------------------# * Initialize#--------------------------------------------------------------------------alias cbs_initialize initializedef initialize(viewport, battler = nil) # * Configuration System * # * Default Battler Style Switches#--------------------------------------------------------------------------$default_enemy = false # If true, these switches allows the use$default_actor = false # of default battlers for actors/enemies$default_enemy_id = [] # Ids of enemies using default battlers$default_actor_id = [] # Ids of actors using default battlers@default_collapse_actor = false # If true, restores the old 'red fade'@default_collapse_enemy = true # collapse effect (using spritesheets) # * Animation Frames and Animation Speed#--------------------------------------------------------------------------@speed = 5 # Framerate speed of the battlers@poses = 4 # Maximum # of poses (stances) in the template@frames = 4 # Maximum # of frames in each pose@frames_standard = 4 # Standard # of frames played in each pose.@low_hp_percentage = 0.25 # Determines health% of battler for WOOZY pose. # * Poses Control#-------------------------------------------------------------------------- # Editable Template (Some people wanted to change their template design)$p1 = 1 # Sets the 'Ready Pose' ($p1) to be pose #1 in your template$p2 = 1 # Sets the 'Struck Pose' ($p2) to be pose #2 in your template$p3 = 1 # Sets the 'Woozy Pose' ($p3) to be pose #3 in your template$p4 = 1 # Sets the 'Block Pose' ($p4) to be pose #4 in your template$p5 = 1 # Sets the 'Charge Pose' ($p5) to be pose #5 in your template$p6 = 2 # Sets the 'Retreat Pose'($p6) to be pose #6 in your template$p7 = 1 # Sets the 'Attack Pose' ($p7) to be pose #7 in your template$p8 = 1 # Sets the 'Item Pose' ($p8) to be pose #8 in your template$p9 = 1 # Sets the 'Skill Pose' ($p9) to be pose #9 in your template$p10 = 0 # Sets the 'Victory Pose'($p10)to be pose #10 in your template$p11 = 3 # Sets the 'Defeat Pose' ($p11)to be pose #11 in your template# Non-Default Poses (can expand beyond the default 11 poses here)@poses_setup = nil # Choose animation pose for 'preparation'@poses_casting = nil # Set casting pose to 'Block' for example$poses_escaping = nil # Set 'coward' pose for fleeing monsters)$poses_critical = nil # Set 'critical' hit pose for BIG hits.@poses_dying = nil # Choose animation pose for dying throws.@poses_winning = nil # Set winning dance to 'block' for examp.@poses_winning_loops = [] # Set victory non-freezing actor as #7# Non-Default Pose Hashes (poses dependant on .id values)@poses_status = {} # Didn't set any$poses_skills = {} # Didn't set any$poses_items = {} # Didn't set any$poses_weapons = {} # Didn't set any weapons to any poses # * Frames Control#--------------------------------------------------------------------------@frames_per_pose = {0 => 1, 3 => 1} # Set #of frames to pose(by index)# 1 frame set for 0(Victory) and# set for 3 (Defeat). All other# poses are animated. # Advanced Individual Pose/Frame Hashes # Advanced Individual Poses uses# hashes within hashes.$poses_actor = {} #$poses_enemy = {} ## # Individual Battler Settings@mirror_enemies = true # Enemy battlers use reversed image@stationary_enemies = false # If the enemies don't move while attacking@stationary_actors = false # If the actors don't move while attacking@calculate_speed = false # System calculates a mean/average speed@phasing = false # Characters fade in/out while attacking # * Movement Settings (Step-Forward / Final Fantasy-Style)#--------------------------------------------------------------------------$rush_offset = 0 # How much additional space between battlers$rush_attack = false # If true, battler steps forward to attack$rush_skill = true # If true, battler steps forward to use skill$rush_item = true # If true, battler steps forward to use item # * Movement Arrays (Arrays for skill/weapon/item IDs that affect movement)#--------------------------------------------------------------------------$moving_item_atk = [1] # Examples are items that need to be applied.$moving_skill_atk = [57,61] # Examples are martial-arts and sneak attacks$move2center_atk = [] # Moves battler to center based on weapon id!$move2center_item = [5] # Moves battler to center for a big item atk!$move2center_skill = [7] # Moves battler to center for a big skill atk! # * Stationary Arrays (Arrays for skill/weapon/item IDs that halt movement)#--------------------------------------------------------------------------# Array that holds the id # of skills, items or weapons that affect movement$stationary_enemyid = [] # Enemies that don't RUN during melee attacks@stationary_weapons = [17,18,19,20,21,22,23,24] # (examples are bows & guns)@stationary_skills = [] # (examples are bows & guns)@stationary_items = [] # (examples are bows & guns) # Adaptation Switches$RTAB_Connected_Attacking = false # Needed to be on if RTAB and Con. Attk. # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU'RE DOING@frame, @pose = 0, 0@last_time = 0@last_move_time = 0@battler_offset = 0@skill_used = 0@item_used = 0$casted = false$casting = false@dying = true@s_pose = false$victory = false@winning = truecbs_initialize(viewport, battler)viewport.z = 99$formation = $formation_style# Setting values called from EVENT scripts$sv_mirror = $sideview_mirror$sv_mirror = 0 if $sideview_mirror == nil$max_member = $formation_max_member$max_member = 4 if $formation_max_member == nil$formation_top = $formation_max_height$formation_top = 220 if $formation_max_height == nil$formation_width = $formation_max_width$formation_width = 128 if $formation_max_width == nil$battlestat_height = $battlestatus_height$battlestat_height = 160 if $battlestatus_height == nil$formation = $formation_style$formation = 0 if $formation_style == nil# if Formation is randomif $formation == 8 then$formation = rand(8).to_iendend#--------------------------------------------------------------------------# * Update#--------------------------------------------------------------------------alias cbs_update updatedef updatereturn unless @battler# Regular Updatecbs_update# Reset hash for Advanced Pose/Framespose_temp = {}# Start Routineunless @started@pose = state if @battler.is_a?(Game_Enemy)if not $default_enemyif $default_enemy_id == nil# Set up Spritesheet Standards@width = @width / @frames@height = @height / @poseselseif not $default_enemy_id.include?(@battler.id)@width = @width / @frames@height = @height / @posesendendendend if @battler.is_a?(Game_Actor)if not $default_actorif $default_actor_id == nil# Set up Spritesheet Standards@width = @width / @frames@height = @height / @poseselseif not $default_actor_id.include?(@battler.id)@width = @width / @frames@height = @height / @posesendendendend @battler_offset = @width * 0.75 @display_x = @battler.screen_x@display_y = @battler.screen_y@display_z = @battler.screen_z@destination_x = @display_x@destination_y = @display_y@destination_z = @display_zself.opacity = 0@started = trueend # Cut Out Frame# Enemy Battler Routineif @battler.is_a?(Game_Enemy)if $default_enemyself.src_rect.set(@width * 0, @height * 0, @width, @height)elseif $default_enemy_id !=nilif $default_enemy_id.include?(@battler.id)self.src_rect.set(@width * 0, @height * 0, @width, @height)elseself.src_rect.set(@width * @frame, @height * @pose, @width, @height)endelseself.src_rect.set(@width * @frame, @height * @pose, @width, @height)endendend # Actor Battler Routineif @battler.is_a?(Game_Actor)if $default_actorself.src_rect.set(@width * 0, @height * 0, @width, @height)elseif $default_actor_id !=nilif $default_actor_id.include?(@battler.id)self.src_rect.set(@width * 0, @height * 0, @width, @height)elseself.src_rect.set(@width * @frame, @height * @pose, @width, @height)endelseself.src_rect.set(@width * @frame, @height * @pose, @width, @height)endendend # Position Spriteself.x = @display_xself.y = @display_yself.z = @display_zself.ox = @width / 2self.oy = @height # Adjust sprite direction if facing the other way...if $sv_mirror == 1if @battler.is_a?(Game_Actor)self.mirror = !!battlerelseif not @mirror_enemiesself.mirror = !!battlerendendelseif @battler.is_a?(Game_Enemy)if @mirror_enemiesself.mirror = !!battlerendendend # Setup Frames per Poseposeframe = @frames_standardposeframe = @frames_per_pose[@pose] if @frames_per_pose.include?(@pose)# Set Advanced Poses for Actorsif @battler.is_a?(Game_Actor)pose_temp = $poses_actor[@battler.id] if $poses_actor.include?(@battler.id)poseframe = pose_temp[@pose] if pose_temp.include?(@pose)end# Set Advanced Poses for Enemiesif @battler.is_a?(Game_Enemy)pose_temp = $poses_enemy[@battler.id] if $poses_enemy.include?(@battler.id)poseframe = pose_temp[@pose] if pose_temp.include?(@pose)end # Setup Animationtime = Graphics.frame_count / (Graphics.frame_rate / @speed)if @last_time < time@frame = (@frame + 1) % poseframeif @frame == 0if @freeze@frame = poseframe - 1returnend@pose = stateendend@last_time = time# Setup Dying Animationif @battler.dead?if @dying == true@pose = state@dying = falseendelseif @battler.is_a?(Game_Actor)if @poses_setup != nilif @s_pose == false@pose = @poses_setup@s_pose = trueendendif $victory == trueif @winning == true@pose = state@winning = falseendendendend # Move Itmove if movingend #--------------------------------------------------------------------------# * Current State#--------------------------------------------------------------------------def state# Damage Stateif [nil,{}].include?(@battler.damage)# Battler Fine@state = $p1# Battler Wounded@state = $p3 if @battler.hp < @battler.maxhp * @low_hp_percentage# Battler Status-Effectfor i in @battler.states@state = @poses_status[i] if @poses_status.include?(i)end# If Battler Deadif @battler.dead?# If using default battlers or default collapseif (@default_collapse_actor and @battler.is_a?(Game_Actor)) or(@default_collapse_enemy and @battler.is_a?(Game_Enemy)) or($default_actor and @battler.is_a?(Game_Actor)) or($default_enemy and @battler.is_a?(Game_Enemy)) or($default_enemy_id.include?(@battler.id) and @battler.is_a?(Game_Enemy)) or($default_actor_id.include?(@battler.id) and @battler.is_a?(Game_Actor))# Do absolutely nothingelse# Use Poses systemif @poses_dying != nilif @dying == true@state = @poses_dyingelse@state = $p11endelse@state = $p11end# Fix Opacityself.opacity = 255endendend # Casting Stateif $castedif @battler.rtp != 0if @poses_casting != nil@state = @poses_castingendendend # Victory Stateif @battler.is_a?(Game_Actor)if $victoryif @poses_winning != nilif @winning == trueif not @battler.dead?@state = @poses_winningendelseif not @battler.dead?@state = $p10if not @poses_winning_loops.include?(@battler.id)@freeze = trueendendendelseif not @battler.dead?@state = $p10if not @poses_winning_loops.include?(@battler.id)@freeze = trueendendendendend # Guarding State (not if dead OR in victory)if not @battler.dead?if not $victory@state = $p4 if @battler.guarding?endend# Moving Stateif moving# Adjust sprite direction if facing the other way...if $sv_mirror == 1# If enemy battler movingif @battler.is_a?(Game_Enemy)# Battler Moving Left@state = $p5 if moving.eql?(0)# Battler Moving Right@state = $p6 if moving.eql?(1)# Else actor battler movingelse# Battler Moving Left@state = $p6 if moving.eql?(0)# Battler Moving Right@state = $p5 if moving.eql?(1)endelse# If enemy battler movingif @battler.is_a?(Game_Enemy)# Battler Moving Left@state = $p6 if moving.eql?(0)# Battler Moving Right@state = $p5 if moving.eql?(1)# Else actor battler movingelse# Battler Moving Left@state = $p5 if moving.eql?(0)# Battler Moving Right@state = $p6 if moving.eql?(1)endendend# Return Statereturn @stateend #--------------------------------------------------------------------------# * Move#--------------------------------------------------------------------------def movetime = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))if @last_move_time < time# Pause for Animationreturn if @pose != state# Phasingif @phasingd1 = (@display_x - @original_x).absd2 = (@display_y - @original_y).absd3 = (@display_x - @destination_x).absd4 = (@display_y - @destination_y).absself.opacity = [255 - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].maxend# Calculate Differencedifference_x = (@display_x - @destination_x).absdifference_y = (@display_y - @destination_y).absdifference_z = (@display_z - @destination_z).abs# Done? Reset, Stopif [difference_x, difference_y].max.between?(0, 8)@display_x = @destination_x@display_y = @destination_y@display_z = @destination_z@pose = statereturnend # Calculate Movement Incrementsincrement_x = increment_y = 1if difference_x < difference_yincrement_x = 1.0 / (difference_y.to_f / difference_x)elsif difference_y < difference_xincrement_y = 1.0 / (difference_x.to_f / difference_y)endincrement_z = increment_y # Calculate Movement Speedif @calculate_speedtotal = 0; $game_party.actors.each{ |actor| total += actor.agi }speed = @battler.agi.to_f / (total / $game_party.actors.size)increment_x *= speedincrement_y *= speedincrement_z *= speedend # Multiply and Movemultiplier_x = (@destination_x - @display_x > 0 ? 8 : -8)multiplier_y = (@destination_y - @display_y > 0 ? 8 : -8)multiplier_z = (@destination_z - @display_z > 0 ? 8 : -8)@display_x += (increment_x * multiplier_x).to_i@display_y += (increment_y * multiplier_y).to_i@display_z += (increment_z * multiplier_z).to_i end@last_move_time = timeend #--------------------------------------------------------------------------# * Set Movement#--------------------------------------------------------------------------def setmove(destination_x, destination_y, destination_z)unless (@battler.is_a?(Game_Enemy) and @stationary_enemies) or(@battler.is_a?(Game_Actor) and @stationary_actors)unless @stationary_weapons.include?(@battler.weapon_id) or@stationary_skills.include?(@skill_used) or@stationary_items.include?(@item_used)@original_x = @display_x@original_y = @display_y@original_z = @display_z@destination_x = destination_x@destination_y = destination_y@destination_z = destination_zendendend #--------------------------------------------------------------------------# * Movement Check#--------------------------------------------------------------------------def movingif (@display_x != @destination_x and @display_y != @destination_y and !@battler.dead?)return (@display_x > @destination_x ? 0 : 1)endend #--------------------------------------------------------------------------# * Set Pose#--------------------------------------------------------------------------def pose=(pose)@pose = pose@frame = 0end #--------------------------------------------------------------------------# * Freeze#--------------------------------------------------------------------------def freeze@freeze = trueend #--------------------------------------------------------------------------# * Fallen Pose#--------------------------------------------------------------------------if @derv_anim_bat_stack.nil?@derv_anim_bat_stack = truealias cbs_collapse collapsedef collapseif @default_collapse_enemycbs_collapse if @battler.is_a?(Game_Enemy)endif @default_collapse_actorcbs_collapse if @battler.is_a?(Game_Actor)endif $default_enemycbs_collapse if @battler.is_a?(Game_Enemy)endif $default_actorcbs_collapse if @battler.is_a?(Game_Actor)endif $default_enemy_id != nilif $default_enemy_id.include?(@battler.id)cbs_collapse if @battler.is_a?(Game_Enemy)endendif $defend_actor.id != nilif $default_actor_id.include?(@battler.id)cbs_collapse if @battler.is_a?(Game_Actor)endendendendend #==============================================================================# ** Game_System#------------------------------------------------------------------------------# This class handles data surrounding the system. Backround music, etc.# is managed here as well. Refer to "$game_system" for the instance of# this class.#============================================================================== class Game_System#--------------------------------------------------------------------------# * Public Instance Variables#--------------------------------------------------------------------------attr_accessor :sideview_mirror#--------------------------------------------------------------------------# * Object Initialization#--------------------------------------------------------------------------alias initialize_cbs_customize initializedef initialize# Call original initialization processinitialize_cbs_customize@sideview_mirror = 0endend #==============================================================================# ** Game_Actor#------------------------------------------------------------------------------# This class handles the actor. It's used within the Game_Actors class# ($game_actors) and refers to the Game_Party class ($game_party).#============================================================================== class Game_Actor#--------------------------------------------------------------------------# * Actor X Coordinate#--------------------------------------------------------------------------def screen_x# Determine minimum horizontal space between battlersx_spacer = $formation_width / $max_memberif self.index != nilcase $formationwhen 0 # DIAGONAL PATTERN 1if $sv_mirror == 1return self.index * -x_spacer + (($max_member+1)*x_spacer) #202elsereturn self.index * x_spacer + (640-(($max_member+1)*x_spacer))#450endwhen 1 # DIAGONAL PATTERN 2if $sv_mirror == 1return self.index * x_spacer + x_spacer #64elsereturn self.index * -x_spacer + (640-x_spacer*2) #576endwhen 2 # 2-ROW SLANTif $sv_mirror == 1if self.index < ($max_member/2)return self.index + (($max_member+1)*x_spacer) + (x_spacer * self.index)elsereturn self.index + (x_spacer * self.index) - x_spacer * 0.5endelseif self.index < ($max_member/2)return self.index + (640-(($max_member+1)* x_spacer)) + (-x_spacer * self.index)elsereturn self.index + (640-((x_spacer*0.5)-x_spacer)) + (-x_spacer * self.index)endendwhen 3 # 2 ROW - SLANTif $sv_mirror == 1if self.index < ($max_member/2)return self.index + (x_spacer/2)+(($max_member+1)* x_spacer) + (-x_spacer * self.index)elsereturn self.index + (($max_member+1)* x_spacer) + (-x_spacer * self.index)endelseif self.index < ($max_member/2)return self.index + 442 + (x_spacer * self.index)elsereturn self.index + 430 + (x_spacer * self.index)endendwhen 4 # Column Pattern 1if $sv_mirror == 1if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))elsereturn self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)endelseif ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))elsereturn self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)endendwhen 5 # Column Pattern 2if $sv_mirror == 1if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * (self.index-1))elsereturn self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)endelseif ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * (self.index-1))elsereturn self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)endendwhen 6 # Wave Formation 1if $sv_mirror == 1if self.index < ($max_member/2)return 170elsereturn 90endelseif self.index < ($max_member/2)return 470elsereturn 550endendelse # Wave Formation 2if $sv_mirror == 1if self.index < ($max_member/2)return 170elsereturn 90endelseif self.index < ($max_member/2)return 470elsereturn 550endendendelsereturn 0endend#--------------------------------------------------------------------------# * Actor Y Coordinate#--------------------------------------------------------------------------def screen_y# Determine minimum vertical space between battlersy_spacer = (480 - $battlestat_height - $formation_top) / $max_memberif self.index != nilcase $formationwhen 0return self.index * (y_spacer*1.25) + $formation_topwhen 1return self.index * (y_spacer*1.25) + $formation_topwhen 2if self.index < ($max_member/2)return $formation_top + ((y_spacer*2.5) * self.index)elsereturn ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) #was 60endwhen 3if self.index < ($max_member/2)return $formation_top + ((y_spacer*2.5) * self.index)elsereturn ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) # was 60endwhen 4if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )return $formation_top + ($battlestat_height/2)elsereturn $formation_top + ($battlestat_height/6)endwhen 5if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )return $formation_top + ($battlestat_height/6)elsereturn $formation_top + ($battlestat_height /2)endwhen 6if self.index < ($max_member/2)return $formation_top + (y_spacer * 2.5 * self.index)elsereturn $formation_top + (y_spacer * 2.5 * ((self.index) - ($max_member/2)))endelseif self.index < ($max_member/2)return $formation_top + (y_spacer*2.5*(($max_member/2)-1))+ (y_spacer * 2.5 * -self.index)elsereturn $formation_top + (y_spacer*2.5*(($max_member/2)-1)) + (y_spacer * 2.5 * -((self.index) - ($max_member/2)))endendendend#--------------------------------------------------------------------------# * Actor Z Coordinate#--------------------------------------------------------------------------def screen_zreturn screen_yendend #==============================================================================# ** Game_Enemy#------------------------------------------------------------------------------# This class handles enemies. It's used within the Game_Troop class# ($game_troop).#============================================================================== class Game_Enemy < Game_Battlerdef screen_xif self.index != nilif $sv_mirror == 1return 640 - $data_troops[@troop_id].members[@member_index].xelsereturn $data_troops[@troop_id].members[@member_index].xendendendend #==============================================================================# ** Scene_Battle#------------------------------------------------------------------------------# This class performs battle screen processing.#============================================================================== class Scene_Battle #--------------------------------------------------------------------------# * Make Skill Action Results (alias used to determine skill used)#--------------------------------------------------------------------------alias make_skill_action_result_anim make_skill_action_resultdef make_skill_action_result(battler = @active_battler, plus_id = 0)@rtab = !@target_battlersif $RTAB_Connected_Attackingmake_skill_action_result_anim(battler, plus_id)else@rtab ? make_skill_action_result_anim(battler) : make_skill_action_result_animend@skill_used = @skill.idend #--------------------------------------------------------------------------# * Make Item Action Results (alias used to determine item used)#--------------------------------------------------------------------------alias make_item_action_result_anim make_item_action_resultdef make_item_action_result(battler = @active_battler)@rtab = !@target_battlers@rtab ? make_item_action_result_anim(battler) : make_item_action_result_anim@item_used = @item.id@item_usage = @item.scopeend #--------------------------------------------------------------------------# * Frame Update (main phase step 1 : action preparation) (Casting Routine)#--------------------------------------------------------------------------alias update_phase4_step1_anim update_phase4_step1def update_phase4_step1(battler = @active_battler)@rtab = !@target_battlersif $rtab_detected == trueupdate_phase4_step1_anim(battler)if battler.current_action.kind == 1 and(not battler.current_action.forcing or @force != 2)if battler.rtp != 0$casted = trueendendelseupdate_phase4_step1_animendend #--------------------------------------------------------------------------# * Action Animation, Movement#--------------------------------------------------------------------------alias cbs_update_phase4_step3 update_phase4_step3def update_phase4_step3(battler = @active_battler)@rtab = !@target_battlerstarget = (@rtab ? battler.target : @target_battlers)[0] # If enemy is a default battlerif battler.is_a?(Game_Enemy)if $default_enemyif @rtab then battler.white_flash = true endif @rtab then battler.wait = 10 endendif $default_enemy_id != nilif $default_enemy_id.include?(@battler.id)if @rtab then battler.white_flash = true endif @rtab then battler.wait = 10 endendendend# If actor is a default battlerif battler.is_a?(Game_Actor)if $default_actorif @rtab then battler.white_flash = true endif @rtab then battler.wait = 10 endendif $default_actor_id != nilif $default_actor_id.include?(@battler.id)if @rtab then battler.white_flash = true endif @rtab then battler.wait = 10 endendendend # Set values and poses based on Actioncase battler.current_action.kindwhen 0 # Attackrush_type = $rush_attackfull_moving = true; if rush_type; full_moving = false; endif $move2center_atk.include?(battler.weapon_id); center_move=true; endif $stationary_enemyid.include?(battler.id) and battler.is_a?(Game_Enemy)full_moving = falsecenter_move = falserush_type = falseendif battler.current_action.basic == 2# If escaping, disable all movementfull_moving = falsecenter_move = falserush_type = falseendbase_pose = $p7base_pose = $poses_weapons[battler.weapon_id] if $poses_weapons.include?(battler.weapon_id)if battler.current_action.basic == 2base_pose = $poses_escaping if $poses_escaping != nilend when 1 # Skillrush_type = $rush_skillif $moving_skill_atk.include?(@skill_used); full_moving = true; endif $move2center_skill.include?(@skill_used); center_move = true; endbase_pose = $p9base_pose = $poses_skills[@skill_used] if $poses_skills.include?(@skill_used)when 2 # Itemrush_type = $rush_itemif $moving_item_atk.include?(@item_used) or @item_scope == 1..2; full_moving = true; endif $move2center_item.include?(@item_used); center_move = true; endbase_pose = $p8base_pose = $poses_items[@item_used] if $poses_items.include?(@item_used)end # Control Movement and use current pose@moved = {} unless @movedreturn if @spriteset.battler(battler).movingif not (@moved[battler] or battler.guarding?)offset = offset_value(battler)if rush_type # Steps forward@spriteset.battler(battler).setmove(battler.screen_x - offset, battler.screen_y + 1, battler.screen_z)endif full_moving # Runs to target@spriteset.battler(battler).setmove(target.screen_x + offset, target.screen_y - 1, target.screen_z + 10)endif center_move # Runs to center@spriteset.battler(battler).setmove(320+(offset/4), battler.screen_y-1, battler.screen_z)end@moved[battler] = truereturn@spriteset.battler(battler).pose = base_poseelsif not battler.guarding?@spriteset.battler(battler).pose = base_pose@spriteset.battler(battler).setmove(battler.screen_x, battler.screen_y, battler.screen_z)end # Finish Up Skill and Item Usecase battler.current_action.kindwhen 1# Flag system that skill was used$casted = false$casting = false@spriteset.battler(battler).skill_used = 0when 2# Flag system that item was used@spriteset.battler(battler).item_used = 0end # Battle_Charge value for BattleCry script$battle_charge = true # Done@moved[battler] = false@rtab ? cbs_update_phase4_step3(battler) : cbs_update_phase4_step3end#--------------------------------------------------------------------------# * Offset Calculation#--------------------------------------------------------------------------def offset_value(battler = @active_battler)offst = @spriteset.battler(battler).battler_offsetoffst += $rush_offsetif $sv_mirror == 1offset = (battler.is_a?(Game_Actor) ? -(offst) : offst)elseoffset = (battler.is_a?(Game_Actor) ? offst : -(offst))endreturn offsetend#--------------------------------------------------------------------------# * Hit Animation#--------------------------------------------------------------------------alias cbs_update_phase4_step4 update_phase4_step4def update_phase4_step4(battler = @active_battler)for target in (@rtab ? battler.target : @target_battlers)damage = (@rtab ? target.damage[battler] : target.damage)critical = (@rtab ? target.critical[battler] : target.critical)if damage.is_a?(Numeric) and damage > 0@spriteset.battler(target).pose = $p2if critical == true@spriteset.battler(target).pose = $poses_critical if $poses_critical != nilendendend@rtab ? cbs_update_phase4_step4(battler) : cbs_update_phase4_step4end#--------------------------------------------------------------------------# * Victory Animation#--------------------------------------------------------------------------alias cbs_start_phase5 start_phase5def start_phase5for actor in $game_party.actorsreturn if @spriteset.battler(actor).movingendfor actor in $game_party.actorsunless actor.dead?$victory = trueendendcbs_start_phase5end#--------------------------------------------------------------------------# * Change Arrow Viewport#--------------------------------------------------------------------------alias cbs_start_enemy_select start_enemy_selectdef start_enemy_selectcbs_start_enemy_select@enemy_arrow.dispose@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)@enemy_arrow.help_window = @help_windowendend #==============================================================================# ** Spriteset_Battle#------------------------------------------------------------------------------# This class brings together battle screen sprites. It's used within# the Scene_Battle class.#============================================================================== class Spriteset_Battle#--------------------------------------------------------------------------# * Change Enemy Viewport#--------------------------------------------------------------------------alias cbs_initialize initializedef initializecbs_initializeif @real_zoom != nil$rtab_detected = trueend@enemy_sprites = []for enemy in $game_troop.enemies.reverse@enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))endend#--------------------------------------------------------------------------# * Find Sprite From Battler Handle#--------------------------------------------------------------------------def battler(handle)for sprite in @actor_sprites + @enemy_spritesreturn sprite if sprite.battler == handleendendend #==============================================================================# ** Arrow_Base#------------------------------------------------------------------------------# This sprite is used as an arrow cursor for the battle screen. This class# is used as a superclass for the Arrow_Enemy and Arrow_Actor classes.#============================================================================== class Arrow_Base < Sprite#--------------------------------------------------------------------------# * Reposition Arrows#--------------------------------------------------------------------------alias cbs_initialize initializedef initialize(viewport)cbs_initialize(viewport)self.ox = 14self.oy = 10endendIl bs funziona bene, però avrei bisogno di personalizzarlo dal punto di vista grafico. In pratica vorrei spostare la posizione delle finestre, cambiare la trasparenza ecc, tante piccole. Il problema è che non riesco a trovare lo script dove vengono gestite le finestre che mi interessano. Fino ad adesso ho modificato solo la finestra che appare ad inizio scontro (Combatti, Fuggi) però dovrei modificare anche:
1- La finestra che chiede Attacca Magie Difendi Oggetti ecc
2- La finestra che mostra lo status dei personaggi
Grazie mille XD
-
Io avevo fatto un sistema di ore/giorni/mesi ad eventi nel mio progetto, se vuoi posso scrivere un tutorial...
-
Tutorial utilissimo, però lo avevo già :P
Ero interessato a quello pubblicato nel primo post in un certo senso per approfondire l'argomento :)
-
Potete riuppare il tutorial please!!!

Consigli su chara
in Risorse grafiche XP
Posted