AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le Deal du moment :
Xiaomi Mi Smart Camera 2K Standard Edition (design ...
Voir le deal
11.39 €

Partagez
 

 [VXace] Behind view battle system

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Brandobscure001
Seigneur Lv.18
Seigneur Lv.18
Brandobscure001


Masculin Age : 27
Inscrit le : 26/12/2010
Messages : 2220

[VXace] Behind view battle system Empty
MessageSujet: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeMar 8 Mai 2012 - 10:14

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 :

[VXace] Behind view battle system 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+


Dernière édition par Brandobscure001 le Mar 8 Mai 2012 - 10:30, édité 2 fois
Revenir en haut Aller en bas
LightNox
Voyageur Lv.10
Voyageur Lv.10
LightNox


Masculin Age : 33
Inscrit le : 12/02/2009
Messages : 469

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeMar 8 Mai 2012 - 10:24

Merci du partage brand' c'est exactement je genre de script que je chercher ^^
Revenir en haut Aller en bas
RitoJS
Modérateur
Modérateur
RitoJS


Masculin Age : 29
Inscrit le : 22/12/2011
Messages : 1600

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeMar 8 Mai 2012 - 11:49

Sympas. Merci du partage. Smile
Revenir en haut Aller en bas
http://lunarito.wordpress.com/
Argezam
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Argezam


Masculin Age : 28
Inscrit le : 21/02/2013
Messages : 18

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeLun 25 Fév 2013 - 21:56

Veuillez m'excuser du nécropost... je suis nouveau et après avoir vu ce script il fallait que je pose la question. Comment faire pour configurer afin d'obtenir le même résultat que sur le screen ? Personnellement j'ai mis le script mais le mode de combat ne change pas, j'ai toujours cette vue (assez moche) de base.
Revenir en haut Aller en bas
SuperRapace6327
Poulet carnivore Lv.2
Poulet carnivore Lv.2
SuperRapace6327


Masculin Age : 26
Inscrit le : 04/01/2013
Messages : 14

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeMar 5 Mar 2013 - 20:29

Déplace le au dessus de tous tes scripts.
Cela a marché pour moi.
Revenir en haut Aller en bas
Argezam
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Argezam


Masculin Age : 28
Inscrit le : 21/02/2013
Messages : 18

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeLun 11 Mar 2013 - 15:34

Je ne sais peut-être pas le configurer parce que sa ne fonctionne pas, sa bug plutôt même.
Revenir en haut Aller en bas
----Roxxor----
Voyageur Lv.10
Voyageur Lv.10
----Roxxor----


Masculin Age : 26
Inscrit le : 08/05/2010
Messages : 383

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeLun 11 Mar 2013 - 15:42

Tu es bien sur Ace ?
Revenir en haut Aller en bas
Argezam
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Argezam


Masculin Age : 28
Inscrit le : 21/02/2013
Messages : 18

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeLun 11 Mar 2013 - 16:03

Bien sûr.
Revenir en haut Aller en bas
Nusenism
Nomimange'twa ♪
Nomimange'twa ♪
Nusenism


Masculin Age : 33
Inscrit le : 02/02/2010
Messages : 4692

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeLun 11 Mar 2013 - 17:09

Avec le script placé dans Materials sur un projet vierge, ça fonctionne en tout cas, je viens d'essayer. Aucune config à faire pour que ça marche. Copié collé activé.
Revenir en haut Aller en bas
http://imagin.jeunforum.com/portal.htm
Argezam
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Argezam


Masculin Age : 28
Inscrit le : 21/02/2013
Messages : 18

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeLun 11 Mar 2013 - 17:58

Après plusieurs essais, j'ai réussi à le mettre en place. Plus qu'à remettre les battlers au bon endroit. Merci bien.
Revenir en haut Aller en bas
Andalex
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Andalex


Masculin Age : 30
Inscrit le : 05/04/2013
Messages : 19

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeVen 5 Avr 2013 - 9:23

Bonjour. Je suis un gros débutant pour modifier des script donc j'aimerai un petit conseil s'il vous plait.
J'ai trouvé la ligne pour modifier l'emplacement des héros mais je n'arrive pas à trouver la ligne pour modifier l'emplacement des ennemis (si c'est possible car vu le screen on doit bien pouvoir le faire).
Voila ce que sa donne. Les ennemis sont trop prêt.
Spoiler:

Merci d'avance !
Revenir en haut Aller en bas
Naraphel
Habitant Lv.6
Habitant Lv.6
Naraphel


Masculin Inscrit le : 22/08/2011
Messages : 101

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeVen 5 Avr 2013 - 9:41

Comme je te disais dans ta présentation, tu n'as pas à toucher le screen. Va dans la base de données à l'onglet groupe, clique sur le monstre et déplace le manuellement.
Revenir en haut Aller en bas
Naraphel
Habitant Lv.6
Habitant Lv.6
Naraphel


Masculin Inscrit le : 22/08/2011
Messages : 101

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeVen 5 Avr 2013 - 9:42

Le script* pas le screen !

PS : Peux pas éditer mon message u.u help ?
Revenir en haut Aller en bas
Andalex
Poulet carnivore Lv.2
Poulet carnivore Lv.2
Andalex


Masculin Age : 30
Inscrit le : 05/04/2013
Messages : 19

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeVen 5 Avr 2013 - 9:45

A ok ! Encore un truc tout bête...
Faut quand même le savoir qu'il faut déplacer avec la sourit^^

Je te remercie !
Revenir en haut Aller en bas
RitoJS
Modérateur
Modérateur
RitoJS


Masculin Age : 29
Inscrit le : 22/12/2011
Messages : 1600

[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitimeVen 5 Avr 2013 - 10:23

C'est pas dans les scripts qu'on les modifies.
C'est là:
Spoiler:
Revenir en haut Aller en bas
http://lunarito.wordpress.com/
Contenu sponsorisé




[VXace] Behind view battle system Empty
MessageSujet: Re: [VXace] Behind view battle system   [VXace] Behind view battle system Icon_minitime

Revenir en haut Aller en bas
 

[VXace] Behind view battle system

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [RESOLU]Script Behind View Battle System
» [RÉSOLU] BVBS - Behind View Battle System
» RPG Tankentai Sideview Battle System (SBS)
» NBS ( New Battle System ) MAJ : 20/08/11 Nouvelle démo !
» [Abbandonné] VX Ace - Condition "Si Battle System"

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX.Ace - RGSS3 :: Combat-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forumactif.com