Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrĂ´le

Recherche | Retour aux forums

JOL Archives

Script de téléportation

Par Koto Himura GR le 2/7/2002 Ă  15:27:18 (#1745028)

J4ai trouvé sur un site un script qui permet de téléporter un Pj à un waypoint au hasard:

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)

utilises plutot ca comme script :

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
sinon pour l'utiliser dans un dialogue remplace le "GetLastUsedBy" par un "GetLastSpeaker"
Ne serait-ce pas mieux un "GetPCSpeaker" ?

Par ZeDuckMaster le 2/7/2002 Ă  16:27:15 (#1745294)

bin il est vrai que GetLastSpeaker est d'utilisation assez subtil, puisque ca renvoie la derniere personne qui a parlé a l'appelant du script (d'apres ce que j'ai pu comprendre, mais me trompes peut etre ;) ) ... donc ca inclu aussi les pnjs, si on imagine un pnj qui parle au pnj qui teleporte, bin ca le telepportera aussi :)

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)

Pour le mettre dans un dialogue tu sélectionnes la réplique après laquelle tu veux que le PJ soit téléporté (si tu veux qu'il ait le temps de lire une derniere réplique, fais une réplique de plus "end dialogue" et colle ton script sur celle là.) Une fois la rubrque sélectionnée, tu places ton script dans "actions taken" .

JOL Archives 1.0.1
@ JOL / JeuxOnLine