Exercices - Index des exercices
"EXERCICE - OBJET EN VENTE SANS ALTERATION DU JEU"
Un exercice pour apprendre comment faire pour ajouter des objets à acheter dans l'inventaire d'un magazinier sans altérer le jeu plus que nécessaire.
Enoncé :
Nom du mod : Fake sword
La tenancière du magazin "Marteau et pince" de Skingrad vent une fausse épée daedrique truquée bon marché et elle n'est pas au courant. Elle est plus légère que la normale et fait plus de dégâts. Le joueur ne sais pas qu'en croyant faire une bonne affaire il a acheté une épée qui cassera au premier coup. Ha ha ha !
Cet exercice semble très machiavélique à première vue, mais vous aurez un autre exercice pour faire un marchand particulièrement malhonnête. Ca c'est machiavélique ! Même si le joueur ne fera pas deux fois ses courses chez ce marchand...
Réflexion :
Une épée daedrique longue fragile et bon marché, plus légère et plus puissante ça veut dire... (section dans le TESC, ID de base, valeurs à modifier).
Réponse ?
► Afficher le texte
1. Section : Items\Weapons\Daedric
2. ID : WeapDaedricLongsword
3. Valeurs : Weight (poids) à 48.0000, Health (santé) à 672, Value (prix) à 3100, Damage (dégât) à 24
A propos de "health" : ça peut sembler bizarre de parler de la santé d'une épée, mais il faut comprendre cela dans le sens de la résistance de l'arme.
Comment fonctionne le système de marchandage dans oblivion ? Soit c'est mis dans mes tutos, soit pas et alors c'est noté ailleurs, mais au cas où, voici un rappel :
- Un marchand vend tout ce dont il est propriétaire (sauf sa culotte et les autres objets très personnels).
- Un marchand vend les objets qui se trouvent dans un coffre dont il est le propriétaire.
- Un marchand qui est propriétaire d'une maison est propriétaire des objets et conteneurs qui n'ont pas de propriétaire spécifique.
Donc si un marchand n'est pas propriétaire de la maison où il se trouve, et qu'on veut qu'il vende le contenu d'un coffre, que faut-il faire ?
► Afficher le texte
Le rendre propriétaire du coffre.
Vous devez avoir lu quelque part une ligne importante dans les tutos, qui disait qu'à l'ouverture d'une cellule le TESC la considérait comme modifiée. Où placer le coffre pour sans toucher aux cellules du jeu ?
► Afficher le texte
Dans une nouvelle cellule qu'on crée soit-même.
On ne sait pas qui est le marchand de Marteau et pince. Comment le savoir ?
► Afficher le texte
1. Retrouver la cellule SkingradHammerAndTongs (par exemple via la liste des cellule, avec le tri alphabétique on cherche "Marteau et pince"). Puis on sélectionne la cellule de sorte qu'on ne l'ouvre pas.
2. Dans la liste à droite qui affiche le contenu, on fait un tri par type et on défile jusqu'au type NPC (les PNJs).
3. On trouve le NPC en question "AgnetethePickledRef".
4. Faire clic droit puis "edit" pour noter l'ID et ensuite cliquer sur "cancel" pour annuler (!!! jamais ok !!!). Après on vérifie si le PNJ vend quelque chose via le menu IA ou bien on vérifie par le nom du PNJ si en jeu c'est bien celui qu'on veut.
Il y a d'autres méthodes, mais celle-ci est la plus directe et la plus généralisable selon moi.
Le coffre que nous allons créer sera placé dans un autre cellule que celle du jeu. Comment le transférer dans la cellule des marchands ?
► Afficher le texte
On le téléporte.
L'épée :
ID de l'épée ?
► Afficher le texte
FakeSwordWeaponWeapDaedricLongsword00
Il s'agit surtout d'un exemple. FakeSword = le nom du mod, Weapon pour le type (ou Weap pour faire court), WeapDaedricLongsword pour dire qu'on part de l'épée d'origine, 00 pour le fun (si vous voulez faire une 2ème épée truquée avec le même meshe...)
Au boulot ! Créez une nouvelle épée avec un poids de 24, des dégâts de 48, un prix de 1550 et une résistance de 1.
Réponse ?
► Afficher le texte
Si vous cliquez ici, vous êtes mal parti pour modder. Retour aux tutos. Désolé d'être brutal, mais les champs à modifier ont été spécifié. Ca ne devrait pas vous poser de problème.
Vous pouvez par exemple changer le nom de l'épée juste pour pouvoir la repérer plus facilement. Seulement, si le joueur doit être piégé, il ne faudra pas oublier de remettre le même nom que la vraie épée !
Le coffre :
Soit vous partez d'un coffre existant comme pour l'épée, ce qui permet de partir d'un meshe existant sans avoir à le créer puis à le spécifier, soit vous parter de vore propre meshe. Vous pourriez utiliser un meshe "vide", mais si vous voulez vérifier ingame si vos objets sont dedans, ce sera impossible puisque votre coffre n'aura pas de forme 3D (difficile de cliquer sur un point dans un espace 3D...). Pour faire simple, créer un coffre à partir d'un coffre existant et remplissez-le avec l'épée.
► Afficher le texte
ID : FakeSwordContFakeItems00
Contenu : 1x FakeSwordWeaponWeapDaedricLongsword00
La cellule :
Au boulot ! Créez une nouvelle cellule à partir de rien dans le menu... c'est lequel déjà ?
► Afficher le texte
Barre des menus > World > Cells
Votre cellule doit ensuite apparaître dans la liste des cellule d'intérieur, sinon, c'est que le champs déroulant au-dessus n'affichait pas "Interiors" !
Placez le coffre dans la cellule, n'importe où. Editer la référence ainsi créee pour qu'elle devienne persistante et nommer-la. Deplus, imaginons qu'un mod fait en sorte que Agnette ait un mari marchand lui aussi. Il ne doit pas pouvoir vendre le contenu du coffre, même s'il fait partie de la famille (faction) d'Agnette.
► Afficher le texte
Cocher "Persistent Reference, mettre un nom du genre FakeSwordRefContFakeItems00 ("Ref" car c'est une référence) et dans l'onglet ownership, sélectionnez l'ID de Agnète.
Le script :
Le script va faire une chose importante : téléporter le coffre près d'Agnète pour qu'elle vende le contenu. Le script sera un script... de quête d'initialisation ! Et oui ! Vous savez donc quel type de script écrire (Quest Script pour les cailloux). Utilisez le bloc game mode, une variable qui va servir de "verrou" et la fonction PositionCell. Renseignez-vous sur PositionCell avant de faire le script ! Réponse ?
► Afficher le texte
scn AARFakeSwordQuest00Script
; Script de quête // Quest script
short initialisation ; (0) initialisation (1) terminé
Begin GameMode
if (Initialisation == 0)
set Initialisation to 1
FakeSwordRefContFakeItems00.PositionCell 0,0,-1000,0,SkingradHammerAndTongs
endif
End
; On place le coffre à la position X = 0, Y = 0, Z = -1000 où normalement il n'y a rien sauf si un mod rajoute une espèce d'immeuble en profondeur sous la terre...quel délire !
;J'espère que je ne vais pas vous donner des idées bizarres. Sinon, vous pouvez vérifier en ouvrant la cellule, ce qui signifie sauver votre mod et ouvrir une autre session du TESC en ne chargeant rien juste pour aller vérifier que l'élément sol le plus bas ne permettre pas l'accès au coffre. ;Mais ceux qui utilisent un meshe vide n'auront pas ce soucis.
La quête :
Une quête d'initialisation qui démarre au début du jeu et qui ne sert à rien à part exécuter le script.
► Afficher le texte
ID : AARFakeSwordQuest00
Cocher "Start game enable"
Priority : 0
Script : AARFakeSwordQuest00Script
Le reste on s'en fou.
Si vous désirez que votre quête s'arrête après l'initialisation, comme il n'y a pas de stage d'arrêt, vous pouvez essayer avec "StopQuest AARFakeSwordQuest00" apès l'appel de la fonction "PositionCell". Cependant, si vous désirez plus tard modifier la quête sans devoir réinstaller le mod où faire d'autre choses "compliquée", se sera un peu dur. Mais si votre quête ne bougera plus jamais, alors vous pouvez la stopper de sorte qu'elle ne pompe pas de ressources.
Sauvez tout et testez. Agnète vend désormais une fausse épée daedrique. Vous faites désormais partie des moddeurs machiavéliques ! Ha ha ha !