Jump to content
Rpg²S Forum

Bowier

Utenti
  • Posts

    8
  • Joined

  • Last visited

Posts posted by Bowier

  1. EDIT: Sono riuscito a risolvere il problema e ho trovato il modo di farle combaciare perfettamente, è un lavoro molto più lungo ma almeno è sicuro; quindi grazie mille per la pazienza e per l'aiuto, senza di te penso non ci sarei riuscito >.<.

     

    Per quanto riguarda gli script, non mi ci sono ancora messo a leggerli, perchè prima volevo appunto capire come creare un tamplate che funzionasse con uno script già preconfezionato; ora che ci sono riuscito, più o meno vedo di mettere mano pure agli script, anche se prevedo periodi funesti all'orizzonte XD.

  2. Il battler non l'ho fatto io, il disegno non è mai stato il mio forte, infatti, se dovessi disegnare finirei per fare umani con delle linee nere, un po' come fanno i bambini di 5 anni xD. Per questo cercando in internet ho trovato questo sito che è pieno di risorse, e purtroppo sono fatti tutti cosi girati verso destra, al che con quel tuo steso programma lo ho scorporato e inserito nella griglia verde per cercare di fare un tamplate 4x11, per quello immaginavo fosse la posizione, cmq non sapevo dovesse stare in una cella 64x64, forse ora con un nuovo ritaglio riesco a sistemarlo.

     

    Graphic gale lo uso da due o tre giorni, è grazie a quello che sono riuscito a ritagliare e a unire le immagini, però non ho trovato alcun pulsante che mi permettesse di invertire la direzione del battler...sapresti per caso dirmi quale sia o dove si trovi?

     

    mille grazie per l'aiuto

  3. mm penso ad occhio e croce di averla capito grazie, cmq

    l'immagine da cui poi ho assemblato quel tamplate è questa:

     

     

    http://imageshack.com/a/img842/8272/i6r8.png

     

     

     

    mentre con questa immagine postata da Cloud_93 e seguendo il tamplate di base di minkoff ho unito il tutto:

    http://imageshack.com/a/img822/2928/yjr9.png

     

     

    ultima domanda se non scoccio troppo...come hai fatto ad invertirli? hai usato photoshop? o un altro programma?

  4. D: ho provato a fare un template con delle risorse preso in giro per internet, solo che quando lo metto in combattimento, questo tremola in continuazione; so che dev'essere colpa della posizione, ma non capisco in che posizione sistemarla...potete aiutarmi?

     

    http://imageshack.com/a/img268/8941/weeu.png

     

     

    D: e altra domanda (scusate se sono pieno di dubbi ç_ç).....il mio tamplate ha la figura inversa, quindi quando lo metto come mostro in battaglia sembra essere un eroe, e viceversa..al che mi chiedevo, non c'è modo di invertirlo usando gli script, o devo per forza cercare un altra risorsa?

  5. hai ragione, scusa...

     

    lo script che dicevo è questo:

     

     

     

    #==============================================================================
    # ** 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 forcing
    attr_accessor :skill_used # Degree of action forcing
    attr_accessor :item_used # Degree of action forcing
    #--------------------------------------------------------------------------
    # * Initialize
    #--------------------------------------------------------------------------
    alias cbs_initialize initialize
    def 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 = true
    cbs_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 random
    if $formation == 8 then
    $formation = rand(8).to_i
    end
    end
    #--------------------------------------------------------------------------
    # * Update
    #--------------------------------------------------------------------------
    alias cbs_update update
    def update
    return unless @battler
    # Regular Update
    cbs_update
    # Reset hash for Advanced Pose/Frames
    pose_temp = {}
    # Start Routine
    unless @started
    @pose = state
    if @battler.is_a?(Game_Enemy)
    if not $default_enemy
    if $default_enemy_id == nil
    # Set up Spritesheet Standards
    @width = @width / @frames
    @height = @height / @poses
    else
    if not $default_enemy_id.include?(@battler.id)
    @width = @width / @frames
    @height = @height / @poses
    end
    end
    end
    end
    if @battler.is_a?(Game_Actor)
    if not $default_actor
    if $default_actor_id == nil
    # Set up Spritesheet Standards
    @width = @width / @frames
    @height = @height / @poses
    else
    if not $default_actor_id.include?(@battler.id)
    @width = @width / @frames
    @height = @height / @poses
    end
    end
    end
    end
    @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_z
    self.opacity = 0
    @started = true
    end
    # Cut Out Frame
    # Enemy Battler Routine
    if @battler.is_a?(Game_Enemy)
    if $default_enemy
    self.src_rect.set(@width * 0, @height * 0, @width, @height)
    else
    if $default_enemy_id !=nil
    if $default_enemy_id.include?(@battler.id)
    self.src_rect.set(@width * 0, @height * 0, @width, @height)
    else
    self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
    end
    else
    self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
    end
    end
    end
    # Actor Battler Routine
    if @battler.is_a?(Game_Actor)
    if $default_actor
    self.src_rect.set(@width * 0, @height * 0, @width, @height)
    else
    if $default_actor_id !=nil
    if $default_actor_id.include?(@battler.id)
    self.src_rect.set(@width * 0, @height * 0, @width, @height)
    else
    self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
    end
    else
    self.src_rect.set(@width * @frame, @height * @pose, @width, @height)
    end
    end
    end
    # Position Sprite
    self.x = @display_x
    self.y = @display_y
    self.z = @display_z
    self.ox = @width / 2
    self.oy = @height
    # Adjust sprite direction if facing the other way...
    if $sv_mirror == 1
    if @battler.is_a?(Game_Actor)
    self.mirror = !!battler
    else
    if not @mirror_enemies
    self.mirror = !!battler
    end
    end
    else
    if @battler.is_a?(Game_Enemy)
    if @mirror_enemies
    self.mirror = !!battler
    end
    end
    end
    # Setup Frames per Pose
    poseframe = @frames_standard
    poseframe = @frames_per_pose[@pose] if @frames_per_pose.include?(@pose)
    # Set Advanced Poses for Actors
    if @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 Enemies
    if @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 Animation
    time = Graphics.frame_count / (Graphics.frame_rate / @speed)
    if @last_time < time
    @frame = (@frame + 1) % poseframe
    if @frame == 0
    if @freeze
    @frame = poseframe - 1
    return
    end
    @pose = state
    end
    end
    @last_time = time
    # Setup Dying Animation
    if @battler.dead?
    if @dying == true
    @pose = state
    @dying = false
    end
    else
    if @battler.is_a?(Game_Actor)
    if @poses_setup != nil
    if @s_pose == false
    @pose = @poses_setup
    @s_pose = true
    end
    end
    if $victory == true
    if @winning == true
    @pose = state
    @winning = false
    end
    end
    end
    end
    # Move It
    move if moving
    end
    #--------------------------------------------------------------------------
    # * Current State
    #--------------------------------------------------------------------------
    def state
    # Damage State
    if [nil,{}].include?(@battler.damage)
    # Battler Fine
    @state = $p1
    # Battler Wounded
    @state = $p3 if @battler.hp < @battler.maxhp * @low_hp_percentage
    # Battler Status-Effect
    for i in @battler.states
    @state = @poses_status if @poses_status.include?(i)
    end
    # If Battler Dead
    if @battler.dead?
    # If using default battlers or default collapse
    if (@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 nothing
    else
    # Use Poses system
    if @poses_dying != nil
    if @dying == true
    @state = @poses_dying
    else
    @state = $p11
    end
    else
    @state = $p11
    end
    # Fix Opacity
    self.opacity = 255
    end
    end
    end
    # Casting State
    if $casted
    if @battler.rtp != 0
    if @poses_casting != nil
    @state = @poses_casting
    end
    end
    end
    # Victory State
    if @battler.is_a?(Game_Actor)
    if $victory
    if @poses_winning != nil
    if @winning == true
    if not @battler.dead?
    @state = @poses_winning
    end
    else
    if not @battler.dead?
    @state = $p10
    if not @poses_winning_loops.include?(@battler.id)
    @freeze = true
    end
    end
    end
    else
    if not @battler.dead?
    @state = $p10
    if not @poses_winning_loops.include?(@battler.id)
    @freeze = true
    end
    end
    end
    end
    end
    # Guarding State (not if dead OR in victory)
    if not @battler.dead?
    if not $victory
    @state = $p4 if @battler.guarding?
    end
    end
    # Moving State
    if moving
    # Adjust sprite direction if facing the other way...
    if $sv_mirror == 1
    # If enemy battler moving
    if @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 moving
    else
    # Battler Moving Left
    @state = $p6 if moving.eql?(0)
    # Battler Moving Right
    @state = $p5 if moving.eql?(1)
    end
    else
    # If enemy battler moving
    if @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 moving
    else
    # Battler Moving Left
    @state = $p5 if moving.eql?(0)
    # Battler Moving Right
    @state = $p6 if moving.eql?(1)
    end
    end
    end
    # Return State
    return @state
    end
    #--------------------------------------------------------------------------
    # * Move
    #--------------------------------------------------------------------------
    def move
    time = Graphics.frame_count / (Graphics.frame_rate.to_f / (@speed * 5))
    if @last_move_time < time
    # Pause for Animation
    return if @pose != state
    # Phasing
    if @phasing
    d1 = (@display_x - @original_x).abs
    d2 = (@display_y - @original_y).abs
    d3 = (@display_x - @destination_x).abs
    d4 = (@display_y - @destination_y).abs
    self.opacity = [255 - ([d1 + d2, d3 + d4].min * 1.75).to_i, 0].max
    end
    # Calculate Difference
    difference_x = (@display_x - @destination_x).abs
    difference_y = (@display_y - @destination_y).abs
    difference_z = (@display_z - @destination_z).abs
    # Done? Reset, Stop
    if [difference_x, difference_y].max.between?(0, 8)
    @display_x = @destination_x
    @display_y = @destination_y
    @display_z = @destination_z
    @pose = state
    return
    end
    # Calculate Movement Increments
    increment_x = increment_y = 1
    if difference_x < difference_y
    increment_x = 1.0 / (difference_y.to_f / difference_x)
    elsif difference_y < difference_x
    increment_y = 1.0 / (difference_x.to_f / difference_y)
    end
    increment_z = increment_y
    # Calculate Movement Speed
    if @calculate_speed
    total = 0; $game_party.actors.each{ |actor| total += actor.agi }
    speed = @battler.agi.to_f / (total / $game_party.actors.size)
    increment_x *= speed
    increment_y *= speed
    increment_z *= speed
    end
    # Multiply and Move
    multiplier_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 = time
    end
    #--------------------------------------------------------------------------
    # * 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_z
    end
    end
    end
    #--------------------------------------------------------------------------
    # * Movement Check
    #--------------------------------------------------------------------------
    def moving
    if (@display_x != @destination_x and @display_y != @destination_y and !@battler.dead?)
    return (@display_x > @destination_x ? 0 : 1)
    end
    end
    #--------------------------------------------------------------------------
    # * Set Pose
    #--------------------------------------------------------------------------
    def pose=(pose)
    @pose = pose
    @frame = 0
    end
    #--------------------------------------------------------------------------
    # * Freeze
    #--------------------------------------------------------------------------
    def freeze
    @freeze = true
    end
    #--------------------------------------------------------------------------
    # * Fallen Pose
    #--------------------------------------------------------------------------
    if @derv_anim_bat_stack.nil?
    @derv_anim_bat_stack = true
    alias cbs_collapse collapse
    def collapse
    if @default_collapse_enemy
    cbs_collapse if @battler.is_a?(Game_Enemy)
    end
    if @default_collapse_actor
    cbs_collapse if @battler.is_a?(Game_Actor)
    end
    if $default_enemy
    cbs_collapse if @battler.is_a?(Game_Enemy)
    end
    if $default_actor
    cbs_collapse if @battler.is_a?(Game_Actor)
    end
    if $default_enemy_id != nil
    if $default_enemy_id.include?(@battler.id)
    cbs_collapse if @battler.is_a?(Game_Enemy)
    end
    end
    if $defend_actor.id != nil
    if $default_actor_id.include?(@battler.id)
    cbs_collapse if @battler.is_a?(Game_Actor)
    end
    end
    end
    end
    end
    #==============================================================================
    # ** 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 initialize
    def initialize
    # Call original initialization process
    initialize_cbs_customize
    @sideview_mirror = 0
    end
    end
    #==============================================================================
    # ** 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 battlers
    x_spacer = $formation_width / $max_member
    if self.index != nil
    case $formation
    when 0 # DIAGONAL PATTERN 1
    if $sv_mirror == 1
    return self.index * -x_spacer + (($max_member+1)*x_spacer) #202
    else
    return self.index * x_spacer + (640-(($max_member+1)*x_spacer))#450
    end
    when 1 # DIAGONAL PATTERN 2
    if $sv_mirror == 1
    return self.index * x_spacer + x_spacer #64
    else
    return self.index * -x_spacer + (640-x_spacer*2) #576
    end
    when 2 # 2-ROW SLANT
    if $sv_mirror == 1
    if self.index < ($max_member/2)
    return self.index + (($max_member+1)*x_spacer) + (x_spacer * self.index)
    else
    return self.index + (x_spacer * self.index) - x_spacer * 0.5
    end
    else
    if self.index < ($max_member/2)
    return self.index + (640-(($max_member+1)* x_spacer)) + (-x_spacer * self.index)
    else
    return self.index + (640-((x_spacer*0.5)-x_spacer)) + (-x_spacer * self.index)
    end
    end
    when 3 # 2 ROW - SLANT
    if $sv_mirror == 1
    if self.index < ($max_member/2)
    return self.index + (x_spacer/2)+(($max_member+1)* x_spacer) + (-x_spacer * self.index)
    else
    return self.index + (($max_member+1)* x_spacer) + (-x_spacer * self.index)
    end
    else
    if self.index < ($max_member/2)
    return self.index + 442 + (x_spacer * self.index)
    else
    return self.index + 430 + (x_spacer * self.index)
    end
    end
    when 4 # Column Pattern 1
    if $sv_mirror == 1
    if ((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))
    else
    return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)
    end
    else
    if ((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))
    else
    return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
    end
    end
    when 5 # Column Pattern 2
    if $sv_mirror == 1
    if ((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))
    else
    return self.index + ($max_member*(x_spacer*1.5)) + (-(x_spacer*1.5) * self.index)
    end
    else
    if ((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))
    else
    return self.index + 640-($max_member*(x_spacer*1.5)) + ((x_spacer*1.5) * self.index)
    end
    end
    when 6 # Wave Formation 1
    if $sv_mirror == 1
    if self.index < ($max_member/2)
    return 170
    else
    return 90
    end
    else
    if self.index < ($max_member/2)
    return 470
    else
    return 550
    end
    end
    else # Wave Formation 2
    if $sv_mirror == 1
    if self.index < ($max_member/2)
    return 170
    else
    return 90
    end
    else
    if self.index < ($max_member/2)
    return 470
    else
    return 550
    end
    end
    end
    else
    return 0
    end
    end
    #--------------------------------------------------------------------------
    # * Actor Y Coordinate
    #--------------------------------------------------------------------------
    def screen_y
    # Determine minimum vertical space between battlers
    y_spacer = (480 - $battlestat_height - $formation_top) / $max_member
    if self.index != nil
    case $formation
    when 0
    return self.index * (y_spacer*1.25) + $formation_top
    when 1
    return self.index * (y_spacer*1.25) + $formation_top
    when 2
    if self.index < ($max_member/2)
    return $formation_top + ((y_spacer*2.5) * self.index)
    else
    return ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) #was 60
    end
    when 3
    if self.index < ($max_member/2)
    return $formation_top + ((y_spacer*2.5) * self.index)
    else
    return ($formation_top - (y_spacer*($max_member+1))) + ((y_spacer*2.5) * self.index) # was 60
    end
    when 4
    if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
    return $formation_top + ($battlestat_height/2)
    else
    return $formation_top + ($battlestat_height/6)
    end
    when 5
    if ((self.index + 1) / 2) >= (((self.index + 1).to_f) / 2 )
    return $formation_top + ($battlestat_height/6)
    else
    return $formation_top + ($battlestat_height /2)
    end
    when 6
    if self.index < ($max_member/2)
    return $formation_top + (y_spacer * 2.5 * self.index)
    else
    return $formation_top + (y_spacer * 2.5 * ((self.index) - ($max_member/2)))
    end
    else
    if self.index < ($max_member/2)
    return $formation_top + (y_spacer*2.5*(($max_member/2)-1))+ (y_spacer * 2.5 * -self.index)
    else
    return $formation_top + (y_spacer*2.5*(($max_member/2)-1)) + (y_spacer * 2.5 * -((self.index) - ($max_member/2)))
    end
    end
    end
    end
    #--------------------------------------------------------------------------
    # * Actor Z Coordinate
    #--------------------------------------------------------------------------
    def screen_z
    return screen_y
    end
    end
    #==============================================================================
    # ** Game_Enemy
    #------------------------------------------------------------------------------
    # This class handles enemies. It's used within the Game_Troop class
    # ($game_troop).
    #==============================================================================
    class Game_Enemy < Game_Battler
    def screen_x
    if self.index != nil
    if $sv_mirror == 1
    return 640 - $data_troops[@troop_id].members[@member_index].x
    else
    return $data_troops[@troop_id].members[@member_index].x
    end
    end
    end
    end
    #==============================================================================
    # ** 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_result
    def make_skill_action_result(battler = @active_battler, plus_id = 0)
    @rtab = !@target_battlers
    if $RTAB_Connected_Attacking
    make_skill_action_result_anim(battler, plus_id)
    else
    @rtab ? make_skill_action_result_anim(battler) : make_skill_action_result_anim
    end
    @skill_used = @skill.id
    end
    #--------------------------------------------------------------------------
    # * Make Item Action Results (alias used to determine item used)
    #--------------------------------------------------------------------------
    alias make_item_action_result_anim make_item_action_result
    def 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.scope
    end
    #--------------------------------------------------------------------------
    # * Frame Update (main phase step 1 : action preparation) (Casting Routine)
    #--------------------------------------------------------------------------
    alias update_phase4_step1_anim update_phase4_step1
    def update_phase4_step1(battler = @active_battler)
    @rtab = !@target_battlers
    if $rtab_detected == true
    update_phase4_step1_anim(battler)
    if battler.current_action.kind == 1 and
    (not battler.current_action.forcing or @force != 2)
    if battler.rtp != 0
    $casted = true
    end
    end
    else
    update_phase4_step1_anim
    end
    end
    #--------------------------------------------------------------------------
    # * Action Animation, Movement
    #--------------------------------------------------------------------------
    alias cbs_update_phase4_step3 update_phase4_step3
    def update_phase4_step3(battler = @active_battler)
    @rtab = !@target_battlers
    target = (@rtab ? battler.target : @target_battlers)[0]
    # If enemy is a default battler
    if battler.is_a?(Game_Enemy)
    if $default_enemy
    if @rtab then battler.white_flash = true end
    if @rtab then battler.wait = 10 end
    end
    if $default_enemy_id != nil
    if $default_enemy_id.include?(@battler.id)
    if @rtab then battler.white_flash = true end
    if @rtab then battler.wait = 10 end
    end
    end
    end
    # If actor is a default battler
    if battler.is_a?(Game_Actor)
    if $default_actor
    if @rtab then battler.white_flash = true end
    if @rtab then battler.wait = 10 end
    end
    if $default_actor_id != nil
    if $default_actor_id.include?(@battler.id)
    if @rtab then battler.white_flash = true end
    if @rtab then battler.wait = 10 end
    end
    end
    end
    # Set values and poses based on Action
    case battler.current_action.kind
    when 0 # Attack
    rush_type = $rush_attack
    full_moving = true ; if rush_type; full_moving = false; end
    if $move2center_atk.include?(battler.weapon_id); center_move=true ; end
    if $stationary_enemyid.include?(battler.id) and battler.is_a?(Game_Enemy)
    full_moving = false
    center_move = false
    rush_type = false
    end
    if battler.current_action.basic == 2
    # If escaping, disable all movement
    full_moving = false
    center_move = false
    rush_type = false
    end
    base_pose = $p7
    base_pose = $poses_weapons[battler.weapon_id] if $poses_weapons.include?(battler.weapon_id)
    if battler.current_action.basic == 2
    base_pose = $poses_escaping if $poses_escaping != nil
    end
    when 1 # Skill
    rush_type = $rush_skill
    if $moving_skill_atk.include?(@skill_used) ; full_moving = true ; end
    if $move2center_skill.include?(@skill_used) ; center_move = true ; end
    base_pose = $p9
    base_pose = $poses_skills[@skill_used] if $poses_skills.include?(@skill_used)
    when 2 # Item
    rush_type = $rush_item
    if $moving_item_atk.include?(@item_used) or @item_scope == 1..2 ; full_moving = true ; end
    if $move2center_item.include?(@item_used); center_move = true; end
    base_pose = $p8
    base_pose = $poses_items[@item_used] if $poses_items.include?(@item_used)
    end
    # Control Movement and use current pose
    @moved = {} unless @moved
    return if @spriteset.battler(battler).moving
    if 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)
    end
    if full_moving # Runs to target
    @spriteset.battler(battler).setmove(target.screen_x + offset, target.screen_y - 1, target.screen_z + 10)
    end
    if center_move # Runs to center
    @spriteset.battler(battler).setmove(320+(offset/4), battler.screen_y-1, battler.screen_z)
    end
    @moved[battler] = true
    return
    @spriteset.battler(battler).pose = base_pose
    elsif 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 Use
    case battler.current_action.kind
    when 1
    # Flag system that skill was used
    $casted = false
    $casting = false
    @spriteset.battler(battler).skill_used = 0
    when 2
    # Flag system that item was used
    @spriteset.battler(battler).item_used = 0
    end
    # Battle_Charge value for BattleCry script
    $battle_charge = true
    # Done
    @moved[battler] = false
    @rtab ? cbs_update_phase4_step3(battler) : cbs_update_phase4_step3
    end
    #--------------------------------------------------------------------------
    # * Offset Calculation
    #--------------------------------------------------------------------------
    def offset_value(battler = @active_battler)
    offst = @spriteset.battler(battler).battler_offset
    offst += $rush_offset
    if $sv_mirror == 1
    offset = (battler.is_a?(Game_Actor) ? -(offst) : offst)
    else
    offset = (battler.is_a?(Game_Actor) ? offst : -(offst))
    end
    return offset
    end
    #--------------------------------------------------------------------------
    # * Hit Animation
    #--------------------------------------------------------------------------
    alias cbs_update_phase4_step4 update_phase4_step4
    def 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 = $p2
    if critical == true
    @spriteset.battler(target).pose = $poses_critical if $poses_critical != nil
    end
    end
    end
    @rtab ? cbs_update_phase4_step4(battler) : cbs_update_phase4_step4
    end
    #--------------------------------------------------------------------------
    # * Victory Animation
    #--------------------------------------------------------------------------
    alias cbs_start_phase5 start_phase5
    def start_phase5
    for actor in $game_party.actors
    return if @spriteset.battler(actor).moving
    end
    for actor in $game_party.actors
    unless actor.dead?
    $victory = true
    end
    end
    cbs_start_phase5
    end
    #--------------------------------------------------------------------------
    # * Change Arrow Viewport
    #--------------------------------------------------------------------------
    alias cbs_start_enemy_select start_enemy_select
    def start_enemy_select
    cbs_start_enemy_select
    @enemy_arrow.dispose
    @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2)
    @enemy_arrow.help_window = @help_window
    end
    end
    #==============================================================================
    # ** 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 initialize
    def initialize
    cbs_initialize
    if @real_zoom != nil
    $rtab_detected = true
    end
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
    @enemy_sprites.push(Sprite_Battler.new(@viewport2, enemy))
    end
    end
    #--------------------------------------------------------------------------
    # * Find Sprite From Battler Handle
    #--------------------------------------------------------------------------
    def battler(handle)
    for sprite in @actor_sprites + @enemy_sprites
    return sprite if sprite.battler == handle
    end
    end
    end
    #==============================================================================
    # ** 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 initialize
    def initialize(viewport)
    cbs_initialize(viewport)
    self.ox = 14
    self.oy = 10
    end
    end

     

     

     

    e il problema mi si presenta non solo per gli eroi ma anche per i mostri...

  6. D: domandina veloce...uso il sistema bs di minkoff, e lo script mi funziona, però quando vado ad inserire i template (spero si chiamino cosi) nelle rispettive cartelle dei battlers, durante la battaglia mi si duplicano o triplicano. Le immagini usate sono a 4x11, sapete per caso cosa devo modificare per sistemarlo?

  7. Salve a tutti gente, sono Bowier, originario del nord, più precisamente della provincia di bologna, ho 24 anni e al momento studio presso l'università, ciò mi porta a dire che ho un mucchio di tempo da dedicare ad una delle mie grandi passioni, che sono appunto i videogiochi.

    Qualche anno fa, mi è venuta la brillante idea di creare un videogioco, e cercando in internet sono venuto al conoscenza del programma di rpg maker xp e da quel momento mi sono messo a carpirne i segreti. Purtroppo però dovetti abbandonarlo per causa di forza maggiore, e solo di recente sono riuscito a riprenderlo in mano, ciò mi porta a al motivo per cui mi sono iscritto a questo forum. Il motivo in questione è che mi sono trovato a sbattere la testa su dei problemi che non sono riuscito a risolvere; navigando in internet nel tentativo di risolvere i mie problemi mi sono scontrato con questo forum e con alcuni post della vostra comunity e che dire...sono venuto a chiedervi umilmente di aiutarmi con il mio progetto.

    E' un piacere fare la vostra conoscenza e spero un giorno di potervi essere di aiuto quanto voi possiate esserlo per me.

×
×
  • Create New...