[Résolu] Obtenir des sorts en activant une gemme .

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Oblivion.
Répondre
Avatar du membre
Deminion
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 488

Obtenir des sorts en activant une gemme .

Message par Deminion »

Bonjour, j'ai un problème, j'aimerais faire que mon perso active une gemme spirituelle depuis l'inventaire, il gagne des sorts. Je sais qu'il faut passer par un script mais je n'ai aucune idée du script à utiliser. Quelqu'un saurait quoi utiliser pour que ça marche ? Merci d'avance.
Modifié en dernier par Deminion le 20 juin 2015, 18:26, modifié 4 fois.
Raison : Pas d'espaces avant les virgules et les points.
Avatar du membre
A .
Légende de la Confrérie
Légende de la Confrérie
Messages : 5582

Re: Obtenir des sorts en activant une gemme .

Message par A . »

Salut,

Avec quelque chose de ce style :

Begin Onactivate ; si ça ne marche pas, essaie avec OnEquip. Avec OnActivate, les sorts risquent d'être ajoutés lors du ramassage de la gemme, à moins que celle-ci soit ajoutée dans l'inventaire via un autre script ?

player.addspell IDdusort1 ; plus de détails ici par exemple http://wiwiki.wiwiland.net/index.php/TESCS2_:_AddSpell
player.addspell IDdusort2
etc.

End

Ton script doit être de type Object, et bien sûr lié à l'objet !
Par contre, est-ce qu'ainsi ça va rajouter les sorts à chaque fois que l'on activera la gemme et faut-il prévoir une condition pour que cela ne soit fait qu'une seule fois ? :pensif:
Avatar du membre
Deminion
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 488

Re: Obtenir des sorts en activant une gemme .

Message par Deminion »

C'est bon, j'ai résolu le problème en mettant Begin OnAdd, les sorts apparaissent dans l'inventaire correctement une fois que la gemme est en Possession du joueur, mais maintenant j'aimerais que les sorts disparaissent quand on jette la gemme hors de son inventaire, une idée de comment faire ?
Modifié en dernier par Deminion le 20 juin 2015, 18:26, modifié 4 fois.
Raison : Voir message précédent.
Avatar du membre
A .
Légende de la Confrérie
Légende de la Confrérie
Messages : 5582

Re: Obtenir des sorts en activant une gemme .

Message par A . »

Il y avait Begin OnAdd oui, mais ça ne collait pas tout à fait avec ce que tu demandais. :)

Je te propose ceci :

Il te faut créer une quête bateau, et lui coller le script du type Quest suivant :

Begin MenuMode

If player.GetItemCount IDdeLaGemme <= 0
player.RemoveSpell IDdusort1
player.RemoveSpell IDdusort2
Etc.
Endif

End

Dès que tu seras en MenuMode, c'est à dire dans le menu principal, la carte, l'inventaire etc., le jeu va regarder toutes les secondes si le joueur possède 0 ou moins (donc ici de toute façon, 0) GemmeAjouteuseDeSort. Si c'est le cas, c'est donc que le joueur ne l'a plus, donc il faut enlever les sorts.

Si MenuMode ne marche pas, à cause du timming (supprimer de l'inventaire et le refermer tout de suite dans la foulée), mets un GameMode à la place, tu auras juste une petite latence et ça sera un peu moins réaliste car il faudra nécessairement quitter le menu pour que les sorts disparaissent, donc on devra pouvoir les voir dans la liste même sans avoir la gemme sur soi. Sinon on peut affiner quel menu, l'inventaire doit posséder un chiffre.

Mais normalement ça devrait le faire ainsi :top:

Il y a d'autres possibilités peut-être plus simples et plus logiques pour ce genre de manipulations !

Par contre... tiens compte de mes corrections, merci. ;) (placement de la ponctuation)
Avatar du membre
Deminion
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 488

Re: Obtenir des sorts en activant une gemme .

Message par Deminion »

C'est bon, j'ai réussi grâce à ce script :

Code : Tout sélectionner

scn Nom du script


Begin GameMode

If player.GetItemCount Gemme == 1
Player.AddSpell Sort1
Player.AddSpell Sort2
Player.AddSpell Sort3
Player.AddSpell Sort4
Player.AddSpell Sort5
elseif player.GetItemCount Gemme == 0
Player.RemoveSpell Sort1
Player.RemoveSpell Sort2
Player.RemoveSpell Sort3
Player.RemoveSpell Sort4
Player.RemoveSpell Sort5
Endif
End
Merci quand même. Et désolé pour les virgules, j'essaierai de faire attention ;).
Modifié en dernier par Deminion le 18 déc. 2011, 19:30, modifié 1 fois.
Avatar du membre
T!TER
Confrère
Messages : 3933

Re: Obtenir des sorts en activant une gemme .

Message par T!TER »

Je te suggère un autre script, beaucoup plus propre que celui que tu utilise, car il ne s'active seulement lorsque l'objet scripté entre ou sort de l'inventaire du joueur (et non pas à chaque image affichée, comme c'est le cas avec le BlockType GAMEMODE) : ;)

Code : Tout sélectionner

scn Nom du script

BEGIN ONADD Player
Player.AddSpell Sort1
Player.AddSpell Sort2
Player.AddSpell Sort3
Player.AddSpell Sort4
Player.AddSpell Sort5
END

BEGIN ONDROP Player
Player.RemoveSpell Sort1
Player.RemoveSpell Sort2
Player.RemoveSpell Sort3
Player.RemoveSpell Sort4
Player.RemoveSpell Sort5
END
"Prends la vie avec légèreté, il y aura moins d'obésité..."
de Moi-même, Copyright T!TER 2012
Avatar du membre
Deminion
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 488

Re: Obtenir des sorts en activant une gemme .

Message par Deminion »

Merci pour le script.
Répondre

Retourner vers « Modder Oblivion »