Making NPCs Wander about, Need Help

Started by ProtoJazz, Fri 17/12/2010 04:22:25

Previous topic - Next topic

ProtoJazz

Right, Ive been playing around with AGS for awhile now, After putting toghether a simple tech demo to show my Friend, I decided to expand it into its own game, instead of just a find and trade quest.

One thing Id like to add, is a bit of Movement to the npcs, I reserced it for awhile, and came up with the Charecter Controll Module
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=28821.msg460788#msg460788

I played around and got it working somewhat, But It just runs its string, then ends

I  put
CharacterControl.CreateChain(1, "ROOM:2,0,50; WALK:50,50; WALK:70,70;");
In the  function game_start {
area

Then Tried 2 diffrent things

Put the
CharacterControl.StartExecuting(cGuy, 1);

Imediatly under it, When that didnt work, I put it in to run Just after the change room command on the previus room, That worked a bit, But He just did the same thing every time you walked in, then stopped (Like you caught a child doing something they shouldnt)

Now, I dont want much, maybe like a pokemon kind of shuffle/pace back and forth, or maybe something as elborate as a triangle.

I just want it to be a little more active.

Khris

Put it in the room's "enters screen before fade-in event".

I've never used the CharacterControl module but I imagine you have to tell it to make that a loop. Also, 0,50 and 70,70 is pretty close together, even on a 320 screen, are you sure the coordinates are correct?

ProtoJazz

#2
Well I got the code to work and run, But It still hace no idea how to make it loop, or return to the start, I can simulate it by repeating it in the code, But Im sure theres away to loop it


EDIT:

I figured it out I think, This may not be the best way, But this is what Ive found

I use something like this, to make the pattern apper somewhat random
CharacterControl.CreateChain(1, "ROOM:2,50,170; WAIT:80; WALK: 170, 110; WAIT:150; WALK:140,170; WALK:200,170; WALK:50,170; WAIT:60; WALK:200,170; WAIT:120; WALK:50,170; WAIT:20; WALK:200,170; WALK:50,170; WAIT:80;");

Then I put this in the rooms Repeatedly Execute function

if (CharacterControl.IsExecuting(cMan) == false) CharacterControl.StartExecuting(cMan, 1);

And that loops it, I suppose you could add to it, and use a variable to move it between 2 or more strings, but that may be too much work

dbuske

Cool, I will have to try this out. I have a character who I want to move and walk off the screen.
What if your blessings come through raindrops
What if your healing comes through tears...

SMF spam blocked by CleanTalk