- SkilloStaffeux retraité
- Nombre de messages : 526
Age : 35
Localisation : Rennes
Distinction : J'aime ce gars
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' ]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008
[Tuto] Changer l'armure d'un personnage s'il a une armure d'équipée
Lun 17 Mai 2010 - 17:02
Ce tutoriel va vous apprendre et vous permettre de changer l'apparence d'un héros en fonction du fait qu'il soit équipé ou non d'une armure, d'un casque, d'un accessoire.
Voilà d'abord mettre ce script au dessus de main en l'appelant comme vous voulez. Il permet de déclencher un interrupteur lorsque vous équipez/déséquipez un objet.
Ensuite on se dirige dans tes évènements communs de la BDD. Une fois rendus, on en crée un en processus parallèle et qui est appelé par l'interrupteur qui est définissable dans le script. Ensuite dedans on met une condition. Sur le dernier onglet de cette conditions on choisi script et dedans on rentre rentre :
Pour expliquer un peu $game_actors[1] représente votre personnage d'ID 1, pour savoir quel ID correspond à quel personnage il suffit de regarder dans l'onglet "Persos" de la database, c'est le chiffre qui figure devant le nom du perso dans la liste de gauche.
armor3_id == 0 signifie que que le héros ne possède pas d'armure.
ce qui revient donc à faire une condition du type:
si le heros 1 n'as pas d'armure
alors
skin sans armure
sinon
skin avec armure
Donc on coche bien la case Exécuter autre chose si la condition n'es pas respecter.
Ensuite on remplis la condition de cette maniere là:
Voilà nous avons la condition pour le premier perso ,il suffit juste d'en refaire une pour chaque perso en changeant le numéro de l'ID dans la condition et la mettre entre les condition précédente et l'interrupteur.
Cet interrupteur sert à désactiver l'évènement commun pour éviter qu'il tourne tout le temps en processus parallèle il faut donc que celui-ci soit le même que celui défini dans le script.
pour tester les casque et les accessoire c'est la même méthode, la seule chose qui changera ce sera armor3_id == 0 à la place on aura:
armor2_id == 0 signifie que que le héros ne possède pas de casque.
armor3_id == 0 signifie que que le héros ne possède pas d'armure.
armor4_id == 0 signifie que que le héros ne possède pas d'accessoire.
Voilà j'espère avoir été clair si vous avez des question n'hésitez pas.
Voilà d'abord mettre ce script au dessus de main en l'appelant comme vous voulez. Il permet de déclencher un interrupteur lorsque vous équipez/déséquipez un objet.
- Spoiler:
- Code:
module EQUIP
#mettre ici le numero de l'interrupteur qui apelle l'évenement commun
INTERRUPTEUR = 3
end
#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
# This class performs the equipment screen processing.
#==============================================================================
class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# * Update Item Selection
#--------------------------------------------------------------------------
def update_item_selection
if Input.trigger?(Input::B)
Sound.play_cancel
@equip_window.active = true
@item_window.active = false
@item_window.index = -1
elsif Input.trigger?(Input::C)
Sound.play_equip
@actor.change_equip(@equip_window.index, @item_window.item)
@equip_window.active = true
@item_window.active = false
@item_window.index = -1
@equip_window.refresh
$game_switches[EQUIP::INTERRUPTEUR] = true
for item_window in @item_windows
item_window.refresh
end
end
end
end
Ensuite on se dirige dans tes évènements communs de la BDD. Une fois rendus, on en crée un en processus parallèle et qui est appelé par l'interrupteur qui est définissable dans le script. Ensuite dedans on met une condition. Sur le dernier onglet de cette conditions on choisi script et dedans on rentre rentre :
- Code:
$game_actors[1].armor3_id == 0
Pour expliquer un peu $game_actors[1] représente votre personnage d'ID 1, pour savoir quel ID correspond à quel personnage il suffit de regarder dans l'onglet "Persos" de la database, c'est le chiffre qui figure devant le nom du perso dans la liste de gauche.
armor3_id == 0 signifie que que le héros ne possède pas d'armure.
ce qui revient donc à faire une condition du type:
si le heros 1 n'as pas d'armure
alors
skin sans armure
sinon
skin avec armure
Donc on coche bien la case Exécuter autre chose si la condition n'es pas respecter.
Ensuite on remplis la condition de cette maniere là:
- Spoiler:
Voilà nous avons la condition pour le premier perso ,il suffit juste d'en refaire une pour chaque perso en changeant le numéro de l'ID dans la condition et la mettre entre les condition précédente et l'interrupteur.
Cet interrupteur sert à désactiver l'évènement commun pour éviter qu'il tourne tout le temps en processus parallèle il faut donc que celui-ci soit le même que celui défini dans le script.
pour tester les casque et les accessoire c'est la même méthode, la seule chose qui changera ce sera armor3_id == 0 à la place on aura:
armor2_id == 0 signifie que que le héros ne possède pas de casque.
armor3_id == 0 signifie que que le héros ne possède pas d'armure.
armor4_id == 0 signifie que que le héros ne possède pas d'accessoire.
Voilà j'espère avoir été clair si vous avez des question n'hésitez pas.
- Coco'Staffeux retraité
- Nombre de messages : 6578
Age : 31
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance
Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux
N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
Re: [Tuto] Changer l'armure d'un personnage s'il a une armure d'équipée
Mar 18 Mai 2010 - 17:20
Déplacé x)
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum