Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Zone ou portail qui teleporte en fonction
Zone ou portail qui teleporte en fonction
Par Blam le 28/12/2002 à 12:40:50 (#2894648)
J'ai un souci avec ce truc simple.
ex: je voudrai qu'un joueur niveau un qui prends le meme portail qu'un niveau 2 se retrouve a un endroit different.
portail ou zone.
Par eMRaistlin le 28/12/2002 à 12:59:30 (#2894744)
object oPC = GetLastUsedBy();
int nLevel = GetHitDice(oPC);
if (nLevel == 1)
{
JumpToLocation(GetWaypointByTag("TAG"));
}
else if (nLevel == 2)
{
JumpToLocation(GetWaypointByTag("TAG2"));
}
else if (nLevel >= 3)
{
JumpToLocation(GetWaypointByTag("TAG3"));
}
En gros, je ferait ca...
erreur
Par Blam le 28/12/2002 à 13:04:44 (#2894782)
if (nLevel == 1) qui fait que ca ne compile pas
Par Jedaï le 28/12/2002 à 13:18:23 (#2894862)
void main()
{
object oPC = GetLastUsedBy();
int nLevel = GetHitDice(oPC);
if (nLevel == 1)
{
JumpToLocation(GetWaypointByTag("TAG"));
}
else if (nLevel == 2)
{
JumpToLocation(GetWaypointByTag("TAG2"));
}
else if (nLevel >= 3)
{
JumpToLocation(GetWaypointByTag("TAG3"));
}
}
exact
Par Blam le 28/12/2002 à 13:34:08 (#2894955)
JumpToLocation(GetWaypointByTag("TAG"));
erreur, aussi
ActionJumpToLocation ?
Par Archamedes_Fr le 28/12/2002 à 13:45:14 (#2895011)
ActionDoCommand(JumpToLocation( GetLocation( GetWaypointByTag( "WP_TELE1"))))
Et ça marche impec.
deja mieux
Par Blam le 28/12/2002 à 14:17:28 (#2895194)
J'ai donc fait ma compil a moi mais dites moi ou est l'erreur car ca ne marche toujours pas :)
void main()
{
object oPC = GetLastUsedBy();
int nLevel = GetHitDice(oPC);
if (nLevel == 1)
{
ActionDoCommand(JumpToLocation( GetLocation( GetWaypointByTag("WP_ARRIVE001"))));
}
else if (nLevel >= 2)//supérieur ou egal, c'est bien ca ?
{
ActionDoCommand(JumpToLocation( GetLocation( GetWaypointByTag("WP_ARRIVE002"))));
}
}
les waypoints y sont !
Par Jedaï le 28/12/2002 à 14:59:34 (#2895406)
Un portail qui essaie de se téléporter ça doit pas le faire ....;)
PHP:--------------------------------------------------------------------------------
void main()
{
object oPC = GetLastUsedBy();
int nLevel = GetHitDice(oPC);
switch(nLevel)
{
case 1 :
AssignCommand(oPC, JumpToObject(GetWaypointByTag("TAG"));
break;
case 2 :
AssignCommand(oPC, JumpToObject(GetWaypointByTag("TAG1"));
break;
default :
AssignCommand(oPC, JumpToObject(GetWaypointByTag("TAG2"));
}
}
Par Archamedes_Fr le 28/12/2002 à 15:32:37 (#2895609)
Par coolstar le 28/12/2002 à 15:36:37 (#2895629)
oui
Par Blam le 28/12/2002 à 15:41:30 (#2895658)
Merci a vous tous :)
Impeccable.
Et voila pour une fois sans Lys !!!!
Par coolstar le 28/12/2002 à 15:55:53 (#2895719)
PS: Tant que j'y suis, suite à l'à-propos de Blam, un petit correctif 'Plug&Play' pour les nbs qui passeraient derrière... ;)
void main()
{
// DECLARATION DES VARIABLES :
object oPC = GetLastUsedBy(); // Récupérer le 'Dernier Utilisateur'
int nLevel = GetHitDice(oPC); // Récupérer le Level du PC (qu'importe la 'Classe'!)
switch (nLevel) // Distribution selon le Level du PC :
{
case 1: // Si Level 1 :
AssignCommand(oPC, JumpToObject(GetWaypointByTag("TAG"))); // 'Assigne' au PC un 'Jump'
break;
case 2: // Si Level 2 :
AssignCommand(oPC, JumpToObject(GetWaypointByTag("TAG1"))); // Idem
break;
default: // Résultat de la 'Distribution' autrement (donc Level est > 2)...
AssignCommand(oPC, JumpToObject(GetWaypointByTag("TAG2"))); // Idem
}
}
JOL Archives 1.0.1
@ JOL / JeuxOnLine