Jump to content
Sign in to follow this  
norrin

SQF revive script

Recommended Posts

Just tested the AI Enabled (160907) a few minutes ago. Great work. I found no bugs during the test play (local server). I'll have a look into it with my team mates soon with dedicated server + JIP.

Finally I can finish a lot of my missions with it notworthy.gif

Share this post


Link to post
Share on other sites

Player Vs Player AI_disabled revive script alpha (19th September 2007)

Here’s an alpha version of the PvP AI_disabled revive scripts.

Tested

The scripts have been tested in ver 1.08 with 3 players and work well with little strain on cpu resources but I need some one to stress test the PvP scripts with a larger number of players.  

In the past we’ve used the normal revive scripts on an average spec server with about 20 co-op players and they seems to run OK beyond that I’m not really sure.  The thing to remember is that each player needs an instance of the script running locally on their PC for each other player both friendly and enemy for the scripts to stay in synch – so you can see why I’m worried about how they’ll perform for large PvP battles.

Features

The scripts are almost fully functional and include almost all of the functions of the co-op AI_disabled  scripts including the following functions:

* revive reward_function

* team_kill_function

* all_dead_dialog

* nearest_teammate_dialog

* unconcious_markers

* follow_cam

* call_out_function

* revive_timer

* heal_yourself

* kegetys_spectator

* unconscious_invincibility

* visible_timer

* anti-water script

The visible timer is new and it allows you to display the revive timer countdown while you’re unconscious.  The timer’s not perfect and loses approx 1 sec over the course of a 45 second revive time. Its designed mainly for short revive times that are more appropriate for PvP – dare I say it more like BF2.  Once the timers up the mission designer has the choice of allowing you to respawn at your base camp or die outright in which case you can watch the ensuing proceedings using Kegetys Spectating script.

The respawn points are also a little different in the PvP version with the designer only being allowed to define a single point for each side - which really should be placed at the sides start point, however the respawn dialog can be set up to work in the same way as the co-op scripts.

If you decide to use the Unconscious markers they will only appear on the maps of the players on the same side.

The scripts are also set up so you can have two sides eg BLUFOR and Independent as friendlies and one side eg OPFOR as enemies and vice versa.  You can also specify if you only want medics to revive.

Bugs

One problem is the heal function doesn’t seem to be working reliably so you may want to disable it other than that haven’t come across any thing other than the occasional glitch that we've seen in the past with the co-op versions of the scripts.

In Future

For the time being if you use the call-out function the unconscious players will call-out in English no matter which side you are on.  If the scripts work well with a large number of players I’ll change this so that the BLUFOR call out in English and the OPFORs call out in Russian.  I'll also implement more respawn points, but the current version could be used with progressive or mobile respawn points if the mission designers up to it.

Test Mission

In the very simple mission included grab a couple of mates and move towards the smoke and slug it out.

Share this post


Link to post
Share on other sites

I've got a question. I'm using AI Disabled 1.0h. Do I have to copy Kegetys' scripts into my mission folder when setting kegetys_spectator = 1; ? Or is everything I need included within your script?

And

Is it possible to use the anti water script with AI disabled and AI enabled as well?

Share this post


Link to post
Share on other sites
I've got a question. I'm using AI Disabled 1.0h. Do I have to copy Kegetys' scripts into my mission folder when setting kegetys_spectator = 1; ? Or is everything I need included within your script?

M8, a revised version of Kegetys' spectator script is included with the AI_disabled co-op and PvP scripts so this is all you need (its in the spect folder included with the revive). As I said its been slightly modified (the lines I've changed have been commented in the specta.sqf file) to make it compatible with my scripts so make sure you use the one included with the revive.
Is it possible to use the anti water script with AI disabled and AI enabled as well?
The anti-water code is already built into the current versions of both the PvP and the Co-op AI_disabled revive. It works like this:

"If you fall unconscious in deep water then the anti-water script allows you to swim to shore or board a boat as cargo (not the driver or gunner). Once you reach the shore line you'll fall unconcious. At no time can you shoot until after you are revived.

Without this code you'd fall unconscious in the water and if its too deep you cannot be revived.

I thought this was better than automatically transporting the player to land as this way he'd have some choice as to where he ended up or at least his team mates would be able to pick him up."

Up till this point this code has not been included in the AI_enabled script as I'm not sure how well it will work with the playable AI units but I guess they could be commanded to move to the shore by the player group leader. I'll try and add it later today and will post a revised version of the AI_enabled script if it pans out OK.

@ViperMaul - let me know how you get on m8. smile_o.gif

Share this post


Link to post
Share on other sites

AI_Enabled Revive Update(20th September 2007)

You can get the revised script from here

Changes

* Ah, sorry to bump my own thread but I've revised the AI_enabled script to include the anti-water code. It works as described in my previous post and if a playable AI unit is killed and falls unconscious in water the same thing will happen ie. it will start swimming. It can then be commanded by the human group leader to board a boat as cargo or swim to the shore line. Once it hits the beach it will fall unconscious and require reviving.

* I've also included a new settable variable in the init.sqf called "goto_revive_distance ". This variable allows you to set the distance that playable_AI_team mates will travel to revive an unconscious team member – so far I’ve set this up to 200 metres and this function has worked reasonably well, although on occasions its taken the AI several minutes to get to me and once or twice the reviving AI has got a little confused on the way to the downed player before eventually reviving the unconscious unit so I wouldn't set this value too high.

If there aren't any show stopping bugs this will hopefully be the last version of this script for a while as I want to start working on some other things.

Share this post


Link to post
Share on other sites

Now would it ever be possible in the near future to have it so it can run automatically from a pbo? sorta like cent tracers with the game logic/

Share this post


Link to post
Share on other sites

Well .. I found something again ...

Beta 0.17 of AI Enabled ... within the mission the AI starts following another player (not the group leader anymore) after doing some revival work sad_o.gif

Is this already fixed in the 20th septembre release of AI Enabled?

Share this post


Link to post
Share on other sites
Well .. I found something again ...

Beta 0.17 of AI Enabled ... within the mission the AI starts following another player (not the group leader anymore) after doing some revival work sad_o.gif

Is this already fixed in the 20th septembre release of AI Enabled?

@Legislator - That's meant to be fixed in both versions 0.17 and 0.18. Let me explain how it's meant to work then if you get a chance can you please tell me if this is what you're seeing or you think it should be changed.

The group leader rejoin function.

"Firstly make sure that the group leader has a higher rank than the other squad members in the editor. Then if the units are moving in formation when the human group leader is killed and falls unconscious although the group leader retains the group members command icons in the bottom left of his screen the playable AI units will often reform on the 2IC.

Once the human group leader is revived however the playable AI units in his group are coded to rejoin formation on him except they are also given a command to move to their current positions. This last bit was done in case you'd set up some playable AI units to cover an area for example etc, so rather than run towards the group leader when the group leader was revived they stay in their assigned position.

Also when the group leader is revived all the playable AI units should display a ready sign in their command icon in the bottom left of the group leader's screen. The human group leader can then order all the AI units to rejoin formation on him."

Is this what you're seeing?

I've also found out another prob that explains why the reviving AI unit is sometimes confused and runs back and forth when the goto_revive code is enabled. Essentially if the playable AI reviver is in the middle of two unconscious team mates lets say 50 metres apart he's then commanded to move to both units and he'll run back and forth towards them without ever reaching either. This isn't such a problem with short goto_revive distances but it becomes more apparent when the revive distances are larger. So if you want to use this function while I work on a fix I'd keep the goto revive distance low eg. 50 metres and try and keep the playable AI members of your group relatively close together when playing.

@Rabbity - there are a lot of options to configure in these scripts and its really up to the mission designer to sort out which he wants to use and this is not possible with a pbo file. Not to mention it'd then have to be downloaded and installed on the server/client as an addon and above all I'm not sure it could be set up to work like this.

Share this post


Link to post
Share on other sites

Hi Norrin, question, if I use the Recruit Script with AI - Enable will I be seeing the same issue we had with Disable? (before you fixed it)

Vengeance

Share this post


Link to post
Share on other sites
Hi Norrin, question, if I use the Recruit Script with AI - Enable will I be seeing the same issue we had with Disable? (before you fixed it)

Vengeance

Simple answer is no as far as I can tell the issue with unit names is also fixed in the AI enabled script so it should work fine with the recruit script smile_o.gif

That being said the spawned/recruited non-playable AI recruits will not revive other players (as we'd need to create an instance of the script for each spawned unit) nor will they fall unconscious and be revivable as they don't respawn.

Share this post


Link to post
Share on other sites

AI_enabled Revive Update(21st September 2007 Version 0.19)

OK I lied you can get a revised version of the script here

Changes

I've hopefully fixed the confused playable AI reviver bug that occurred when using the goto_revive function and I described a couple of posts back.

The goto_revive function should now work over much larger distances and now if a playable AI unit is the designated reviver for more than one unconscious unit it will goto and revive the closest unit first. smile_o.gif

Share this post


Link to post
Share on other sites
Quote[/b] ]Is this what you're seeing?

I guess so, yes. I call them very often back to formation. But mostly instead of saying "All, return to formation" my playable unit says "All, follow all" or "All, follow 6". That's very annoying biggrin_o.gif

Quote[/b] ]I've also found out another prob that explains why the reviving AI unit is sometimes confused and runs back and forth when the goto_revive code is enabled.

Yeah, that's happening to me/us as well smile_o.gif As soon as one member falls, one of the other runs to him and tries to revive him. But then he's killed and the next player revives and so on. biggrin_o.gif After these horrible revive tries the AI doesn't find their clearly to our unconcisnous players. goto_revive distance was 200

I'll have a look into your new version now. Thanks for your work notworthy.gif

Edit:

Oh my, shame on me. It wasn't your fault I think. Regarding the formation problem my group leader still had the same rank as the other soldiers whistle.gif

Share this post


Link to post
Share on other sites
Hi Norrin, question, if I use the Recruit Script with AI - Enable will I be seeing the same issue we had with Disable? (before you fixed it)

Vengeance

Simple answer is no as far as I can tell the issue with unit names is also fixed in the AI enabled script so it should work fine with the recruit script smile_o.gif

That being said the spawned/recruited non-playable AI recruits will not revive other players (as we'd need to create an instance of the script for each spawned unit) nor will they fall unconscious and be revivable as they don't respawn.

Hi Norrin,

Seems I am seeing the same error. I sent you and email of that captured the error. Thanks for the help!

Vengeance

Share this post


Link to post
Share on other sites

Thanks m8 I got your pictures and I'll look into it tonight - I must have missed something in the AI_enabled script.

EDIT: Vengeance can you send me your mission so I can see when the error is occurring myself as it'll be much easier to track down that way. Are you using version 0.19 of the script?

EDIT EDIT: Maybe replace your revive_player.sqf with this as I'm hoping it will fix the !.._a error from the first picture you sent me.

Share this post


Link to post
Share on other sites

Hi norrin smile_o.gif

I've got an idea for additional features of your revive scripts. Just imagine the following mission I have created:

- you are in the middle of nowhere, dropped by a blackhawk helicopter

- you have no map

- you only have your human team mates (up to 10, AI disabled)

- you have to cross half of the nothern part of Sahrani

The problem: You've got only 1 spawn point and that's the starting point. So that's not a good solution. Have you any idea of having a mobile respawn point (maybe without markers) around the human player group? So you can respawn (and lose 1 life) after 60 seconds maybe?

Another situation ... you'll have to bring a convoi from Arcadia to Dolores. There are several enemy points that could be captured (a fuel depot, an enemy base, a bridge). Is it possible to enable revival points that can be captured?

And last but not least a bug report: in AI Enabled beta 0.19 and AI Disabled 1.0h the other team members sometimes follow another person than the group leader. Here's the funny part of it: the AI follows the whole time the same person! The team member changed his player role, we changed the map/mission, we changed the script (AI enabled/disabled) - but the AI always follows him after some time and several revival sessions of myself as a group leader. It's very strange and we already make jokes of him having corrupt troops on his tail

tounge2.gif

Share this post


Link to post
Share on other sites
The problem: You've got only 1 spawn point and that's the starting point. So that's not a good solution. Have you any idea of having a mobile respawn point (maybe without markers) around the human player group? So you can respawn (and lose 1 life) after 60 seconds maybe?
Yeah I was thinking along similar lines and was wondering whether you could have a mobile spawn point set up in a Hummer or M113 that you could move up behind you - there's a couple of community missions out there that use mobile respawns. Its definitely possible but it sounds like I've got some bug squashing to do for the time being.

Another situation ... you'll have to bring a convoi from Arcadia to Dolores. There are several enemy points that could be captured (a fuel depot, an enemy base, a bridge). Is it possible to enable revival points that can be captured?

You can already do this with the script as if you enable enemy teams then you are not allowed to use respawn points unless there are no enemy troops within 50 metres. Just put a couple of static gun emplacements near the spawn points and your team will have to clear out the enemies before they can use the spawn points. I've done something like this in my example revive mission for spawn point 2.

And last but not least a bug report: in AI Enabled beta 0.19 and AI Disabled 1.0h the other team members sometimes follow another person than the group leader. Here's the funny part of it: the AI follows the whole time the same person! The team member changed his player role, we changed the map/mission, we changed the script (AI enabled/disabled) - but the AI always follows him after some time and several revival sessions of myself as a group leader. It's very strange and we already make jokes of him having corrupt troops on his tail tounge2.gif

I'm going to have to look into this further. Could you possibly send me your mission to norrin@iprimus.com.au and links to any addons so I can check out what's happening.

Just a quick question are the AI that you are talking about non-playable AI cause if they are they will not be running the revive script and they won't get the command to rejoin and follow the squad leader after he falls unconscious and is revived only playable AI units will get this command so you may need an additional script that will do this for the non-playable AI in your squad.

Share this post


Link to post
Share on other sites

Well it occurs in both missions (AI Enabled and AI Disabled) having only playable AI in your team. Of course the AI is disabled by default in the AI Disabled description.ext.

I'll send you the missions via e-mail.

Share this post


Link to post
Share on other sites
Norrin,

Yes I am using 19. I will send map. No AddOns needed anymore.

Vengeance

I've just spent two hours playing your mission and I got the error message once, no matter what I did to try and replicate the error it did not reappear so I'm not sure what's causing it so if you have some insight into the combination of factors that may be causing it please let me know.

Anyway, the error message I got and the one you're seeing is related to one of the dynamic variables "name_a" and as the unnamed units have spaces in their names it keeps throwing up an error (I wish BIS hadn't named the AI units like this). I've been back through the revive code and I'm hoping the revive_player.sqf I posted above will fix the problem but as I'm having difficulty replicating the error I'm not 100% sure.

So all I can recommend is you try using the new revive_player.sqf which you can get from here: version 0.19b

Sorry I can't be more help m8.

EDIT: @Legislator, I've emailed you a slightly revised version of your mission back where I've changed a couple of settings in the init.sqf file that may have been incompatible with the other scripts you are using such as the addeventhandlers GPL2+ adds. I haven't been able to replicate the problem with units following someone other than the group leader in my testing so I'm not sure whether its fixed or whether I need more players to test it properly. I don't know much about how GPL2+ works so there may be some other problem there as well.

norrin

Share this post


Link to post
Share on other sites

<s>norrin, i think theres a bug in the revive.

when players are unconscient they are able to fire their weapon, reload, change weapons and fire. Though they cant aim tounge2.gif

another thing.. i think when all players die or get unconscient the mission does not end anymore.. confused_o.gif</s>

edit: i remove what i say. "My admin hoster" forgot to upload the mission to the server, and i was testing older version. Ill update this post if its need.

edit2: yes, indeed players CAN fire their weapon, reload, change weapons and fire when they are unconsciente. Though they cant aim nor move (only the head)

Share this post


Link to post
Share on other sites
Quote[/b] ]@Legislator, I've emailed you a slightly revised version of your mission back where I've changed a couple of settings in the init.sqf file that may have been incompatible with the other scripts you are using such as the addeventhandlers GPL2+ adds. I haven't been able to replicate the problem with units following someone other than the group leader in my testing so I'm not sure whether its fixed or whether I need more players to test it properly. I don't know much about how GPL2+ works so there may be some other problem there as well.

I've tested the mission again this day with "the one who has corrupt troops on this tail" wink_o.gif No bug to report anymore .. well at least today biggrin_o.gif The revival points work very well!

But maybe it's better to rename the revival buttons in your script. Many players have problems to decide what to click. They don't understand where they'll spawn by clicking Revive Point 1, 2, 3 or 4. Of course they can't until they'll see the mission in the editor. The visible name of the revival point should be the marker text that it used for the revival marker.

example:

West_spawn_1 --> US base

West_spawn_2 --> fuel depot

Not more than 10 to 15 letters so the text still fits on the button. What do you think?

In one test I made a horrible mistake setting a wrong marker name for one the revival points having spawning me into deep water far from the island away. The server almost crashed and the other players couldn't play anymore. There should be a check within the script that checks the spelling and if not's correct showing a debug message or something like that.

Edit:

I got the feeling that the revival script somehow disables the grouplink feature of having the enemy AI calling for reinforcements. I don't know why but although grouplink is set very sensible the enemy units still patrol their waypoints. I'll contact Snkman as well and let him look into it.

Share this post


Link to post
Share on other sites

I just got a little idea here norrin; what if soldiers still were hurt after being revived by a non-medic?

Then they'd still have to find a medic to become fully operational again.

Alternatively, you'd not get healed when revived by a medic either, needing to heal after being revived no matter who revived you (thus being the more cruel and slightly easier way).

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×