Tutoriel création script pour switcher d'armes v2
Posté : 18 oct. 2010, 09:17
TUTORIEL CREATION SCRIPT POUR POUVOIR SWITCHER ENTRE PLUSIEURS VERSIONS D’UNE ARME
Par Corax
Tutoriel en pdf : Lien
Esp final de l'exemple en dessous : Lien
Voilà un petit tutoriel pour créer un script qui vous permettra de changer d'arme via une boite de dialogue lorsque vous vous en équipez :
(1) Pour commencer (ouvrez le GECK, cela va de soit), il faut que vous ayez les différentes armes de prêtes, je vais prendre en exemple le pistolet 10mm de Fallout 3 et sa version avec silencieux.
(2) Notez les IDs des armes :
Weap10mmPistol
Weap10mmPistolSilenced

(3) Ensuite aller dans la rubrique "Message". Là créer un nouveau message qui doit ressembler à ça :

Maintenant il faut donner des conditions aux 2 boutons créés (0 et 1).
Pour cela, cliquez d’abord sur le texte du 1er bouton puis allez dans "Item Conditions" et faites nouveau (New). Une fenêtre va s’ouvrir, là il faut donner les paramètres suivants :
Condition Function
GetEquiped
Function Parameters
Sélectionnez l’ID du pistolet silencieux (en fait vous sélectionnez l’arme du second bouton pour le premier bouton), ici c’est Weap10mmPistolSilenced
Comparison
>=
Value
1
Il vous suffit ensuite de validez en cliquant sur "OK", la condition apparaitra dans "Item Conditions".

Il vous suffit maintenant de faire la même chose pour le second bouton (mais en donnant comme ID l’arme du 1er bouton, à savoir ici Weap10mmPistol).

(4) Une fois le message créé, noté son ID. Dans notre exemple : Pistol10mmMenu
(5) Bien, maintenant on passe à la création du script ! Aller donc dans "Script" et créer un nouveau script.
(6) Voilà à quoi ressemble le script en brut (Les noms en gras sont les éléments qui doivent être changés) :
(7) Il vous suffit de compléter le script avec les IDs des armes que vous voulez. Voilà à quoi il ressemblera au final :scn nomduscript
short vChoix
short vMenu
float vEtat
BEGIN ONEQUIP
ShowMessage ID_de_votre_message
Set vMenu to 1
END
BEGIN MENUMODE
Set vChoix to GetButtonPressed
If vMenu == 1
Set vEtat to Player.GetWeaponHealthPerc / 100
If vChoix == 0
Player.AddItemHealthPercent ID_de_l’arme_correspondant_au_bouton_0 1 vEtat 1
Player.EquipItem ID_de_l’arme_correspondant_au_bouton_0 0 1
RemoveMe
Set vMenu to 0
ElseIf vChoix == 1
Player.AddItemHealthPercent ID_de_l’arme_correspondant_au_bouton_1 1 vEtat 1
Player.EquipItem ID_de_l’arme_correspondant_au_bouton_1 0 1
RemoveMe
Set vMenu to 0
EndIf
EndIf
END
scn pistol10mmscriptmenu
short vChoix
short vMenu
float vEtat
BEGIN ONEQUIP
ShowMessage Pistol10mmMenu
Set vMenu to 1
END
BEGIN MENUMODE
Set vChoix to GetButtonPressed
If vMenu == 1
Set vEtat to Player.GetWeaponHealthPerc / 100
If vChoix == 0
Player.AddItemHealthPercent Weap10mmPistol 1 vEtat 1
Player.EquipItem Weap10mmPistol 0 1
RemoveMe
Set vMenu to 0
ElseIf vChoix == 1
Player.AddItemHealthPercent Weap10mmPistolSilenced 1 vEtat 1
Player.EquipItem Weap10mmPistolSilenced 0 1
RemoveMe
Set vMenu to 0
EndIf
EndIf
END

(8) Enregistrer/compiler le script (il vous suffit de cliquer sur la disquette jaune, juste à droite de l’icône ouvrir). Si un message d’erreur s’ouvre, lisez bien il vous indiquera sans doute l’endroit (la ligne) où vous avez fait une faute.
IMPORTANT : Votre script doit être de type "Object".
(9) Pour finir, il vous suffit d’attacher le script aux armes concernées en passant par la fenêtre de propriétés des armes.

(10) Il ne reste plus qu’à valider et à sauvegarder votre esp, et voilà vous avez réussi ! Il ne reste plus qu’à tester ça !
NOTA : le script permet de faire un menu avec un maximum de 10 choix (selon vient du GECK), pour cela il vous suffit de rajouter un bouton (ou plusieurs) dans le message, puis de rajouter ce paragraphe (une ou plusieurs fois dépend du nombre de bouton) dans le script (il faut l’insérer juste avant le premier endif). N’oublier pas non plus de faire les modifications nécessaires dans le message.
ElseIf vChoix == x (numéro du bouton)
Player.AddItemHealthPercent ID_de_l’arme_correspondant_au_bouton_x 1 vEtat 1
Player.EquipItem ID_de_l’arme_correspondant_au_bouton_x 0 1
RemoveMe
Set vMenu to 0
Pas de bugs connus à ce jour!
J’espère que ce tutoriel vous aura aidé !
Remerciement :
Merci à Sylom et Rivs pour m’avoir initiés aux scripts.
Merci à T !TER pour son aide sur le bug de la 1ere version de ce script.
Merci à DaiShiSHUN pour son mod "Carabine Tau" qui m’a fait découvrir cette possibilitée !
======================
Tutoriel réalisé par Corax
La Confrérie des Traducteurs
======================
Vous pouvez distribuer ce tutoriel mais cité alors le site d’où il provient :
http://www.confrerie-des-traducteurs.fr/forum/
Lien direct du tutoriel :
http://www.confrerie-des-traducteurs.fr ... =32&t=6333