[Tutoriel] SCRIPT - Evolution d'une arme à la beeratwork

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Oblivion.
Répondre
Avatar du membre
beeratwork
Légende de la Confrérie
Légende de la Confrérie
Messages : 1881

SCRIPT - Evolution d'une arme à la beeratwork

Message par beeratwork »

Tuto - INFO - Index des tutos de Beeratwork

Comme je fais des émules sur les armes qui évolue, je me suis dit que j'allais faire un tuto pour expliquer le principe d'évolution que j'utilise.

Voici comment faire
"SCRIPT - EVOLUTION D'UNE ARME A LA BEERATWORK"

Donc crédits svp :mrgreen:

Pour faire "simple", je vais d'abord expliquer en quelque mots ce qui se passe et je vais commenter plus en détails quelques scripts de Sang Noir.

Les scripts sont de type objet. Je suppose que vous avez un minimum de connaissance en script et en création d'objet pour suivre ce tuto. :siffle:

Dans le mod Sang Noir, le joueur tue un déserteur pour s'emparer de son épée. Lorsqu'il s'en empare pour la 1ère fois, un message apparait (script AARSangNoir00Script commentaires 00->02). S'il s'équipe de l'épée, il ne se passe rien, mais la seconde fois, un message apparaît (script AARSangNoir00Script commentaires 03->05). Si le joueur s'est équippé 3x de l'épée et qu'il a le niveau requis en destruction, on attend 15s de temps réel avant de passer au niveau suivant (script AARSangNoir00Script commentaires 06->14).
► Afficher le texte
Pourquoi est-ce que je fait compter (script AARSangNoir00Script commentaires 01 et 04) maximum 10x ? Parceque au début je ne savais pas combien de fois j'allais affiché des messages, et qu'il y a eu de nombreux changements (et oui, la version actuelle de Sang Noir est la 7 !). Cela évite aussi de continuer à compter lorsque ce n'est plus nécessaire. Oui mais il y a neuf comptes inutiles (script AARSangNoir00Script commentaire 01). Eh bien vous pouvez toujours optimiser votre script si vous voulez, mais le fait est que c'est bien le dernier niveau de l'épée, celui qui sera le plus utilisé par le joueur s'il joue bien, qui devrait être le "plus optimisé". Deplus, compter 9x en trop, c'est ridicule question vitesse, frame, Hz, FPS, tout ce que vous voulez. Vous n'entendrez pas une mouche péter pour si peu. L'important est de mettre un verrou pour ne pas faire des bouclages inutiles. C'est le minimum.

Ce script fonctionne sans OBSE. Alors pourquoi faut-il utiliser OBSE pour Sang Noir ? Uniquement pour le changement d'arme. Cela permet d'éviter de créer des instances de l'épée (des copies d'épée dans le jeu, par exemple, les 3 claymores de fer que vous avez rammassé sur les bandits sont 3 instances de l'objet claymore de fer). OBSE permet également de conserver les statistique de l'arme, voir de modifier... la puissance de frappe ! Mais ça, c'est une autre histoire pour un autre tuto...

Vous voulez de la complication, maintenant que je vous ai bien bourré la cervelle de sottises ? Pas de problème, c'est gratuit !

Au niveau 5, Sang Noir retire la forme du niveau 4 que vous aviez en main. Si vous aviez mis Sang Noir dans une armoire, elle n'aurait pas évolué dedans, mais bien dans vos mains (script AARSangNoir05Script commentaire 00). Il faut aussi penser à retirer tous les bonus et malus, qu'est-ce qui garanti qu'un sort ne serait pas resté actif aprèsun bug ou l'utilisation d'un coffre "à distance" (les coffres comme ceux ouvert par un sort) ? Evidement, si le joueur se débarrase de l'épe, il faut qu'il perde aussi les bonus (script AARSangNoir05Script commentaire 01). Après s'être équipé 3x, on initialise un stage de quête (script AARSangNoir05Script commentaire 02). Cela ne veut pas dire que l'on crée une entrée journal ! Pour cela, il faudrait qu'il y ait du texte au stage 25 de la quête AARSangNoirQuest00. Mais le stage 25, il vaut mieux le créer, lui. Mais c'est aussi pour un autre tuto. Ayant subit certains bugs, j'ai opté pour une détection en mode jeu du fait que le joueur est équipé ou non de l'épée (script AARSangNoir05Script commentaire 03). je ne dis pas que c'est la meilleure méthode, le plus évident serait d'utiliser les blocs OnEquip et OnUnEquip, mais ça fonctionne très bien comme ça. Vu que l'inventaire ne se rafraîchit pas tout seul, ce n'est pas très grave non plus concernant la disparition/apparition des bonus/malus. Lorsque le joueur s'équipe, on lui ajoute des bonus, puis tant qu'il est équipé, on vérifie son niveau de magie pour savoir si Sang Noir doit boire goulûment sa magie (script AARSangNoir05Script commentaire 04). Lorsque le joueur se déséquipe, on retire le bonus et le malus s'ils ont été ajouté (script AARSangNoir05Script commentaire 05). Avant que l'épée n'évolue, on affiche tout de suite une messagebox pour demander au joueur s'il veut Sang Noir à une ou à deux mains. C'est définitif. On ne joue pas au instances multiples, ici. Et n'oublions pas qu'il s'agit d'un script non OBSE à la base ! (script AARSangNoir05Script commentaires 06 et 07)
► Afficher le texte
Après le niveau 0 et un niveau intermédiaire, pourquoi ne pas voir le dernier niveau ? Toute la partie "évolution" a été retirée, mais pas le contrôle des stats et la gestion de la forme antérieure et des bonus/malus :
► Afficher le texte
Modifié en dernier par beeratwork le 19 nov. 2009, 07:46, modifié 4 fois.
Avatar du membre
apdji
Légende de la Confrérie
Légende de la Confrérie
Messages : 9868
Contact :

Re: Tuto - Evolution d'une arme à la beeratwork - Script

Message par apdji »

Avec beaucoup de retard, désolé, je te déplace le topic dans la forge, où elle sera plus à sa place, moins noyé dans la masse ;)
Image

"Pas de coercition ... un peu d'éducation ..." Moorelf
Répondre

Retourner vers « Modder Oblivion »