[Résolu] Obtenir des sorts en activant une gemme .
Obtenir des sorts en activant une gemme .
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.
Raison : Pas d'espaces avant les virgules et les points.
Re: Obtenir des sorts en activant une gemme .
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 ?
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 ?

Re: Obtenir des sorts en activant une gemme .
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.
Raison : Voir message précédent.
Re: Obtenir des sorts en activant une gemme .
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
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)

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

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.

Re: Obtenir des sorts en activant une gemme .
C'est bon, j'ai réussi grâce à ce script :
Merci quand même. Et désolé pour les virgules, j'essaierai de faire attention
.
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

Modifié en dernier par Deminion le 18 déc. 2011, 19:30, modifié 1 fois.
Re: Obtenir des sorts en activant une gemme .
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
de Moi-même, Copyright T!TER 2012
Re: Obtenir des sorts en activant une gemme .
Merci pour le script.