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



Le deal à ne pas rater :
SSD interne Crucial BX500 2,5″ SATA – 500 Go à 29,99€
29.99 €
Voir le deal

Partagez
 

 ADD-ON GTBS : Effet bonus entre amis

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
ASHKA
Voyageur Lv.10
Voyageur Lv.10
avatar


Masculin Age : 42
Inscrit le : 04/12/2008
Messages : 383

ADD-ON GTBS : Effet bonus entre amis Empty
MessageSujet: ADD-ON GTBS : Effet bonus entre amis   ADD-ON GTBS : Effet bonus entre amis Icon_minitimeVen 5 Déc 2008 - 10:43

Nom : ADD-ON GTBS : Effet bonus entre amis
Auteur : ASHKA
Info : Un script à coller !!

Les amateurs de T-RPG ne seront pas surpris, c'est un classique.
Il faut mieux combattre prés de ces amis, ça booste le moral !!

Collez ce script dans "Materials", sous les autres scripts de combat :

Code:
###################################
#
#                    ADD-ON GTBS
#              Effet bonus entre amis
#
#
###################################
module GTBS_HK_add
# Indiquer ici les cas de declenchement de l'effet soutien / renfort :
#  "atk"    pour les ataques basiques
#  "phys"  pour les competences d'attaques physiques
  Cas = ["atk", "phys"] # ici, seul les competences "magique" ne declenche pas l'effet soutien / renfort
# Indiquer ici l'ID des status empechant un battler d'etre Soutien ou Renfort :
  Etat = [1, 3, 4, 5, 6, 7, 8]
# Indiquer si vous souhaitez utiliser l'effet de soutien pour les alliés :
  Soutien_actif = true
# Indiquer si vous souhaitez utliser l'effet de soutien pour les ennemis :
  Soutien_enemy = true
# Defini le terme utilisé pour le pop-up de soutien
  Pop_soutien = "Soutien !!"
# Indiquer la modification de l'indice pour chaque allié en etat de soutien :
  Indice_soutien = 0.5 # ( augmentation des degats causés )
# Couleur du message ( deux couleurs car effet "clignotant" )
  Soutien_color1 = Color.new(255, 0, 0, 255) # rouge
  Soutien_color2 = Color.new(255, 255, 0, 255) # jaune
# Indiquer si vous souhaitez utiliser l'effet de renfort pour les alliés :
  Renfort_actif = true
# Indiquer si vous souhaitez utiliser l'effet de renfort pour les ennemis :
  Renfort_enemy = true
# Defini le terme utilisé pour le pop-up de renfort
  Pop_renfort = "Renfort !!"
# Indiquer la modification de l'indice pour chaque allié en etat de renfort :
  Indice_renfort = 0.2 # ( diminution des degats reçus )
# Couleur du message ( deux couleurs car effet "clignotant" )
  Renfort_color1 = Color.new(0, 255, 0, 255) # vert
  Renfort_color2 = Color.new(0, 0, 255, 255) # bleu
# Pour chaque ID de héros, indiquez l'ID de ces amis :
  Tab_ami = { 1 => [2, 9], 2 => [1, 9], 9 => [1, 2] }
# Pour les ennemis, il suffit d'inscrire les id de leurs amis dans leurs notes :
# Exemple :          AMI=1-4-9
# Cet ennemi sera amis avec les ennemis d'ID 1, 4 et 9
end
###################################
class String
  def decoupe
    bloc = []
    self.split(/[\r\n]+/).each { |line| bloc.push(line) }
    return bloc
  end
end
###################################
module RPG
  class Enemy
    def liste_ami
      tab = []
      text = @note.decoupe
      for line in text
        if line.include?("AMI=")
          tab_num = line.delete("AMI=").split("-")
          for id in tab_num
            tab.push(id.to_i)
          end
        end
      end
      return tab
    end
  end
end
###################################
class Game_Battler
  attr_accessor :indice_bonus
  alias hk_add_init initialize
  def initialize
    hk_add_init
    @indice_bonus = 1
  end
  alias hk_add_make_atk_dmg make_attack_damage_value
  def make_attack_damage_value(attacker)
    hk_add_make_atk_dmg(attacker)
    @hp_damage = (@hp_damage * self.indice_bonus).round
    @hp_damage = (@hp_damage * attacker.indice_bonus).round
  end 
  alias hk_add_obj_dmg make_obj_damage_value
  def make_obj_damage_value(user, obj)
    hk_add_obj_dmg(user, obj)
    @hp_damage = (@hp_damage * self.indice_bonus).round
    @hp_damage = (@hp_damage * user.indice_bonus).round
  end
  alias hk_add_attack_effect attack_effect
  def attack_effect(attacker, affected=0)
    hk_add_attack_effect(attacker)
    $scene.dispose_pop_win
  end
  alias hk_add_skill_effect skill_effect
  def skill_effect(user, skill, affected=0)
    hk_add_skill_effect(user, skill)
    $scene.dispose_pop_win   
  end
  def check_soutien(enemy)
    @centre = enemy
    @modif = GTBS_HK_add::Indice_soutien
    @type = 0
    check_bonus
  end
  def check_renfort(enemy)
    @centre = self
    @modif = 0 - GTBS_HK_add::Indice_renfort
    @modif = 0 if @modif < 0
    @type = 1
    check_bonus
  end
  def can_act?
    for id in GTBS_HK_add::Etat
      return false if state?(id)
    end
    return true
  end
end
###################################
class Game_Actor < Game_Battler
  def liste_ami
    if GTBS_HK_add::Tab_ami.key?(@actor_id)
      return GTBS_HK_add::Tab_ami[@actor_id]
    else
      return []
    end
  end
  def check_bonus
    case_open = [[0, -1], [1, 0], [0, 1], [-1, 0]]
    for hero in $game_system.tactics_actors
      next if hero.dead?
      next unless hero.can_act?
      next unless liste_ami.include?(hero.id)
      for bloc in case_open
        if hero.x == (@centre.x + bloc[0]) and hero.y == (@centre.y + bloc[1])
          hero.turn_to(@centre)
          $scene.create_pop_win(hero.screen_x, hero.screen_y, @type)
          self.indice_bonus += @modif
        end
      end
    end
  end
end
###################################
class Game_Enemy < Game_Battler
  def liste_ami
    return enemy.liste_ami
  end
  def check_bonus
    case_open = [[0, -1], [1, 0], [0, 1], [-1, 0]]
    for enemy in $game_system.tactics_enemies
      next if self == enemy
      next if enemy.dead?
      next unless enemy.can_act?
      next unless liste_ami.include?(enemy.enemy_id)
      for bloc in case_open
        if enemy.x == (@centre.x + bloc[0]) and enemy.y == (@centre.y + bloc[1])
          enemy.turn_to(@centre)
          $scene.create_pop_win(enemy.screen_x, enemy.screen_y, @type)
          self.indice_bonus += @modif
        end
      end
    end
  end
end
###################################
class Pop_Info < Window_Base
  def initialize(x, y, type = 0)
    super(x - (160 / 2), y - 76, 160, WLH + 32)
    @type = type
    refresh
  end
  def refresh
    self.contents.clear
    case @type
    when 0
      text = GTBS_HK_add::Pop_soutien
      if Graphics.frame_count % 4 < 2
        self.contents.font.color = GTBS_HK_add::Soutien_color1
      else
        self.contents.font.color = GTBS_HK_add::Soutien_color2
      end
    when 1
      text = GTBS_HK_add::Pop_renfort
      if Graphics.frame_count % 4 < 2
        self.contents.font.color = GTBS_HK_add::Renfort_color1
      else
        self.contents.font.color = GTBS_HK_add::Renfort_color2
      end
    end
    self.contents.draw_text(0, 0, 160-32, 24, text, 1)
  end
end
###################################
class Scene_Battle_TBS < Scene_Base
  alias hk_add_start start
  def start
    @tab_win = []
    hk_add_start
  end
  alias hk_add_basic_update update_basic
  def update_basic(main = false)
    hk_add_basic_update(main)
    update_pop_win
  end
  def wait(duration)
    for x in 0..duration
      update_basic
    end
  end
  alias hk_add_make_atk_result make_attack_result
  def make_attack_result(target, battler = @active_battler, affected_count = 0)
    make_bonus_effet(target, battler)
    wait(40) if @tab_win != []
    hk_add_make_atk_result(target, battler)
  end
  alias hk_add_make_skill_result make_skill_result
  def make_skill_result(target, battler = @active_battler, affected_count = 0)
    make_bonus_effet(target, battler)
    wait(40) if @tab_win != []
    hk_add_make_skill_result(target, battler)
  end
  def make_bonus_effet(target, battler)
    target.indice_bonus = 1
    battler.indice_bonus = 1
    if battler.current_action.attack?
      return if not GTBS_HK_add::Cas.include?("atk")
    end
    if battler.current_action.skill?
      skill = battler.current_action.skill
      return if not skill.physical_attack
      return if skill.physical_attack and not GTBS_HK_add::Cas.include?("phys")
    end
    if battler.is_a?(Game_Actor) and GTBS_HK_add::Soutien_actif
      battler.check_soutien(target) if battler.liste_ami != []
    else
      if target.is_a?(Game_Actor) and GTBS_HK_add::Renfort_actif
        target.check_renfort(battler) if target.liste_ami != []
      end
    end
    if battler.is_a?(Game_Enemy) and GTBS_HK_add::Soutien_enemy
      battler.check_soutien(target) if battler.liste_ami != []
    else
      if target.is_a?(Game_Enemy) and GTBS_HK_add::Renfort_enemy
        target.check_renfort(battler) if target.liste_ami != []
      end
    end
  end
  def create_pop_win(x, y, type)
    win = Pop_Info.new(x, y, type)
    win.opacity = 0
    win.visible = true
    win.z = 2000
    @tab_win.push(win)
  end
  def update_pop_win
    if @tab_win != []
      for win in @tab_win
        win.refresh
      end
    end
  end
  def dispose_pop_win
    for win in @tab_win
      win.dispose
    end
    @tab_win.clear
  end
end
###################################


Voici un schema rapidement fait du fonctionnement des deux options :

ADD-ON GTBS : Effet bonus entre amis Schema_gtbs-87c4c2

Et voici un screen du rendu in-game :

ADD-ON GTBS : Effet bonus entre amis Screen_add_gtbs-87c4cd

ASHKA


Dernière édition par ASHKA le Ven 2 Jan 2009 - 10:52, édité 2 fois
Revenir en haut Aller en bas
Invité
Invité
avatar



ADD-ON GTBS : Effet bonus entre amis Empty
MessageSujet: Re: ADD-ON GTBS : Effet bonus entre amis   ADD-ON GTBS : Effet bonus entre amis Icon_minitimeLun 15 Déc 2008 - 20:14

...
C'est encore moi, j'ai bien chercher, et je ne trovue aucune trace d'un script GTBS (c'est pas faute d'avori utiliser l'option recherche)
Jusqu'à maintenant je n'ai trouver que des scripts de A-RPG pour RMXP, j'en cherchais un pour VX, si il en existe réélement un, ce serait génial de m'indiquer où le prendre ^^
Revenir en haut Aller en bas
ASHKA
Voyageur Lv.10
Voyageur Lv.10
avatar


Masculin Age : 42
Inscrit le : 04/12/2008
Messages : 383

ADD-ON GTBS : Effet bonus entre amis Empty
MessageSujet: Re: ADD-ON GTBS : Effet bonus entre amis   ADD-ON GTBS : Effet bonus entre amis Icon_minitimeLun 15 Déc 2008 - 20:29

Euh, il y a un probleme là ...

GTBS : Gudib Tactical Battle System

Autrement dit, rien à voir avec un A-RPG !!

J'ai poster un lien vers le GTBS ici !!

ASHKA
Revenir en haut Aller en bas
Invité
Invité
avatar



ADD-ON GTBS : Effet bonus entre amis Empty
MessageSujet: Re: ADD-ON GTBS : Effet bonus entre amis   ADD-ON GTBS : Effet bonus entre amis Icon_minitimeLun 15 Déc 2008 - 20:30

oops, me suis tromper d'initial, confondu avec les T-RPG
A-RPG = Action RPG, pas la même chose, je cherchais le T-RPG à la Fire Emblem ^^"
Merci, vais aller voir le lien!
Revenir en haut Aller en bas
ASHKA
Voyageur Lv.10
Voyageur Lv.10
avatar


Masculin Age : 42
Inscrit le : 04/12/2008
Messages : 383

ADD-ON GTBS : Effet bonus entre amis Empty
MessageSujet: Re: ADD-ON GTBS : Effet bonus entre amis   ADD-ON GTBS : Effet bonus entre amis Icon_minitimeJeu 1 Jan 2009 - 17:02

Nouvelle version du script !!

- Possibilité de faire intervenir l'effet pour les competences physiques.
- Possiblité pour les ennemis aussi d'avoir cet effet bonus ( soutien / renfort ).
- Plus besoin de modifier le script TBS !!

ASHKA
Revenir en haut Aller en bas
fabY
dYeu retraité prématurément
dYeu retraité prématurément
fabY


Masculin Age : 29
Inscrit le : 09/02/2008
Messages : 5357

ADD-ON GTBS : Effet bonus entre amis Empty
MessageSujet: Re: ADD-ON GTBS : Effet bonus entre amis   ADD-ON GTBS : Effet bonus entre amis Icon_minitimeJeu 1 Jan 2009 - 17:11

Merci beaucoup ASHKA (pourquoi en majuscule en fait ?) ^^.
Revenir en haut Aller en bas
https://rpg-maker-vx.bbactif.com/
Contenu sponsorisé




ADD-ON GTBS : Effet bonus entre amis Empty
MessageSujet: Re: ADD-ON GTBS : Effet bonus entre amis   ADD-ON GTBS : Effet bonus entre amis Icon_minitime

Revenir en haut Aller en bas
 

ADD-ON GTBS : Effet bonus entre amis

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

 Sujets similaires

-
» ADD-ON GTBS : Effet de terrain
» Incompatibilité entre le scripte "Héros se suivent en chenille" et "Combat tactique (GTBS)"
» GTBS
» Bonus de panoplie [Resolu]
» [VX] Système de Momentum - Tour bonus

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 - GubiD TBS-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit