Jump to content
Sign in to follow this  
norrin

Revive Script

Recommended Posts

We ran into the same thing last night even after changing the setDamage to the NORRIN variable thing, even before that. Once everyone was dead with .46, no one got the revive option, just a blank screen saying "Everyone is unconsious, choose a respawn marker" but no buttons.

After a while the black screen went away and we could see as if we were lying there but unable to do anything. After THAT we were auto-resurrected where we'd died... Which was unfortunate for us since we'd been overrun and died again immediately! :)

Share this post


Link to post
Share on other sites
We ran into the same thing last night even after changing the setDamage to the NORRIN variable thing, even before that.

Just noticed you've got the mobile spawn settings switched on even though you're not using it, your revive_init.sqf re the mobilespawn currently looks like this:

// 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 					= s4;  				//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

So change the settings in the revive_init.sqf to look like this:

// Mobile Spawn Settings
_mobile_spawn 					= 0;				//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 					= objNull;  				//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

Share this post


Link to post
Share on other sites

hello norrin, i like your script and have used it in many coop misions but i tried for first time a mission without respawning oportunity so the mission would end if all players are unconscious but when i turn it on in the script like this :

=====================================================================================================================
// THE FOLLOWING CODE CAN BE MODIFIED
// =====================================================================================================================
// GENERAL REVIVE OPTIONS  (Off = 0, On = 1)
_mission_end_function 			= 1;				//array no.0  - mission ends when all players are unconscious
_call_out_function 				= 1;				//array no.6  - whether a unit calls out while unconscious
_water_dialog 					= 1;				//array no.45 - whether a dialog appears when a unit dies in water so that it can auto wash ashore 
_unconscious_drag 				= 1;				//array no.39 - whether a unit can drag the bodies of unconscious players 
_load_wounded					= 1;				//array no.61 - allows you to load unconscious units on vehicles
_altUnc_animation 				= 0;				//array no.54 - use alternate unconscious animation
_JIP_spawn_dialog 				= 0;				//array no.2  - whether a dialog appears when a player JIP so that he can be transported to a spawn point near the action 
_time_b4_JIP_spawn_dialog 		= 10000;			//array no.17 - time before the respawn dialog appears for JIP players 
_perpetual_server				= 0;				//array no.62 - NOT IMPLEMENTED
// ==================================================================
// LIST OF PLAYABLE UNITS
NORRN_player_units = ["s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20"];
// ==================================================================
// WELCOME SCREEN
titleText ["Joining Mission", "BLACK FADED", 0.2]; 	// This next line can be commented out or removed if it interferes with intro movies  
// ==================================================================
// REVIVE OPTIONS
_max_respawns 					= param2;			//array no.38 - Number of lives per unit
_JIP_respawns					= 0;				//array no.63 - NOT IMPLEMENTED
_revive_timer 					= 1;	 			//array no.7  - Whether you want to limit the amount of timer a player has while unconscious
_revive_time_limit 				= 10000;				//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					= [];				//array no.66 - NOT IMPLEMENTED
_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 - NOT IMPLEMENTED - leave as 0 - whether a unit can spectate other friendly units when it has run out of lives
// ==================================================================
// RESPAWN OPTIONS
_no_respawn_points 				= 0;				//array no.12 - no of respawn points (Max number 4)  
_Base_1 						= "";			//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,0,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 	= 1;				//array no.11 - unit respawns with waepons 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				= [];				//array no.68 - NOT IMPLEMENTED
_objectiveBasedRP				= []; 				//array no.69 - NOT IMPLEMENTED
// Mobile Spawn Settings
_mobile_spawn 					= 0;				//array no.51 - set to 1 if you want to use mobile spawn	
_mobile_base_start 				= "";			//array no.52
_mobile_base2_start 			= "";				//array no.70 - NOT IMPLEMENTED
_mobile_type 					= 0;				//array no.60 - set as 0 - for vehicle and 1 for man
_mobile_man 					= objNull;  		//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 					= "soldierWB";		//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						= "USMC_Soldier_Medic";	//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						= 0;				//array no.80 - Give units a limited number of revive kits
_stabilisation					= 0;				//array no.81 - NOT IMPLEMENTED
_bleeding 						= 0;				//array no.82 - Make units bleed and require bandages
_medic_medpacks 				= 0;				//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 				= 0;				//array no.85 - Bandages stop bleeding		
_unit_bandages 					= 0;				//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			= 5000;				//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 	   			= 50;				//array no.55 - allows you to set the top down camera height 
_visible_timer 					= 0;				//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 			= 100000;				//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 			= 5000;				//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 				= 50000;				//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 					= 1;				//array no.8  - whether a unit can heal damage to itself
_no_of_heals 					= 100;				//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 					= 1;				//array no. 9  - closest AI automatically moves to revive a downed team mate
_AI_smoke 						= 1;				//array no. 40 - if available reviving AI throws smoke on downed AI position
_AI_aware 						= 0;				//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 			= 5000;				//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 					= 0; 				//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) 

nothing happens and my player remains endless in an unconscious status.

is there any trigger i have to use to give me the end of mission?

help is much apreciated from anybody of course :)

Edited by horror1

Share this post


Link to post
Share on other sites

What version of the script are you using horror? Is it the latest one 0.46? If it is then try removing the quotation marks around the unit names eg.

NORRN_player_units = [s1,s2];

Share this post


Link to post
Share on other sites

well i use 0.2 because 0.46 didnt worked for me (if its the quotations i know why :D)

anyway it worked allways good in normal revive missions with respawns at base or mhqs, i just wanted to make this time a mission where the team is on its own till the end and force ultimate teamplay on all members, so they depend on each other to either finish the mission or lose and thats why i dont want respawns.

i had a similar mission in arma 1 and the mission ended when all players were unconscious.

unfortunately i lost the mission so i cant check the script parameters but im sure i did only change the first line from 0 to 1 :

// GENERAL REVIVE OPTIONS  (Off = 0, On = 1)
_mission_end_function 			= 1;				//array no.0  - mission ends when all players are unconscious

this doesnt seem to work here, when i test it alone in multiplayer with disabled ai.

i fall unconscious and nothing happens, im just lying there and waiting for revive.

Share this post


Link to post
Share on other sites

Hi Norrin, many thanks to you for taking the time to try and address my 'Ghost soldier' issue.

I have resolved this now by taking the advice from a fellow gamer and installing just OA as a standalone game rather than combining with Arma2 and so far, so good.

Cheers.

Share this post


Link to post
Share on other sites

Hi Norrin.

Unfortunately I still didn't find a solution for the not-working drag / carry animation as unarmed person... :( (see my original post here and your answer here).

Is there maybe any news about it? :o

The thing is that there should be a way to let the dragging / carrying animation work properly. I seems not to be a engine / animation limitation because with the BI module it works perfectly. With a rifle and also without a rifle.

As I said however, I won't use the BI modules because there always comes the option to give the injured one first aid (I don't want this option, only the drag / carry). Your script gives me the options I want the player to have.

Share this post


Link to post
Share on other sites

I used the revive system (0.42 now 0.46) with ace2 wounding system without problem.

now with oa ace2 all work but when i respawn i am not healed and sometimes i have a screen freeze .

have anybody a solution ?

p.s. (try with all version of revive)

i hope Norrin make a revive working with ace2 wounding system becouse revive and wonding system together is very intersting.

sorry for my English

bye all

Share this post


Link to post
Share on other sites

Has anyone got the respawn to work in in single player mode?

I've followed the instructions exactly but when my unconscious timer runs out I get the message "choose respawn point" but I don't get any respawn buttons options. :(

Is it possible to respawn in SP mode?

Share this post


Link to post
Share on other sites
Is it possible to respawn in SP mode?

Yes it is mate, most likely a revive_init.sqf config error (PM sent).

Share this post


Link to post
Share on other sites

I know I'm missing something really simple with this script but I just can't seem to get it to work.

I thought I'd set it up as per guide but obviously not.

I'm trying to use the script so each player can be revived a maximum of three times but with no respawns at all. If the player is not revived within 5 minutes they die and similarly once a player has been revived three times the fourth kill means the player dies.

Is this possible and what options do I need to change to get this to work?

Share this post


Link to post
Share on other sites

@Sabre - Make sure you have the following variables set like this in the revive_init.sqf (Note these aren't in the exact order in which they occur).

_max_respawns = 3;
_revive_timer = 1;	 			
_revive_time_limit = 300;
_no_respawn_points = 0;	
_Base_1 = "";	
_Base_2 = "";	
_Base_3 = "";	
_Base_4 = "";	
_respawn_position = 3;
_mobile_spawn = 0;
_mobile_man = objNull; 
_nearest_teammate_dialog = 0;	
_all_dead_dialog 	= 0;	
_respawn_button_timer = 10000;	
_distance_to_friend = 10000;			
_all_dead_player 	= 0;			
_all_dead_distance = 10000;			

I'm at work so I hope I haven't missed something

Share this post


Link to post
Share on other sites

Thanks for the quick response. I'll make the changes and feedback.

Many thanks, really appreciate it.

Share this post


Link to post
Share on other sites

Hi maybe someone can help me when i die i receive this message: Resource rev_cam_dialog_blank not found.

Thx for your help.

Edited by DarkEclip

Share this post


Link to post
Share on other sites
Hi maybe someone can help me when i die i receive this message: Resource rev_cam_dialog_blank not found.

Thx for your help.

The latest version (0.46) has a new line of code that must be added to the description.ext.

#include "revive_sqf\dialogs\rev_cam_dialog_blank.hpp"

if you add this after the other #includes in the description.ext, it should fix your problem.

Share this post


Link to post
Share on other sites

norrin could you please help me and my squad?

what we are trying to acheive is that if a player is shot and its servere he needs to call in a medevac through the medevac module and get back to base to be treated in a hospital/MASH or he will die within a set timeframe.

Can this be accomplished?

Kind regards

Edited by weedman

Share this post


Link to post
Share on other sites
@Sabre - Make sure you have the following variables set like this in the revive_init.sqf (Note these aren't in the exact order in which they occur).

_max_respawns = 3;
_revive_timer = 1;	 			
_revive_time_limit = 300;
_no_respawn_points = 0;	
_Base_1 = "";	
_Base_2 = "";	
_Base_3 = "";	
_Base_4 = "";	
_respawn_position = 3;
_mobile_spawn = 0;
_mobile_man = objNull; 
_nearest_teammate_dialog = 0;	
_all_dead_dialog 	= 0;	
_respawn_button_timer = 10000;	
_distance_to_friend = 10000;			
_all_dead_player 	= 0;			
_all_dead_distance = 10000;			

I'm at work so I hope I haven't missed something

Works great thank you so much. Brilliant piece of work. Our group prefers to play with no respawns so the revive system is an excellent compromise between realism and gameplay (enjoyment).

I was wondering if there is a way to have the no respawns with revive as I have it set now but also to have the ability for the medic to deploy the MASH - solely for use of healing - not respawn.

Share this post


Link to post
Share on other sites
norrin could you please help me and my squad?

what we are trying to acheive is that if a player is shot and its servere he needs to call in a medevac through the medevac module and get back to base to be treated in a hospital/MASH or he will die within a set timeframe.

Can this be accomplished?

Kind regards

Yes this can be done mate.

These are the important settings that need to be made in the revive_init.sqf to do this (note: not in the exact order in which they appear in this file):

_load_wounded	= 1;
_revive_time_limit = 300;  //set to whatever time you want
_caseVAC	= [1, ["MASH"]]; //whatever vehicle or building that will auto revive a unit
_no_respawn_points 	= 0;
_respawn_position = 3;
_mobile_spawn 	= 0;
_mobile_man = objNull;
_can_revive = "";
_can_revive_2 = "";
_can_be_revived = "soldierWB";
_nearest_teammate_dialog = 0;				
_all_dead_dialog = 0;				
_respawn_button_timer = 10000;
_distance_to_friend = 10000; 
_all_dead_player = 0;
_all_dead_distance = 10000;

@Sabre - not through the existing revive settings mate. However, you could add a small script to the medic unit that would allow you to do this.

Share this post


Link to post
Share on other sites

@Sabre - not through the existing revive settings mate. However, you could add a small script to the medic unit that would allow you to do this.

Thanks again for your reply. The Medic deploying a MASH is more like the icing on the cake :) I haven't got a clue when it comes to scripting (I wish I did) that's why I'm so glad the community has the likes of yourself. I'll maybe post up to see if anyone can point me in the right direction.

Thanks again

Regards

Share this post


Link to post
Share on other sites

Idle question and thinking out loud as I'm not near an ARMA editor at the moment:

Does the Norrin revive script somehow interfere with the !ALIVE check on units and triggers?

I had a

IF BOT !ALIVE THEN DO SOMETHING

script that was working pre-revive scripts. Now I've put in revive scripts the !ALIVE check fails. That is, a bot will be dead (dead and no revives left) but !ALIVE returns false (!ALIVE should be true).

I'm just wondering if the dead-but-not-dead-then-revived-or-respawned-but-wait-I've- got-multiple-lives thing needs to be accounted for?

Either that or my script never really worked under all conditions in the first time - which is entirely possible!

I know the bot was well and truly 6 feet under as his face disappeared from my 'list' in the bottom left corner in singe player mode.

Share this post


Link to post
Share on other sites
Idle question and thinking out loud as I'm not near an ARMA editor at the moment:

Does the Norrin revive script somehow interfere with the !ALIVE check on units and triggers?

I had a

IF BOT !ALIVE THEN DO SOMETHING

script that was working pre-revive scripts. Now I've put in revive scripts the !ALIVE check fails. That is, a bot will be dead (dead and no revives left) but !ALIVE returns false (!ALIVE should be true).

In the latest versions, none of the revivable units ever really die so checking for !alive won't work. You can check for this instead though for each unit

_unit getVariable "NORRN_dead";

as this variable is set to "true" when the units either run-out of revive lives or if the unconscious timer elapses and you have the "_respawn_position = 3;" option set in the revive_init.sqf.

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  

×