Jump to content
Sign in to follow this  
NeoArmageddon

Neo's Revive Script

Recommended Posts

Neo's Revive Script

Description

----------------

This script adds revive functionality to your A3-mission or mod.

Instead of dying a unit will become unconscious (with ragdolling). Other players are able to revive a unconscious player.

While unconscious a player is able to recover (triggering W or shift+W) and roll over. The player is then able to slowly crawl and empty his loaded magazine (without scope and reloading).

This script was originally developed for co08 Escape Altis from Vormulac but I would also share it with everyone else.

Beta disclaimer

----------------

This script is released as a beta. It was tested in singleplayer, hosted and dedicated multiplayer. But there are also a lot of scenarios I were not able to test yet.

If you found a bug or want to give general feedback on the script, feel free to contact me in the BI-forums or just reply to this thread.

Included

----------------

Minimalistic samplemission including the revive.

Requirements

-----------------

Arma 3 v1.08 and higher (Devbranch compatible)

Download

-----------------

Mirrors:

Modfact

Git:

Bitbucket

Changelog

-----------------

29.12.2013 - Beta release.

Installation and usage

-----------------

If you get the mission from Git, make sure all files are in a folder called revive.stratis in your editors mission folder.

You can use the mission for testing the revive in SP and MP and as base for your own mission. If you want to use the scripts in an existing mission,

copy the function and include folder to your mission. Copy the contents of the init.sqf to your own missions init and add "#include "include\functions.hpp"

to your missions description.ext. Make sure you don't have a cfgFunctions section or include the function.hpp in it.

Add a gamelogic called "center" to the center of the map.

You can use the Revive with respawn enabled or disabled. In general the revive will prevent a unit from dying but scripts and the respawn button can still kill a unit.

The revivescript should be able to handle a respawn correctly.

If you have problems installing the revive, feel free to ask me for help.

Known bugs

-----------------

If somebody dies in a car and gets ejected the animation is sometimes stuck after revive. Just shoot the player again and everything should be fine.

Contact

-----------------

BI Forums: NeoArmageddon

Email: neo [AT] armed-tactics.de

Website and forum at www.armed-tactics.de or www.modfact.net

Credits and Thanks

-----------------

BIS - OFP to ArmA3

NeoArmageddon - Scripting

tpw - Idea for emulating a ragdoll

Scruffy, Darcy, Maike, DERyoshi, MemphisBelle, Vormulac and Freshman - Testing the script.

License

-----------------

This addon/script and all of it's content is released unter the Creative Commons Attribution Non-Commercial Share Alike Licence.

This license lets you remix, tweak, and build upon this work non-commercially, as long as you credit the author and license your new creations under the identical terms. Others can download and redistribute this work just like the by-nc-nd license, but you can also translate and make remixes based on this work. All new work based on this will carry the same license, so any derivatives will also be non-commercial in nature.

Disclaimer

-----------------

I take no responsibility for (im)possible damage to your game/system that may be caused by installation of this script.

Edited by NeoArmageddon
  • Like 1

Share this post


Link to post
Share on other sites
Guest

Release frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Hey this looks as close to the Arma2 standard setup - not had chance to test yet but, is there a chance of dying out right/bleeding to death like in Arma2 ?

Share this post


Link to post
Share on other sites
Hey this looks as close to the Arma2 standard setup - not had chance to test yet but, is there a chance of dying out right/bleeding to death like in Arma2 ?

Of course this is possible, should only be like 4 lines of code. But first I have to introduce a config-file. I will push a update after new year. Thanks for the feedback.

Share this post


Link to post
Share on other sites

That would be great- we at CiA don't do respawn, so something like the standard arma2 setup is acceptable.

We've yet to find a revive script that actually has the chance of out right death from a critical shot.

Share this post


Link to post
Share on other sites

Liking this so far neo, well done mate. Could I ask for a few hints or improvements? I would like to get this script to apply to all units, spawned on the fly, over a long time frame. How could I do that? Secondly, could you write a funciton in that actually kills units off after a set time (300 secs etc) ?

And finally ..... the biggie, do AI carry out full revives on fallen comrades/players ?

Share this post


Link to post
Share on other sites
Liking this so far neo, well done mate. Could I ask for a few hints or improvements? I would like to get this script to apply to all units, spawned on the fly, over a long time frame. How could I do that? Secondly, could you write a funciton in that actually kills units off after a set time (300 secs etc) ?

And finally ..... the biggie, do AI carry out full revives on fallen comrades/players ?

Heyho and thanks for your feedback. I will add a deathtimer right after new year (but as optional feature).

If you want to apply the revive on a unit you just have to make a call to the init on the client where the unit is local:

[unitname] call at_fnc_initRevive;

You can also call the init on a unit on every client, so you can also use the script in a units init-field or via bis_fnc_mp on server or remote client:

Init-line

[this] call at_fnc_initRevive;

Remote exec (on server or remote client):

[[unitname],"at_fnc_initRevive"] call bis_fnc_mp;

Regarding the AI: While writing the script I had COOP play in mind so AI was not my first priority but I will look into it. Obviously this is not easy, just imagine your AI mates trying to revive you in every situation... they will propably die while reviving you.

Edited by NeoArmageddon

Share this post


Link to post
Share on other sites

so my question is: is it possible to make the revive require a medkit or use up a first aid kit

and im having a bit of trouble adding it to missions with the Virtual Ammobox System

Edited by ak12546

Share this post


Link to post
Share on other sites
so my question is: is it possible to make the revive require a medkit or use up a first aid kit

No Problem. I will add you this feature with the next update.

and im having a bit of trouble adding it to missions with the Virtual Ammobox System

I just had a look into VAS:

If you have this in your description.ext

class CfgFunctions
{
#include "VAS\cfgfunctions.hpp"
};

You can add the Revive-include like this

class CfgFunctions
{
#include "VAS\cfgfunctions.hpp"
       #include "include\functions.hpp"
};

BUT you have to remove the first and the last line from "include\functions.hpp" as there is already a cfgFunction.

The file should then look like this:

	class AT
{
	class Revive
	{
		class debug {};
		class handleDamage {};
		class revive {};
		class addReviveAction {};
		class removeReviveAction {};
		class initRevive {};
		class setUnconscious {};
		class setConscious {};
		class playMove {};
		class switchMove {};
		class animDone {};
		class animChanged {};
		class respawn {};
           class startCrawling{};
           class washAshore{};
           class killed{};
           class consciousHandler {};
		class copyGear{};
           class handleHeal{};
           class ragdoll{};
           class hide{};
           class unhide{};
	};
};
};

I will redesign this in the next update to be more "out-of-the-box"-compatible with VAS.

Share this post


Link to post
Share on other sites

Hey neo nice work love all the alternatives of revive scripts, love this except i cant get it to respawn neither in sp or mp, any helpfull info i might missed(sry if i didt).

i die and becomes uncon no respawn abilities. if press esc. normal menu appears, press respawn countdown timer from BIS applies and then unit raises and falls uncon again :(

its a loop it wont leave.

what to do?

Best regards baloo

Share this post


Link to post
Share on other sites
if press esc. normal menu appears, press respawn countdown timer from BIS applies and then unit raises and falls uncon again :(

I tought I never had to say this, but "It's not a bug, it's a feature".

The revive was build for a mission without respawn but with JIP. So the revive takes over after respawn.

To disable this (and enable a "normal" respawn") open the file "functions\revive\fn_respawn.sqf" and replace the content with this (or something similar):

private["_unit","_corpse"];
_unit = _this select 0;
_corpse = _this select 1;


_unit setvariable ["AT_Revive_Action",-1,true];
_unit setvariable ["AT_isHealing",[],true];
_unit setcaptive false;
_unit setvariable ["AT_Corpse",_corpse,false];
//waituntil{alive _unit};
_unit getvariable ["AT_isConscious",true,true];

Hope this works for you.

Share this post


Link to post
Share on other sites

Hi Neo,

 

Talked on Steam Forums a bit. I have been tinkering with the neo revive files from the Escape from Tanoa revive. I followed your guidance as best I could to take only the things i need. However I am not a programmer, so its a little beyond me. I will list the things I did, maybe you could provide help?

 

1) Created a functions folder in my mission file, copied in the Revive and HSC folder

2) Removed references in functions.hpp to all except ATR, Revive, ATHSC, and HSC.

3)Completely lost more or less on the initplayerlocal.sqf and desription.ext

 

Any guidance would be appreciated. Although I understand at this point you are practically building it for me.

 

Thanks!
 

Cobra

 

-----------------------------------

 

Neo, figured it out shortly after. Thank you for all of the guidance. I do not have plans to post any workshop content. However, if I do I will certainly credit you.

 

Thank you again for all of the help. I truly appreciate it!

Edited by Cobra Commander

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  

×