De façon très brute, tu peux faire quelque chose du genre :
- Code:
-
function room_repExec() {
if (!cPNJ.Moving) cPNJ.Walk(Random(Room.Width), Random(Room.Height));
}
La fonction
Walk étant bien faite (lorsqu'elle prend
eWalkableArea comme paramètre, par défaut) le personnage se déplacera uniquement sur la zone de déplacement, au plus près du point spécifié, donc pas de problème si le point aléatoirement visé se trouve hors de la zone de déplacement.
Après bien sûr tu peux raffiner un peu tout ça, parce que là ton perso va avoir la bougeotte. Tu peux le faire attendre une durée aléatoire avant de reprendre sa route en utilisant des
SetTimer.
_________________
Ga is Ga
Vous pouvez consulter l'
aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !