SCRIPT - Changement de garde à la beeratwork
Posté : 26 oct. 2009, 13:17
Tuto - Index des tutos de Beeratwork - INFO
Après le tuto sur l'évolution des armes, voici un tuto sur le changement de garde.
Voici comment faire
"SCRIPT - CHANGEMENT DE GARDE A LA BEERATWORK"
Donc crédits svp
Ce script n'est finalement pas compliqué à comprendre, mais j'ai galéré au début : je ne connaissais pas OBSE.
Pour faire "simple", je vais d'abord expliquer en quelque mots ce qui se passe et je vais commenter plus en détails le script de Sang Noir (v7).
Le script est de type MagicEffect. Je suppose que vous avez un minimum de connaissance en script et en création de sort pour suivre ce tuto. OBSE est absolument nécessaire pour faire fonctionner ce script.
Vous devez savoir qu'un sort est un "one shoot". C'est-à-dire que lorsque vous lancez un sort avec un effet scripté, l'effet scripté démarre avec les variable initialisée, en cours de route certaines vont changer, etc. Mais la seconde fois que vous lancerez le sort, l'effet repartira de zéro. En gros, le sort crée des "instances d'effet". Et un effet n'existe que le temps qu'on lui a attribué. Compris ? Pour avoir un variable dont on veut conserver l'état, il faut qu'elle soit externe au script d'effet. Elle doit soit être globale, soit être une variable de quête. Pour créer une variable de quête, il suffit de créer une ID de quête et d'y associer un script dans lequel on définit une variable.
Lorsque le sort commence, on vérifie si le joueur a dégainé son arme. Si non, on verrouille le reste du script. La variable Lock est mise à 1. Si oui, on ne fait rien, puisque par défaut elle vaut zéro (script AARSangNoirSpellChangeHanding00Script commentaire 00). Pour info, AARSangNoirGlobalVersionOBSE est une variable globale qui sert à verrouiller le script dans la version non OBSE (pour bien montrer au joueur ce qu'il rate en ne l'installant pas, hé hé hé). Ensuite (script AARSangNoirSpellChangeHanding00Script commentaire 01) on fait référence au bouclier qui équipe le joueur, à l'épée et on mémorise le type de l'épée. Est-elle à une ou à deux mains (script AARSangNoirSpellChangeHanding00Script commentaire 02)? cela fait, il faut encore vérifier si le joueur est bien équipé de Sang Noir, puisque le sort ne doit absolument pas permettre au joueur de tenir une dague à deux mains comme un drôle (script AARSangNoirSpellChangeHanding00Script commentaire 03)! J'aurais pu utiliser un "player.GetEquippedItem AARSangNoir07", mais ce n'était pas la seule arme dont on peut changer la garde, donc j'ai opté pour une variable globale. Lorsque le joueur tente de lancer le sort sur une autre arme que Sang Noir, AARSangNoirGlobalHandEquiped vaut zéro (géré sur les épées), donc il fau châtier ce mufle qui ose insulter l'épée (script AARSangNoirSpellChangeHanding00Script commentaire 04). En fonction de l'épée, et en fonction de son type, on change la garde mais aussi la puissance de frappe (script AARSangNoirSpellChangeHanding00Script commentaire 05). On frappe plus fort avec deux mains non ? Et la vitesse aussi change... A deux mains, il ne faut pas oublier de déséquipper le bouclier pour ne pas qu'il reste collé au bras.
Après le tuto sur l'évolution des armes, voici un tuto sur le changement de garde.
Voici comment faire
"SCRIPT - CHANGEMENT DE GARDE A LA BEERATWORK"
Donc crédits svp

Ce script n'est finalement pas compliqué à comprendre, mais j'ai galéré au début : je ne connaissais pas OBSE.
Pour faire "simple", je vais d'abord expliquer en quelque mots ce qui se passe et je vais commenter plus en détails le script de Sang Noir (v7).
Le script est de type MagicEffect. Je suppose que vous avez un minimum de connaissance en script et en création de sort pour suivre ce tuto. OBSE est absolument nécessaire pour faire fonctionner ce script.

Vous devez savoir qu'un sort est un "one shoot". C'est-à-dire que lorsque vous lancez un sort avec un effet scripté, l'effet scripté démarre avec les variable initialisée, en cours de route certaines vont changer, etc. Mais la seconde fois que vous lancerez le sort, l'effet repartira de zéro. En gros, le sort crée des "instances d'effet". Et un effet n'existe que le temps qu'on lui a attribué. Compris ? Pour avoir un variable dont on veut conserver l'état, il faut qu'elle soit externe au script d'effet. Elle doit soit être globale, soit être une variable de quête. Pour créer une variable de quête, il suffit de créer une ID de quête et d'y associer un script dans lequel on définit une variable.
Lorsque le sort commence, on vérifie si le joueur a dégainé son arme. Si non, on verrouille le reste du script. La variable Lock est mise à 1. Si oui, on ne fait rien, puisque par défaut elle vaut zéro (script AARSangNoirSpellChangeHanding00Script commentaire 00). Pour info, AARSangNoirGlobalVersionOBSE est une variable globale qui sert à verrouiller le script dans la version non OBSE (pour bien montrer au joueur ce qu'il rate en ne l'installant pas, hé hé hé). Ensuite (script AARSangNoirSpellChangeHanding00Script commentaire 01) on fait référence au bouclier qui équipe le joueur, à l'épée et on mémorise le type de l'épée. Est-elle à une ou à deux mains (script AARSangNoirSpellChangeHanding00Script commentaire 02)? cela fait, il faut encore vérifier si le joueur est bien équipé de Sang Noir, puisque le sort ne doit absolument pas permettre au joueur de tenir une dague à deux mains comme un drôle (script AARSangNoirSpellChangeHanding00Script commentaire 03)! J'aurais pu utiliser un "player.GetEquippedItem AARSangNoir07", mais ce n'était pas la seule arme dont on peut changer la garde, donc j'ai opté pour une variable globale. Lorsque le joueur tente de lancer le sort sur une autre arme que Sang Noir, AARSangNoirGlobalHandEquiped vaut zéro (géré sur les épées), donc il fau châtier ce mufle qui ose insulter l'épée (script AARSangNoirSpellChangeHanding00Script commentaire 04). En fonction de l'épée, et en fonction de son type, on change la garde mais aussi la puissance de frappe (script AARSangNoirSpellChangeHanding00Script commentaire 05). On frappe plus fort avec deux mains non ? Et la vitesse aussi change... A deux mains, il ne faut pas oublier de déséquipper le bouclier pour ne pas qu'il reste collé au bras.
► Afficher le texte