Partagez
Aller en bas
Brandobscure
Brandobscure
Membre

Nombre de messages : 531
Age : 23
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011

Behind view battle system(Jet sideview) Empty Behind view battle system(Jet sideview)

le Mar 8 Mai 2012 - 12:29
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 :

Behind view battle system(Jet sideview) Fm7x4o10

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

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+

Shadow-clad
Shadow-clad
Membre

Nombre de messages : 510
Age : 28
Localisation : A durbuy normal j'en suis le maire ! ^^
Distinction : Survivant ultime de Koh Lanta : Erem Vehyx 2010
[Denis Coco' Smile]
Date d'inscription : 18/06/2010
http://redmoonlight.forumgratuit.org/forum.htm

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mar 8 Mai 2012 - 12:53
très bon script j'ai cependant quelque question voit on les armes quand on attaque a la maniére du sbs ?
est il customisable ? (car je vois que les barres de vie sont différentes du systeme de combat originale)
et enfin y a il besoin de ressourece graphique specifique ?
Brandobscure
Brandobscure
Membre

Nombre de messages : 531
Age : 23
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mar 8 Mai 2012 - 13:08
Nan on ne voit pas l'arme,
customisable je sais par mais entre la ligne 23 à 96
il y a des truck a modifiée que tu peux faire
Aucune ressource graphic besoin pour ce script.
Dénérion
Dénérion
Membre

Nombre de messages : 284
Distinction : aucune
Date d'inscription : 15/03/2008

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mar 8 Mai 2012 - 19:27
Intéressant... avec quelques petits add-on (comme le disait Shadow-Clad, l'ajout d'armes dans les mains des persos et, va savoir... pourquoi pas battlers animés pour les ennemis aussi, mais de face ^^) il pourra devenir un bon script.

Le BBS, alternative à l'éternel SBS?
Takuichi
Takuichi
Membre

Nombre de messages : 20
Age : 28
Distinction : aucune
Date d'inscription : 05/06/2011

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mar 8 Mai 2012 - 19:52
oh ben merci pour ce script moi qui cherché un script pour des combat a la mystic quest ^^

edit: petit souci avec l'animation des sort des héros,l'animation va en haut a gauche au lieux d'aller sur l'ennemi
SilverSoul
SilverSoul
Membre

Nombre de messages : 274
Age : 25
Localisation : Canada~
Distinction : aucune
Date d'inscription : 22/04/2012

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mer 9 Mai 2012 - 2:57
Super ce petit script même si je vais probablement pas l'utiliser....pour le moment C:
Merci pour le partage ;D
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mer 9 Mai 2012 - 8:46
Merci du partage, ça change du sempiternel SBS!

+1 pt de participation
Anonymous
Invité
Invité

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Lun 25 Juin 2012 - 20:37
Bonjour,

J'ai un problème avec le script.
Après avoir lancer le combat, il y un message qui apparait.

Behind view battle system(Jet sideview) Captur10

Aider moi s\'il vous plaît
Brandobscure
Brandobscure
Membre

Nombre de messages : 531
Age : 23
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Lun 25 Juin 2012 - 20:45
C'est Quoi Game_Action ?
Anonymous
Invité
Invité

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Lun 25 Juin 2012 - 21:01
Je ne sais psa
Kenryo
Kenryo
Membre

Nombre de messages : 74
Localisation : La bretagne sa nous gagne !
Distinction : aucune
Date d'inscription : 18/06/2012

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Lun 25 Juin 2012 - 21:04
Il te faudrait peut-être aller à la ligne 100 et marquer quelques choses (genre une action) vu que le message parle de "game_Action"
Ti-Max
Ti-Max
Membre

Nombre de messages : 1096
Localisation : Canada/Québec
Distinction : Poisson 2018 [Amal']
Date d'inscription : 02/09/2009

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Lun 25 Juin 2012 - 21:20
Game_Action est le nom du script dont l'erreur provient.

TI-MAX
avatar
Az'
Membre

Nombre de messages : 3318
Age : 74
Date d'inscription : 22/12/2007

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Lun 25 Juin 2012 - 22:49
Exact. Ca f'sait longtemps que je ne t'avais pas vu par ici, TI-MAX, d'ailleurs (tout comme mes absences répétées à long terme).

Il me faut la liste des scripts que tu utilises en plus de celui-ci pour cerner l'erreur. Soit c'est une incompatibilité, soit c'est qu'il te manque un bout de code.

Dans le code donné, y'a pas de méthode appelée "for_dead_friend?", c'est qu'elle doit être codée dans la classe Game_Action de base, en conclusion, si tu utilises un script qui altère le Game_Action, ça ne peut que donner une erreur.
Anonymous
Invité
Invité

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mar 26 Juin 2012 - 19:41
En fait j'ai utilisé un logiciel pour transferer mon projet VX en VX ace
olivier1zelda
olivier1zelda
Membre

Nombre de messages : 141
Age : 27
Distinction : aucune
Date d'inscription : 27/01/2013

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Sam 6 Avr 2013 - 21:38
Moi j'ai un petit problème : j'essaie d'insérer des personnages couchés quand ils sont mort, mais je n'arrive pas, je met le fichier sous le nom de "$(nomdupersonnage)_death" comme indiqué dans le script, mais je retrouve toujours le personnage par defaut : debout non animé. Pouvez-vous m'aider s'il vous plaît ?
Elisa'
Elisa'
Staffeux retraité

Nombre de messages : 2924
Age : 21
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris Behind view battle system(Jet sideview) 344805Behind view battle system(Jet sideview) 344805
[Coco' Smile]
Plus que 2 ans avant d'épouser Coco' ! Compte à rebours lancé !
[Auto-distinction]

Adepte du "Je le savais" alors qu'elle le savait pas.
Date d'inscription : 30/05/2009

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Sam 13 Avr 2013 - 19:48
Si tu as un problème, merci d'aller le poster dans la section qui y est dédiée, pour éviter les nécroposts Smile

_________________


Cliquez ici pour voter pour la commu'
Behind view battle system(Jet sideview) Banner
Fanrpg
Fanrpg
Membre

Nombre de messages : 16
Distinction : aucune
Date d'inscription : 19/06/2014

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Dim 22 Juin 2014 - 20:17
Script fonctionnel vraiment très bien !
Brandobscure
Brandobscure
Membre

Nombre de messages : 531
Age : 23
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Dim 22 Juin 2014 - 21:12
Attention aux Nécro post. ^^
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Dim 22 Juin 2014 - 23:36
Brand a écrit:Attention aux Nécro post. ^^

Exactement et en plus posté juste après un message de ce genre...


Elisa administrateur a écrit:Si tu as un problème, merci d'aller le poster dans la section qui y est dédiée, pour éviter les nécroposts

_________________
Behind view battle system(Jet sideview) 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Behind view battle system(Jet sideview) 344805
skyfulle68
skyfulle68
Membre

Nombre de messages : 62
Age : 21
Localisation : Colmar
Distinction : aucune
Date d'inscription : 25/10/2014

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mar 28 Oct 2014 - 10:47
il est en francais ? ou en anglais ? car mons jeux et en francais ducoups sa fera con si les combat sons en anglais
Zangther
Zangther
Membre

Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

le Mar 28 Oct 2014 - 12:29
Normalement tu dois pouvoir changer le texte qui s'affiche lors des combats. A toi de faire la traduction et au pire demande à quelqu'un de le faire pour toi.
Contenu sponsorisé

Behind view battle system(Jet sideview) Empty Re: Behind view battle system(Jet sideview)

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum