Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > problème avec les scripts...
problème avec les scripts...
Par oberon.be le 9/8/2002 Ã 17:06:19 (#1940341)
Variable defined without type...
Même la simple commande qui se trouve dans le tutorial de ce forum...
SetLocalInt(OBJECT_SELF, “CHANTEUR_COUNT”, 0);
Le message me semble clair mais le fait d'utiliser SetLocalint ne dit pas explicitement que c'est un int... Qu'est-ce qu'il trouve qui n'est pas de type...
C'est probablement une bêtise ...
:sanglote:
J'espère que quelqu'un pourra me décoincer...
Par Kray le 10/8/2002 Ã 2:48:50 (#1942293)
void main()
*Avait eut des trucs foireux avec OBJECT_SELF dans certaines conditions*
{
object oSelf = OBJECT_SELF;
SetLocalInt(oSelf,"CHANTEUR_COUNT",0);
}
Par oberon.be le 10/8/2002 Ã 9:49:46 (#1942778)
Je me permet tant que j'y suis d'exposer mon petit problème :-) Je souhaiterais que lorsque le PJ passe sur un trigger générique un PNJ accours lui parler... Comme premier script je me dis que ca doit pas être trop difficile... Alors voilà à quoi j'ai pensé...
Dans le script Onenter du trigger j'ai mis:
AssignCommand(TRAVAILLEUR, ActionMoveToObject(???,FALSE,fRange=1.0f));
Travailleur est le Tag du Pnj mais je suppose que ce n'est pas bon... Il n'y a pas un get quelque chose à mettre pour initialiser une variable qui contiendrait TRAVAILLEUR...
Et je ne sais pas quoi mettre à la place des ??? ca devrait être l'objet du pj (celui qui est passé sur le trigger)
Si quelqu'un pouvait m'éclairer sur ces petits problèmes d'initialisation ce serait bien sympa :)
Par Kemay le 10/8/2002 Ã 13:18:01 (#1943208)
Travailleur est le Tag du Pnj mais je suppose que ce n'est pas bon... Il n'y a pas un get quelque chose à mettre pour initialiser une variable qui contiendrait TRAVAILLEUR...
Et je ne sais pas quoi mettre à la place des ??? ca devrait être l'objet du pj (celui qui est passé sur le trigger)void main()
{
//1. Définir oPC comme étant l'objet qui entre dans le trigger
object oPC = GetEnteringObject();
//2. Vérifier que oPC est bien un PC
if( GetIsPC(oPC) )
{
//3. Définir le NPC qui doit effectuer l'action
object oTravailleur = GetNearestObjectByTag("TRAVAILLEUR");
//4. Faire effectuer l'action au NPC
AssignCommand(oTravailleur,ActionMoveToObject(oPC,TRUE));
}
}
Voilà :)
[edit]Javais effectivement oublié les parenthèses du if statement. Voilà qui est corrigé. Merci oberon.be :) [/edit]
Par oberon.be le 10/8/2002 Ã 15:19:44 (#1943558)
Juste si quelqu'un d'autre que moi veut s'en servir ne pas oublier d'entourer la condition du if de parenthèse :)
if (GetIsPC(oPC))
JOL Archives 1.0.1
@ JOL / JeuxOnLine