Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Lycaon

"Directing" actors

Recommended Posts

I'm trying to make a cutscene in which a fight between 2 groups of humans happen. I need them to shoot in a specific order and wait for certain soldiers to kill specific soldiers before they make their move. I'm doing it by deactivating and activating the soldiers and giving them thing_setgoal and thing_hate to direct them. It's all working out good, but in order to make them shoot as soon as I activate them and not have them wandering around and ruining the scene, I had to create duplicates of both decorates (scripted marines and blackopsmale from realm667) that have the "nodelay" thingy in their missile states. I have the feeling this could be avoided via a simpler, cleaner workaround. Is there any?
Also, and more importantly (this is kinda my biggest problem), is it possible to make thing_setgoal so that the monsters go DIRECTLY to the patrol point? cause they kinda wander off for a couple seconds before getting on track, and that causes them not to enter certain places in time. If there is, there should be something similar for the thing_hate that solves the first question (I mean, a way to make the hater instantly shoot the hatee without any delay)

Thank you very much! I'm knee-deep in learning ACS here and I'm just forcing things to happen via various gimmicks sometimes, and its getting out of control, so I want to get this thing straight.

Share this post


Link to post

I'm afraid that there is no clean workaround for your first problem, other than defining a custom DECORATE actor like you did. To solve the latter one, try using an ActorMover. Standard monster AI doesn't allow this, because monsters can only walk directly in one of 8 cardinal directions, and also, minor "wandering off" is a part of their basic movement logic.

Share this post


Link to post

Oh good. But will the actors have their walking cycle animation, or will they move with a frozen sprite?

EDIT: there is the "STANDSTILL" flag, could this be of use?

Share this post


Link to post
Lycaon said:

will the actors have their walking cycle animation, or will they move with a frozen sprite?

I actually don't know. I was just about to try it in practice, but my Doom Builder crashed. In case they will move like a frozen sprite, you will have to define them as yet another custom DECORATE actor who plays his walking animation in vain.

EDIT:

Lycaon said:

there is the "STANDSTILL" flag, could this be of use?

No.

Share this post


Link to post

Hey Lycaon I just might have a solution for your second issue, but no guarantee.

So recently I have been messing with Thing SetGoal, some via ACS Scripting other methods via GZDoom Builder Linedef specials. But there were a few moments my monsters would wander off in off placed before reaching their destination or straight out no moving whatsoever. I constantly checked if my Tags were correct, linedefs were right, double checked other peoples works, examples etc. I did everything correctly but they monster were being too stubborn.

***Potential Solution***

Move either your actor or Setgoal point at a different position, preferably in angles. So instead of the patrol point being directly behind (or adjacent) the actor put the patrol point more in a corner. Test it again and see how it works.

Strangely enough, it works for me. And it SHOULD work perfectly if they like the position. No wandering, no refusal, no hassle. They go exactly to the spot (unless you have them on attack enemy upon sight).

Share this post


Link to post

I found that I could force the soldiers to shoot as soon as I activate them. For that purpose, I replaced all the frames in the "see" state for those of the actor's missile. It means it shoots instead of chasing. It's restricted to very few uses, but it works for what I'm doing.

This is the code in my case:

See:
    PLAY E 7 NoDelay A_FaceTarget
    PLAY F 0 bright A_PlaySound("BlackOps/Attack2")
    PLAY F 3 bright A_CustomBulletAttack(10,10,6,1,BulletPuff)
    PLAY E 2 A_FaceTarget
    PLAY E 0 A_CPosRefire
	GoTo See
Also, the actor has a +LOOKALLAROUND flag. Not sure if it's doing anything though.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×