Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment :
Pokémon Évolutions Prismatiques : ...
Voir le deal

Partagez
 

 [VX-Ace]Behind view battle system(Jet sidevie

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Brandobscure001
Paladin (niveau 1)
Paladin (niveau 1)
Brandobscure001

Masculin
Messages postés : 544
Date d'inscription : 02/08/2011
Jauge LPC :
[VX-Ace]Behind view battle system(Jet sidevie 89152714006 / 1006 / 100[VX-Ace]Behind view battle system(Jet sidevie 8915271400

[VX-Ace]Behind view battle system(Jet sidevie Membre10
[VX-Ace]Behind view battle system(Jet sidevie Partag10
[VX-Ace]Behind view battle system(Jet sidevie Projet16
[VX-Ace]Behind view battle system(Jet sidevie Collec12


[VX-Ace]Behind view battle system(Jet sidevie Empty
MessageSujet: [VX-Ace]Behind view battle system(Jet sidevie   [VX-Ace]Behind view battle system(Jet sidevie EmptyMar 8 Mai 2012 - 12:34

Bonjours !
j'ai trouvé un script de combat plutôt intéréssant
Testé est il marche
Les hero regarde droit devant et il sont animé.
Screen :

[VX-Ace]Behind view battle system(Jet sidevie Fm7x4o10

Explications : Il n'a donné aucune explication
A mettre au dessus de Main.
Pour RmvxAce

Configurations : Ligne 23 a 96



Auteur : Jet

Script
Il n'y en a que 1

Code:
#===============================================================================
# Behind-View Battle System
# By Jet and efeberk
#===============================================================================
# This script will allow you to have battle where all the actor's sprites are
# display on the behind of the characters.
# This script has: 10 customization options.
#===============================================================================
# Overwritten Methods:
# Scene_Battle: show_attack_animation
# Spriteset_Battle: update_actors
#-------------------------------------------------------------------------------
# Aliased methods:
# Spriteset_Battle: create_actors, create_enemies
# Sprite_Character: initialize, update, dispose, start_new_effect
# Scene_Battle: use_item, next_command, prior_command
# Game_Character: screen_x, screen_y
#===============================================================================

module Jet
  module Sideview

        #===========================================================================
        # ENEMY OPTIONS
        #===========================================================================

        # These are the attack animations for enemies when they use a regular attack.
        # It follows this format: enemy_id => animation_id
        ENEMY_ATK_ANIMS = {


        }

        # This is the default enemy attack animation, used when they do not have a
        # specific attack animation above.
        ENEMY_ATK_ANIMS.default = 1

        # This is a list of enemies whose portraits should be flipped in battle.
        FLIPPED_ENEMIES = [2, 3, 4, 5, 8, 10, 12, 13, 14, 16, 17, 18, 19]

        #===========================================================================
        # ACTOR OPTIONS
        #===========================================================================

        # Should the player sprite have a shadow beneath them?
        PLAYER_SHADOW = true

        # These are sprite changes depending on state infliction.
        # It follows this format: state_id => "sprite_appention"
        # This means if the state is inflicted, the sprite will look for a graphic
        # that is the same name as the character's sprite, plus the appended option.
        # EX: Ralph's sprite's name is $ralph. Ralph gets knocked-out. This means
        # state 1 was inflicted, and my below config for 1 was: 1 => "_dead"
        # Now, his shown sprite will be $ralph_dead. If the sprite does not exist,
        # no change will be made.
        # The sprite index will be the same as the actor's.
        STATE_SPRITES = {

        1 => "_dead",
        2 => "_poison",
        3 => "_blind"

        }

        #===========================================================================
        # GENERAL_OPTIONS
        #===========================================================================

        # This is the animation displayed when a skill is about to be used.
        SKILL_ANIMATION = 43

        # This is the animation displayed when an item is about to be used.
        ITEM_ANIMATION = 43

        # These are the animations played when a state is inflicted.
        # It follows this format: state_id => animation_id
        STATE_ANIMATIONS = {

        1 => 56,
        2 => 50,
        3 => 51

        }

        #===========================================================================
        # FIELD OPTIONS
        #===========================================================================

        # This is where the line-up begins. [x, y]. The higher the x, the further
        # right and the higher the y the further down.
        FIELD_POS = [275, 280]

        # This is how far down, and to the right each player is from the previous
        # actor. [x, y]. Same rules as above.
        FIELD_SPACING = [50, 0]

  end
end

#===============================================================================
# DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO.
#===============================================================================

($imported ||= {})[:jet] ||= {}
$imported[:jet][:Sideview] = true

class Game_Character

  attr_accessor :step_anime

  %w[screen_x screen_y].each {|a|
        aStr = %Q{
          alias jet6372_#{a} #{a}
          def #{a}(*args, &block)
                $BTEST ? 0 : jet6372_#{a}(*args, &block)
          end
        }
        module_eval(aStr)
  }
end

class Game_Actor

  def animation_id=(t)
        self.battle_sprite.start_animation($data_animations[t]) rescue nil
  end
end

class Game_Battler

  def battle_sprite
        return nil unless SceneManager.scene_is?(Scene_Battle)
        SceneManager.scene.spriteset.battler_sprites.each {|a|
          return a if a.battler == self
        }
        return nil
  end
end

class Spriteset_Battle

  alias jet2847_create_enemies create_enemies
  def create_enemies(*args, &block)
        jet2847_create_enemies(*args, &block)
        @enemy_sprites.each {|a|
          a.mirror = Jet::Sideview::FLIPPED_ENEMIES.include?(a.battler.enemy.id)
        }
  end

  alias jet3835_create_actors create_actors
  def create_actors(*args, &block)
        jet3835_create_actors(*args, &block)
        @jet_party = $game_party.members
        @actor_sprites.each {|a|
          a.dispose
        }
        @actor_sprites = []
        $game_party.members.each {|a|
          f = Game_Character.new
          f.set_graphic(a.character_name, a.character_index)
          f.step_anime = true
          f.set_direction(8)
          n = Sprite_Character.new(@viewport1, f)
          n.jet_x = Jet::Sideview::FIELD_POS[0] + a.index * Jet::Sideview::FIELD_SPACING[0]
          n.jet_y = Jet::Sideview::FIELD_POS[1] + a.index * Jet::Sideview::FIELD_SPACING[1]
          n.battler = a
          n.battle_sprite = true
          if Jet::Sideview::PLAYER_SHADOW
                v = Sprite.new(nil)
                v.bitmap = Cache.system("Shadow")
                n.shadow_sprite = v
          end
          @actor_sprites.push(n)
        }
  end

  def update_actors
        if @jet_party != $game_party.members
          @actor_sprites.each {|a|
                a.dispose
          }
          @actor_sprites = []
          create_actors
        end
        @actor_sprites.each {|a| a.update }
  end
end

class Sprite_Character

  attr_accessor :battle_sprite, :jet_x, :jet_y, :shadow_sprite, :battler

  alias jet4646_initialize initialize
  def initialize(*args, &block)
        @battle_sprite = false
        jet4646_initialize(*args, &block)
  end

  alias jet3645_update update
  def update(*args, &block)
        jet3645_update(*args, &block)
        if @battle_sprite
          @character.step_anime = !@battler.dead?
          @character.update
          self.x = @jet_x
          self.y = @jet_y
          if !@battler.nil?
                f = @battler.states.dup
                f.sort! {|a, b|
                  a.priority <=> b.priority
                }.reverse!
                for i in 0...f.size
                  a = Jet::Sideview::STATE_SPRITES[f[i].id]
                  next if a.nil?
                  b = (Cache.character(@character.character_name + a) rescue false)
                  next unless b
                  index = @character.character_index
                  @character.set_graphic(@character.character_name + a, index)
                  break
                end
          end
          if !@shadow_sprite.nil?
                @shadow_sprite.x = self.x - @shadow_sprite.width / 2
                @shadow_sprite.y = self.y - 28
                @shadow_sprite.visible = self.visible
                @shadow_sprite.viewport = self.viewport
                @shadow_sprite.z = self.z - 1
          end
        end
  end

  alias jet5484_dispose dispose
  def dispose(*args, &block)
        @shadow_sprite.dispose if !@shadow_sprite.nil?
        jet5484_dispose(*args, &block)
  end

  def move_x(times, amount)
        i = 0
        until i == times
          self.jet_y += amount
          i += 1
          [Graphics, SceneManager.scene.spriteset].each {|a| a.update }
        end
  end

  def effect?
        false
  end
end

class Game_Enemy

  def atk_animation_id1
        return Jet::Sideview::ENEMY_ATK_ANIMS[@enemy_id]
  end

  def atk_animation_id2
        return 0
  end
end

class Scene_Battle

  attr_reader :spriteset

  alias jet2711_use_item use_item
  def use_item(*args, &block)
        if @subject.is_a?(Game_Actor)
          if !@subject.current_action.guard?
                @subject.battle_sprite.move_x(11, -4)
          end
        end
        if !@subject.current_action.guard? && !@subject.current_action.attack?
          if @subject.current_action.item.is_a?(RPG::Item)
                n = $data_animations[Jet::Sideview::ITEM_ANIMATION]
          else
                n = $data_animations[Jet::Sideview::SKILL_ANIMATION]
          end
          @subject.battle_sprite.start_animation(n)
          wait_for_animation
        end
        jet2711_use_item(*args, &block)
        if @subject.is_a?(Game_Actor)
          if !@subject.current_action.guard?
                @subject.battle_sprite.move_x(11, 4)
          end
        end
  end

  def show_attack_animation(targets)
        aid1 = @subject.atk_animation_id1
        aid2 = @subject.atk_animation_id2
        show_normal_animation(targets, aid1, false)
        show_normal_animation(targets, aid2, true)
  end

  %w[next prior].each {|a|
        aStr = %Q{
          alias jet3734_#{a}_command #{a}_command
          def #{a}_command(*args, &block)
                f = BattleManager.actor
                f.battle_sprite.move_x(6, 4) if f.is_a?(Game_Actor)
                jet3734_#{a}_command(*args, &block)
                f = BattleManager.actor
                f.battle_sprite.move_x(6, -4) if f.is_a?(Game_Actor)
          end
        }
        module_eval(aStr)
  }
end

class Game_Action

  def guard?
        item == $data_skills[subject.guard_skill_id]
  end
end

if $imported[:jet][:BattlePopUps]
  class Sprite_Character

        attr_accessor :popups

        alias jet4758_initialize initialize
        def initialize(*args, &block)
          @popups = []
          @updating_sprites = []
          @popup_wait = 0
          jet4758_initialize(*args, &block)
        end

        alias jet7467_update update
        def update(*args, &block)
          jet7467_update(*args, &block)
          if @popup_wait == 0
                if !@popups.empty?
                  @updating_sprites.push(@popups.pop)
                  @popup_wait = 30
                end
          else
                @popup_wait -= 1
          end
          @updating_sprites.each {|a|
                a.visible = true if !a.visible
                a.update
                @updating_sprites.delete(a) if a.disposed?
          }
        end

        alias jet5483_dispose dispose
        def dispose(*args, &block)
          (@updating_sprites + @popups).each {|a| a.dispose }
          jet5483_dispose(*args, &block)
        end

        alias jet3745_setup_new_effect setup_new_effect
        def setup_new_effect(*args, &block)
          jet3745_setup_new_effect(*args, &block)
          do_sprite_popups
        end

        def make_popup(text, color)
          @popups.unshift(Sprite_JetPopup.new(text.to_s, color, self))
        end

        def do_sprite_popups
          return if @battler.nil?
          if @battler_struct.nil?
                @battler_struct = Struct.new(:hp, :mp, :tp).new(0, 0, 0)
                @battler_struct.hp = @battler.hp
                @battler_struct.mp = @battler.mp
                @battler_struct.tp = @battler.tp
          end
          check_success_popup
          check_hp_popup
          check_mp_popup
          check_tp_popup
        end

        def check_success_popup
          if @battler.result.success
                if @battler.result.critical
                  make_popup(Jet::BattlePopUps::CRITICAL_TEXT, Jet::BattlePopUps::CRITICAL_COLOR)
                elsif @battler.result.missed
                  make_popup(Jet::BattlePopUps::MISSED_TEXT, Jet::BattlePopUps::MISS_COLOR)
                elsif @battler.result.evaded
                  make_popup(Jet::BattlePopUps::EVADED_TEXT, Jet::BattlePopUps::EVADE_COLOR)
                end
                @battler.result.clear_hit_flags
          end
        end

        def check_hp_popup
          if @battler_struct.hp != @battler.hp
                f = @battler_struct.hp - @battler.hp
                if f > 0
                  make_popup(Jet::BattlePopUps::HURT_TEXT + f.to_s, Jet::BattlePopUps::HURT_COLOR)
                elsif f < 0
                  make_popup(Jet::BattlePopUps::HEAL_TEXT + f.abs.to_s, Jet::BattlePopUps::HEAL_COLOR)
                end
                @battler_struct.hp = @battler.hp
          end
        end

        def check_mp_popup
          if @battler_struct.mp != @battler.mp
                f = @battler_struct.mp - @battler.mp
                if f > 0
                  make_popup(Jet::BattlePopUps::HURT_TEXT_MP + f.to_s, Jet::BattlePopUps::HURT_COLOR_MP)
                elsif f < 0
                  make_popup(Jet::BattlePopUps::HEAL_TEXT_MP + f.abs.to_s, Jet::BattlePopUps::HEAL_COLOR_MP)
                end
                @battler_struct.mp = @battler.mp
          end
        end

        def check_tp_popup
          if @battler_struct.tp != @battler.tp
                f = (@battler_struct.tp - @battler.tp).round
                if f > 0
                  make_popup(Jet::BattlePopUps::HURT_TEXT_TP + f.to_s, Jet::BattlePopUps::HURT_COLOR_TP)
                elsif f < 0
                  make_popup(Jet::BattlePopUps::HEAL_TEXT_TP + f.abs.to_s, Jet::BattlePopUps::HEAL_COLOR_TP)
                end
                @battler_struct.tp = @battler.tp
          end
        end
  end
end

Lien du forum ou je l'ai trouvé :

http://www.rpgmakervxace.net/topic/2294-behind-view-battle-systemjet-sideview/

A+
Revenir en haut Aller en bas
Elekami
Fondateur
Fondateur
Elekami

Masculin
Messages postés : 19071
Date d'inscription : 19/07/2008
Jauge LPC :
[VX-Ace]Behind view battle system(Jet sidevie 8915271400100 / 100100 / 100[VX-Ace]Behind view battle system(Jet sidevie 8915271400

[VX-Ace]Behind view battle system(Jet sidevie Pater_10
[VX-Ace]Behind view battle system(Jet sidevie Staffe10
[VX-Ace]Behind view battle system(Jet sidevie Mythe_10
[VX-Ace]Behind view battle system(Jet sidevie Membre11
[VX-Ace]Behind view battle system(Jet sidevie Doyen10
[VX-Ace]Behind view battle system(Jet sidevie Scanar10
[VX-Ace]Behind view battle system(Jet sidevie Compos10
[VX-Ace]Behind view battle system(Jet sidevie Testeu10
[VX-Ace]Behind view battle system(Jet sidevie Membre15
[VX-Ace]Behind view battle system(Jet sidevie Partag10
[VX-Ace]Behind view battle system(Jet sidevie Projet10
[VX-Ace]Behind view battle system(Jet sidevie Projet16
[VX-Ace]Behind view battle system(Jet sidevie Riche_10
[VX-Ace]Behind view battle system(Jet sidevie Travai10
[VX-Ace]Behind view battle system(Jet sidevie Collec10
[VX-Ace]Behind view battle system(Jet sidevie Collec11
[VX-Ace]Behind view battle system(Jet sidevie Collec12
[VX-Ace]Behind view battle system(Jet sidevie Collec13
[VX-Ace]Behind view battle system(Jet sidevie Connar10


[VX-Ace]Behind view battle system(Jet sidevie Empty
MessageSujet: Re: [VX-Ace]Behind view battle system(Jet sidevie   [VX-Ace]Behind view battle system(Jet sidevie EmptyMar 8 Mai 2012 - 12:43

Merci du partage, je t'ajoute des points.
Revenir en haut Aller en bas
https://www.ledijonshow.fr https://twitter.com/EleKoptes
Figela
Paysan (niveau 3)
Paysan (niveau 3)
Figela

Masculin
Messages postés : 20
Date d'inscription : 04/05/2013
Jauge LPC :
[VX-Ace]Behind view battle system(Jet sidevie 89152714000 / 1000 / 100[VX-Ace]Behind view battle system(Jet sidevie 8915271400


[VX-Ace]Behind view battle system(Jet sidevie Empty
MessageSujet: Re: [VX-Ace]Behind view battle system(Jet sidevie   [VX-Ace]Behind view battle system(Jet sidevie EmptyLun 13 Mai 2013 - 22:35

Petit question : il y aurait un moyen d'avoir l'animation du sort de l'ennemi sur nos persos ?
Revenir en haut Aller en bas
Mucral
Paysan (niveau 4)
Paysan (niveau 4)
Mucral

Masculin
Messages postés : 37
Date d'inscription : 18/01/2014
Jauge LPC :
[VX-Ace]Behind view battle system(Jet sidevie 89152714000 / 1000 / 100[VX-Ace]Behind view battle system(Jet sidevie 8915271400


[VX-Ace]Behind view battle system(Jet sidevie Empty
MessageSujet: Re: [VX-Ace]Behind view battle system(Jet sidevie   [VX-Ace]Behind view battle system(Jet sidevie EmptySam 18 Jan 2014 - 22:00

Merci pour ce script.
Mais dit moi pourquoi mon personnage recule quand il attaque ?
Revenir en haut Aller en bas
http://les-aventures-de-mucral.jimdo.com/ https://twitter.com/AventuresMucral
laverdure
Chevalier (niveau 1)
Chevalier (niveau 1)
laverdure

Messages postés : 65
Date d'inscription : 04/06/2014
Jauge LPC :
[VX-Ace]Behind view battle system(Jet sidevie 89152714000 / 1000 / 100[VX-Ace]Behind view battle system(Jet sidevie 8915271400


[VX-Ace]Behind view battle system(Jet sidevie Empty
MessageSujet: Re: [VX-Ace]Behind view battle system(Jet sidevie   [VX-Ace]Behind view battle system(Jet sidevie EmptyMer 11 Juin 2014 - 18:54

ça ne marche pas, ça me met une erreur a propos de la ligne 24, please aidez moi !!!!!
Revenir en haut Aller en bas
trucbidule
Modératrice
Modératrice
trucbidule

Féminin
Messages postés : 1758
Date d'inscription : 28/04/2013
Jauge LPC :
[VX-Ace]Behind view battle system(Jet sidevie 891527140075 / 10075 / 100[VX-Ace]Behind view battle system(Jet sidevie 8915271400

[VX-Ace]Behind view battle system(Jet sidevie Partag10
[VX-Ace]Behind view battle system(Jet sidevie Membre10
[VX-Ace]Behind view battle system(Jet sidevie Testeu10
[VX-Ace]Behind view battle system(Jet sidevie Promot10
[VX-Ace]Behind view battle system(Jet sidevie Collec10
[VX-Ace]Behind view battle system(Jet sidevie Collec11
[VX-Ace]Behind view battle system(Jet sidevie Collec12
[VX-Ace]Behind view battle system(Jet sidevie Collec13
[VX-Ace]Behind view battle system(Jet sidevie Cookie10


[VX-Ace]Behind view battle system(Jet sidevie Empty
MessageSujet: Re: [VX-Ace]Behind view battle system(Jet sidevie   [VX-Ace]Behind view battle system(Jet sidevie EmptyMer 11 Juin 2014 - 19:58

Il y a une zone personnalisable à partir de la ligne 24 :
Code:
# These are the attack animations for enemies when they use a regular attack.
        # It follows this format: enemy_id => animation_id
        ENEMY_ATK_ANIMS = {


        }
Tu dois écrire ici l'ID (je suppose) de l'animation d'un ennemi pour une attaque normale.
Revenir en haut Aller en bas
http://trucbidulebond.deviantart.com/
Contenu sponsorisé




[VX-Ace]Behind view battle system(Jet sidevie Empty
MessageSujet: Re: [VX-Ace]Behind view battle system(Jet sidevie   [VX-Ace]Behind view battle system(Jet sidevie Empty

Revenir en haut Aller en bas
 
[VX-Ace]Behind view battle system(Jet sidevie
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» ChronoTrigger Battle System
» [XP] Worms Battle System
» View-range en events (RPG Maker Xp)
» A propos du script Side view, de Tankentai
» [VX] Neo Save System

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VXAce :: Combat-
Sauter vers: