Jump to content
Sign in to follow this  
norrin

Revive Script

Recommended Posts

Has anyone used this script in depth with ACE?

I see there is an ACE param, which i'm not sure if its active but i've turned it on. Anyway my question relates to items which are "On Back", it seems fine if you have a rucksack or something in the AT position. When you revive/respawn you have the same gear as when you died.

But then if you have something on the ACE "On Back", that vanishes when you are revived. Is this a limitation of the script?, or has anyone found a workaround?

Although Norrin's scripts has specific code to deal with ACE Backpacks there is nothing in there to deal with ACE_weapononback - so I would assume that anything on your back in ACE would not be added back again after re-spawn.

You might have to do it yourself using eventhandlers or attempt to modify Norrin's script.

Will have a go later today at amending the script to cope with weapons on back. Looks like it should be reasonably straightforward to add this as most of the logic is the same for ACE rucksacks. I also noticed that the Norrin script uses the older SetVariable method for dealing with ACE rucksacks which pre-dates Evil-Echo's official ACE functions. This might break in the future if they change something in ACE.

EDIT ----->

I have modified Norrins script to now work with ACE weapons on your back. Not extensively tested, but it was a fairly simple change that follows the ACE Rucksack logic (which does work).

HERE is a test mission using the new script.

Edited by Jedra

Share this post


Link to post
Share on other sites

Cheers Jedra, i will take a look at this as soon as i get home. Much appreciated..

Share this post


Link to post
Share on other sites

I have used Norrins Revive v46 in the past with arma2/OA combined.

I tried updating to v50 with the exact same mission and all works well except for addactions.

With v46 after revive/respawn I retained my addactions for arty and airsupport that I had added.

With v50 after revive/respawn I lose most of these addactions.

Also I see a statistics screen for 3 secs before I revive which did not happen with v46.

I have rechecked that the options in reviveinit are the same.

Any ideas??

I think I have fixed it.Using a script to readd the addactions after revive or respawm.

Never needed to do this in v46.

thanks

GH

Edited by GHOG
found solution

Share this post


Link to post
Share on other sites

Thanks again Jedra, all appears well :p Will do some more testing in MP, but so far so good.

Cheers fella :yay:

Out of curiosity, what did you change if not too much? Would be nice to know.

Edited by Shadow.D. ^BOB^

Share this post


Link to post
Share on other sites
Thanks again Jedra, all appears well :p Will do some more testing in MP, but so far so good.

Cheers fella :yay:

Out of curiosity, what did you change if not too much? Would be nice to know.

Sure - just look in revive_sqf/revive_player.sqf and look for lines that are commented JEDRA.

Nothing that will shake the scripting world!

Share this post


Link to post
Share on other sites

It's a really great script, I used it in one of my coop missions and it worked just as I wanted.

However now when I try to make a mission with norrins revive I just can't get it to work!

I've tried placing the markers exactly the same as when it worked,

tried changing maps and so on but the only thing I get when someone dies

is the standard scoreboard and 3 sec countdown and then they respawn at the respawn marker

Share this post


Link to post
Share on other sites
It's a really great script, I used it in one of my coop missions and it worked just as I wanted.

However now when I try to make a mission with norrins revive I just can't get it to work!

I've tried placing the markers exactly the same as when it worked,

tried changing maps and so on but the only thing I get when someone dies

is the standard scoreboard and 3 sec countdown and then they respawn at the respawn marker

Have you made sure that in revive_init.sqf the following line reflects the name of your units....

NORRN_player_units = ["UnitSOFBO_Alpha_FTL","UnitSOFBO_Alpha_AR","UnitSOFBO_Alpha_M","UnitSOFBO_Alpha_AAR","UnitSOFBO_ST1_SN","UnitSOFBO_Alpha_AT"];

This reflects the units in the mission I am currently making, but you need to make sure they are correct for your mission. If this is present then please post your init.sqf so I can take a look.

Share this post


Link to post
Share on other sites

Here is my revive_init, for some reason the briefing dosen't load but I can change time in parameters and the units respawn as I said.

// LIST OF PLAYABLE UNITS
//NORRN_player_units = playableUNits;
NORRN_player_units = playableUNits;
// ==================================================================
// WELCOME SCREEN
//titleText ["Joining the Revive Test Mission\n\n(Make sure you check the mission notes for details on how the scripts work\nand the revive_readMe in the attached pdf file for the full notes on implementing \nthe scripts in your own missions and the options available)", "BLACK FADED", 0.6]; 	// This next line can be commented out or removed if it interferes with intro movies  
// ==================================================================
// REVIVE OPTIONS
_max_respawns 					= (paramsArray select 1);			//array no.38 - Number of lives per unit
_JIP_respawns					= [2,30];			//array no.63 - 0 - off or the number of lives players receive when they join in progress , JIP time after the mission starts 
_revive_timer 					= 1;	 			//array no.7  - Whether you want to limit the amount of timer a player has while unconscious
_revive_time_limit 				= 500;				//array no.27 - Amount of time a player remains unconscious before respawning or dying
_revive_damage 					= 0;				//array no.37 - Unit's level of damage following revive
_unconscious_markers 			= 1;				//array no. 4 - Whether a marker appears on the game map at the location of the unconscious unit
_caseVAC						= [1, ["MASH"]];	//array no.64 - Allows units to be taken to a hospital etc to be revived
_mediVAC						= [];				//array no.65 - NOT IMPLEMENTED
_chance_ofDeath					= [0,0];			//array no.66 - Two parameters in the array the first switches off/on (0/1) chance of death when shot, increases dues to hit location and number of times revived and the second parameter switches on/off the decreasing respawn timer based on how many times you have been revived, if using set respawn-time to at least 300 seconds.
_dualTimer						= 0;				//array no.67 - NOT IMPLEMENTED - normal units can only revive for eg 30 seconds whereas medics can heal players up to 120 secs - array - [0/1 - off/on, revive timer for normal unit, timer for medic] 
_deadSpectator_cam 				= 1;				//array no.92 - leave as 0 - whether a unit can spectate other friendly units when it has run out of lives
// ==================================================================
// RESPAWN OPTIONS
_no_respawn_points 				= 2;				//array no.12 - no of respawn points (Max number 4)  
_Base_1 						= "Respawn_west";			//array no.13 - spawn position names  
_Base_2 						= "";			//array no.14
_Base_3 						= "";				//array no.15
_Base_4 						= "";				//array no.16 
_Base_free_respawn 				= [1,1,0,0];		//array no.36 - select whether to allow respawning at spawn points even if enemy troops are present (options OFF = 0, ON = 1) 
_respawn_at_base_addWeapons 	= 0;				//array no.11 - unit respawns with weapons it commenced the mission with  
_respawn_at_base_magazines 		= [];				//array no.34 - If using the respawn_at_base_addWeapons option then place the magazine and weapon 
_respawn_at_base_weapons 		= [];				//array no.35   types in the following arrays, if left blank respawns with weapons from mission start
_respawn_position 				= 2;				//array no.28 - 0 - respawn at base_1; 1 -  the closest enemy free respawn point; 2 - players choice; and 3 -  dies
_respawnAtBaseWait				= [0,0];			//array no.68 - Two parameters: 1st if = 1 makes players that respawn at base wait for (parameter 2) seconds before being able to see surroundings   
_objectiveBasedRP				= []; 				//array no.69 - NOT IMPLEMENTED
// Mobile Spawn Settings
_mobile_spawn 					= 1;				//array no.51 - set to 1 if you want to use mobile spawn	
//_mobile_base_start 				= "Insertion";			//array no.52 - NO LONGER NEEDED, REDUNDANT VARIABLE
_mobile_base2_start 			= "";				//array no.70 - NOT IMPLEMENTED
_mobile_type 					= 1;				//array no.60 - set as 0 - for vehicle and 1 for man
_mobile_man 					= s1;  				//array no.53 - place name of unit here or if not used make sure set as objNull
_mobile_man2					= objNull;			//array no.71 - NOT IMPLEMENTED
// ==================================================================
// UNITS THAT CAN REVIVE/UNITS THAT CAN BE REVIVED
_can_revive 					= "sfp_m90w_medic_ak5";		//array no.18 
_can_revive_2 					= "";				//array no.19
_can_revive_3					= "";				//array no.72 - NOT IMPLEMENTED
_can_revive_4					= "";				//array no.73 - NOT IMPLEMENTED
_can_be_revived 				= "soldierWB";		//array no.20  
_can_be_revived_2 				= "";				//array no.21 
_can_be_revived_3				= "";				//array no.74 - NOT IMPLEMENTED 
_can_be_revived_4 				= "";				//array no.75 - NOT IMPLEMENTED
_medic_1						= "sfp_m90w_medic_ak5";	//array no.76 - Used in conjunction with medpacks and bleeding	
_medic_2						= "";				//array no.77 - Used in conjunction with medpacks and bleeding
_medic_3						= "";				//array no.78 - NOT IMPLEMENTED	
_medic_4						= "";				//array no.79 - NOT IMPLEMENTED	
//========================================================
// MEDPACK AND BLEEDING OPTIONS
_medpacks						= 1;				//array no.80 - Whether you want to give the units a limited number of revive kits 0/1 - no/yes
_stabilisation					= 0;				//array no.81 - NOT IMPLEMENTED
_bleeding 						= 1;				//array no.82 - Make units bleed and require bandages
_medic_medpacks 				= 7;				//array no.83 - No of medpacks for units specified in the _medic variables - they are required for reviving units		
_unit_medpacks 					= 0;				//array no.84 - No of medpacks for units specified in the _can_revive variables - they are required for reviving units			
_medic_bandages 				= 10;				//array no.85 - Bandages stop bleeding		
_unit_bandages 					= 3;				//array no.86 - 
_medic_stable					= 0;				//array no.100 - NOT IMPLEMENTED
_unit_stable					= 0;				//array no.101 - NOT IMPLEMENTED
_stabTime_tillDeath				= 0;				//array no.87 - NOT IMPLEMENTED //Time until death following revive without stabilisation
// ==================================================================
// ENEMY SIDE TO PLAYABLE UNITS
_no_enemy_sides 				= 1;				//array no.22 - No of Enemy sides (0, 1 or 2). 
_enemy_side_1 					= "EAST";			//array no.23 - Enemy sides can be "EAST", "WEST", "GUER" etc  
_enemy_side_2 					= "";				//array no.24 
_enemy_side_3 					= "";				//array no.88 - NOT IMPLEMENTED
_enemy_side_4 					= "";				//array no.89 - NOT IMPLEMENTED
// ==================================================================
// FRIENDLY SIDE TO PLAYABLE UNITS
_allied_side_1 					= "WEST";			//array no.42 - Friendly sides can be "EAST", "WEST","RESISTANCE" etc.  
_allied_side_2 					= "WEST";			//array no.43 - If all players are from the same side make sure you set the same side for both variables eg "WEST", "WEST"
_allied_side_3 					= "";				//array no.90 - NOT IMPLEMENTED
_allied_side_4 					= "";				//array no.91 - NOT IMPLEMENTED
// ==================================================================
// UNCONSCIOUS CAMERA OPTIONS
_follow_cam 					= 1;				//array no.5  - option to allow viewing of friendly units while unconscious
_follow_cam_distance			= 250;				//array no.32 - the range that unconscious players can spectate friendly units
_follow_cam_team	   			= 0;				//array no.44 - set to 1 if you wish unconscious players only to spectate players within NORRN_player_units array
_top_view_height 	   			= 70;				//array no.55 - allows you to set the top down camera height 
_visible_timer 					= 1;				//array no.41 - view a cound-down timer while unconscious
_unconscious_music 				= 0;				//array no.46 - music must appear as unc_theme in music.hpp
// ==================================================================
// RESPAWN DIALOG OPTIONS
_nearest_teammate_dialog 		= 0;				//array no.3  - whether a respawn dialog appears when there are no players within this distance  
_all_dead_dialog 				= 0;				//array no.1  - whether a respawn dialog appears when all players are unconscious (_all_dead_player = 1)  
_respawn_button_timer 			= 0;				//array no.25 - Time until respawn button appears (0 = approx. 12 seconds), NB: Set to a high number like 100000 seconds if you do not want
_distance_to_friend 			= 250;				//array no.26 - If the closest friendly unit is further than this distance away trigger respawn dialog 
_all_dead_player 				= 0;				//array no.56
_all_dead_distance 				= 10000;			//array no.57 - whether a respawn dialog appears when all players within a specified distance are unconscious (_all_dead_player = 1)
// ==================================================================
// Bonus life for aiding team mates function
_reward_function 				= 1; 				//array no.96 - specify whether a unit receives bonus lives for reviving other players
_revives_required 				= 1;				//array no.97 - Number of revives required before recieving a bonus life
// ==================================================================
// Team kill function
_team_kill_function 			= 1;    			//array no.98 - specify whether a unit loses a life for killing team mates
_no_team_kills 					= 1;				//array no.99 - Number of teamkills before punishment
// ==================================================================
// CONFIGURABLE OPTIONS FOR HEAL YOURSELF FUNCTION
_heal_yourself 					= 0;				//array no.8  - whether a unit can heal damage to itself
_no_of_heals 					= 1;				//array no.29 - Number of heals that each player gets during a mission  
_lower_bound_heal 				= 0.1;				//array no.30 - The damage level range between which the heal action becomes available 
_upper_bound_heal 				= 0.8;				//array no.31
// ==================================================================
// AI REVIVE BEHAVIOUR OPTIONS
_goto_revive 					= 0;				//array no. 9  - closest AI automatically moves to revive a downed team mate
_AI_smoke 						= 0;				//array no. 40 - if available reviving AI throws smoke on downed AI position
_AI_aware 						= 1;				//array no. 49 - AI will clear an enemy units it is aware of before auto reviving
_AI_cover 						= 1;				//array no. 50 - second AI unit moves with AI reviver to give cover
_AI_dismount 					= 0;				//array no. 58 - toggles ability of reviving AI units to dismount vehicles (1 = dismount)
_call_for_AI_help 				= 1;				//array no. 59 - allows AI units to call for help 
_goto_revive_distance 			= 500;				//array no. 33 - distance AI units will move to revive a downed team mate


// ==================================================================
// OPTIONS FOR PLAYER'S DEAD BODIES AND EQUIPMENT - Additional revive functions with many thanks to alef (0 - off, 1 - on except for _bury_timeout)
_drop_weapons 					= 1; 				//array no.93  - should the respawned player drop his weapons where he died?
_cadaver 						= 0; 				//array no.94 - should the respawned player's body remain there?
_bury_timeout 					= 12;				//array no.95 - if drop weapons OR player body, how long before the body is buried?
												// 0=maximum (1200s) , n=seconds up to 1200s (hard coded)
// ==================================================================
// USER CODE - eg. NORRNCustonexec1="execvm ""myscript.sqf"";hint ""myoutput"";"
NORRNCustomExec1				=""; 				// Exec1 occurs following being revived
NORRNCustomExec2				="";  				// Exec2 occurs when you team kill
NORRNCustomExec3				="";  				// Exec3 occurs when you spawn at base
NORRNCustomExec4				="";  				// Exec4 occurs when you try and spawn at base but it is still occupied
NORRNCustomExec5				="";  				// Must use variables: MAP_r_rejoin (false - first time, 
												// true - rejoining the server, and 
												// MAP_r_no_lives - number of lives if you rejoin server) 
// =====================================================================================================================

Share this post


Link to post
Share on other sites
Here is my revive_init, for some reason the briefing dosen't load but I can change time in parameters and the units respawn as I said.

...snip

Can you post your init.sqf - it looks to me like you are not initialising Norrin's script properly (as a previous poster mentioned).

Somewhere in the init.sqf will be a line that does;

execVM "revive_init.sqf"

if you are copying from Norrin's example, you may have;

server execVM "revive_init.sqf";

If you are doing the second one, you need to make sure you have a gameLogic called 'server' on your map.

If your briefing is not showing up there may be a problem in your init.sqf that is preventing both the initialisation of Norrins script and the running of briefing.sqf.

Edited by Jedra

Share this post


Link to post
Share on other sites

I havent changed anything in my init.sqf and i always have a gameLogic named server.

//begin init.sqf

//Initialise revive script (this next line is needed for revive script)
server execVM "revive_init.sqf";

//Mission parameters
skiptime (paramsArray select 0);
sleep 5;

execVM "briefing.sqf";

if(true) exitWith {}; 

Share this post


Link to post
Share on other sites
I havent changed anything in my init.sqf and i always have a gameLogic named server.

In that case I am stumped! If you post up your mission somewhere I will take a look tomorrow. It's nearly 1:30am here in the UK and I need some sleep - so you won't get a reply 'till later on! It's been a long day and my eyes might be too sleepy to see the obvious now!

Share this post


Link to post
Share on other sites

// LIST OF PLAYABLE UNITS
//NORRN_player_units = playableUNits;
[b][color="Red"]NORRN_player_units = playableUNits;[/color][/b]

Check this part of the revive_init...

Are you defining a list for playableUNits somewhere else?

If not make sure you add your playable units to that location, so for example.

// LIST OF PLAYABLE UNITS
//NORRN_player_units = playableUNits;
NORRN_player_units = [p1,p2,p3,p4,p5,p6,p7,p8,p9,p10];

Edited by Shadow.D. ^BOB^

Share this post


Link to post
Share on other sites

I tried to manually pbo the mission and suddenly the revive worked, so the error must be when I save the mission to MP-missions directly

from the editor I've heard about this bug or whatever it is before but atleast I know how to get the revive working now.

Thanks alot for the help, you guys are awesome.

Share this post


Link to post
Share on other sites

snip, solved.

Edited by cuel

Share this post


Link to post
Share on other sites

Does anyone know if I can enable the dragging / loading onto vehicle bit for a wounded AI - without having him on the 'can be revived' list?

The squad in my mission is using revive / respawn, and I wanted to set up a 'rescue the wounded pilot' scenario. So I'm hoping to place a wounded pilot on the map, and force my squad to go to him and drag him to a vehicle and load him up to take him away to safety.

Share this post


Link to post
Share on other sites

I have just come across a problem that I have not had before with this script. everything seems to work ok. When I deploy the mobile respawn the marker is on the map and respawn works great. The problem is when I stow and move then deploy in a different place the marker is still in the first place. When a unit dies and respawns at the mobile respawn, it respawns at the marker and not where the actual vehicle is?? Has anybody had this problem and know how to resolve.

BTW it seems to work fine in editor when previewed

Edited by LockJaw-65-

Share this post


Link to post
Share on other sites
I have just come across a problem that I have not had before with this script. everything seems to work ok. When I deploy the mobile respawn the marker is on the map and respawn works great. The problem is when I stow and move then deploy in a different place the marker is still in the first place. When a unit dies and respawns at the mobile respawn, it respawns at the marker and not where the actual vehicle is?? Has anybody had this problem and know how to resolve.

BTW it seems to work fine in editor when previewed

Just found when this happens: It works fine until you suspend a MP game then when you re-host it has the problem?

Share this post


Link to post
Share on other sites

Hey all

I have tried to put in this great script in my mission and it all seems to work fine, but I get a script error saying:

Error in expression <vive_timer,
_heal_yourself,_goto_revive,_unconscious_invincibility,_respawn_at_b>
 Error position: <_unconscious_invincibility,_respawn_at_b>
 Error Undefined variable in expression: _unconscious_invincibility
File mpmissions\__cur_mp.fallujah\revive_init.sqf, line 194

The only thing I have modified in the revive_init.sqf is changing this, so I use all playableUnits in that list, instead of those s1, s2,s3,s4:

// LIST OF PLAYABLE UNITS
NORRN_player_units = playableUNits;
//NORRN_player_units = [s1,s2,s3,s4];

And then changed s1 in this, to objNull:

_mobile_man = objNull;  //array no.53 - place name of unit here or if not used make sure set as objNull

What could be the problem?

/Jacob

Share this post


Link to post
Share on other sites

Hi,

I've got an issue with the script. The mobile man respawn is not working. I'm able to deploy the tent, the tent is spawning but the marker I've defined is not moving to the position of the tent. Therefore the player respawns at the pre-placed position of the mobile respawn marker. What am I doing wrong?

Share this post


Link to post
Share on other sites

Hi

I have a Problem with Norrin Revive Script.

Everytime when i hit the Respawn Button in the Menu... or every time i die .... i cant respawn. I only become the message ... "You are died...press escape..." and so on.

How can i disable that?

The revive works great.

Sorry for my bad english... hope your understand me.

thx for help.

Share this post


Link to post
Share on other sites

Make sure you have all the markers down "Respawn_west", "boot_hill", "center" etc.. on the map

And you have named you men i.e s1, s2 ,s3

then in revive_init.sqf

NORRN_player_units = [s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20];

You must be just missing something like that !

Share this post


Link to post
Share on other sites

Sry but that not the Problem.

Sry my English.

The Problem is, when i hit the Respawn Button in Arma2 Menu ( standing alive to far away from next base and wont walk back to base ), every time i die and the text "You are dead, press esc and go back to..." comes up and i can only press Esc, and reconnect.

All other works good. Respawn after normal die, works. I can press RespawnPoints in the Menu from the script. Revive works great too.

Hope i have now a better declaration whats the problem.

Share this post


Link to post
Share on other sites

Bump my problem: Post #869. Still get the same error: "Error Undefined variable in expression: _unconscious_invincibility"

Share this post


Link to post
Share on other sites

Do any of you guys know that instead of creating a new ammocrate you move an custom ammobox with custom weapons/ammo????

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  

×