Jump to content
Sign in to follow this  
norrin

Revive Script

Recommended Posts

this thread is a bit old now, but is there an option in this script for someone that disconnects and reconnects to join with the same number of lives that was left when quit the server? So if a person has 1 or 0 lives left or even if it is dead, if he disconnects and reconnects he joins again as dead or with 0 lives?

Share this post


Link to post
Share on other sites

I hate to bring back old threads, but I was wondering if anyone has a mission-template for this script with ONLY the selectable-respawn and not the revive functionality. (Preferably I would also like a way to activate these selectable respawn points when I reach them)

Edit: Alright, I managed to deactivate the revive-script, it was easier than I thought, serves me right for not reading the readme properly (I blame it on the flu I'm suffering from right now), cannot find anything about activating/deactivating respawn-points though, hm.

Edited by McNools

Share this post


Link to post
Share on other sites

Has anyone managed to get this working with the MSO (NOMAD) - i have it mostly working appart from the number of Lives it allways resets it back to the orginal amout, it saved the players kit position etc..

Anyone managed to do this?

Share this post


Link to post
Share on other sites

Seems to work properly even for JIP players, but during some testing I noticed when I would JIP, I would get error(s). I wasn't sure why, after I disabled norrins revive the errors stopped. Is NR known to produce errors upon JIP? If not, why am I receiving errors? I can provide a full mission file if necessary.

revive_init.sqf

/*
 CO & OA REVIVE SCRIPT

 © OCTOBER 2010 - norrin (simonnsl@iprimus.com.au)

 Version:  0.50 ArmA2	
*******************************************************************************************************
 See release notes for details on contributors and instructions for incorporating revive scripts into your  own missions
************************************************************************************
Start revive_init.sqf
*/
// =====================================================================================================================
// DO NOT MODIFY THIS CODE
// =====================================================================================================================
// sickboy's code modified by _xeno
T_INIT 	= false;
T_Server 	= false; 
T_Client 	= false; 
T_JIP 	= false;

T_MP = (if (playersNumber east + playersNumber west + playersNumber resistance + playersNumber civilian > 0) then {true} else {false});

if (isServer) then 
{
T_Server = true;
if (!isNull player) then {T_Client = true};
T_INIT = true;
} else {
T_Client = true;
if (isNull player) then 
{
	T_JIP = true;
	[] spawn {waitUntil {!isNull player};T_INIT = true};
} else {
	T_INIT = true;
};
};
waitUntil {T_INIT};
// =====================================================================================================================
// THE FOLLOWING CODE CAN BE MODIFIED
// =====================================================================================================================
// GENERAL REVIVE OPTIONS  (Off = 0, On = 1)
_mission_end_function 			= 0;				//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 revive 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
_ACE_mod						= 0;				//array no.102 - NOT IMPLEMENTED - Currently a place holder for possible future functionality 
// ==================================================================
// LIST OF PLAYABLE UNITS
//NORRN_player_units = playableUNits;
NORRN_player_units = [s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18];
// ==================================================================
// 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					= [0,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 				= 300;				//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 				= 1;				//array no.12 - no of respawn points (Max number 4)  
_Base_1 						= "start";			//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 	= 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 					= 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 					= 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 					= "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						= "US_Soldier_Medic_EP1";	//array no.76 - Used in conjunction with medpacks and bleeding	
_medic_2						= "BAF_Soldier_Medic_MTP";				//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 - 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 				= 5;				//array no.83 - No of medpacks for units specified in the _medic variables - they are required for reviving units		
_unit_medpacks 					= 2;				//array no.84 - No of medpacks for units specified in the _can_revive variables - they are required for reviving units			
_medic_bandages 				= 5;				//array no.85 - Bandages stop bleeding		
_unit_bandages 					= 2;				//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 					= 1;				//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 					= 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) 
// =====================================================================================================================
// DO NOT MODIFY THE FOLLOWING CODE
// =====================================================================================================================
NORRN_revive_array = [];
NORRN_revive_array = [_mission_end_function,_all_dead_dialog,_JIP_spawn_dialog,_nearest_teammate_dialog,_unconscious_markers,_follow_cam,_call_out_function,_revive_timer,
_heal_yourself,_goto_revive,_unconscious_invincibility,_respawn_at_base_addWeapons,_no_respawn_points,_Base_1,_Base_2,_Base_3,_Base_4,_time_b4_JIP_spawn_dialog,
_can_revive,_can_revive_2,_can_be_revived,_can_be_revived_2,_no_enemy_sides,_enemy_side_1,_enemy_side_2,_respawn_button_timer,_distance_to_friend,
_revive_time_limit,_respawn_position,_no_of_heals,_lower_bound_heal,_upper_bound_heal,_follow_cam_distance,_goto_revive_distance,_respawn_at_base_magazines,
_respawn_at_base_weapons, _Base_free_respawn, _revive_damage, _max_respawns, _unconscious_drag,_AI_smoke,_visible_timer,_allied_side_1,_allied_side_2,_follow_cam_team,
_water_dialog, _unconscious_music, _enemy_units_1, _enemy_units_2, _AI_aware,_AI_cover,_mobile_spawn,_mobile_base_start,_mobile_man,_altUnc_animation,_top_view_height,
_all_dead_player,_all_dead_distance,_AI_dismount,_call_for_AI_help,_mobile_type,_load_wounded,_perpetual_server,_JIP_respawns,_caseVAC,_mediVAC,_chance_ofDeath,_dualTimer,
_respawnAtBaseWait,_objectiveBasedRP,_mobile_base2_start,_mobile_man2,_can_revive_3,_can_revive_4,_can_be_revived_3,_can_be_revived_4,_medic_1,_medic_2,_medic_3,_medic_4,
_medpacks,_stabilisation,_bleeding,_medic_medpacks,_unit_medpacks,_medic_bandages,_unit_bandages,_stabTime_tillDeath,_enemy_side_3,_enemy_side_4,
_allied_side_3,_allied_side_4,_deadSpectator_cam,_drop_weapons,_cadaver,_bury_timeout,_reward_function,_revives_required,_team_kill_function,_no_team_kills,_medic_stable, _unit_stable,
_ACE_mod];

// start related revive functions
[] execVM "revive_sqf\init_related_scripts.sqf";

if (true) exitWith {};	
//Last edited 17/08/09

//if (_name == player) then {[_name] execVM 'revive_sqf\rPrn.sqf'}


init.sqf

execVM "DW_init.sqf";
null = []execVM "civDeathCounter.sqf";
null=[]execVM "mhq_Marker.sqf";
null = []execVM "dac_init.sqf";
[b]server execVM "revive_init.sqf";[/b]

waituntil {!isnil "bis_fnc_init"};
waitUntil{!(isNil "BIS_MPF_InitDone")};

"radar_M" setMarkerPos getPos radar;

onMapSingleClick "player setpos _pos";

[[
 ["Task1","Secure Huzritimam","Secure <marker name='huzrutimam_M'>Huzrutimam</marker>",true,[],"assigned"],
 ["Task2","Secure Sultansafe","Secure <marker name='sultansafe_M'>Sultansafe</marker>"],
 ["Task3","Secure The Oilfield","Secure the <marker name='oilfield_M'>oilfield</marker>"],
 ["Task4","Secure The Airfield","Secure the <marker name='airfield_M'>airfield</marker>."],
 ["Task5","Neutralize The Artillery radar","Neutralize the Artillery radar located <marker name='radar_M'>here</marker>."],
 ["Task6","Avoid Civilian Casualties","There's not much room for screw ups."]],
[
 ["Mission Plan","U.S. and the BAF will coordinate an assult on North Takistan. Use the high ground to your advantage."],
 ["Intel","There have been reports of numerous patrols between the neighboring towns."],
 ["Credits","Made By ***1cem@n***"]
]] call compile preprocessfilelinenumbers "shk_taskmaster.sqf";


if(true) exitWith {}; 

rpt:

ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Flushing file MPMissions\co_18_Bullet_Tooth.Takistan.pbo not possible - still open
ca\missions\MPScenarios\MP_Deathmatch.chernarus: string @str_mpdeathmatch_subname cannot be localized client-side - move to global stringtable
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Network simulation, time = 0.139
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Group B 1-1-A (0x3553d300) - network ID 2:1259
- no main subgroup
Error in expression <<NULL-object>>
 Error position: <<NULL-object>>
 Error Invalid number in expression
Error in expression <<NULL-object>>
 Error position: <<NULL-object>>
 Error Invalid number in expression
Error in expression <<NULL-object>>
 Error position: <<NULL-object>>
 Error Invalid number in expression
Error in expression <<NULL-object>>
 Error position: <<NULL-object>>
 Error Invalid number in expression
Error in expression <if (!isNull <NULL-object>) then {_revive_units = _re>
 Error position: <<NULL-object>) then {_revive_units = _re>
 Error Invalid number in expression
Error in expression <if (!isNull <NULL-object>) then {_revive_units = _re>
 Error position: <<NULL-object>) then {_revive_units = _re>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object>) then {_units = _units + [>
 Error position: <<NULL-object>) then {_units = _units + [>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object>) then {_units = _units + [>
 Error position: <<NULL-object>) then {_units = _units + [>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression
Error in expression <if(!isNull <NULL-object> && <NULL-object> in _units>
 Error position: <<NULL-object> && <NULL-object> in _units>
 Error Invalid number in expression

Share this post


Link to post
Share on other sites

Okay so this error is present upon JIP, in the desert 050 example mission too. Does anyone know of a version without errors upon JIP?

Share this post


Link to post
Share on other sites

i can't seem to get this script to work quite right. i'm trying to use it with the mobile respawn vehicle feature, and with some slight tweaking i got the demo mission working perfectly -- i'm able to deploy the MHQ vehicle's camo net and if i respawn i can choose either the "start" marker or the mobile respawn marker. but when i merge everything into the mission i've been working on, i just respawn at the "respawn_west" marker. i merged the relevant markers and triggers, and copied the necessary folders and text from the init.sqf and description.ext. i've reread the instructions a number of times now and everything appears to match the demo mission, yet in my own mission when i die there is no dialog of any sort of choice of respawn location; i just respawn at the respawn_west marker after 4 seconds.

edited to add that i also named my playable units as needed (s1, s2, etc).

Edited by HFTB

Share this post


Link to post
Share on other sites

i got the mobile respawn to work but it seems that the AI don't revive at all, even with soldierWB set to can_revive.

update: reading through this thread i found that you're supposed to use the actual classname of the units you are using, so i put my own in can_be_revived (BAF_Soldier_TL_DDPM) and my medic in can_revive ("BAF_Soldier_Medic_DDPM"). but when i click respawn and go unconscious, they don't react in any way and if i click 'call for help', it says that no potential revivers are available. anyone know what gives?

final edit: it seems that the issue stems from my use of bon's AI recruitment scripts. i'm guessing only the named playable AI are able to make use of the revive scripts, so if i start a mission with AI disabled and then recruit AI using bon's recruitment script, those AI aren't named and thus they aren't recognized as being able to heal. is there any way around this or has anyone else had any success integrating this with bon's AI recruitment?

Edited by HFTB

Share this post


Link to post
Share on other sites

There's a _mission_end_function in the revive init. If all players are unconcious the mission fails. Is there a similar condition or parameter that allows the mission to end when all players are out of lives? Currently, if I run out of lives, it says 'You Are Dead' and I just lay there.

Perhaps, do we have to create our own "0 lives" condition for the mission to end? Maybe some condition like:

{(paramsArray select 1) == 0} foreach playableUnits

idk if that could even be used as a condition, it's just a reference so maybe it's understandable for what I'm asking. How would I go about ending the mission when all playable units are out of lives?

---------- Post added at 09:36 ---------- Previous post was at 08:24 ----------

nvm i found the mission_over variable, I can just end the mission with another external script or trigger.

Share this post


Link to post
Share on other sites
There's a _mission_end_function in the revive init. If all players are unconcious the mission fails. Is there a similar condition or parameter that allows the mission to end when all players are out of lives? Currently, if I run out of lives, it says 'You Are Dead' and I just lay there.

Perhaps, do we have to create our own "0 lives" condition for the mission to end?

If you are using ACE this script has that function (and more):

http://forums.bistudio.com/showthread.php?110129-Revive-script-for-ACE2-Wounding-system-V1-5

Share this post


Link to post
Share on other sites

i sometimes have an issue where an AI squadmate will be attempting to revive either myself or another AI, but the unconscious character never actually revives. the first aid/reviing animation will complete and the unconscious characters model will sort of jerk as if it is going to go into the recovery/conscious animation (as with a successful revival), but then it snaps back into the unconscious animation. the AI will then attempt to revive again, and this seems to go on and on.

this doesn't always happen but i have no idea what does make it happen. has anyone else experienced this issue?

Share this post


Link to post
Share on other sites
has anyone else experienced this issue?

I have seen this issue also, not been able to pinpoint an exact repro though.

Share this post


Link to post
Share on other sites

JIP players get objNull errors. The errors stays on the screen for the entire duration of the mission.I haven't really looked to hard into it, but I think it has something to do with AI revive. Has anyone experienced an objNull error(s) upon JIP?

Share this post


Link to post
Share on other sites
i sometimes have an issue where an AI squadmate will be attempting to revive either myself or another AI, but the unconscious character never actually revives. the first aid/reviing animation will complete and the unconscious characters model will sort of jerk as if it is going to go into the recovery/conscious animation (as with a successful revival), but then it snaps back into the unconscious animation. the AI will then attempt to revive again, and this seems to go on and on.

this doesn't always happen but i have no idea what does make it happen. has anyone else experienced this issue?

Are you using ACE as well? If so try the fix headbug option in client-side settings once you are revived.

Share this post


Link to post
Share on other sites

ok, hopefully a simple question - I'm using CBA to allow players to choose a soldier class using CBA_fnc_switchPlayer, now players switch fine and can still be revived etc but the mobile_man can no longer deploy/stow the mobile respawn - anyone know how to re-enable that option..

EDIT : I should add the action returns on it's own if the player dies and respawns..but how to get it back before death..

Edited by Desrat

Share this post


Link to post
Share on other sites
Hi Guys,

I know AI can throw smoke when they are down, is it possible that in a MP game when you are down you automatically pop smoke, so other team members can find you and gives them a little cover.

Has anyone done this that could help?

Also Thanks Norrin Great script !!!!

Sorry to bring up an old thread but did we get an answer to this. I am using Norrins SUPERB script on a dedi server -10 man Mulit player CO-OP mission. The only playable side is Bluefor and there are no Blufor ai. I would really like it if when a teammate is lying on the ground waiting to be revived he automatically pops smoke to help his team mates locate him.

I can get it working in a test mission with a simple !alive check but when I use the revive script I cant. I think it may have something to do with when a player is waiting to be revived he is not actually "dead" as far as the game is concerned but I maybe completely wrong. And my scripting knowledge is very limited. I can see there is a part of the revive script that allows custon sqf

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) 

But I cant see something for "waiting to be revived"

Any help would be greatly appreciated

D

Share this post


Link to post
Share on other sites

if no AI is used and there are only players, try to create a trigger with in the activation field:

player getVariable "NORRN_unconscious"

in the revive scripts, the NORRN_unconscious variable is set to true when a player is... unconscious!

for AIs, that variable is: NORRN_AIunconscious

You can then with that trigger launch a script that creates smoke on the player's position.

But how can you make smoke visible by all other players in a MP game?

Headaches guaranted as "player" is local!

EDIT:

I edited the revive_player script (found in the revive_sqf folder) and inserted a line after line 833 of that script.

It works in the editor, I didn't test it on a dedicated server...

if (_name == player && !_dead) then 
	{	
                       [b]_smoke = "smokeshellblue" createVehicle _pos;[/b]
		_bee = "butterfly" createVehicle [_pos select 0, _pos select 1, (_pos select 2) + 1];
		[_bee, _pos] spawn NORRN_UNC_CAM;
	};

Edited by fleepee

Share this post


Link to post
Share on other sites

Hey, was wondering if maybe any of you can help me, I'm in the process of editing a wasteland mission and was wondering if its possible to get rid of some of the functionality of your script, mainly the spawn choice. Basically Wasteland has its own respawn menu when die, is it possible to say either bring that window up after X seconds, or to only have your script show once and after X seconds you are locked into respawning through Wastelands spawn menu. Thanks for your time and any help greatly appreciated.

Share this post


Link to post
Share on other sites
if no AI is used and there are only players, try to create a trigger with in the activation field:

player getVariable "NORRN_unconscious"

in the revive scripts, the NORRN_unconscious variable is set to true when a player is... unconscious!

for AIs, that variable is: NORRN_AIunconscious

You can then with that trigger launch a script that creates smoke on the player's position.

But how can you make smoke visible by all other players in a MP game?

Headaches guaranted as "player" is local!

EDIT:

I edited the revive_player script (found in the revive_sqf folder) and inserted a line after line 833 of that script.

It works in the editor, I didn't test it on a dedicated server...

if (_name == player && !_dead) then 
	{	
                       [b]_smoke = "smokeshellblue" createVehicle _pos;[/b]
		_bee = "butterfly" createVehicle [_pos select 0, _pos select 1, (_pos select 2) + 1];
		[_bee, _pos] spawn NORRN_UNC_CAM;
	};

Thanks for your help - WIll test on dedi andreport back

Share this post


Link to post
Share on other sites
if no AI is used and there are only players, try to create a trigger with in the activation field:

player getVariable "NORRN_unconscious"

in the revive scripts, the NORRN_unconscious variable is set to true when a player is... unconscious!

for AIs, that variable is: NORRN_AIunconscious

You can then with that trigger launch a script that creates smoke on the player's position.

But how can you make smoke visible by all other players in a MP game?

Headaches guaranted as "player" is local!

EDIT:

I edited the revive_player script (found in the revive_sqf folder) and inserted a line after line 833 of that script.

It works in the editor, I didn't test it on a dedicated server...

if (_name == player && !_dead) then 
	{	
                       [b]_smoke = "smokeshellblue" createVehicle _pos;[/b]
		_bee = "butterfly" createVehicle [_pos select 0, _pos select 1, (_pos select 2) + 1];
		[_bee, _pos] spawn NORRN_UNC_CAM;
	};

For anyone who is intrested this worked perfectly on MP dedi server - Thanks for your help!

---------- Post added at 05:16 PM ---------- Previous post was at 04:30 PM ----------

I did it to try, just after feeling that it wasn't realistic that a new full ammobox appears each time you deploy the camo.

So I created one, (named ammo_spawn and with a custom loadout launched in the init.sqf) near a game logic called ammo_pos.

You've got to edit 2 files from the revive_sqf/mobile folder;

The first one is "deploy_camo", and as my player's side is resistance, I edited the line 18:

then in the file "stow_camo", the line 14:

It seems to work!!

Does anyone know if this works on a dedi server?

Share this post


Link to post
Share on other sites
Does anyone know if this works on a dedi server?

It does.

With the loadout script launched in the init field of the ammo box. (allowdamage false)

But 95% of my missions now use the mobile respawn man, not vehicles...

Share this post


Link to post
Share on other sites
i sometimes have an issue where an AI squadmate will be attempting to revive either myself or another AI, but the unconscious character never actually revives. the first aid/reviing animation will complete and the unconscious characters model will sort of jerk as if it is going to go into the recovery/conscious animation (as with a successful revival), but then it snaps back into the unconscious animation. the AI will then attempt to revive again, and this seems to go on and on.

this doesn't always happen but i have no idea what does make it happen. has anyone else experienced this issue?

Yes this a severe issue with v.50...happens to me all the time...never used to happen to me in .48

In fact once it starts occurring it never stops for the remainder of the mission...had to play 2 hours the other day and the revive with AI never worked.

Share this post


Link to post
Share on other sites

hey guys, I made a Coop mission, included this revive script. In my mission I also have a camera scene script like this

http://www.youtube.com/watch?v=l9oRg2VDErw

instead that the scene starts in the beginning it starts when BLUFOR is in the trigger. After I included the revive script(which is awesome btw) my camera scene script doesnt work anymore.

is there a solution to this problem?

(sry if my english isnt good xD )

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  

×