playeur
Messages : 7
| Sujet: Script de combat - on sait pas c'est quoi Sam 17 Aoû - 10:08 | |
| Comme tout le monde le sait je suis a la recherche d'un nouveau style de combat et j'ai trouver le script et je voudrai le partager avec vous le voici: - Code:
-
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 = false
# 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 = [200, 295]
# This is how far down, and to the right each player is from the previous # actor. [x, y]. Same rules as above. FIELD_SPACING = [75, 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 Je voudrais savoir si le script marche ? | |
|
Léo
Messages : 6241
| Sujet: Re: Script de combat - on sait pas c'est quoi Sam 17 Aoû - 11:11 | |
| Merci pour le partage ! Mais du coup ce serai pas mal de mettre une petite description pour le script, parce que là on ne sais pas vraiment à quoi il sert, si ce n'est que c'est pour les combats. | |
|
Magicalichigo
Messages : 3283
| Sujet: Re: Script de combat - on sait pas c'est quoi Sam 17 Aoû - 11:16 | |
| Et un screen aussi. Et mettre le script entre les balises pour éviter que les smiley se mettent en plein milieu. | |
|
Aenki
Messages : 6953
| Sujet: Re: Script de combat - on sait pas c'est quoi Sam 17 Aoû - 19:30 | |
| Bon, avant que je lock : - Combat, oui mais quoi ? - Quel logiciel ? | |
|
tfkmaster
Messages : 2011
| Sujet: Re: Script de combat - on sait pas c'est quoi Sam 17 Aoû - 20:47 | |
| | |
|
Kou3tt
Messages : 486
| Sujet: Re: Script de combat - on sait pas c'est quoi Dim 18 Aoû - 2:13 | |
| On pourrait avoir le lien de la page où tu as trouvé ? (: | |
|
daleck
Messages : 8
| Sujet: Re: Script de combat - on sait pas c'est quoi Mer 21 Aoû - 19:38 | |
| merci pour le partage | |
|
Kou3tt
Messages : 486
| |
FoxFiestaPoulet
Messages : 35
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 3:04 | |
| What the... Attendez le renard testeur de l'extrême teste pour vous. Qu'on rigole.
EDIT : Testé sous VX Ace : ça fonctionne, cela affiche les chara des alliés en bas de l'écran, animés, et il font un pas en avant vers les battlers lors de l'animation d'attaque. On peut modifier des paramètres au début du script. Apparemment c'est un script de Jet, je pense que les commentaires en haut du script ont été supprimés pour effacer les traces, afin que quelqu'un d'autre s'approprie le script. En gros, ça n'a rien à faire ici. | |
|
Kou3tt
Messages : 486
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 3:45 | |
| Ohoh! Je connais ce script! Il faut que je le retrouve! | |
|
FoxFiestaPoulet
Messages : 35
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 4:16 | |
| Un peu d'aide ? C'est un de ces deux je pense : http://www.rpgmakervxace.net/topic/509-simple-side-view/ http://forums.rpgmakerweb.com/index.php?/topic/3358-viewed-battle-system/ Mais je pencherais plutôt pour le dernier. | |
|
Kou3tt
Messages : 486
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 4:19 | |
| Parfait! C'est celui là! Je vais surement l'utiliser il a l'air très bien! Nous sommes insomniaque! | |
|
FoxFiestaPoulet
Messages : 35
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 4:44 | |
| Cool, le topic aura quand même servi à quelque chose. Au passage, ça fait super plaisir de pouvoir utiliser des smiley de chat. Quelque soit l'expression, ce sont toujours des chats. C'est quand même génial. | |
|
Kitu
Messages : 6723
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 4:47 | |
| Remercie entre autres @Xnqiq pour ça, il a vraiment fait du bon boulot pour certains smileys. EDIT : Oh merde j'ai des réflexes Twitter. x) J'en profite pour rajouter que Léo en a aussi fait des sympas, et que c'est un mec cool. Et aussi que malgré mon pseudo je suis Kitu et pas Magi, et que " Kitusss @_@ " est Magi, pas Kitu. | |
|
FoxFiestaPoulet
Messages : 35
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 4:51 | |
| D'accoooooord, en effet c'est bon à savoir. Léo je crois que je ne connais pas tout ce qu'il fait, je vais faire un tour sur son profil tiens. | |
|
Kitu
Messages : 6723
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 4:56 | |
| ( c'est théoriquement pas le topic pour ça mais osef il est tard on est rebelles ) Léo est... en vacances actuellement tiens ! Mais le reste du temps, c'est quelqu'un de vraiment sympa et de compréhensif, et de surcroît un EXCELLENT maker. Va regarder les projets Ludu, Jump, Behemols Universe entre autres pour t'en rendre compte. | |
|
3phy
Messages : 7438
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 13:15 | |
| Moi aussi j'avais fait des smiley | |
|
GeckoEssence
Messages : 1400
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 13:43 | |
| Le meilleur jeu de Léo c'est Travelers Of Time de toutes façons. Ne serait ce que pour ses musiques composées par un vrai génie. | |
|
tfkmaster
Messages : 2011
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 13:47 | |
| - GeckoEssence a écrit:
- Le meilleur jeu de Léo c'est Travelers Of Time de toutes façons. Ne serait ce que pour ses musiques composées par un vrai génie.
Na mais t'facon ToT c'est le meilleur jeu du monde car y'a PLEIIIIIN de bugs de Léo quoi | |
|
Kaila
Messages : 4254
| Sujet: Re: Script de combat - on sait pas c'est quoi Jeu 22 Aoû - 14:07 | |
| Bon, stop. Retour au sujet ! | |
|
Contenu sponsorisé
| Sujet: Re: Script de combat - on sait pas c'est quoi | |
| |
|