How to make a ScripedPawn shooting a certain target on an event?

Tutorials and discussions about Mapping - Introduce your own ones!
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: How to make a ScriptedPawn shooting a certain target on an event?

Post by sektor2111 »

Okay, tell this to that guy with 100+ MB of map and... no additional spawn spot + all sort of junks - those are not pawns... Else...

I think I answered how ScriptedPawn can shoot a target - target can be whatever Actor... It works and... we can discuss more if mappers are interested about such real "myths" which are fully operational.
Terraniux
Masterful
Posts: 717
Joined: Mon Jan 05, 2009 8:08 pm
Personal rank: Banished member

Re: How to make a ScripedPawn shooting a certain target on an event?

Post by Terraniux »

I was looking for this for ages! Yes I do apply!

count me in!
This member can only post when permitted.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: How to make a ScriptedPawn shooting a certain target on an event?

Post by sektor2111 »

"Smart" monster - using quotes because it's... less smart...
Skaarj species are preferable in stage because they have collision size and intelligence accepted in devs generally.
Such a Monster might have TWO main "jobs" Patrol and Alarm stage. He can hold order "Patrolling" which is equivalent with state Patrolling - Monster's order means state which has to be automated right at beginning.
We need to chain PatrolPoints: NextPatrol = TAG used by next PatrolPoint - they can be in continuous circles or broken in a point depending on action.
Patrolpoint supports a "pausetime" in seconds. During this time Pawn can run certain animations (they can be found in mesh browser) and even sounds like pawn wants to talk something... PatroPoint it's a NavigationPoint might substitute a PathNode perfectly.
Patrolling setup has two options:
- delayed - monster must be triggered for starting patrolling; - bDelayedPatrol
- immediately - monster starts patrolling even if no player is in stage/Map/Level.
Patrolling might offer an advantage at monster to be less predictable about location. These ordered monsters which must do some action should have a TAG defined, not really usual default TAG but something specific. A "TimedTrigger" can perform an event only if game has started. A StochasticTrigger might have a random character - these can be learned first by using some visual messages in order to confirm their activity. bHateWhenTriggered is intended to distract monster in a better way. Several things I don't know exactly like a robot, I just check them in setting up process. OrderTag I think has here first word because monster should know where to move first - other monster might have another patrolling routes...
All right, monster is patrolling. If this monster has an AlarmTag doesn't matter if is patrolling or not, it will attempt to run at that AlarmPoint tagged. What's the deal as miscellaneous tricks ? Somewhere around running/patrolling routes, we can have triggers for ScriptedPawn class.
Imagine a scene: Monster wants to check place behind a house, he simulating as being a bit older and will turn on a light temporary for visibility - sound included, then turning off light and moving ahead or opening a door, looking inside and leaving with closing said door (he was checking something there if it's OK or if a NaliCarcass has evaded, lol) - like a guardian and taunting at that (animations). Patrolling and animations are in fact full of options just because common triggers set for ScriptedPawn class can do more - I don't even have imagination how much is doable.
Idea for a monster in alarm is almost like in patrolling but monster will RUN not Walk and even can fire during movement. This fire also can do a lot...
If geometry is heavy and monster won't reach at a goal properly because is "forgetting" to jump, we can use Jumper class which is a bDirectional thing - pointing Pawn at direction where must jump, I think a kicker works here as well because I used kickers somewhere for monsters.
The master need here is pathing - not always Bot Pathing but Pathing. These should not be a very big deal because PathNode in origins is done for these Skaarj and... Mr. Scout used by Editor has 50×52 collision for probing/making paths it's why Bot might have issues here, because it's small, but these means other advantages in small spots. It is advisable for monster BLUE paths with any matter because RED means a Human-Sized-Seeker. If exist any problems here, I'm jumping in stage - I have required tools for reachSpecs toward guiding paths how mapper wants if geometry is not blocking pawns and if Editor goes dumb - credits at Smirftch for what he did in U227's assets which can be used to do what we need in UT. If you have an empty testing ground I can do various paths with different reachSpecs directives and you can see when Monster is blocked and when is tempted to run for goal (Alarm, Patrol) and what is more suitable. We can have even separate routes for Bots and Monsters for preventing to mix them very bad, but making a reasonable action.
As a note: we don't need MonsterHunt assets for first setup stage - I don't want to create place-holders for U227 needed in tricky paths if are necessary. MonsterHunt can be used in final stage post-setup.

As RedFist said, a PropertyFlipper can help with some work for certain things (lightning, skins, ect) reacting at monster, like the monster is a wizard or such - use imagination.

As a start/learning/figuring options, I recommend an "U" type map with larger spots 512 UU width, and drop a few PatrolPoint actors there - link them, build paths and try to do setup for patrolling - 1 monster for testing. If Monster action is critical, geometry should have requirements for preventing player to kill monster quickly and breaking map - perhaps a critical triggering should not be done by monster in such scenario.

Another stage less aggressive or very aggressive - take this as you like.
HomeBase - when map has a HomeBase tagged exactly as monster, here will be the target location in case of fear. Fear or not fear, if an AlarmPoint or two are around HomeBase, probably monster won't know "retreating", if it's mad it goes to alarm, if has fear it's running at home and will keep coming in that place fighting to the death. Monsters badly wounded are attempting to run away at Home. If are in Home range (Extent) they start fighting again.

If exist anything else to discuss let's see what is doable.
Red_Fist
Godlike
Posts: 2163
Joined: Sun Oct 05, 2008 3:31 am

Re: How to make a ScripedPawn shooting a certain target on an event?

Post by Red_Fist »

If they get pushed off patrol, like jumping with a kicker I don't think they can find their way back.

But the problem is they can't "hate" an alarm point unless it's through seeing a player. It would be nice to have an actor that they hate but isn't a pawn or player. Then they could just shoot the thing whenever you want it to.
Binary Space Partitioning
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: How to make a ScripedPawn shooting a certain target on an event?

Post by sektor2111 »

Red_Fist wrote: Sat Apr 25, 2020 2:27 am If they get pushed off patrol, like jumping with a kicker I don't think they can find their way back.
I said about a circle patrol, returning it's done through other side, I can even protect them from coming back through a jumper doing real one-way paths and making them to follow an alternate way back, because, yes, I can manipulate reachSpecs returning desired result.
Red_Fist wrote: Sat Apr 25, 2020 2:27 am But the problem is they can't "hate" an alarm point unless it's through seeing a player
So even If I was showing you this shooting sample using TRIGGER and OUT OF SIGHT, and the other one sample, you are not convinced that it works ? Are you okay ? And then Monster Will Never EVER HATE a NavigationPoint. It is shooting an ACTOR-TARGET. You can just open the damn sample map and see where is monster. Definitely monster cannot see you, but is coming for shooting actors started by EVENT from TRIGGER - exactly as asked in TITLE of topic, working demonstrated, I don't get what you mean with these "seeing" things. If YOU CAMP spawned and not touching trigger, nothing happens, when you touch trigger monster shows up firing like crazy, you can sit behind brush and even if you set brush out of transparency monster will still fire killing birds and destroying barrels guaranteed, you can figure projectiles explosions. Actually monster cannot see through a massive brush - except ON-Line movers out of XC_Engine.

Code: Select all

class ScriptedPawn extends Pawn
	abstract;
...
....
var  	Pawn		Hated;
HATED is nothing else than pawn and Neiher Instigator or an Enemy. But target is TARGET and it's actor. My monster destroyed barrels without to blink and you say he must see ? See what ? He came from behind wall in highest speed as possible attacking birds and barrels, seriously....
Do you want now 100 maps with monster reacting out of player visibility ? Two are not enough relevant ? Excuse me, I don't have so much time for 100 maps neither so many scenario ideas. I was the HATED there because I triggered monster. When Epic made TARGET as actor and not pawn they had good reasons for that, but people don't know how to manipulate monsters...
Do you know how many formats might take a FortStandard and how can be adjusted ? No ? Too bad then... I already used these in a MH-Frigate_R14 version doing hacks for Bots and making them to react like in Assault. And all these are supporting a Script making them more efficient, I wrote such scripts.

The only problem in stage it's when such map it's a success and it has to be protected from n00b editing, and here... I think I have a wide range of options - including to keep name in original when map is running. Deleting other new stuff added to map, destroying all navigation if "educated" monster is missing, ect. ect with codes stripped, brushes bugged to crash Editor and so on. And then, if an "expert" want to sign map, map will return to original author and having even a bad reaction - you can damage UT install in environment running the screwed version of map - learned from whatever MapVote which ruined my game and I used my backups for recovery, but that's another story aiming private discussions. First thing it's sharing for learning purposes.

Edit:
Trivia. Pathing stuff which I have for UGold can do a good job even in UT, a map for UT - but that's OFF-TOPIC even if UT'99 can use a "home made" reachSpec, lol.
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: How to make a ScripedPawn shooting a certain target on an event?

Post by Barbie »

Red_Fist wrote: Sat Apr 25, 2020 2:27 amBut the problem is they can't "hate" an alarm point unless it's through seeing a player. It would be nice to have an actor that they hate but isn't a pawn or player. Then they could just shoot the thing whenever you want it to.
In my map a Brute is triggered, then he walks to the AlarmPoint and shoots at a Mover (which opens then).
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
Red_Fist
Godlike
Posts: 2163
Joined: Sun Oct 05, 2008 3:31 am

Re: How to make a ScripedPawn shooting a certain target on an event?

Post by Red_Fist »

I didn't try the test maps , sorry. What about "bots" in a DM ? in one of my quake1 maps they have to shoot two buttons before a bridge will let you across, I think I had to just use a trigger, which sucked. I think I made it work for humans only.
Binary Space Partitioning
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: How to make a ScripedPawn shooting a certain target on an event?

Post by sektor2111 »

DM or MH for Bots is not too far - I sampled some time ago a few nodes (two pieces) done for making Bot to shoot some door-button - because doors are easy to set, see Stalwart whatever... I only did a simple MH demo map in one of earlier XC posts. There I did a lot of testing for understanding when MonsterWaypoint goes Unreachable and Bots won't find it in original MH. Later I added Buttons insanity... I have to admit that I was happy to see how easy can be set a party in Specialhandling from Navigation. My only problem was a precise pathing... which at this moment is doable too.

In mean time I'll post some "conversion" of whatever map with kickers where Bots weren't really using kickers intensive - in fact I did not witnessed any jump. I modified paths and I got... some restrictive routes, Way UP = using kickers, Way Down = normal ramp walking. For me it's time for next Level - not about doing Bot Support, but about tweaking harder Bot Support... I completed builders for U227 and now even in UT I can have what I wanted for years.

Now I want to see if Manta monster wants ground paths or aerial paths or the shortest road as possible... because I want to setup separate routes, not mixed with funky jumps...
Post Reply