Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
329 connectés actuellement
30679227 visiteurs depuis l'ouverture
1524 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
arttroy -
posté le 07/09/2012 à 19:48:22 (2394 messages postés)
| 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...
J'ai déjà un event commun qui se charge d'équiper mes pierres :
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 (2309 messages postés)
- | | 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)
| 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 (2309 messages postés)
- | | 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)
| 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 (2309 messages postés)
- | | @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 :
Ou directement dans Game_Actors :
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)
| 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:
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
|
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 (2309 messages postés)
- | | 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 :
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
à 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)
| 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
|
|
|