Problem - characters don't walk where they're supposed to

Started by Rui 'Trovatore' Pires, Fri 29/08/2003 13:49:14

Previous topic - Next topic

Rui 'Trovatore' Pires

This is srange, has has happened only twice already, in consistently the same places but for no discernible reasons - I say CharacterMoveBlocking(CHAR,158,120), for example, and he only moves as far as 158,110. Or 148,120. I AM telling the CHAR to go to a walkable area, and they are in one, so that's not it. Has anyone else had this problem?

On a side note - Is AGS's little pathfinding problem supposed to be fixed? Cause I don't think it is.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Pumaman

How complex are the walkable areas on that screen?

Rui 'Trovatore' Pires

Not complex at all. And these are for script-controlled sequences in playable areas, and when I just make the character walk there (not in a script-controlled sequence) there's no problem at all. BTW, this affects the player character AND other characters, and only the second instance involves a 350 x coordinate, i.e., stepping outside the screen. I've had this problem now, with the newest AGS, but the 1st time it happened it happened with AGS 2.55. Then, I worked around it by not giving a damn, since it wasn't that important then, but this latter one is.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Pumaman

Do you possibly have another character standing nearby who might be blocking the destination co-ordinates?

If the destination co-ordinates are on a walkable area that's the only thing I can think that would cause this.

Rui 'Trovatore' Pires

Well, in the second instance I tell a character to move to x350 and y193, and the player to move blocking to that same coordinates. But both stop at roughly x300, and anyway, they don't start of at the same position so the NPC can get there first. This in the second case, in the former I only had the player character move, and then the problem wasn't the x cordinate, it was the y coordinate. All walkables are correct. There's no reason for this to be happening, it's real weird. That's why I posted this - once is fine, twice is not. And it hasn't happened to anyone else yet?
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Pumaman

Perhaps you could upload the room which demonstrates the problem, so that we can take a look?

Rui 'Trovatore' Pires

Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

foz

if your scipt does other things after the movecharacterblocking command............the best thing to do is put in this line after the movecharacterblocking :-

MoveCharacter(EGO,105,128);
while (character[EGO].walking!=0) Wait(1); //waits for character to finish.
PlaySound(15);
AnimateCharacter(EGO,7,0,0);
ObjectOn(3);PlayMusic(7);
while (character[EGO].animating==1) Wait(1);
MoveCharacter(EGO,68,138);
while (character[EGO].walking!=0) Wait(1);
FaceCharacter(EGO,DRD);


I had a simialr problem and sorted it out in this manor...

foz

Timosity

Quote from: redruM on Sat 30/08/2003 00:06:22
Well, in the second instance I tell a character to move to x350 and y193, and the player to move blocking to that same coordinates. But both stop at roughly x300

Have you tried using MoveCharacterDirect as x350 is not a walkable area it will naturally stop at the edge of the walkable area on the screen unless you use 'Direct' instead of 'Blocking'

Rui 'Trovatore' Pires

Timosity's suggestion soloved the problem so fast I'm ashamed I even started the topic. Still, the 1st time this happened it didn't involve moving offscreen, so I still think something's not right. Then again, that 1st one happened in ags 2.55.

Point is, problem solved, thank you Timosity, I guess they stopped at roughly 300 instead of being half-in and half-out of the screen because of their large transparent area.
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

SMF spam blocked by CleanTalk