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



Le Deal du moment :
Figurines Hasbro : 1 achetée = 1 offerte ...
Voir le deal
23.49 €

Partagez
 

 [VX] Equipement par défaut

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Ojiro
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
avatar


Masculin Age : 32
Inscrit le : 01/09/2008
Messages : 72

[VX] Equipement par défaut Empty
MessageSujet: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeLun 2 Mar 2009 - 21:19

Suite à la demande fait à ce post : Les mains .... nues
Voici un script qui permet d'équiper le personnage d'un équipement par défaut lorsqu'un équipement est enlevé.
Celui-ci est plus complet que celui que j'ai posté dans le post précédent puisqu'il permet de mettre un équipement par défaut pour l'arme, le bouclier, le casque, l'armure ou l'accessoire.

Si ce n'est pas assez clair les explications sont en dessous du script :

Code:
#==============================================================================
# ** Script Equipement par défaut par Ojiro
#-----------------------------------------------------------------------------------------------------------------------------------------
#  Permet d'équiper un équipement par défaut lorsque rien n'est équippé
#==============================================================================

module AOL
 
  # Remplace l'ID par l'ID de l'arme a équiper lorsqu'aucune arme n'est équipée
  # Pour ambidextrie aussi
  NO_WEAPON_ID = 31
  # Remplace l'ID par l'ID du bouclier à équiper lorsqu'aucune armure n'est équipée
  NO_ARMOR_ID = 31
  # Remplace l'ID par l'ID du casque a équiper lorsqu'aucune armure n'est équipée
  NO_ARMOR2_ID = 0
  # Remplace l'ID par l'ID de l'armure a équiper lorsqu'aucune armure n'est équipée
  NO_ARMOR3_ID = 32
  # Remplace l'ID par l'ID de l'accessoire a équiper lorsqu'aucune armure n'est équipée
  NO_ARMOR4_ID = 0
 
end


class Game_Actor < Game_Battler

  alias setup_defaultequip setup
  def setup(actor_id)
    setup_defaultequip(actor_id)   
    if @weapon_id == 0 or @weapon_id == nil
      @weapon_id = AOL::NO_WEAPON_ID
    end
    if @armor1_id == 0 or @armor1_id == nil
    if two_swords_style
        @armor1_id = AOL::NO_WEAPON_ID
    else
        @armor1_id = AOL::NO_ARMOR_ID
    end
  end
    if @armor2_id == 0 or @armor2_id == nil
      @armor2_id = AOL::NO_ARMOR2_ID
    end 
    if @armor3_id == 0 or @armor3_id == nil
      @armor3_id = AOL::NO_ARMOR3_ID
    end 
    if @armor4_id == 0 or @armor4_id == nil
      @armor4_id = AOL::NO_ARMOR4_ID
    end
  end
 
  #--------------------------------------------------------------------------
  # * Determine if Two handed Equipment
  #--------------------------------------------------------------------------
  def two_hands_legal?
    if weapons[0] != nil and weapons[0] != AOL::NO_WEAPON_ID and weapons[0].two_handed
      return false if (@armor1_id != AOL::NO_ARMOR_ID and @armor1_id != nil)
    end
    if weapons[1] != nil and weapons[1] != AOL::NO_WEAPON_ID and weapons[1].two_handed
      return false if (@weapon_id != AOL::NO_WEAPON_ID and @weapon_id != nil)
    end
    return true
  end
 
  #--------------------------------------------------------------------------
  # * Change Equipment (designate object)
  #    equip_type : Equip region (0..4)
  #    item      : Weapon or armor (nil is used to unequip)
  #    test      : Test flag (for battle test or temporary equipment)
  #--------------------------------------------------------------------------
  def change_equip(equip_type, item, test = false)
    last_item = equips[equip_type]
    unless test
      return if $game_party.item_number(item) == 0 if item != nil
      if (equip_type == 0 && last_item.id != AOL::NO_WEAPON_ID) or (equip_type == 1 && last_item.id != AOL::NO_WEAPON_ID && two_swords_style) or (equip_type == 1 && last_item.id != AOL::NO_ARMOR_ID && !two_swords_style)  or (equip_type == 2 && last_item.id != AOL::NO_ARMOR2_ID) or (equip_type == 3 && last_item.id != AOL::NO_ARMOR3_ID) or (equip_type == 4 && last_item.id != AOL::NO_ARMOR4_ID)
      $game_party.gain_item(last_item, 1)
      end
      $game_party.lose_item(item, 1)
    end
    case equip_type
    when 0  # Weapon
      item_id = item == nil ? AOL::NO_WEAPON_ID : item.id
      @weapon_id = item_id
      unless two_hands_legal?            # If two hands is not allowed
        change_equip(1, nil, test)        # Unequip from other hand
      end
    when 1  # Shield
      if two_swords_style
        item_id = item == nil ? AOL::NO_WEAPON_ID : item.id
      else
        item_id = item == nil ? AOL::NO_ARMOR_ID : item.id
      end
      @armor1_id = item_id
      unless two_hands_legal?            # If two hands is not allowed
        change_equip(0, nil, test)        # Unequip from other hand
      end
    when 2  # Head
      item_id = item == nil ? AOL::NO_ARMOR2_ID : item.id
      @armor2_id = item_id
    when 3  # Body
      item_id = item == nil ? AOL::NO_ARMOR3_ID : item.id
      @armor3_id = item_id
    when 4  # Accessory
      item_id = item == nil ? AOL::NO_ARMOR4_ID : item.id
      @armor4_id = item_id
    end
  end
 
def discard_equip(item)
    if item.is_a?(RPG::Weapon)
      if @weapon_id == item.id
        @weapon_id = AOL::NO_WEAPON_ID
      elsif two_swords_style and @armor1_id == item.id
        @armor1_id = AOL::NO_WEAPON_ID
      end
    elsif item.is_a?(RPG::Armor)
      if not two_swords_style and @armor1_id == item.id
        @armor1_id = AOL::NO_ARMOR_ID
      elsif @armor2_id == item.id
        @armor2_id = AOL::NO_ARMOR2_ID
      elsif @armor3_id == item.id
        @armor3_id = AOL::NO_ARMOR3_ID
      elsif @armor4_id == item.id
        @armor4_id = AOL::NO_ARMOR4_ID
      end
    end
  end
 
  end



Je complètes les explications que j'avais déjà donnés.

Code:

NO_WEAPON_ID = 31
A cette ligne là il faut remplacer l'ID par le numéro d'ID dans la base de donnée de l'arme par défaut. Par exemple on fait une arme a l'ID 31: Poing et on met ça.
Une fois qu'on a mit ça si on déséquippe notre arme alors Poing s'équipera, si le personnage est ambidextre alors s'il déséquippe sa seconde arme alors Poing apparaitra aussi.

Code:
NO_ARMOR_ID = 0
A cette ligne là il faut remplacer l'ID par le numéro d'ID dans la base de donnée du bouclier par défaut. Par exemple on fait une armure a l'ID 31: Bras et on met ça.
Code:
NO_ARMOR_ID = 31
Dans le cas ou le personnage n'EST PAS ambidextre alors cet équipement s'équipera lorsque son bouclier par exemple sera enlevé.

De même pour le casque
Code:
NO_ARMOR2_ID = 0
Si je laisse 0 rien ne sera mit comme équipement par défaut (rien de différent par rapport au systeme de base donc) mais on peut mettre l'ID que l'on souhaite du casque à mettre par défaut.

Idem pour l'armure
Code:
NO_ARMOR3_ID = 32

Idem pour l'accessoire
Code:
NO_ARMOR4_ID = 0

Si jamais des bugs persistent merci de me le faire savoir je tacherais de les corriger :p.


Dernière édition par Ojiro le Mar 3 Mar 2009 - 16:45, édité 2 fois
Revenir en haut Aller en bas
DarkTom666
Mage Lv.11
Mage Lv.11
avatar


Masculin Age : 27
Inscrit le : 09/04/2008
Messages : 629

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeLun 2 Mar 2009 - 21:21

MErci ^^ !!!
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


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

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeMar 3 Mar 2009 - 5:17

Bien joué, bon script ^^
+ 10 en scripts !
Revenir en haut Aller en bas
Invité
Invité
avatar



[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeMar 3 Mar 2009 - 8:39

A mettre sur ma liste des scripts à décortiquer ^^

Très sympa,merci.
Revenir en haut Aller en bas
DarkTom666
Mage Lv.11
Mage Lv.11
avatar


Masculin Age : 27
Inscrit le : 09/04/2008
Messages : 629

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeMar 3 Mar 2009 - 12:29

Arfff Bug quand les poing sont equipée il est inpossible d'equiper une arme a 2 main (¨_¨)
Revenir en haut Aller en bas
Mister.Darcy
Habitant Lv.6
Habitant Lv.6
avatar


Masculin Avertissements : Banni !
Inscrit le : 02/01/2009
Messages : 138

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeMar 3 Mar 2009 - 14:51

se script est fabuleu!
Revenir en haut Aller en bas
Ojiro
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
avatar


Masculin Age : 32
Inscrit le : 01/09/2008
Messages : 72

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeMar 3 Mar 2009 - 16:45

Citation :
Arfff Bug quand les poing sont equipée il est inpossible d'equiper une arme a 2 main (¨_¨)
J'essaye de corriger ce problème j'avais pas remarqué ^^.
J'ai réussi a faire ne sorte qu'on puisse équiper les armes a deux mains mais un deuxième problème persiste, l'arme ou le bouclier par défaut se met sur le second emplacement ce qui est pas très évident a corriger malgré mes tentatives. J'ai mis à jour le script au dessus si vous voulez voir le prob xD.
J'essaye j'essaye.
Revenir en haut Aller en bas
DarkTom666
Mage Lv.11
Mage Lv.11
avatar


Masculin Age : 27
Inscrit le : 09/04/2008
Messages : 629

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeJeu 5 Mar 2009 - 19:34

Mersi bien mais je pensse que sa va etre dure il foudrai considérer les poingS comme des armeS a 0 poing ?!!

=D=

DarkTom, t'as dépassé ton quota de fautes d'orthographe là, surveille un peu tes posts !

DSL j'ai oublier de me relire (¨_¨)
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 30
Inscrit le : 29/07/2009
Messages : 7838

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeMar 8 Sep 2009 - 21:03

fififa a écrit:
lalala long

Mon dieu, les modos vont te tuer ! ( Nécro + Post sans présentation )

Mais je te pardonne, je cherchais depuis longtemps un script de ce genre :p
Revenir en haut Aller en bas
Matsuo Kaito
+ Heir Øf Ŧime +
+ Heir Øf Ŧime +
Matsuo Kaito


Masculin Age : 31
Inscrit le : 27/06/2008
Messages : 10881

[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitimeMer 9 Sep 2009 - 6:01

Récapitulons : flood ( ton message ne veut rien dire ) + nécropost + post sans t'être présenté.

A la prochaine faute, tu recevras un avertissement. Merci d'aller te présenter dans la section appropriée ...

Locked.
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Equipement par défaut Empty
MessageSujet: Re: [VX] Equipement par défaut   [VX] Equipement par défaut Icon_minitime

Revenir en haut Aller en bas
 

[VX] Equipement par défaut

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

 Sujets similaires

-
» voir les autres equipement des personnage sans revenir sur équipement
» petit défaut [RESOLU]
» Characters par défaut de RPG Maker
» Changer les messages par défaut de rmVX
» [Vx-ace] Attribuer un élément par défaut aux coups critiques.[RESOLU]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Héros et équipe-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit