Tips / ideas on making a combat cutscene... Please

In my module the player and Co have to run past a big battle involving archers and baddies. I was going to just set the archers and baddies factions against each other, make the baddies wimps and the archers awesome/ immortal ( no prizes for guessing who wins ) and let the player run through the area… Simple.

But then you think what if the player goes slow, stops to admire the view or tries to join in ? The baddies all die, battle over and it all looks a bit silly ! I then thought if the player enters the area, a cutscene plays and on the last node of the conversation the player gets jumped out of that area and it would look better.

I also thought I could make the player run through spawns in a row creating baddies to be shot at as they pass but then again, who knows what the player will do. I could immortal both sides but then the baddies have to be archers so there’s no big silly looking conflict with archers shooting point blank at everything. This also involves putting a lot of npcs in an area at once. Or I can combine both and spawn immortal baddies but I really want some to die for effect so I could mix up immortals with wimps I suppose but it’s all getting messy now.

So we’re back to a cutscene, the big problem is timing. What I really want are shots of the archers firing and shots of baddies dying all over the place. To do this I’m going to have to switch factions fast so the archers don’t just kill everything straight away. I’ve also got to ensure the baddies being filmed dying are getting shot at so that’s a faction switch again.

It all gets really complicated very fast with archers going hostile then waiting before shooting and the cutscene showing nothing much happening as the baddies stand around waiting to be shot while faction pigs run wild in the background.

I’ve written myself into a mess as usual in this mod so is there a sensible way to do it ?

respawn system, when the archers kill one an other comes and takes its place.

1 Like

Well, you may want to study what I did for 16 Cygni. From the top of hill, you “enjoy” a large battle between two japanese armies.

Module Name : Cy_Otsu
Area : awazu_battle
Cutscene conversation : cv_battle
Party entry waypoint : WP_awazu_battle
Scripts :

  • OnEnterConnect script : cy_enter_battle (fires the cutscene convo)
  • Init battle script : cy_init_battle (turns one entire faction hostile)
  • generic killing script : cy_kill(“tag_of_victim”)

As soon as you get in the area, the convo is fired.
Note that on the first node of the convo ga_party_freeze is called. The party frozen, the player can’t do anything.
Different Static cameras are used in order to show the battle from different angles. The main protagonists are showed, then the battle starts. One main NPC is killed. His faction loses the battle.
The cutscene convo ends unfreezing and moving the party to another area.
This second area (tag name awazu) is actually a copy of the first one with the remnants of the battle.

If you want some baddies to survive the arrows volley, make them all strong enough to stand a hit, give a baddie_surviving tag to the survivors and use a script for killing the baddie_victim tagged. Basically those well placed in front of your static camera. :sunglasses:


Shallina… Excellent idea I like it, that way it can go on forever but how do you know where they spawn ?

Claudius33…Thanks, I’m going to have to investigate this later because the people are coming to sort out my internet tomorrow because my download speed is total rubbish and between 0.1 and 0.4mb/s it’s painful to watch ! I started downloading Cyberpunk and realised it would take about four days so I stopped and complained !

You can store their spawn point in themseves, to retrieve that information when they die with a SetLocal on OBJECT_SELF.

Depending on how you wish things to be to be there is a lot of possibility, but it require a bit of custom scripting.

1 Like

Shallina… Custom scripting I don’t really understand normal scripting ! But you’ve got me thinking about this and I’ve got an awesome script ( set of three actually ) that might actually do this and I can go completely unlimited on the spawns with loads of waypoints… I’ll have to ask it’s creator…

kevL_s… If you’re out there… Will the horror house scripts do this even if the player doesn’t kill anybody and cancel when they leave the area or am I looking at a computer freak out if it stops half way ?

honestly i forget the details … but, unwise to use it for a mock mass combat …

I think, any way you look at it, custom scripting required

kevL_s… Oh dear…

I had a look at the scripts and there’s no mention of the player until the end when a conversation starts, it just spawns, things die and when you run out of waypoints it stops. I know that sounds simple and really doesn’t do it justice so sorry about that but as far as I’m concerned these scripts should be locked in as a template on all hard drives and are a must have for all module builders.

I’m going to test it and don’t worry I wont hold you responsible if my computer blows up !

kevL_s… It works fine but with one small problem, the spawns don’t continue after the initial spawn unless the player is hostile to the baddies. Which I suppose means that it doesn’t work as people playing will join in with the action because they can’t be trusted when possible xp are on offer.

not sure what to say. Mass Combat can be fun to script up, but – unlike the horror house scripts – would require a 3rd party to have access to and/or knowledge of your plot and resources (area files etc etc)

kevL_s… Fun to script ? I’d die !

I’m going to give it a go as a cutscene and I’m completely unable to upload anything as my internet’s really really bad. The internet man came today and agreed it was but it’s an external fault so not his job and I’ll have to wait for that to get sorted. This has been going on ever since I had to move into my mother’s house after she died so I could look after it and I swapped my connection/ contract over which was supposed to be simple !

If I run into hell with the cutscene and get a good connection I might give you a ping for some advice with some secret module disclosure included. You will naturally have to sign the official secrets act and hand over all your gadgets so surveillance software can be added to them but that’s just standard these days with computer games and nothing to get concerned about just tick the box that says I agree.


just take it step at a time eg. This guy appears here and needs to go there, another guy needs to show up there and shoot at him … and so it goes

kevL_s… The horror house scripts work !

I had an idea made two factions the baddies and goodies they hate each other ( 0 ) and the PC loves the goodies ( 100 ) and is neutral (50) to the baddies.

Enter an area, conversation starts, it all goes off and keeps spawning, the player’s party can’t join in fighting because they have no enemies and if they hang about too long so the spawns run out a conversation will start and I’ll jump the PC and Co. out of there as a punishment for endangering their allies by getting in the way !

There is something that doesn’t register deaths of your faction friends as deaths so the spawns stopped but if you couldn’t care about them much then they get registered and it carried on.

I haven’t tried it in my actual mod, it was a couple of test areas and yes you can leave without some sort of major computer incident. I didn’t try going back because the PC wont be able to in my mod.

More colourful waypoints here I come :grinning:

kevL_s… Sort of tested it in game by jumping into the area it needs tweaking the waypoint positions but it’s a really good massacre.

That’s horror house number five now !

Tsongo … you’re a genius.


could you rephrase that …?

you could ( technically should ) run some sort of a clean-up script …

kevL_s… When I set the Player faction as 100 ( Best friends ) towards the baddies I only got the initial spawn. I think that the way your script works is that it waits until everybody’s dead then looks for the next waypoint batch. But it stopped at the first spawn and presumed it was all over because the conversation fired.

When I set the Player faction as 50 ( neutral ) the spawns continued after the initial one as they should. Meaning that if something’s your friend a death isn’t registered/ counted by the computer because that was all I changed and it worked perfectly.

It all works really well and the only clean up needed is of the body pile ( no decay for effect ). Twelve wild archers take out at least a hundred baddies it’s really good !

ps. I’m not the genius here those scripts are so easy to use and perfect in their simplicity, I just make baddies stick them up against really good archers and put in numbered colourful waypoints.

hm i looked at the scripts and changing the FactionTable ought have nada to do with it. The mechanics in the scripts are pretty straightforward and its mostly just string-parsing. There are however 4 locals_ints set on the Area-object

done - initialized
total - total critters in the current wave
count - counts critters killed in the current wave
wave - current wave number

horrorhouse_co - starts the 0th wave and assigns horrorhouse_ds (deathscript) to each critter that spawns
horrorhouse_ds - tracks count of critters killed and checks if count==total to start the next wave
horrorhouse_rs - very much like horrorhouse_co but traks 1+ waves and deletes the local_ints if no waypoints are found after the last wave. Can run additional code like StartConversation …*

so idk … might be just one of those computer quirk thingies. and you’re still a genius

* like destroying all those corpses and any remaining critters /shrug

I tested it again with the faction thing and the same thing happened no idea why. After getting it going when the player was neutral I even remade all the sp1 waypoints to be double sure but that was pointless !

Unfortunately I think that’ll be the last time I use this script in my mod as I’m near the end so it’s good that it goes out with a bang ! But it will live on my hard drive for eternity !

After extensive testing of kevL_s’ script with various faction relationships I think I can safely say that it wasn’t a faction thing that made it go wrong… It was me ! I don’t know how I did it but it happened, the scripts work just fine on all three types of faction relationships between whoever is dying in the fight and the player.

I think I duplicated an error in an area used for testing and wiped the problem when I saved over it with the good copy of my mod. This made the error disappear forever.

So anybody using them you should be alright with any faction relationship for the player.