@ Ariok
oui tu as raison il y a de nouveaux events qu'il ne faut pas négliger
pour faire un petit apparté, le script nSpawn a été aussi retravaillé et il existe deux autres events avant et après le spawn du PNJ ce qiu est franchement très sympathique
Revenons à nos moutons
j'ai testé le script il fonctionne bien sur le OnEnter de la zone comprenant le point de départ avec ce qui est ci dessous
j'ai rajouté des parenthèses dans le doute sur les conditions et j'ai remplacé ActionJumpToLocation par JumpToObject
J'ai rajouté un point de départ par défaut (dont le tag est WP_DEFAULT) au cas où aussi..
void main() { object oPlayer = GetEnteringObject(); object oWP; if (GetIsPC(oPlayer)==TRUE) { int iMetier = GetClassByPosition(1,oPlayer); if ((iMetier == CLASS_TYPE_FIGHTER) ||(iMetier == CLASS_TYPE_PALADIN) ||(iMetier == CLASS_TYPE_BARBARIAN) ||(iMetier == CLASS_TYPE_RANGER)) {oWP = GetWaypointByTag("WP_guerrierentre");} else if ((iMetier == CLASS_TYPE_SORCERER) ||(iMetier == CLASS_TYPE_WARLOCK) ||(iMetier == CLASS_TYPE_WIZARD)) {oWP = GetWaypointByTag("WP_magicienentre");} else if ((iMetier == CLASS_TYPE_CLERIC) ||(iMetier == CLASS_TYPE_DRUID) ||(iMetier == CLASS_TYPE_MONK)) {oWP = GetWaypointByTag("WP_pretreentre");} else if ((iMetier == CLASS_TYPE_BARD) ||(iMetier == CLASS_TYPE_ROGUE)) {oWP = GetWaypointByTag("WP_filouentre");} } else if (GetIsDM (oPlayer)) oWP = GetWaypointByTag ("WP_DMentre ");
if (GetAreaFromLocation (GetLocation (oWP)) == OBJECT_INVALID)oWP = GetWaypointByTag ("WP_DEFAULT "); DelayCommand (5.0f, AssignCommand(oPlayer, JumpToObject(oWP))); }
voili voilou 
Personnellement je ne comprends pas trop pourquoi cela ne foncitonne as avec le tiens et je n'ai as trop recherché, mais celui ci fonctionne chez moi
N'oublie pas de compiler et de calculer avant de lancer.
ATTENTION : dans ton cas,
|