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




Partagez
 

 [ADD-ON SBS] : Ambidextrie Améliorée

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

[ADD-ON SBS] : Ambidextrie Améliorée Empty
MessageSujet: [ADD-ON SBS] : Ambidextrie Améliorée   [ADD-ON SBS] : Ambidextrie Améliorée Icon_minitimeMar 3 Aoû 2010 - 10:23

[ADD-ON SBS] Ambidextrie Améliorée


Auteur : Blockade, d'une requête
Date : 04/08/2010
Version : 1.1

Description du script :
Ce script ajoute une petite fonction du SBS. En effet de base, lorsque le héros est ambidextre mais qu'il n'a pas d'arme il ne tape qu'une fois même s'il est ambidextre. Cet petit ADD-ON
permet de frapper deux fois sans aucune arme d'équipée.

Installation :
Placez le en dessous des scripts du SBS, et au-dessus de main.

Notes et remarques :
Ce script n'est compatible avec le SBS qu'a partir de la version 3.4
Si vous utilisez la version 3.3c j'ai fait une version spéciale que vous trouverez ici : https://rpg-maker-vx.bbactif.com/demande-de-scripts-f23/skill-animations-de-sbs-style-kung-fu-double-coup-sans-arme-t10026.htm
Je vous conseille fortement de passer à la 3.4 après vous faites comme vous voulez.

Il se peut, comme le SBS évolue pas mal que ce script devienne incompatible avec les prochaine versions vu qu'il réécrit une méthode importante.
Pour le rendre compatible avec n'importe quelle version du SBS il suffira dans ce script de supprimer les lignes à partir de
Code:
#==============================================================================
# ■ Sprite_Battler  for Sideview Ver3.4b
#------------------------------------------------------------------------------
#  This sprite is used to display battlers. It observes a instance of the
# Game_Battler class and automatically changes sprite conditions.
#==============================================================================
Jusqu'a :
Code:
    # ウエイト設定
    @wait = $data_animations[anime_id].frame_max * 4 if $data_animations[anime_id] != nil && @active_action[4] && !waitflug
  end
end
end
Supprimez aussi cette ligne :
Code:
if $imported["TankentaiSideview"]

Ensuite derniére étape, il suffira d'aller dans le script Sideview 1 et de chercher :
Code:
def battle_anime
Vous pourrez ensuite remplacer cette ligne :
Code:
return if @active_action[5] && @battler.weapons[1] == nil
par celle ci :
Code:
return if (@active_action[5] && @battler.weapons[1] == nil) && !@battler.two_swords_style

Et voila ca marchera ! Ça peut paraitre compliqué dit comme ca, mais c'est en réalité ultra simple. Mais bon pour l'instant si vous utilisez la 3.4 (a,b,c,d) ou la 3.3c vous avez pas à vous en faire =)

Script :
Code:
#===============================================================================
# ▼ [VX]  ADD-ON SBS : Ambidextrie améliorée
#------------------------------------------------------------------------
# Blockade Script Library - Ambidextrie améliorée
# Date : 04/08/2010
# Niveau : Facile
# Version : 1.1
# Forum d'origine : http://rpg-maker-vx.bbactif.com/forum.htm
#
#  Ce script ajoute une petite fonction du SBS. En effet de base, lorsque le héros est ambidextre
# mais qu'il n'a pas d'arme il ne tape qu'une fois même s'il est ambidextre. Cet petit ADD-ON
# permet de frapper deux fois sans aucune arme d'équipée.
#=======================================================================
# ▼ Mises à jour
# -------------------------------------------------------------------------
# ¤ 02/08/2010 -  Version 1.0 - Création du script
# ¤ 04/08/2010 -  Version 1.1 - Correction d'un bug
#=======================================================================
# ▼ Installation
# --------------------------------------------------------------------------
# Placez ce script au dessus de main, et en dessous des scripts du SBS.
#=======================================================================
# ▼ Alias et compatibilité
# --------------------------------------------------------------------------
# ► Méthodes réecrites :
#  >  Game_Actor : atk_animation_id2
#  >  Sprite_Battler > battle_anime
# ► Notes et remarques :
#  /!\ Ce script n'est compatible avec le SBS qu'a partir de la version 3.4
#===============================================================================

if $imported["TankentaiSideview"]
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * overwrite method : atk_animation_id2
  #--------------------------------------------------------------------------
  def atk_animation_id2
    if two_swords_style
      # On utilise la même animation que celle pour l'attaque avec acune arme équipé de base
      return weapons[1] == nil ? N01::NO_WEAPON : weapons[1].animation_id
    else
      return 0
    end
  end
end

#==============================================================================
# ■ Sprite_Battler  for Sideview Ver3.4b
#------------------------------------------------------------------------------
#  This sprite is used to display battlers. It observes a instance of the
# Game_Battler class and automatically changes sprite conditions.
#==============================================================================
class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # ● overwrite method : battle_anime
  #--------------------------------------------------------------------------
  def battle_anime
    return if @active_action[5] && !@battler.actor?
    # On lui dit de continuer quand même, même si le héros n'a pas de deuxiéme arme et qu'il est ambidextre
    return if (@active_action[5] && @battler.weapons[1] == nil) && !@battler.two_swords_style
    if @battler.actor?
      return if !@active_action[5] && @battler.weapons[0] == nil && @battler.weapons[1] != nil
    end
    anime_id = @active_action[1]
    if @battler.is_a?(Game_Enemy) # 3.4a
      mirror = false
      mirror = true if @battler.action_mirror
    end
    # バックアタック時にアニメ画像を反転
    if $back_attack
      mirror = true if !@active_action[3] # 3.4a
      mirror = false if @active_action[3] || (@battler.is_a?(Game_Enemy) && @battler.action_mirror) # 3.4a
    end
    # 武器とスキルアニメの場合
    # 3.4a
    if anime_id < 0
      # 行動の種類でアニメ先を分岐
      if @battler.action.skill? && anime_id != -2
        ### UNOFFICAL CODE v3.3b ###
        anime_id = @battler.action.skill.animation_id unless @battler.action.skill.animation_id == -1
        if @battler.action.skill.animation_id == -1
          anime_id = N01::NO_WEAPON
          if @battler.actor?
            weapon_id = @battler.weapon_id
            anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
            anime_id = @battler.atk_animation_id2 if @active_action[5]
          else
            weapon_id = @battler.weapon
            anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
          end
        end
      elsif @battler.action.item? && anime_id != -2
        anime_id = 0
        anime_id = @battler.action.item.animation_id unless @battler.action.item.animation_id == -1
        if @battler.action.item.animation_id == -1
          anime_id = N01::NO_WEAPON
          weapon_id = @battler.weapon_id
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
          anime_id = @battler.atk_animation_id2 if @active_action[5]
        end
        ### UNOFFICIAL CODE v3.3b END ###
        else
        # 武器がなければ素手アニメを使用
        anime_id = N01::NO_WEAPON
        if @battler.actor?
          weapon_id = @battler.weapon_id
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
          # 二刀アニメの場合
          anime_id = @battler.atk_animation_id2 if @active_action[5]
        else
          weapon_id = @battler.weapon
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
        end
      end
      # No animation if battle anime hash ID is -3
      anime_id = 0 if @active_action[1] == -3 # 3.4a
      # Set wait value, temporarily delays action sequence processing
      @wait = $data_animations[anime_id].frame_max * 4 if $data_animations[anime_id] != nil && @active_action[4]
      waitflug = true
      # ダメージ表示のアニメなら、ダメージ計算を先に済ませるため処理を中断
      # 3.4a new argument added
      damage_action = [anime_id, mirror, true]
      return @battler.play = ["OBJ_ANIM",damage_action] if @battler.active && @active_action[1] != -4 # 3.4a
    end
    # アニメ実行
    if @active_action[2] == 0 && $data_animations[anime_id] != nil
      @battler.animation_id = anime_id
      @battler.animation_mirror = mirror
    elsif $data_animations[anime_id] != nil
      for target in @target_battler
        target.animation_id = anime_id
        target.animation_mirror = mirror
      end
    end
    # ウエイト設定
    @wait = $data_animations[anime_id].frame_max * 4 if $data_animations[anime_id] != nil && @active_action[4] && !waitflug
  end
end
end
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 32
Inscrit le : 29/07/2009
Messages : 7841

[ADD-ON SBS] : Ambidextrie Améliorée Empty
MessageSujet: Re: [ADD-ON SBS] : Ambidextrie Améliorée   [ADD-ON SBS] : Ambidextrie Améliorée Icon_minitimeJeu 5 Aoû 2010 - 14:29

Petit ADD-ON sympa pour ajouter une touche de personnalisation en plus dans son système de combat. Merci a toi ^^
Revenir en haut Aller en bas
 

[ADD-ON SBS] : Ambidextrie Améliorée

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

 Sujets similaires

-
» [VX] Sauvegarde améliorée
» Demande aide pour script météo améliorée
» Problème avec le script Menu Sauvegarde améliorée de Samarium

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Systèmes complets :: VX - SBS Tankentai-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit