Aller au contenu


Récolte D'Objets


  • Veuillez vous connecter pour répondre
4 réponses à ce sujet

#1 Troglodyte

Troglodyte

Posté 11 novembre 2011 - 12:30

Bonjour les amis.

Je cherche à créer un script qui déclenche une note dans le journal une fois que le joueur entre en possession de 9 objets différents. Le script que j'ai écrit est donc le suivant.

Citation

Begin Better_Uvirith_Anniversairescript

short objectcount
set objectcount to "Player"->GetItemCount

if (GetItemCount, "silver shortsword">0)

if (GetItemCount, "summon ancestor amulet">0)

if (GetItemCount, "misc_dwrv_bowl00">0)

if (GetItemCount, "p_vintagecomberrybrandy1">0)

if (GetItemCount, "b_u_cuillere">0)

if (GetItemCount, "b_u_fausse_piece">0)

if (GetItemCount, "b_u_cadeau">0)

if (GetItemCount, "better_uvirith_uvirith">0)

if (GetItemCount, "sc_paper plain">0)

Journal, BU_Anniversaire, 115

endif

endif

endif

endif

endif

endif

endif

endif

endif

End Better_Uvirith_Anniversairescript

J'ai assigné ce script à l'objet b_u_cuillere car j'avais lu quelque part qu'un script local s'exécutait si l'objet auquel il était assigné était dans la cellule ou dans l'inventaire du joueur.

Comme vous pouvez vous en douter, ça ne fonctionne pas. Or, je ne comprend pas pourquoi, et j'aimerai obtenir votre aide. :dwarf:
Edit : Remplacé les < par des >, encore pardon.

Modifié par Troglodyte, 11 novembre 2011 - 12:59.


#2 Nerwal

Nerwal

    SAMU Kalendaarien


Posté 11 novembre 2011 - 12:39

Citation

set objectcount to "Player"->GetItemCount

manque un argument

Citation

if (GetItemCount, "silver shortsword"<0)

< signifie "[le membre de gauche] est plus strictement petit [que le membre de droite]", > signifie "est strictement plus grand que"



0 n'est jamais strictement plus grand que GetItemCount, "silver shortsword".

#3 Troglodyte

Troglodyte

Posté 11 novembre 2011 - 12:58

Je suis confus, je me suis planté de signe. J'ai bel et bien marqué > dans mon script.

Tu penses que je peut mettre à chaque condition :

Citation

if ("Player"->GetItemCount, "ID de l'objet">0)
?

#4 Nerwal

Nerwal

    SAMU Kalendaarien


Posté 11 novembre 2011 - 13:33

Voir le messageTroglodyte, le 11 novembre 2011 - 12:58, dit :

Je suis confus, je me suis planté de signe. J'ai bel et bien marqué > dans mon script.

Tu penses que je peut mettre à chaque condition :

Citation

if ("Player"->GetItemCount, "ID de l'objet">0)
?

Oui je crois

Normalement ça va pour le nombre d'if imbriqués. Sinon il y a toujours la ressource de mettre dans une locale et de multiplier entre eux les résultats des GetItemCount.

#5 Troglodyte

Troglodyte

Posté 12 novembre 2011 - 01:15

Je n'ai rien compris après "sinon". :|

Mais je vais faire comme on a dit et je dirais si ça marche. :huhu:

Bon. Ca ne marche pas. Voilà à quoi ressemble le script à présent :

Citation

Begin Better_Uvirith_Anniversairescript

short objectcount

if ("Player"->GetItemCount, "silver shortsword">0)

if ("Player"->GetItemCount, "summon ancestor amulet">0)

if ("Player"->GetItemCount, "misc_dwrv_bowl00">0)

if ("Player"->GetItemCount, "p_vintagecomberrybrandy1">0)

if ("Player"->GetItemCount, "b_u_cuillere">0)

if ("Player"->GetItemCount, "b_u_fausse_piece">0)

if ("Player"->GetItemCount, "b_u_cadeau">0)

if ("Player"->GetItemCount, "better_uvirith_uvirith">0)

if ("Player"->GetItemCount, "sc_paper plain">0)

Journal, BU_Anniversaire, 115

endif

endif

endif

endif

endif

endif

endif

endif

endif

End Better_Uvirith_Anniversairescript

Je prend tous les objets désignés et rien ne se déclenche.
J'ai imaginé refaire le même avec un script particulier pour chaque objet et une note de journal pour chaque objet, si le disfonctionnement vient de la quantité de if.

Sinon je veux bien essayer la solution que je n'ai pas compris mais je vais avoir besoin d'explications. :s

Edit : Désolé ! j'ai tout simplement oublié de créer la note 115 dans le journal ! :( J'ai honte.

Ca ne marche toujours paaaaaaaaargh !

Cette fois, ça m'échappe complètement.

Edit : J'ai repéré le problème : je ne parviens pas à assigner le script à un objet, quel qu'il soit. Je le sélectionne dans la case "script" du menu de l'objet, et quand je sauvegarde l'objet, ça rend la case vierge !

Edit : Bien. Le problème s'est réglé le plus simplement du monde : j'ai créé un deuxième script, exactement le même, avec un autre nom, et j'ai effacé le premier. Et ça a marché.

Rogntudju, Morrowind, des fois, j'vous jure !

Bref. Problème résolu. Même si c'est bizarre.

Modifié par Troglodyte, 11 novembre 2011 - 19:53.





0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)