Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Interviews: Ephy / Tutos: Godot : Premier Contact -Partie (...) / Tutos: Godot : Premier Contact -Partie (...) / Making-of: Ma première game jam classée / Jeux: Oracle of Tao / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

117 connectés actuellement

11011242 visiteurs
depuis l'ouverture

1352 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Hellsoft

Planète Glutko

Leo-Games

Kingdom Ultimate

Guelnika & E-magination

RPG Maker - La Communauté

ConsoleFun

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RMVX Ace] Equipement sur 1 slot en particulier


arttroy - posté le 07/09/2012 à 19:48:22 (2394 messages postés)

❤ 0

Just working

Domaine concerné: script
Logiciel utilisé: RMVX Ace
Bonsoir j'aurais besoin d'une commande de script qui permette d'équiper un accessoire sur un slot d'équipement particulier.

Si quelqu'un sait comment rendre un équipement impossible à déséquiper une fois équipé ce serait génial

Merci d'avance messieurs dames et bonne soirée.

Histoire de montrer ce que j'aimerais arriver à faire...

image

J'ai déjà un event commun qui se charge d'équiper mes pierres :

image

Il faut juste qu'elles s'équipent bien dans les slots prévus.

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Mack - posté le 08/09/2012 à 14:27:46 (2019 messages postés)

❤ 0

Ou qu'il est le soucis ?
Juste empêcher de déséquiper les objets ?

( Je prend note de tout les commentaires, même si je n'y répond pas )


arttroy - posté le 08/09/2012 à 14:31:14 (2394 messages postés)

❤ 0

Just working

Oui et non en fait je voudrais que lorsque les accessoires sont équipés, ils le soient sur des emplacements précis (comme sur la première image donc dans les slots 5 à 9). Parce que pour le moment, l'ennui c'est que quand les pierres sont équipées dans l'event commun ça se fait uniquement sur le premier slot d'accessoires.

Et une fois équipés qu'il soit impossible de les déséquiper.

Merci de m'aider (encore).

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Mack - posté le 08/09/2012 à 14:34:27 (2019 messages postés)

❤ 0

Pour les équiper dans des slots prédéfinie, c'pas que j'ai la flemme de réfléchir, mais en faite si x).
( Bon, okay, vu ce que j'ai à te proposer ça servirais à rien en faite. )

Si tu autorises pas le joueur à changer les pierres, le plus simple c'est juste de pas afficher les slots d’équipement possible.

( Je prend note de tout les commentaires, même si je n'y répond pas )


arttroy - posté le 08/09/2012 à 14:38:24 (2394 messages postés)

❤ 0

Just working

Pour ça oui j'y avais pensé (mais je comptais m'en occuper une fois passé sur le Scene_Equip)

Bon ben je vais continuer à chercher ça doit être un truc du genre :

$Script : @Game_Actor.change_equip(slot, item)

Mais franchement je vois pas trop...

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Mack - posté le 08/09/2012 à 14:58:13 (2019 messages postés)

❤ 0

@Game_Actor ?
Aucune chance que ça marche.
Game_Actor c'est une classe, si tu mets pas .new derrière ça marchera jamais ( Ou alors quand tu veux savoir à quelle classe appartient l'objet ), sauf que ça t'en fera un nouveau. Donc on en veut pas.
Nous on veut voir dans ceux déjà créer.
C'est des Game_Actor, donc ils vont se trouver soit dans Game_Party :

Portion de code : Tout sélectionner

1
$game_party.members[X]


Ou directement dans Game_Actors :

Portion de code : Tout sélectionner

1
$game_actors[X]




M'enfin, je le redis, si tu comptes les caché dans la Scene Equip, ça te sers à rien de vouloir les placés spécialement dans le slot.

( Après, je sais pas trop c'que tu veux faire, mais j'suis pas sur qu'utiliser des équipements aillent pour faire c'que tu veux ... je pense qu'il vaudrait mieux créer des variables booléenes ( Vrai/Fausse ) et faire c'que tu veux selon si elles sont vrais où fausses )

( Je prend note de tout les commentaires, même si je n'y répond pas )


arttroy - posté le 08/09/2012 à 15:30:30 (2394 messages postés)

❤ 0

Just working

C'est un peu compliqué à expliquer :
- J'ai modifié la BDD pour ajouter 5 nouveaux types de compétences (feu,eau, ...)

- J'ai créé 5 accessoires "Pierre..." qui une fois équipés débloquent des compétences et des types de compétences (Ex : Pierre de Feu -> type Feu -> débloque "Souffle enflammé")

- Ensuite j'ai créé 4 slots accessoires supplémentaires pour pouvoir équiper toutes les pierres une par une quand on les trouvera dans le jeu.

Donc jusque là pas de souci j'ai réussi à faire ce que je voulais dans le Scene_Skill, j'ai bien mes sorts qui apparaissent classés par catégorie et on peut passer de l'une à l'autre par appui de "droite" ou "gauche"si les pierres sont toutes équipées. On peut vérifier l'effet des sorts et leur coût.

Mais si j'utilise une commande d'event pour équiper les autres elles s'équipent uniquement sur le premier slot d'accessoire et moi je voudrais juste qu'elle s'équipent comme ça (pour la "pierre du feu" ça peut rester comme c'est, ça n'est pas gênant):

slot[6] -> Pierre de la terre
slot[7] -> Pierre du vent
slot[8] -> Pierre de la foudre
slot[9] -> Pierre de l'eau

Pour l'ordre c'est juste parce que c'est dans ce sens là qu'on les trouvera dans le jeu parce qu'au final les types de capacités s'affichent toujours dans le même ordre dans mon Scene_Skill quel que soit leur position dans les slots d'accessoires.

Edit :

Ou alors il me faut quelque chose du genre -> si accessoire "pierre de l'eau" est possédé, équiper sur un slot accessoire vide... Alors, j'ai trouvé plusieurs trucs pour les slots d'equipement mais tout est dans le Game_Actor:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  #--------------------------------------------------------------------------
  # * Convert from Equipment Type to Slot ID (Empty Take Precedence)
  #--------------------------------------------------------------------------
  def empty_slot(etype_id)
    list = slot_list(etype_id)
    list.find {|i| @equips[i].is_nil? } || list[0]
  end
  #--------------------------------------------------------------------------
  # * Get Equipment Slot Array
  #--------------------------------------------------------------------------
  def equip_slots
    return [0,0,2,3,4,4,4,4,4] if dual_wield?       # Dual wield
    return [0,1,2,3,4,4,4,4,4]                      # Normal
  end
 



Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  #--------------------------------------------------------------------------
  # * Change Equipment
  #     slot_id:  Equipment slot ID
  #     item:    Weapon/armor (remove equipment if nil)
  #--------------------------------------------------------------------------
  def change_equip(slot_id, item)
    return unless trade_item_with_party(item, equips[slot_id])
    return if item && equip_slots[slot_id] != item.etype_id
    @equips[slot_id].object = item
    refresh
  end
  #--------------------------------------------------------------------------
  # * Forcibly Change Equipment
  #     slot_id:  Equipment slot ID
  #     item:     Weapon/armor (remove equipment if nil)
  #--------------------------------------------------------------------------
  def force_change_equip(slot_id, item)
    @equips[slot_id].object = item
    release_unequippable_items(false)
    refresh
  end
 



Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Mack - posté le 08/09/2012 à 17:39:06 (2019 messages postés)

❤ 0

J'sais pas comment tu gères tes slots d’équipement, mais pour vérifier si un slot est vide, puis s'il l'est équiper à cet emplacement, te faut un code comme ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Game_Interpreter
  def update_slot
    for actor in $game_party.members
      # Fait ce qui suit pour chaque héros dans l'équipe
      if $game_party.item_number($data_armors[60])>0
        # Si l'item d'id 60 est possèder dans l'inventaire ( Et seulement dans l'inventaire, pas sur les héros )
        if actor.equips[4]==nil
          # Si le héros n'a pas d'équipement dans le slot 4 ( Premier accessoire )
          actor.force_change_equip(4,$data_armors[60])
          #Equiper l'accessoir d'id 60
        end
      end
      
      #Pareil, mais pour l'objet d'id 58 et le slot 5
      if $game_party.item_number($data_armors[58])>0
        if actor.equips[5]==nil
          actor.force_change_equip(5,$data_armors[58])
        end
      end
    end
  end
end



( Bon, moi j'ai codé ça de façon à ce que tu doives utiliser la commande inserer un script avec

Portion de code : Tout sélectionner

1
update_slot


à chaque fois que tu trouveras une pierre, mais après, c'est à toi de voir comment tu veux l'activer. )

Donc, d'après ce que j'ai compris, tu dois reprendre mon code pour faire qu'il agisse sur tes slots 5 à 9, et que pour le slot 5 il t'équipe ta pierre du feu, pour le slot 6 ta pierre de la terre et ainsi de suite.

Après, pour empêcher le joueur de changer ces pierres, le plus simple c'est d'aller dans la BDD, dans l'onglet héros->Caractéristiques->Equipement->Equipements Fixe-> Accessoire.

( Je prend note de tout les commentaires, même si je n'y répond pas )


arttroy - posté le 08/09/2012 à 17:45:01 (2394 messages postés)

❤ 0

Just working

Ben c'est tout pile ce qu'il me faut merci beaucoup ! Avec toutes tes indications tu vas en plus me permettre d'éviter un autre post dans l'Entraide (que j'utilise beaucoup ces temps-ci...)

Bonne journée à toi et encore merci d'avoir pris le temps de m'aider.

Edit : nickel ça fonctionne impeccable !

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?

Index du forum > Entraide > [RESOLU] [RMVX Ace] Equipement sur 1 slot en particulier

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers