Partagez
Aller en bas
Matias73
Matias73
Membre

Nombre de messages : 48
Age : 20
Localisation : Vous n'avez rien vu, Rien entendu ...
Distinction : aucune
Date d'inscription : 17/07/2011
http://4a4d.jimdo.fr

Résolu [résolu] L'ID du lanceur d'une compétence dans une Variable.

le Sam 15 Fév 2014 - 11:17
Bonjour, je cherche un script qui, je pense serait compatible avec tout les autres du fait qu'il n'est, je pense, pas si complexe que ça.

Il permettrait de connaître l'ID du (dernier?) héros qui (a) lancé une X compétence en combat.
En fait, ce serait suite a un appel de script (par exemple, lastskillcaller(ID de la compétence)) que je pense serait le plus simple.

Plus de détails?
J'ai une liste de plus ou moins 30 compétences que tout les personnages peuvent avoir et perdre suivant leur équipement, donc il se peut que plusieurs personnages puissent l'avoir en même temps.
Prenons pour exemple la compétence "Tour de feu". Cette attaque cible tout les ennemis ET inflige un statut au lanceur de cette compétence. OR, on ne peut pas savoir l'ID du lanceur de la compétence.
C'est pour ça que dans l’événement commun lancé par la compétence je chercherai a connaitre l'ID du lanceur de cette compétence pour pouvoir l'utiliser.

Merci de votre aide Smile


Dernière édition par Matias73 le Mer 26 Fév 2014 - 15:53, édité 1 fois
Matias73
Matias73
Membre

Nombre de messages : 48
Age : 20
Localisation : Vous n'avez rien vu, Rien entendu ...
Distinction : aucune
Date d'inscription : 17/07/2011
http://4a4d.jimdo.fr

Résolu Re: [résolu] L'ID du lanceur d'une compétence dans une Variable.

le Sam 22 Fév 2014 - 18:39
Petit UP, c'est vraiment urgent.
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: [résolu] L'ID du lanceur d'une compétence dans une Variable.

le Mer 26 Fév 2014 - 15:40
Alors , ma foi , voila un bon petit défi pour me remettre dans le bain .
On est d'accord que c'est du VXACe , hein ?

Voici un bout de code à mettre avant le Main :
Code:

module BattleManager
  def self.init_members
    @old_battler=nil
    @phase = :init              # Battle Progress Phase
    @can_escape = false         # Can Escape Flag
    @can_lose = false           # Can Lose Flag
    @event_proc = nil           # Event Callback
    @preemptive = false         # Preemptive Attack Flag
    @surprise = false           # Surprise Flag
    @actor_index = -1           # Actor for Which Command Is Being Entered
    @action_forced = nil        # Force Action
    @map_bgm = nil              # For Memorizing Pre-Battle BGM
    @map_bgs = nil              # For Memorizing Pre-Battle BGS
    @action_battlers = []       # Action Order List
  end
  def self.next_subject
    @old_battler=@action_battlers[0]
    loop do
      battler = @action_battlers.shift
      return nil unless battler
      next unless battler.index && battler.alive?
      return battler
    end
  end  #--------------------------------------------------------------------------
  # * Get current Action Subject
  def self.current_actor
   return @old_battler.actor_id
  end
end


class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :actor_id
end

L'ID du personnage qui lance le sort est donc :
BattleManager.current_actor

J'ai testé , ça marche ! J'ai pu faire une attaque qui donne au le lanceur le statut "aveugle" .
Par contre , je modifie BattleManager , là . Je n'ai pas trouvé comment faire des alias (je sais le faire pour des classes mais c'est un module ,là) . Attention aux incompatibilités !
Matias73
Matias73
Membre

Nombre de messages : 48
Age : 20
Localisation : Vous n'avez rien vu, Rien entendu ...
Distinction : aucune
Date d'inscription : 17/07/2011
http://4a4d.jimdo.fr

Résolu Re: [résolu] L'ID du lanceur d'une compétence dans une Variable.

le Mer 26 Fév 2014 - 15:52
Trop génial ! Ca faisait 2 mois que j'attendais ça ! Merci énormément. Çà marche avec succès Smile
Passage du sujet en [Résolu].
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum