Problemes d'objets a charges

Répondre
Partager Rechercher
Par defaut mes objets a charges disparaissent lorsque les dernieres charges sont utilisées. Or pour une vingtaine d'objets il ne faut surtout pas qu'ils disparaissent. Les objets en question ont 0charges/utilisation sur un pouvoir unique. Ils ont aussi deux pouvoirs différents dans lesquels ils lancent des sorts.
Voila ce que j'ai essayé...rien ne marche.

- Dans le OnUnacquiredItem j'ai fait un script. Mais la perte de l'objet lors de l'utilisation de la derniere charge ne semble pas declencher cet evenement.

- J'ai mis des charges paires pour les deux pouvoirs qui lancent des sorts (2 et 4 charges par utilisation) avec un capital de charges impair (ex:21). Ceci pour que l'objet se bloque à une charge et ne disparaisse pas. Mais lorsque l'objet passe de 3 à 1 charge, il se détruit. (les pouvoir unique est toujours a 0 charges par utilisation.

- J'en etais a me demander si l'on ne peux pas via une fonction connaitre le nombre de charges restantes dans un objet. Et si une autre fonction ne permet pas de faire descendre une charge. Ceci pour sucer une charge suplementaire dans le cas ou le nombre de charge est différent de 1 afin de garder toujours un capital de charges impair. Ainsi a nombre de charges = 1 j'aurais pu remplacer l'objet, et en mettre un autre a la place qui n'aurait pas eu les sorts.

Voila donc pour clarifier le tout mes questions sont:

-Existe t'il un moyen d'empecher la destruction d'un objet quand il n'a plus de charges. Ou existe t'il un evenement qui se declenche lorqu'un objet n'a plus de charges.
- Si "non" .Existe t'il une fonction style GetNombredecharges sur un objet et une fonction qui permet de diminuer le nombre de charges d'un objet.

En esperant que vous puissiez me sortir cette dague du pied...
A ma connaissance il n'existe pas de fonction permettant de récupérer le nombre de charge sur un "item".

Le fait est que lorsqu'un "item" avec charge disparait, il est sujet à la fonction "DestroyObject", qui ne déclenche aucun OnScript, et qui est irrévocable.
Peut-être en utilisant la fonction "SetIsDestroyable" et en lui donnant la valeur FALSE dans le OnAcquireItem, l'objet en question ne pourra pas être détruit.
Mais je n'en sais rien, je ne l'ai pas testé, je ne fais que supposer.

[Edit] Avec un "GetItemProperty", tu pourrais savoir si l'objet est capable de lancer un sort, et donc, à moins d'être à utilisation illimitée, cela nécessite des charges, donc identifierait l'"item" comme étant un objet à charge. Tu utilises ensuite la fonction "SetIsDestroyable" comme expliqué ci-dessus.
Essaie, peut-être que ça marchera, je ne sais pas.
tu rajoutes un pouvoir unique à charge 1 fois /jour..
sur le pouvoir unique ca fera rien .. mais au moins ton objet restera.
Ou alors tu rajoutes un tit sorts à la con 1fois/jour , genre lumiere
Mettre 0 Charges change rien...l'objet disparait. Enfin je met 0 charges au pouvoir unique donc peut être que si j'y met un sort ca sera different.

Mettre 1 charge au pouvoir unique pose un probleme. Le pouvoir unique est pas la pour faire joli. Il peut etre utilisé donc si la derniere fois que le perso s'en sers fait tomber le capital de charges sur un chiffre pair l'objet sera détruit a 0.

Pour le sort de lumiere je suis pas trop pour...ca me plait pas trop.

Pour Delphinéa je sais pas si un objets garde la propriété setisdestroyable quand qq un sort et rerentre....je sais pas...
pfff...enfin merci de vos reponses et de votre attention.


Viens de tester SetIsDestroyable marche pas.
Bah faut storer l'état de l'objet dans une variable booléenne et le charger dans le OnModuleLoad.
Et vis à vis du template de l'objet dans la palette, celui qui est lié au OnActivatedItem, pas vis-à-vis de l'objet du perso.

PS: Je précise que ça ne peut marcher que sur un module dont vous êtes le créateur, si vous tentez de bricoler une sauvegarde de perso, ça ne peut pas marcher
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés