Page 1 sur 1

Supprimer un objet quand on le déséquipe

Posté : 17 avr. 2014, 19:05
par Epicaha
Bonjour à tous :)

J'ai voulu me mettre à faire des mods (vous me comprenez surement !). J'ai donc voulu commencer avec un petit truc.

- création d'objet -> c'est fait (l'objet test s'appelle Warpaint1Health)
- écriture de script -> je connais pas les commandes par coeur mais ayant fait de la progra je m'y retrouve plutôt bien.

Mon problème est le suivant. Je voudrais que mon objet soit équitable (ça c'est bon) et que quand le joueur le déséquipe, il disparaisse. Ma première idée à été de scripter directement l'objet. Ca a donné ça :
► Afficher le texte
Mais ça ne marche pas (vous avez surement bondit sur quelque chose que je n'ai pas vu ?
Je me suis dit que c'était parce que le OnUnequip ne visait personne, mais si je met ItemWarpaint il ne veut pas compiler ("Il manque un ID"), et idem si je met une autre variable Actor.

J'ai ensuite pensé que ça pouvait être lié au fait que de la manière dont j'ai fait le script, il s'auto détruit (et par expérience les programmes n'aiment pas ça, à part Linux). J'ai donc décidé de faire une quête de deux étapes : Première étape, il met le Warpaint, deuxième étape, il l'enlève. Et là, un fragment script pour supprimer le Warpaint.

Mais là je n'arrive à rien avec les fragment script. Je n'arrive pas à lui faire savoir ce qu'est Warpaint1Health, il n'accepte pas mes "property" etc...

Auriez-vous une idée du pourquoi ça ne marche pas ?
Ou un tuto sur les fragment Script ? Je n'en trouve pas sur le net.

Cordialement

Epicaha

Re: Besoin de conseils pour un script

Posté : 30 avr. 2014, 23:54
par daan
Bonjour,

Je répond tardivement et si tu n'a pas encore abandonné je suis prêt à t'aider .
Ta première idée est la bonne : le onunequip() ne vise personne.
Et c'est bien ça le problème.
Il te faut "pointer" vers le joueur, pour ce faire modifie ton script comme suit:

Code : Tout sélectionner

Scriptname WarpaintUsed extends ObjectReference 

Armor Property ItemWarpaint Auto 


Event OnUnequip ()
Game.GetPlayer().RemoveItem(ItemWarpaint, 1)
EndEvent
Attention pas "d'espace" entre " removeItem" et "(Itemwarpaint, 1).

Au passage as tu bien pensé à remplir la propriété ?

Daan