Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > démarrage de dialogue avec condition spéciale ?
démarrage de dialogue avec condition spéciale ?
Par Le Hamster le 11/10/2002 Ă 23:13:25 (#2320049)
Vous ĂŞtes dans une salle quelconque au milieu de laquelle trĂ´ne un trĂ´ne. Celui-ci est utilisable mais vous polymorphe en pinguoin si vous avez l'audace de vous asseoir. Un petit repos et tout rentre dans l'ordre.
Mais ...
A côté de ce trône se ballade un pinguoin !! Si le PJ, intelligemment lance un sort de dissipation de la magie, le pinguoin redevient le PNJ qu'il était. Mon prblème est le suivant :
Je voudrais que si le PJ essaye de parler au pinguoin, il ne se passe rien, par contre s'il parle au PNJ dépolymorphé, la conversation s'enclenche.
J'ai créé un PNJ humain, donc le script sur le OnSpawn est le suivant :
#include "NW_I0_GENERIC"
void main()
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectPolymorph(POLYMORPH_TYPE_PENGUIN), OBJECT_SELF);
WalkWayPoints();
}
Voilà , kékun ki a une idée ?
Bises
Par Gargantuel le 12/10/2002 Ă 1:32:18 (#2320537)
int StartingConditional()
{
effect eEffect = GetFirstEffect(OBJECT_SELF);
effect ePenguin = EffectPolymorph(POLYMORPH_TYPE_PENGUIN);
while(GetIsEffectValid(eEffect) && !(eEffect == ePenguin))
{
eEffect = GetNextEffect(OBJECT_SELF);
}
return (GetIsEffectValid(eEffect) && (eEffect == ePenguin));
}
Comme ca si c'est un pengouin, il ne parlera pas.
Par Tyn' le 12/10/2002 Ă 2:16:12 (#2320671)
arf
Par Le Hamster le 12/10/2002 Ă 12:28:14 (#2321751)
Je suis sûr : - d'avoir créé un humain (pas de résidu de pinguoin dans ces caractéristiques normales).
- Que la conversation fonctionne puisqu'aussi bien le pinguoin ou l'humain répondent (sans la condition de départ bien sûr)
Donc je ne sais pas quoi dire de plus.
Hein ? Koikejepeufère ?
Par Gargantuel le 12/10/2002 Ă 13:27:44 (#2322130)
Provient du message de Tyn'
Et il avait dit qu'il allait se coucher... Incorrigible ! :p
Quand je relis le script que j'ai pondu, je me dis que c'est ce que j'aurais du faire. Aucune chance que ca marche mon truc.
Bon on la refait :int StartingConditional()
{
effect eEffect = GetFirstEffect(OBJECT_SELF);
while(GetIsEffectValid(eEffect) && !(GetEffectType(eEffect)==EFFECT_TYPE_POLYMORPH))
{
eEffect = GetNextEffect(OBJECT_SELF);
}
return (!GetIsEffectValid(eEffect));
}
Voila ca devrait aller mieux.
JOL Archives 1.0.1
@ JOL / JeuxOnLine