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




Partagez
 

 [RESOLU] Niveau pour équiper une arme

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
zouzaka
Croisé Lv.14
Croisé Lv.14
zouzaka


Masculin Age : 25
Inscrit le : 22/05/2011
Messages : 1141

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeMar 5 Juin 2012 - 19:03

Bonjour a tous j'ai besoin d'une amélioration pour ce scripte :

Code:
#===================================================================
# Equipment Requirements [VX]
# by Ayene
# 27.01.2010 ver 1.2
# www.ultimateam.pl
#===================================================================
# Opis:
# The script allows you to set requirements for weapon and armor.
# For instance, outfitting a hero with two-handed axe would be possible
# only after reaching a specific level or having adequate statistics.
# Also added an option that allows to require certain skills.
#
# Instruction:
# To use the script insert tag into the "Notes" box located in the
# Weapon or Armor tab of the database:
#   <stat_require LV, MAXHP, MAXMP, ATK, DEF, SPI, AGI>,
# where:
# LV - required actor's level
# MAXHP - maximum HP
# MAXMP - maximum MP
# ATK - Attack
# DEF - Defence
# SPI - Spirit
# AGI - Agility
#
# For example:
# If you want a character to equip a weapon at level 6, provided that
# it has 120 max HP, 40 Attack, 70 Defence,
# add in the specified weapon's "Note" box:
#   <stat_require 6, 120, 0, 40, 70, 0, 0>
#
# Next, to equip an armor, which "requires" adequate agility:
# <stat_require 0, 0, 0, 0, 0, 0, 50>
#
# To set that the specified armor can be equipped only after gaining
# certain skill(s), add in "Note" box:
# <skill_require ID, ID, ...>
# where:
# ID - required skill(s) ID(s)
 
# For example:
# To equip an weapon, that "requires" skills ID 10 and 40:
# <skill_require 10, 40>
#===================================================================
module AYENE
  module ItemSpec
    ITEM_SPEC = /<(?:STAT_REQUIRE|stat_require)\s*(\d+)\s*, \s*(\d+), \s*(\d+), \s*(\d+), \s*(\d+), \s*(\d+), \s*(\d+)>/i
    WEAPON_TEXT = "Pour équiper cette arme vous devez avoir:"
    ARMOR_TEXT = "Pour équiper cette armure vous devez avoir:"    
   ACC_TEXT = "Pour équiper cet accessoire vous devez avoir:"
    PARAM_NAMES = ["Niveau", "Max HP", "Max MP", "Attaqua", "Défense", "Intelligence", "Agilité", "Magie:"]  
   SKILL_SPEC = /<(?:SKILL_REQUIRE|skill_require)[ ]*(\d+(?:[ ]*,[ ]*\d+)*)>/i
    SHOW_SKILL_REC = true  # Show which skill is needed? (true/false)
  end
end
 
#===================================================================
# ** RPG::BaseItem
#===================================================================
class RPG::BaseItem
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :spec_params
 #--------------------------------------------------------------------------
  # * Requirements Initialization
  #--------------------------------------------------------------------------
  def equip_req_ini
    @spec_params = {}
    (0..6).each{|i| @spec_params[i] = 0}
    @spec_params[7] = []
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when AYENE::ItemSpec::ITEM_SPEC
        @spec_params[0] = $1.to_i
        @spec_params[1] = $2.to_i
        @spec_params[2] = $3.to_i
        @spec_params[3] = $4.to_i
        @spec_params[4] = $5.to_i
        @spec_params[5] = $6.to_i
        @spec_params[6] = $7.to_i
      end
    }
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when AYENE::ItemSpec::SKILL_SPEC
        $1.scan(/\d+/).each { |num|
          skill_id = num.to_i
          @spec_params[7].push(skill_id) if $data_skills[skill_id] != nil
        }
      end
    }
  end
end
 
#===================================================================
# ** RPG::Weapon
#===================================================================
class RPG::Weapon < RPG::BaseItem
  #--------------------------------------------------------------------------
  # * Requirements Text
  #--------------------------------------------------------------------------
  def eqreq_text
    return AYENE::ItemSpec::WEAPON_TEXT
  end
end
 
#===================================================================
# ** RPG::Armor
#===================================================================
class RPG::Armor < RPG::BaseItem
  #--------------------------------------------------------------------------
  # * Requirements Text
  #--------------------------------------------------------------------------
  def eqreq_text
    case kind
    when 3
      return AYENE::ItemSpec::ACC_TEXT
    else
      return AYENE::ItemSpec::ARMOR_TEXT
    end  
 end
end
 
#===================================================================
# ** Game_Actor
#===================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Determine if Item can be Equipped (Actor's Parameters)
  #--------------------------------------------------------------------------
  def equip_allowed?(item)
    return true if (item.spec_params[0] <= level && item.spec_params[1] <= base_maxhp &&
    item.spec_params[2] <= base_maxmp && item.spec_params[3] <= base_atk &&
   item.spec_params[4] <= base_def && item.spec_params[5] <= base_spi &&
   item.spec_params[6] <= base_agi) && equip_skill_allowed?(item)
    return false
  end
  #--------------------------------------------------------------------------
  # * Determine if Item can be Equipped (Actor's Skills )
  #--------------------------------------------------------------------------
  def equip_skill_allowed?(item)  
   item.spec_params[7].each{|skill_id|
      return false if !skill_learn?($data_skills[skill_id])  
   }
    return true
 end
end
 
#===================================================================
# ** Game_Interpreter
#===================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # * Aliased Definitions
  #--------------------------------------------------------------------------
  alias aye_eqreq_command_315 command_315
  alias aye_eqreq_command_316 command_316
  alias aye_eqreq_command_317 command_317
  alias aye_eqreq_command_318 command_318
  #--------------------------------------------------------------------------
  # * Check Equipment
  #      actor     : actor
  #--------------------------------------------------------------------------
 def check_change_equip(actor)
    for i in 0..4
      item = actor.equips[i]
      actor.change_equip(i, nil) if !item.nil? && !actor.equip_allowed?(item)
    end
  end
 #--------------------------------------------------------------------------
  # * Change EXP
  #--------------------------------------------------------------------------
  def command_315
    aye_eqreq_command_315
    iterate_actor_id(@params[0]) do |actor|
      check_change_equip(actor)  
   end  
 end
  #--------------------------------------------------------------------------
  # * Change Level
  #--------------------------------------------------------------------------
  def command_316
    aye_eqreq_command_316
    iterate_actor_id(@params[0]) do |actor|
      check_change_equip(actor)  
   end
  end  
 #--------------------------------------------------------------------------
  # * Change Parameters
  #--------------------------------------------------------------------------
  def command_317
    aye_eqreq_command_317
    iterate_actor_id(@params[0]) do |actor|
      check_change_equip(actor)  
   end
  end  
  #--------------------------------------------------------------------------
  # * Change Skills
  #--------------------------------------------------------------------------
  def command_318
    aye_eqreq_command_318
    iterate_actor_id(@params[0]) do |actor|
      check_change_equip(actor)  
   end
  end
end
 
#===================================================================
# ** Window_EquipReq
#===================================================================
class Window_EquipReq < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #      item     : item
  #      data     : parameters (array)
  #      actor    : actor
  #      skill    : skill
  #--------------------------------------------------------------------------
  def initialize(item, data, actor, skill)  
   if skill.empty? or !AYENE::ItemSpec::SHOW_SKILL_REC
      height = (data.size+1) / 2 * WLH + WLH + 32
    else
      height = (data.size+1) / 2 * WLH + WLH + 32 + WLH * [skill.size, 7].min
    end    
   super(42, 180 - height/2, 460, height)
    self.back_opacity = 255
    self.contents.font.color = crisis_color
    self.contents.draw_text(4, 0, self.width - 40, WLH, item.eqreq_text, 1)
    x = 10
    y = WLH  
   data.each_with_index{|array, i|  
     self.contents.font.color = system_color
      self.contents.draw_text(x+i%2*240, y+i/2*WLH, 200, WLH, AYENE::ItemSpec::PARAM_NAMES[array[0]].to_s, 0)    
     self.contents.font.color = normal_color
      self.contents.draw_text(x+120+i%2*240, y+i/2*WLH, 40, WLH, array[1].to_s, 2)
    }
    if !skill.empty? and AYENE::ItemSpec::SHOW_SKILL_REC
      size = (data.size+1)/2*WLH
      self.contents.font.color = system_color
      self.contents.draw_text(x, y+size, 200, WLH, AYENE::ItemSpec::PARAM_NAMES[7].to_s, 0)  
     self.contents.font.color = normal_color
      skill.each_with_index{|id, i|    
       self.contents.draw_text(x+140, y+size+WLH*i, 200, WLH, "- #{$data_skills[id].name}", 0)      
     }
    end
  end
end
 
#===================================================================
# ** Window_EquipItem
#===================================================================
class Window_EquipItem < Window_Item
  #--------------------------------------------------------------------------
  # * Determine if item is enabled
  #--------------------------------------------------------------------------
  def enable?(item)
    return @actor.equip_allowed?(item)
  end
end
 
#===================================================================
# ** Scene_Title
#===================================================================
class Scene_Title < Scene_Base
 #--------------------------------------------------------------------------
  # * Aliased Definitions
  #--------------------------------------------------------------------------
  alias aye_eqreq_sctit_loaddata load_database
  #--------------------------------------------------------------------------
  # * Load Database (aliased)
  #--------------------------------------------------------------------------
  def load_database
    aye_eqreq_sctit_loaddata
    for group in [$data_weapons, $data_armors]
      for obj in group
        next if obj.nil?
        obj.equip_req_ini
      end
    end
  end
end
 
#===================================================================
# ** Scene_Equip
#===================================================================
class Scene_Equip < Scene_Base
  #--------------------------------------------------------------------------
  # * Aliased Definitions
  #--------------------------------------------------------------------------
  alias aye_eqreq_sceq_update update
  alias aye_eqreq_sceq_upditsel update_item_selection
  #--------------------------------------------------------------------------
  # * Update Frame (aliased)
  #--------------------------------------------------------------------------
  def update      
   if @eqreq_window != nil
      update_eqreq_window
    else
      aye_eqreq_sceq_update
    end    
 end  
  #--------------------------------------------------------------------------
  # * Update Item Selection (aliased)
  #--------------------------------------------------------------------------
  def update_item_selection
    @item = @item_window.item
    if @item != nil and !@actor.equip_allowed?(@item) and Input.trigger?(Input::C)
      Sound.play_buzzer
      @item_window.active = false    
     show_eqreq_window
    else
      aye_eqreq_sceq_upditsel
    end        
  end  
  #--------------------------------------------------------------------------
  # * Show Requirements Window
  #--------------------------------------------------------------------------
  def show_eqreq_window
    @frame = 0
    data = []
    @item.spec_params.each {|type, value|          
     data.push([type, value]) if value > 0 if type < 7  
   }
    data.sort!{|a,b| a[0] <=> b[0]}  
   skill = @item.spec_params[7]  
   @eqreq_window = Window_EquipReq.new(@item, data, @actor, skill)      
 end
  #--------------------------------------------------------------------------
  # * Update Requirements Window
  #--------------------------------------------------------------------------
  def update_eqreq_window
    @frame < 200 ? @frame += 1 : @frame = 0
    if @frame == 200 or Input.trigger?(Input::C) or Input.trigger?(Input::B)
      @eqreq_window.dispose
      @eqreq_window = nil    
     @item_window.active = true    
   end
  end
end
 

Afin que le joueur ne puisse s’équiper d'une arme seulement lorsque un interrupteur est activé
Exemple :
Interrupteur "XXX" est désactive
Impossible d’équipe cette arme

Interrupteur "XXX" est activé
tout ce passe normal

Merci a vous
Revenir en haut Aller en bas
Biward
Gardien des Scripts
Gardien des Scripts
Biward


Féminin Age : 27
Inscrit le : 30/12/2009
Messages : 1067

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeVen 24 Aoû 2012 - 10:07

Hum..tu voudrais quoi en gros ? Que le héros puisse s'équiper d'une seule arme quand l'interupteur est activée ET quand il a le niveau pour? Ou seulement quand l'interrupteur est activé ?
Sinon, je veux bien tenter Smile
Revenir en haut Aller en bas
http://vx-fan.1fr1.net
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 31
Inscrit le : 29/07/2009
Messages : 7840

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeVen 24 Aoû 2012 - 13:07

Biward, tu as fait un nécropost. Ce n'est pas bien du tout !
\o\

Non, plus sérieusement, merci de te proposer pour aider les membres ! Smile
Revenir en haut Aller en bas
sikkens
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
sikkens


Masculin Inscrit le : 21/08/2012
Messages : 58

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeVen 24 Aoû 2012 - 15:15

Le script qu'il a poste de base, il sert a quoi ? C'est un script qui sert a mettre un level a une arme ?
Revenir en haut Aller en bas
zouzaka
Croisé Lv.14
Croisé Lv.14
zouzaka


Masculin Age : 25
Inscrit le : 22/05/2011
Messages : 1141

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeVen 24 Aoû 2012 - 22:23

non, mais j'ai plus besoin de cette demande désolé ><'
Revenir en haut Aller en bas
Biward
Gardien des Scripts
Gardien des Scripts
Biward


Féminin Age : 27
Inscrit le : 30/12/2009
Messages : 1067

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeVen 24 Aoû 2012 - 22:25

Meuh, ta demande est devenue une idée ! Tu voulais quoi finalement?
(Peut-être que d'autre en auront besoin aussi tiens)
Revenir en haut Aller en bas
http://vx-fan.1fr1.net
sikkens
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
sikkens


Masculin Inscrit le : 21/08/2012
Messages : 58

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeSam 25 Aoû 2012 - 15:58

de quoi, ma demande ?
Revenir en haut Aller en bas
zouzaka
Croisé Lv.14
Croisé Lv.14
zouzaka


Masculin Age : 25
Inscrit le : 22/05/2011
Messages : 1141

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeSam 25 Aoû 2012 - 16:41

ok bon, comme tu le vois le scripte permet d’équiper des armes selon des condition qui sont :

# LV - required actor's level
# MAXHP - maximum HP
# MAXMP - maximum MP
# ATK - Attack
# DEF - Defence
# SPI - Spirit
# AGI - Agility

je voulait ajouter une condition ou l’interrupteur soit activer pour équiper l'arme

mais comme je te l'ai dit j'en ai plus besoin mais si tu veut le faire pour le partager par la suite c'est comme tu veut ^^
Revenir en haut Aller en bas
sikkens
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
sikkens


Masculin Inscrit le : 21/08/2012
Messages : 58

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeSam 25 Aoû 2012 - 17:04

Et c'est où pour mettre une condition pour level ect ? j'ai chercher mais je trouve pas
Revenir en haut Aller en bas
Kouett
Mage Lv.11
Mage Lv.11
Kouett


Féminin Age : 26
Inscrit le : 22/08/2010
Messages : 521

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeSam 25 Aoû 2012 - 17:25

sikkens a écrit:
Et c'est où pour mettre une condition pour level ect ? j'ai chercher mais je trouve pas

Je pense qu'il est dans le scripte et qu'il faut ajouter une ligne de code dans les commentaires sur l'arme.
Revenir en haut Aller en bas
http://eden-making.frbb.net/
sikkens
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
sikkens


Masculin Inscrit le : 21/08/2012
Messages : 58

[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitimeSam 25 Aoû 2012 - 18:51

Il dit dans le script qu'il faut mettre " " dans la note de l'arme et sa devrais marcher... mais pas pour moi ...

veut dire qu'il faut etre lvl 6 avec 120 de vie 40d'attaque et 70 de def
Revenir en haut Aller en bas
Contenu sponsorisé




[RESOLU] Niveau pour équiper une arme Empty
MessageSujet: Re: [RESOLU] Niveau pour équiper une arme   [RESOLU] Niveau pour équiper une arme Icon_minitime

Revenir en haut Aller en bas
 

[RESOLU] Niveau pour équiper une arme

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

 Sujets similaires

-
» [Trouvé]Equiper une arme qu'à partir du niveau X
» Arme crée impossible a équiper ? [Résolu]
» Niveau d'arme
» Equiper une arme
» changer d'apparence quand une arme est equiper

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Requêtes :: Archives-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit