Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Script de téléportation
Script de téléportation
Par Koto Himura GR le 2/7/2002 Ă 15:27:18 (#1745028)
void main()
{
//Get the player who clicked on the portal
object oPC = GetLastUsedBy();
//Choose a number between 0 and 7
int nWaypointNumber = Random(8);
//Choose a location from a waypoint in the next area based on the number we
//chose, and make the player teleport there
switch (nWaypointNumber)
{
case 0: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_Waypoint001" ))));
case 1: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_waypoint002" ))));
case 2: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_waypoint003" ))));
case 3: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_waypoint004" ))));
case 4: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_waypoint005" ))));
case 5: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_waypoint006" ))));
case 6: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_waypoint007" ))));
case 7: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_waypoint008" ))));
}
}
Moi je veux que le Pj soit téléporté à un seul waypoint, donc j'ai viré toutes les lignes de commandes qui définisait les autres waypoint afin d'en laisser qu'un ca donne donc ceci:void main()
{
//Get the player who clicked on the portal
object oPC = GetLastUsedBy();
//Choose a number between 0 and 7
int nWaypointNumber = Random(8);
//Choose a location from a waypoint in the next area based on the number we
//chose, and make the player teleport there
switch (nWaypointNumber)
{
case 0: AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_Waypoint001" ))));
}
}
Ce script s'éxécute donc quand l'on clique sur un portail... Est-il possible de le rendre utilisable lors d'un dialogue, en gros je voudrais que quand le Pj parle au PNJ et qu'il lui dit une certaine chose, que le PNJ téléporte le PJ au waypoint...
Que dois-je modifier dans le script pour faire une chose pareil?
Par ZeDuckMaster le 2/7/2002 Ă 15:37:00 (#1745073)
void main()
{
//on recupere le pj qui a cliqué dessus
object oPC = GetLastUsedBy();
//et zou ! téléportation pas besoin de tirer de nombre au hasard
AssignCommand( oPC, JumpToLocation( GetLocation( GetWaypointByTag( "My_Waypoint001" ))));
}
sinon ca ne va marcher qu'une fois sur 8 :D
cad lorsque ton random == 0 !
sinon pour l'utiliser dans un dialogue remplace le "GetLastUsedBy" par un "GetLastSpeaker" et met le script la ou il faut pour qu'il soit lancé a la fin de la replique...
Par Lumina le 2/7/2002 Ă 16:05:24 (#1745218)
Provient du message de ZeDuckMaster
Ne serait-ce pas mieux un "GetPCSpeaker" ?
sinon pour l'utiliser dans un dialogue remplace le "GetLastUsedBy" par un "GetLastSpeaker"
Par ZeDuckMaster le 2/7/2002 Ă 16:27:15 (#1745294)
mais bon il est vrai que pour eviter l'ambiguité il vaut mieux utiliser GetPCSpeaker, qui lui renvoie forcement le joueur impliqué dans la conversation...
Par W Lock-Strike le 2/7/2002 Ă 16:30:52 (#1745312)
JOL Archives 1.0.1
@ JOL / JeuxOnLine