Comment contourner ça ?
if ( GetisPC(oSeen) && GetLastPerceptionSeen() && n1way==0 )
Evidemment ça ne marche pas, mais on ne perd rien à essayer.
Ce bout de script fait partie du début d'un dialogue manuel entre quelques diablotins facétieux, et n1way est identifiée pour ne pas que mon diablotin chéri ne répète ça à chaque voit qu'il voit un pj (une variable nDial permet de suivre le parcours de la discussion entre les diablotins : quand lle est égale à 1, tel diablotin dit ça et la varible gagne 1, quand elle est égale à deux, l'autre réponds et la variable gagne 1, etc.
Voici le reste du script, pas terminé :
int nAppelePar = GetUserDefinedEventNumber(); void main() { switch(nAppelePar)
// SWITCHOPEN
{ case 1002: //Appele par onPerceive int n1way = GetLocalInt(OBJECT_SELF,"1way"); object oSeen = GetLastPerceived(); if ( GetisPC(oSeen) && GetLastPerceptionSeen() && n1way==0 ) { int nDial = GetLocalInt(OBJECT_SELF,"DialogueDiablo"); ActionSpeakString("Hoho ! Un visiteur !"); nDial++; n1way++; SetLocalInt(OBJECT_SELF,"1way",n1way); SetLocalInt(OBJECT_SELF,"DialogueDiablo",nDial); } else { } break; }
//SWITCHLOCK
}
Donc mon problème est de savoir comment mettre trois condition dans un scripts ( ce ne doit pas être compliqué, mais je sais pas, donc...)
|