On me l'as demande, alors je le post, mais en soit, ce script ne servira guere en dehors d'un module qui le necessite...
#include "ro_list_area"
void main() { SpeakString("Teleport !"); int nNumeroArea = GetAreaNumber(GetArea(OBJECT_SELF)); DelayCommand(1.0,AssignCommand(OBJECT_SELF, JumpToObject(GetObjectByTag("RSPWN_"+IntToString(nNumeroArea)+"_"+IntToString(Random(40)+1))))); }
avec une bibliotheque qui contient ceci
ro_list_area
int GetAreaNumber(object oArea) { int nNumero; string sAreaName = GetTag(oArea);
nNumero = StringToInt(GetStringRight(sAreaName,3)); return nNumero; //DEBUG SendMessageToPC(GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC), sAreaName); //}void main(){ }
l'idée etant d'utiliser des waypoint divers qui sont placés dynamiquement sur chaque map afin de gerer d'autre chose (initialement, essentiellement des spawn de creature / npc / placeable de facon dynamique afin d'epargner les ressource en cas de vidage de zone sur Last_PC_Out...)
Bref, je le met parceque ca a été demandé, mais bon, hors contexte ou les tag d'area se terminent tous par un identifiant numeraire a 3 chiffres (Area_001 / Area_015 / Area_103 / etc) ca ne servira guere :/
|