Jump to content
Sign in to follow this  
norrin

Revive Script

Recommended Posts

@Solar - mate you can only have one type of unit listed in the _can_be_revived and _can_be_revived_2 variables ie.

_can_be_revived = "SoldierWB";

not

_can_be_revived = "ACE_SF_FR_Assault","ACE_SF_FR_Corpsman","ACE_ usar my_sniper";

Don't quote me on this (as I haven't looked at the config.cpp of the ACE SF units) but you'll probably find that soldierWB will work for them as well so you could just try:

_can_be_revived = "soldierWB"; //array no.20
_can_be_revived_2 = ""; //array no.21

and see if that fixes the problem.

@Legis - did you get the 2nd PM re your mission as I accidentally deleted it after I sent it so I'm not sure if you'll ever get it.

Edited by norrin

Share this post


Link to post
Share on other sites

Hi Norrin,

I've located the problem! Once again Community Base Addon caused the issue. Here's what I did to verify it:

1. I set up ArmA II dedicated server + clients without CBA and without any mods that use extended eventhandler - the mobile respawn worked, in every mission, no matter what revive script version!

2. I set up ArmA II dedicated server + clients with my old CBA version (prior 0.3.0) and nothing worked!

3. I set up ArmA II dedicated server + clients with CBA 0.3.0 and my extended eventhandler using addons and the mobile respawn worked again.

So upgrading CBA helped in that case. However you have a look into it anyway. I only took care of the trigger not of the source of the problem. Maybe the problem occurs again in future versions again.

Share this post


Link to post
Share on other sites

I also have a problem with mobile respawn. Half of a mission it works fine. But then no matter where you place a tent the marker keeps standing at previous position and doesn't get deleted furthermore. And then you can keep moving the tent but players will be respawned at the same wrong position and it won't change anymore.

Share this post


Link to post
Share on other sites
I also have a problem with mobile respawn. Half of a mission it works fine. But then no matter where you place a tent the marker keeps standing at previous position and doesn't get deleted furthermore. And then you can keep moving the tent but players will be respawned at the same wrong position and it won't change anymore.

Just got a few questions for you

*Are you using the latest version of the revive script?

*If you are using the CBA addon is it up to date as Legislator believes that the mobile respawn bug he was getting was related to an out of date addon?

*Are you using any other addons that may be causing a conflict?

*Is there a script run half way through the mission or a new addon used at this point that might be conflicting with the revive script.

@tobmic - as far as I know the 0.42 version of the revive script seems to have fixed the "invisible man" bug: http://forums.bistudio.com/showpost.php?p=1540798&postcount=374

Share this post


Link to post
Share on other sites
Are you using the latest version of the revive script?

It's a good question. I don't know exact version. It is 0.4 but after the 4 there're no numbers. The ACE compatibility was just enabled in this version

If you are using the CBA addon is it up to date as Legislator believes that the mobile respawn bug he was getting was related to an out of date addon?

Last time it was happened on tuesday and my CBA was from weekend. Yesterday i've upgraded via six updater but i didn't test the tent yet.

Are you using any other addons that may be causing a conflict?

Only desert mercenaries.

Is there a script run half way through the mission or a new addon used at this point that might be conflicting with the revive script.

No.

Inspite of all those my problems I find your script one of a few arma community diamonds. I use it in almost all of my missions.

By the way, do you plan to localize Revive in different languages? If so, I can help you to make a translation of it into Russian. Furthermore, I've already done this but in code without stringtables.

Share this post


Link to post
Share on other sites

Is there any way to restore the medics ability to revive when he runs out? Ideally I'd like to be able to have Medics RTB and when at or near a Hospital/MASH they can restock and continue about their Medic duties.

Thanks in advance.

Share this post


Link to post
Share on other sites
Is there any way to restore the medics ability to revive when he runs out? Ideally I'd like to be able to have Medics RTB and when at or near a Hospital/MASH they can restock and continue about their Medic duties.

Thanks in advance.

Are you talking about running out of bandages and revive/medpacks?

If you are then a resupply of medical items can be obtained by players by going up to a MASH tent and using the "Take medical supplies" action. Playable AI are automatically resupplied if they are within 5 metres of a MASH tent.

Share this post


Link to post
Share on other sites

What do I put in the _can_revive line to make it so only USMC Corpsman can revive players? I have tried soldierWMedic, soldierWCopsman, USMC_Soldier_Medic. None of these work.

Thanks,

Derty

Edited by Derty

Share this post


Link to post
Share on other sites

Hi all.

How do I add say 2 points to the reviver each tijme they save someone?

My mission is rank based you see.

I tried using

player addscore2;

to heal.sqf ...

if (_reward_function == 1) then
{
_var = _name getVariable "NORRN_bonus_life";
_name setVariable ["NORRN_bonus_life", _var + 1, false];
       _name addscore 2;
       player addscore 2;
};
if (_QG_animation == 1) then
{
sleep 9;
player playMoveNow "ainvpknlmstpsnonwnondr_medic0";
sleep 9;
player playMoveNow "ainvpknlmstpslaywrfldnon_1";
detach _wounded;
       _name addscore 2;
       player addscore 2;

But on mp server this dosnt work.

Cheers,

Skiddy

Share this post


Link to post
Share on other sites

Should this revive script work to respawn with my weapons, magazine and my ace2 backpack?

When I try "Revive_TEST_042.utes" I dont respawn with anything else but my magazines....

Share this post


Link to post
Share on other sites

I just checked with the latest version of ACE v.272 (just in case they recently added something that would stuff-up the existing revive functionality) and it seems to be working fine. Following both respawn and revive you should have the weapons and the ruck sack you died with and the ruck should be packed with the weapons and ammo that were previously in there. Have you changed the revive_init.sqf in any way? As there are some settings in there that will change this behaviour. Maybe PM me a copy and I'll take a look.

@skiddy - according to the biki addscore "works only on server (dedicated or hosted) and has global effect, when used on client it has no effect in ArmA 2 (ver. 1.2)." So in the heal script you're going to need to put something like

player setVehicleInit "if (isServer) then {this addScore 2}";
processInitCommands;

Note this is untested and I'm feeling pretty crusty this morning so no promises it will work.

Edited by norrin

Share this post


Link to post
Share on other sites

Hi masters of Revive,

I'm using last version of F2 FrameWork with Revive 0.3e, during the preview mode in editor, with ten AI soldiers , I dont have problemas in script log error.

But, When I play the mission in MP dedicated server, with 1 player only, using AI disabled, I get this message on log error file:

Error in expression <
_max_respawns 					= (paramsArray select 3);			
_JIP_respawns					= [2,30]>
 Error position: <select 3);			
_JIP_respawns					= [2,30]>
 Error Zero divisor
File mpmissions\__CUR_MP.Chernarus\revive_init.sqf, line 60

My revive_init.sqf is:

/*
 ARMA2 REVIVE SCRIPT - AI enabled or disabled

 © SEPTEMBER 2009 - norrin (norrin@iinet.net.au)

 Version:  0.3e 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
// ==================================================================
// LIST OF PLAYABLE UNITS
NORRN_player_units = ["alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","bravo_1","bravo_2","bravo_3","bravo_4","bravo_5"];
// ==================================================================
// 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 3);			//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 				= 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","HMMWV_Base"]];	//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 				= 4;				//array no.12 - no of respawn points (Max number 4)  
_Base_1 						= "Mobile";			//array no.13 - spawn position names  
_Base_2 						= "BaseBravo";				//array no.14
_Base_3 						= "BaseAvancada";				//array no.15
_Base_4 						= "BaseInicial";				//array no.16 
_Base_free_respawn 				= [1,1,0,1];		//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 				= "Base";				//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 - 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 					= 3;				//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 					= 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 					= 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 						= 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 			= 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) 
// =====================================================================================================================
// 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];

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

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

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


How I Fix this problem?

Best Regards!!

Share this post


Link to post
Share on other sites

@D3lta - it sounds to me like something is missing from your description.ext - specifically the definition of the paramsArray 3. Check your description.ext and make sure that the required code is not commented out in this file. If you're not sure how how to do this then PM me your mission's description.ext file or post it here.

norrin

Share this post


Link to post
Share on other sites
@D3lta - it sounds to me like something is missing from your description.ext - specifically the definition of the paramsArray 3. Check your description.ext and make sure that the required code is not commented out in this file. If you're not sure how how to do this then PM me your mission's description.ext file or post it here.

norrin

OK master Norrin, this is my description.ext:

#include "R3F_ARTY_AND_LOG\desc_include.h"

// ============================================================================================

// F2 - Mission Header
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

class Header
{
gameType = Coop;
minPlayers = 1;
maxPlayers = 10;
};

// ============================================================================================

// F2 - Respawn Settings
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

respawn = 3;
respawndelay = 4;

// ============================================================================================

class Params
{

// ============================================================================================

// F2 - Debug Mode
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)
// WARNING: DO NOT DISABLE THIS COMPONENT

       class f_param_debugMode
       {
               title = "$STR_f_param_debugMode";
               values[] = {0,1};
               texts[] = {"Off","On"};
               default = 0;
               code = "f_var_debugMode = %1";
       }; 

// ============================================================================================

// F2 - Mission Conditions Selector
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

//        class f_param_timeOfDay
//        {
//                title = "$STR_f_param_timeOfDay";
//                values[] = {0,1,2,3,4,5,6,7};
//                texts[] = {$STR_f_param_timeOfDay_Option0,$STR_f_param_timeOfDay_Option1,$STR_f_param_timeOfDay_Option2,$STR_f_param_timeOfDay_Option3,$STR_f_param_timeOfDay_Option4,$STR_f_param_timeOfDay_Option5,$STR_f_param_timeOfDay_Option6,$STR_f_param_timeOfDay_Option7};
//                default = 3;
//                code = "f_param_timeOfDay = %1";
//        };   
//        class f_param_weather
//	{
//		title = "$STR_f_param_weather";
//		values[] = {0,1,2,3,4};
//		texts[] = {$STR_f_param_weather_Option0,$STR_f_param_weather_Option1,$STR_f_param_weather_Option2,$STR_f_param_weather_Option3,$STR_f_param_weather_Option4};
//		default = 0;
//		code = "f_param_weather = %1";
//        };

// ============================================================================================

// F2 - AI Skill Selector (coop)
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

//	class f_param_AISkill_Friendly
//	{
//		title = "$STR_f_param_AISkill_Friendly";
//		values[] = {0,1,2,3};
//		texts[] = {$STR_f_param_AISkill_Option0,$STR_f_param_AISkill_Option1,$STR_f_param_AISkill_Option2,$STR_f_param_AISkill_Option3};
//		default = 2;
//		code = "f_param_AISkill_Friendly = %1";
//	};
//	class f_param_AISkill_Enemy
//	{
//		title = "$STR_f_param_AISkill_Enemy";
//		values[] = {0,1,2,3};
//		texts[] = {$STR_f_param_AISkill_Option0,$STR_f_param_AISkill_Option1,$STR_f_param_AISkill_Option2,$STR_f_param_AISkill_Option3};
//		default = 2;
//		code = "f_param_AISkill_Enemy = %1";
//	};

// ============================================================================================

// F2 - AI Skill Selector (A&D)
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

//	class f_param_AISkill_BLUFOR
//	{
//		title = "$STR_f_param_AISkill_BLUFOR";
//		values[] = {0,1,2,3};
//		texts[] = {$STR_f_param_AISkill_Option0,$STR_f_param_AISkill_Option1,$STR_f_param_AISkill_Option2,$STR_f_param_AISkill_Option3};
//		default = 2;
//		code = "f_param_AISkill_BLUFOR = %1";
//	};
//	class f_param_AISkill_OPFOR
//	{
//		title = "$STR_f_param_AISkill_OPFOR";
//		values[] = {0,1,2,3};
//		texts[] = {$STR_f_param_AISkill_Option0,$STR_f_param_AISkill_Option1,$STR_f_param_AISkill_Option2,$STR_f_param_AISkill_Option3};
//		default = 2;
//		code = "f_param_AISkill_OPFOR = %1";
//	};

// ============================================================================================

// F2 - Norrin's Revive Respawn (Part 1)
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

class f_param_lives
{
title = "Number of Lives:";
values[] = {2000,1000,20,10,7,5};
texts[] = {"No Revive","Infinite - Cadet","20 - Easy ","10 - Normal","7  - Hard","5  - Extreme"};
default = 10;
code = "f_param_lives = %1";
};

// ============================================================================================

};

// ============================================================================================

// F2 - Kegetys Spectator Script
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

#include "f\common\f_spect\spectating.hpp"

// ============================================================================================

// F2 - Norrin's Revive Respawn (Part 2)
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

disabledAI = 1;
#include "f\revive\dialogs\revive.cpp"

// ============================================================================================

// F2 - Gear Snippets
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

// #include "f\common\f_gearSnippets.hpp"

// ============================================================================================

class RscTitles {

#include "R3F_ARTY_AND_LOG\desc_rsct_include.h"

// ============================================================================================

// F2 - Name Tags
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

// #include "f\common\f_recog\recogOverlay.hpp"

// ============================================================================================

};

// ============================================================================================

and this in my init.sqf:

// F2 - Norrin's Revive Respawn
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

server execVM "revive_init.sqf";

Share this post


Link to post
Share on other sites

@D3lta - Ok thanks for posting that. It looks like you only have 2 parameters defined in your paramsArray (f_param_debugMode and f_param_lives) in the description.ext, therefore you'll need to change the line in the revive_init.sqf that currently reads

_max_respawns = (paramsArray select 3);

to

_max_respawns = (paramsArray select 1);

as f_param_debugMode is paramsArray select 0 and f_param_lives is paramsArray select 1.

Hope this works,

norrin

Share this post


Link to post
Share on other sites
@D3lta - Ok thanks for posting that. It looks like you only have 2 parameters defined in your paramsArray (f_param_debugMode and f_param_lives) in the description.ext, therefore you'll need to change the line in the revive_init.sqf that currently reads
_max_respawns = (paramsArray select 3);

to

_max_respawns = (paramsArray select 1);

as f_param_debugMode is paramsArray select 0 and f_param_lives is paramsArray select 1.

Hope this works,

norrin

WOW!!! It's Ok now!!! Very Very Thanks!!!!!

Continue the excellent work!!!

Best Regards!! :)

Share this post


Link to post
Share on other sites

I realise the Revive Script is, as it 'says on the tin', for Multi-Player only but is there any way of enabling some of the features in single player missions?

Obviously the spawn side of the Script isn't really applicable but I dearly love to get some of the functionality of unconsciousness, bleeding, bandaging, loading onto vehicles and the abilities of the Playable AI into my Missions.

I've tried the BIS First Aid modules and ACE2 but this script really hits the mark in what i'd like to achieve.

Share this post


Link to post
Share on other sites
I realise the Revive Script is, as it 'says on the tin', for Multi-Player only but is there any way of enabling some of the features in single player missions?

Obviously the spawn side of the Script isn't really applicable but I dearly love to get some of the functionality of unconsciousness, bleeding, bandaging, loading onto vehicles and the abilities of the Playable AI into my Missions.

I've tried the BIS First Aid modules and ACE2 but this script really hits the mark in what i'd like to achieve.

Its quite possible with the new scripting commands in ArmA2 to make a single player revive system - so exactly the same functionality as already exists in the MP version - and its been on my to-do list for some time - unfortunately towards the bottom of the list, if i get a chance I might revisit it over the next couple of weeks.

Share this post


Link to post
Share on other sites
Its quite possible with the new scripting commands in ArmA2 to make a single player revive system - so exactly the same functionality as already exists in the MP version - and its been on my to-do list for some time - unfortunately towards the bottom of the list, if i get a chance I might revisit it over the next couple of weeks.

Please do. An SP revive system would be great.

Share this post


Link to post
Share on other sites
Its quite possible with the new scripting commands in ArmA2 to make a single player revive system - so exactly the same functionality as already exists in the MP version - and its been on my to-do list for some time - unfortunately towards the bottom of the list, if i get a chance I might revisit it over the next couple of weeks.

Thanks norrin, fantastic that your considering it at the very least. I think it could really add a lot to the single player experience, especially for those that find 'magic healing' and bullet wound casualties carrying on as normal a bit of an immersion breaker but equally don't like the outlandishly high and wholly unrealistic mortality rate imposed if its not used.

It would be great for the player and the AI to only be able to 'stabilise' a dying or wounded team member in the field then have to call in a MERT / IRT and get them transported back to a location in order to prevent their death. Given ARMA2 delivers such a realistic experience elsewhere I find it a little strange that when playing in SP we're quite happy to leave the bodies of our team-mates face down in the field where they fell! The Revive Script would certainly develop an area of the SP experience which is currently a bit lacking in my opinion. It may even inject a bit more of an attachment to our AI team members and a bit of urgency in trying and save them when they're hit. Failure conditions based on friendly casualties would then be a bit more interesting, forcing the player to make a genuine effort to effectively deal with casualties.

Share this post


Link to post
Share on other sites

Well you asked for it. Here's a pretty straight port of the revive scripts for SP. There's quite a few other code optimisations that could be done for the SP version but everything I've tried seems to be working so this will do for now. Eventually using this method it would be possible to make a one size fits all script that works in both single player and multiplayer.

Download

http://norrin.org/downloads/ArmA2/revive/SP/Revive_SP_TEST.utes.rar

The readMe containing instructions for using the script in your missions is in the archived mission folder.

Oh, if want to use the parameter option for selecting the number of revives then comment out or delete the line in the revive_init.sqf that looks like this

_max_respawns = 10;

and use the line that appears above this line without the comments, it should look like this

_max_respawns = (paramsArray select 1);

I've done this so you can preview in the editor without the associated description.ext problems.

One final thing, I've tried to make it more difficult to die from damage to your arms and legs so let me know if I need to tweak this aspect of the scripts further, whereas, head and body shots should hopefully work in an identical fashion to the way they work in vanilla ArmA2.

norrin

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  

×