- BrandobscureMembre
- Nombre de messages : 528
Age : 28
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011
Behind view battle system(Jet sideview)
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 :
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
Lien du forum ou je l'ai trouvé :
http://www.rpgmakervxace.net/topic/2294-behind-view-battle-systemjet-sideview/
A+
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 :
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+
Re: Behind view battle system(Jet sideview)
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 ?
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 ?
- BrandobscureMembre
- Nombre de messages : 528
Age : 28
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011
Re: Behind view battle system(Jet sideview)
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.
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érionMembre
- Nombre de messages : 284
Distinction : aucune
Date d'inscription : 15/03/2008
Re: Behind view battle system(Jet sideview)
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?
Le BBS, alternative à l'éternel SBS?
- TakuichiMembre
- Nombre de messages : 20
Age : 34
Distinction : aucune
Date d'inscription : 05/06/2011
Re: Behind view battle system(Jet sideview)
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
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
- SilverSoulMembre
- Nombre de messages : 274
Age : 31
Localisation : Canada~
Distinction : aucune
Date d'inscription : 22/04/2012
Re: Behind view battle system(Jet sideview)
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
Merci pour le partage ;D
- GummyStaffeux retraité
- Nombre de messages : 2666
Age : 33
Localisation : Belgique
Distinction : Modérateur imprévisible
Papy Lolo' [Nabots Nimousse]
Date d'inscription : 27/01/2008
Re: Behind view battle system(Jet sideview)
Mer 9 Mai 2012 - 8:46
Merci du partage, ça change du sempiternel SBS!
+1 pt de participation
+1 pt de participation
- InvitéInvité
Re: Behind view battle system(Jet sideview)
Lun 25 Juin 2012 - 20:37
- BrandobscureMembre
- Nombre de messages : 528
Age : 28
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011
Re: Behind view battle system(Jet sideview)
Lun 25 Juin 2012 - 20:45
C'est Quoi Game_Action ?
- KenryoMembre
- Nombre de messages : 74
Localisation : La bretagne sa nous gagne !
Distinction : aucune
Date d'inscription : 18/06/2012
Re: Behind view battle system(Jet sideview)
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-MaxMembre
- Nombre de messages : 1100
Localisation : Canada/Québec
Distinction : Poisson 2018 [Amal']
Date d'inscription : 02/09/2009
Re: Behind view battle system(Jet sideview)
Lun 25 Juin 2012 - 21:20
Game_Action est le nom du script dont l'erreur provient.
TI-MAX
TI-MAX
- InvitéInvité
Re: Behind view battle system(Jet sideview)
Mar 26 Juin 2012 - 19:41
En fait j'ai utilisé un logiciel pour transferer mon projet VX en VX ace
- olivier1zeldaMembre
- Nombre de messages : 141
Age : 32
Distinction : aucune
Date d'inscription : 27/01/2013
Re: Behind view battle system(Jet sideview)
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'Staffeux retraité
- Nombre de messages : 2924
Age : 26
Localisation : Par là-bas !
Distinction : Mon héritière que je chéris
[Coco' ]
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
Re: Behind view battle system(Jet sideview)
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
- FanrpgMembre
- Nombre de messages : 16
Distinction : aucune
Date d'inscription : 19/06/2014
Re: Behind view battle system(Jet sideview)
Dim 22 Juin 2014 - 20:17
Script fonctionnel vraiment très bien !
- BrandobscureMembre
- Nombre de messages : 528
Age : 28
Localisation : Belgique
Distinction : aucune
Date d'inscription : 03/01/2011
Re: Behind view battle system(Jet sideview)
Dim 22 Juin 2014 - 21:12
Attention aux Nécro post. ^^
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: Behind view battle system(Jet sideview)
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
_________________
- skyfulle68Membre
- Nombre de messages : 62
Age : 26
Localisation : Colmar
Distinction : aucune
Date d'inscription : 25/10/2014
Re: Behind view battle system(Jet sideview)
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
- ZangtherMembre
- Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013
Re: Behind view battle system(Jet sideview)
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.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum