Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > On peut changer le tag d'un objet
On peut changer le tag d'un objet
Par Blam le 21/9/2002 à 20:56:02 (#2203770)
je m'explique: j'aimerais qu'un parchemin non identifié sur un perso puisse avoir un tag diff du meme parchemin une fois identifié.
si ce n'est pas possible comment detruire le premier et le remplacer par le second (ce dans l'equipement d'un joueur.
Peut etre facile mais moi je cale
Merci.
Par Jedaï le 22/9/2002 à 11:23:14 (#2207823)
void main()
{
object oParchemin1 = GetObjectByTag("tagduparch1");
object oPCPossessor = GetItemPossessor(oParchemin1);
if (GetIsPC(oPCPossessor) && GetIdentified(oParchemin1))
{
DestroyObject(oParchemin1);
SetIdentified(CreateItemOnObject("blueprintduparch2", oPCPossessor), TRUE);
FloatingTextStringOnCreature("Soudain, votre sac se met a briller, en l'ouvrant vous constatez "
+ "que c'est le parchemin que vous veniez d'identifier qui flamboie ainsi ! Meduse, vous constatez"
+ " que de nouvelles lignes de texte ont remplace les anciennes...", oPCPossessor);
}
}
Il est indispensable je pense de notifier l'évènement au PC qui risque sinon de ne plus jamais relire le parchemin mais il y a p.-ê. d'autres moyens plus intéressant de le faire.
pas encore ca :)
Par Blam le 22/9/2002 à 15:36:41 (#2210016)
j'y bosse encore
merci tout de meme car c'a m'a fait avancer malgré tout.
;)
Re: pas encore ca :)
Par Darkmore le 22/9/2002 à 16:37:38 (#2210525)
Ensuite lors de l'evenement choisi (que tu ne décris pas d'ou l'impossibilité de répondre plus clairement :merci: ) tu DestroyIObject le premier et tu CreateItemOnObject le deuxième.
je vais expliquer
Par Blam le 22/9/2002 à 17:21:25 (#2210966)
(c'est un piege a con car bien evidemment la culte de paladine n'est pour rien dans tout ca). en meme temps tous les pj se retrouvent avec un parchemin dans l'inventaire (non identifié) qui est un ordre de mission pour l'execution du comte de la ville;
Et ce a deux fins
1 faire emprisonner les perso si ils n'executent pas la mission première.
2 faire accuser le temple de paladine et semer le trouble dans les esprits.
Donc j'ai besoin de deux tags car le parchemin non identifié ne change pas de tag une fois identifié.
Et j'ai besoin de faire reagir differemment les pnj en fonction du fait que les joueurs save ou ne savent pas ce qu'ils ont.
Par Darkmore le 22/9/2002 à 23:56:30 (#2213788)
:(
Par contre il me semble que ton scenario peut marcher avec un seul item (et donc un seul tag).
Simplement pour déterminer la réaction des PNj il te suffit de savoir, non pas si les PJ on le parchemin avec le tag xxx2, mais simplement s'ils ont réussit à identifier le parchemin.
Donc tu "cherches" l'item dans l'inventaire et tu vérifies si il est identifié avec int GetIdentified(object oItem).
Si j'ai bien compris l'histoire ...
excellent de simplicité
Par Blam le 25/9/2002 à 12:59:59 (#2228616)
c'est exactement ce que je voulais sans arriver a le definir aussi simplement. C'est simple, efficace, leger, suffisait d'y penser.
Rha la la des fois on cherche comme un fou alors que la solution est si simple.
merci encore :)
et hop au boulot !
Re: excellent de simplicité
Par Darkmore le 25/9/2002 à 13:52:08 (#2229055)
Provient du message de Blam
Tu viens de résumer ce qu'est la programmation en une ligne :D
Rha la la des fois on cherche comme un fou alors que la solution est si simple.
;)
JOL Archives 1.0.1
@ JOL / JeuxOnLine