Jump to content
Sign in to follow this  
fer

F2 Mission Development Framework (BAS f for ArmA 2)

Recommended Posts

Hi Fer

Dont know if this has been mentioned but there is a variable titleParam1 that is also being used by Norrins revive script. Can this be renamed to something else? Sorry if this is a repeat.

Share this post


Link to post
Share on other sites
Hi Fer

Dont know if this has been mentioned but there is a variable titleParam1 that is also being used by Norrins revive script. Can this be renamed to something else? Sorry if this is a repeat.

Sure. In fact, the following components have been re-developed to make use of the new MP Parameters class from BI:

Mission Conditions Selector

AI Skill Selector (coop)

AI Skill Selector (A&D)

Debug Mode

However, there is a bug with the new MP Parameters feature (you can read about it here: http://www.ofpec.com/forum/index.php?topic=34033.0), so this won't be in a new version of F2 until the bug is patched.

Share this post


Link to post
Share on other sites

F2_logo_135x135.gif

New Release: v2-0-4

About the new release

From the ReadMe.txt file:

2-0-4 | 09 SEP 2009

IMPORTANT NOTE: Requires ArmA2 (beta) version 1.03.59025 or better.

Added Construction Interface (COIN) Presets component.

Added Mission Maker Teleport component.

Updated Mission Conditions Selector component to work with multiple MP parameters method.

Updated Set AI Skill (coop) component to work with multiple MP parameters method.

Updated Set AI Skill (A&D) component to work with multiple MP parameters method.

Updated Debug Mode component to work with multiple MP parameters method.

Rebuilt stringtable.xml file.

Updated manual: Various changes (EN and RU versions).

About F2

The F2 Mission Development Framework (F2) is the successor to the popular BAS f mission development framework for ArmA (discussed in this thread). The new framework contains many of the features you know from BAS f, updated to work with ArmA 2, plus some new components which take advantage of the new game's special features.

For downloads and to find out more please see our online manual:

Huge thanks to all team members and contributors to F2 (and BAS f), as well as the testers from Shack Tactical.

* We're looking for a German translator, please PM Fer if interested.

Share this post


Link to post
Share on other sites

By the way, I'd recommend adding this to the common functions:

taskUpdate.sqf

_task = _this select 0;
_status = _this select 1;

_task setTaskState _status;
nul = [objNull, ObjNull, _task, _status] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf";

A short and simple one I saw at OFPEC that makes it a lot easier to manage tasks.

Just call it with for example nul = [taskObj1,"SUCCEEDED"] execVM "f\common\TaskUpdate.sqf" and you just saved lots of space and readability in a trigger :)

Edited by Inkompetent

Share this post


Link to post
Share on other sites

Any chance you can leave the Storm/Rain parameters intact? I really like using F2 but I've had to remove it as I can't have rain etc. I know why you left it out but if it's an option, it's up to the user whether they incorporate rain/storms etc.

Cheers,

Eth

PS : Or can you tell me how I can add it as an option?

Edited by BangTail

Share this post


Link to post
Share on other sites
Any chance you can leave the Storm/Rain parameters intact? I really like using F2 but I've had to remove it as I can't have rain etc.

Shame to think you're not using F2 b/c of one option! However, you make a valid point about choice, so the 'Storm' option will return in the next official release. In the meantime, here are some replacement files for F2 v2-0-4 which will re-add the 'Storm' option:

http://www.ferstaberinde.com/f2/downloads/f2_v2-0-4_storm_files.7z

Hope this helps.

Share this post


Link to post
Share on other sites
Shame to think you're not using F2 b/c of one option! However, you make a valid point about choice, so the 'Storm' option will return in the next official release. In the meantime, here are some replacement files for F2 v2-0-4 which will re-add the 'Storm' option:

http://www.ferstaberinde.com/f2/downloads/f2_v2-0-4_storm_files.7z

Hope this helps.

Well, after doing some more testing recently we've found that the rain element seems to be close/synched across clients. I don't know if we are just getting lucky or whether there have been some changes made but it definitely seems better than before.

I really appreciate you supplying those files :)

Cheers,

Eth

PS : I worded my OP incorrectly. I was still using F2, with the weather module disabled :)

Edited by BangTail

Share this post


Link to post
Share on other sites

i cant seem to get the coin to work, i changed everything exactly as you said to.

Share this post


Link to post
Share on other sites
i cant seem to get the coin to work, i changed everything exactly as you said to.

If you post a link to a downloadable copy of your mission I'll check out your COIN implementation (or PM me if you prefer).

Share this post


Link to post
Share on other sites

I am trying to get Norrins revive script working with the F2 - Mission Development Framework but am getting no joy. I was wondering if someone can help me out.

I am using the latest version of both.

description:

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

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

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

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

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

respawn = 1;
respawndelay = 3;

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

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 = "Debug Mode";
               values[] = {0,99};
               texts[] = {"Off","On"};
               default = 0;
       }; 

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

// 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;
       };   
       class f_param_weather
{
	title = "$STR_f_param_weather";
	values[] = {0,1,2,3};
	texts[] = {$STR_f_param_weather_Option0,$STR_f_param_weather_Option1,$STR_f_param_weather_Option2,$STR_f_param_weather_Option3};
	default = 0;
       };

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

// 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;
//	};
//	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;
//	};

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

// 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;
//	};
//	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;
//	};

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

};

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

// 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 - Gear Snippets
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

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

// ============================================================================================
// description.ext settings for revive
///////////////////////////////////////////////////////////////////////////////////////////
//respawn = "BASE";
//respawndelay = 4;
//disabledAI = 0;

#include "revive_sqf\dialogs\config.cpp"
#include "revive_sqf\dialogs\define.hpp"
#include "revive_sqf\dialogs\rev_cam_dialog.hpp"
#include "revive_sqf\dialogs\respawn_button_1.hpp"
#include "revive_sqf\dialogs\respawn_button_2.hpp"
#include "revive_sqf\dialogs\respawn_button_3.hpp"
#include "revive_sqf\dialogs\respawn_button_4.hpp"
#include "revive_sqf\dialogs\respawn_button_1b.hpp"
#include "revive_sqf\dialogs\respawn_button_1c.hpp"
#include "revive_sqf\dialogs\respawn_button_2b.hpp"
#include "revive_sqf\dialogs\respawn_button_3b.hpp"
#include "revive_sqf\dialogs\respawn_button_4b.hpp"
#include "revive_sqf\dialogs\respawn_button_1map.hpp"
#include "revive_sqf\dialogs\respawn_button_2map.hpp"
#include "revive_sqf\dialogs\respawn_button_3map.hpp"
#include "revive_sqf\dialogs\respawn_button_4map.hpp"
#include "revive_sqf\dialogs\OK_map.hpp"
#include "revive_sqf\dialogs\dead_cam_dialog.hpp"

///////////////////////////////////////////////////////////////////////////////////////////
//titleParam1 = "Time";
//valuesParam1[] = {-6, 0, 8, 13};
//defValueParam1 = 0;
//textsParam1[] = {"Morning", "Clear day", "Sundown", "Night"};
///////////////////////////////////////////////////////////////////////////////////////////
//titleParam1="Respawn type";
//valuesParam1[]={1,0,2};
//defvalueParam1=1;
//textsParam1[]={"Revive/Base","Revive only","Base only"};

titleParam2 = "Number of Revives"; 
valuesParam2[] = {2000,1000,20,10,7,5,4,3,2,1};
defValueParam2 = 1000; 
textsParam2[] = {"No Revive","Unlimited","20","10","7","5","4","3","2","1"};};
///////////////////////////////////////////////////////////////////////////////////////////

revive_init:

/*
 ARMA2 REVIVE SCRIPT - AI enabled or disabled

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

 Version:  0.3 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 				= 1;				//array no.54 - use alternate revive animation
_JIP_spawn_dialog 				= 1;				//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 = ["UnitUSMC_1Plt_PltCo","UnitUSMC_1Plt_PltSgt","UnitUSMC_1Plt_PltM","UnitUSMC_1Plt_PltR","UnitUSMC_1Plt_ASL","UnitUSMC_1Plt_AM","UnitUSMC_1Plt_A1FTL","UnitUSMC_1Plt_A1AR","UnitUSMC_1Plt_A1AAR","UnitUSMC_1Plt_A1RAT","UnitUSMC_1Plt_A2FTL","UnitUSMC_1Plt_A2AR","UnitUSMC_1Plt_A2AAR","UnitUSMC_1Plt_A2RAT","UnitUSMC_1Plt_A3FTL","UnitUSMC_1Plt_A3AR","UnitUSMC_1Plt_A3AAR","UnitUSMC_1Plt_A3R","UnitUSMC_1Plt_BSL","UnitUSMC_1Plt_BM","UnitUSMC_1Plt_B1FTL","UnitUSMC_1Plt_B1AR","UnitUSMC_1Plt_B1AAR","UnitUSMC_1Plt_B1RAT","UnitUSMC_1Plt_B2FTL","UnitUSMC_1Plt_B2AR","UnitUSMC_1Plt_B2AAR","UnitUSMC_1Plt_B2RAT","UnitUSMC_1Plt_B3FTL","UnitUSMC_1Plt_B3AR","UnitUSMC_1Plt_B3AAR","UnitUSMC_1Plt_B3R","UnitUSMC_1Plt_CSL","UnitUSMC_1Plt_CM","UnitUSMC_1Plt_C1FTL","UnitUSMC_1Plt_C1AR","UnitUSMC_1Plt_C1AAR","UnitUSMC_1Plt_C1RAT","UnitUSMC_1Plt_C2FTL","UnitUSMC_1Plt_C2AR","UnitUSMC_1Plt_C2AAR","UnitUSMC_1Plt_C2RAT","UnitUSMC_1Plt_C3FTL","UnitUSMC_1Plt_C3AR","UnitUSMC_1Plt_C3AAR","UnitUSMC_1Plt_C3R","UnitUSMC_1Plt_DSL","UnitUSMC_1Plt_DM","UnitUSMC_1Plt_D1FTL","UnitUSMC_1Plt_D1AR","UnitUSMC_1Plt_D1AAR","UnitUSMC_1Plt_D1RAT","UnitUSMC_1Plt_D2FTL","UnitUSMC_1Plt_D2AR","UnitUSMC_1Plt_D2AAR","UnitUSMC_1Plt_D2RAT","UnitUSMC_1Plt_D3FTL","UnitUSMC_1Plt_D3AR","UnitUSMC_1Plt_D3AAR","UnitUSMC_1Plt_D3R","UnitUSMC_MMG1G","UnitUSMC_MMG1AG","UnitUSMC_MMG1AM","UnitUSMC_MMG2G","UnitUSMC_MMG2AG","UnitUSMC_MMG2AM","UnitUSMC_MMG3G","UnitUSMC_MMG3AG","UnitUSMC_MMG3AM","UnitUSMC_MAT1G","UnitUSMC_MAT1AG","UnitUSMC_MAT1AM","UnitUSMC_MAT2G","UnitUSMC_MAT2AG","UnitUSMC_MAT2AM","UnitUSMC_MAT3G","UnitUSMC_MAT3AG","UnitUSMC_MAT3AM","UnitUSMC_HAT1G","UnitUSMC_HAT1AG","UnitUSMC_HAT1AM","UnitUSMC_HAT2G","UnitUSMC_HAT2AG","UnitUSMC_HAT2AM","UnitUSMC_HAT3G","UnitUSMC_HAT3AG","UnitUSMC_HAT3AM","UnitUSMC_ST1SN","UnitUSMC_ST1SP"];
// ==================================================================
// 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 					= param2;			//array no.38 - Number of lives per unit
_JIP_respawns					= [1000,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 					= 1;				//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 				= 1;				//array no.12 - no of respawn points (Max number 4)  
_Base_1 						= "base";			//array no.13 - spawn position names  
_Base_2 						= "";		//array no.14
_Base_3 						= "";		//array no.15
//_Base_4 						= "";	//array no.16 
_Base_free_respawn 				= [1,1,1,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 	= 1;				//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
_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
// ==================================================================
// 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			= 2000;				//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 	   			= 100;				//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 					= 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 						= 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 					= 1;				//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				="[_name,'USS Khe Sanh','chopper']execVm 'respawnSpecial\respawnSpecial.sqf';";  // 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 "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:

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

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

f_var_debugMode = 0;
if ((paramsArray select 0) == 99) then {f_var_debugMode = 1;};

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

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

f_missionMakerTeleport = 0;
[] execVM "f\common\f_missionMakerTeleport.sqf";


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

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

f_script_setLocalVars = [] execVM "f\common\f_setLocalVars.sqf";

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

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

[] execVM "briefing.sqf";

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

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

execVM "f\common\f_setMissionConditions.sqf";

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

// F2 - ShackTactical Group IDs
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

execVM "f\common\ShackTac_setGroupIDs.sqf";

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

// F2 - ShackTactical Fireteam Member Markers
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

execVM "f\common\ShackTac_setlocalFTMemberMarkers.sqf";

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

// F2 - ShackTactical Group Markers
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

execVM "f\common\ShackTac_setLocalGroupMarkers.sqf";

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

// F2 - Multiplayer Ending Controller 
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

f_endSelected = -1;
[] execVM "f\common\f_mpEndSetUp.sqf";

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

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

[] execVM "f\common\f_spect\specta_init.sqf";

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

// F2 - Disable BIS Conversations
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

player setVariable ["BIS_noCoreConversations", true];

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

// F2 - Automatic Body Removal
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

// f_removeBodyDelay = 180;
// f_doNotRemoveBodies = [];
// [] execVM "f\common\f_addRemoveBodyEH.sqf";

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

// F2 - Automatic Body Removal (FIFO)
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

// f_abrFIFOlength = 30;
// f_abrDistance = 150;
// f_abrFIFOmaxLength = 50;
// f_doNotRemoveBodies = [];
// ["fifo"] execVM "f\common\f_addRemoveBodyEH.sqf";
[] execVM "f\server\f_abrFIFO.sqf";

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

// F2 - Dynamic View Distance 
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

// f_viewDistance_default = 1250;
// f_viewDistance_tank = 2000;
// f_viewDistance_rotaryWing = 2500;
// f_viewDistance_fixedWing = 5000;
[] execVM "f\common\f_addSetViewDistanceEHs.sqf";

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

// F2 - Authorised Crew Check
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

// VehicleName addEventhandler ["GetIn", {[_this,[unitName1,UnitName2]] execVM "f\common\f_isAuthorisedCrew.sqf"}];

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

// F2 - Authorised Crew Type Check
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

VehicleName addEventhandler ["GetIn", {[_this,["UnitType1","UnitType2"]] execVM "f\common\f_isAuthorisedCrewType.sqf"}];

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

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

// [[GroupName],100,1] execVM "f\server\f_endOnCasualtiesCap.sqf";

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

// F2 - Casualties Cap (Advanced)
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

[[GroupName],100] execVM "f\server\f_casualtiesCapAdv.sqf";

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

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

// f_isFriendlyBLU = 1;
// f_isFriendlyRES = 1;
// f_isFriendlyOPF = 0;
// f_isFriendlyCIV = 1;
// [] execVM "f\common\f_setAISkill.sqf";

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

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

// f_isFriendlyToBLU_RES = 1;
// f_isFriendlyToBLU_CIV = 1;
[] execVM "f\common\f_setAISkillAD.sqf";

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

// F2 - Construction Interface (COIN) Presets
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)

// f_COINstopped = false;
[COINName,"UnitName",0,2500] execVM "f\common\f_COINpresets.sqf";

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

I get all the parameter options to select and the revive script is active because the welcome screen text from the revive_init appears when I preview the mission . But it just doesn't seem to work for me. If anybody could have look and see what I am doing wrong that would me much appreciated.

Share this post


Link to post
Share on other sites

Without having a chance to test with the actual mission files, all I can do right now is look at your code. From what you have pasted here, the issue may be to do with the fact that Norrin's script uses the old Param1/2 method of getting mission parameters, and F2 uses the new class-based approach (new in ArmA2 v1.04). Just for kicks, try the following two replacement files:

description.sqf

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

// F2 - Mission Header

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

class Header

{

gameType = Coop;

minPlayers = 1;

maxPlayers = 32;

};

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

// F2 - Respawn Settings

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

respawn = 1;

respawndelay = 3;

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

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 = "Debug Mode";

values[] = {0,99};

texts[] = {"Off","On"};

default = 0;

};

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

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

};

class f_param_weather

{

title = "$STR_f_param_weather";

values[] = {0,1,2,3};

texts[] = {$STR_f_param_weather_Option0,$STR_f_param_weather_Option1,$STR_f_param_weather_Option2,$STR_f_param_weather_Option3};

default = 0;

};

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

// Norrin's Revive Script

class norrin_numberOfRevives

{

title = "Number of Revives";

values[] = {2000,1000,20,10,7,5,4,3,2,1};

texts[] = {"No Revive","Unlimited","20","10","7","5","4","3","2","1"};

default = 1000;

};

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

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

// };

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

// };

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

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

// };

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

// };

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

};

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

// 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 - Gear Snippets

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

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

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

// description.ext settings for revive

///////////////////////////////////////////////////////////////////////////////////////////

//respawn = "BASE";

//respawndelay = 4;

//disabledAI = 0;

#include "revive_sqf\dialogs\config.cpp"

#include "revive_sqf\dialogs\define.hpp"

#include "revive_sqf\dialogs\rev_cam_dialog.hpp"

#include "revive_sqf\dialogs\respawn_button_1.hpp"

#include "revive_sqf\dialogs\respawn_button_2.hpp"

#include "revive_sqf\dialogs\respawn_button_3.hpp"

#include "revive_sqf\dialogs\respawn_button_4.hpp"

#include "revive_sqf\dialogs\respawn_button_1b.hpp"

#include "revive_sqf\dialogs\respawn_button_1c.hpp"

#include "revive_sqf\dialogs\respawn_button_2b.hpp"

#include "revive_sqf\dialogs\respawn_button_3b.hpp"

#include "revive_sqf\dialogs\respawn_button_4b.hpp"

#include "revive_sqf\dialogs\respawn_button_1map.hpp"

#include "revive_sqf\dialogs\respawn_button_2map.hpp"

#include "revive_sqf\dialogs\respawn_button_3map.hpp"

#include "revive_sqf\dialogs\respawn_button_4map.hpp"

#include "revive_sqf\dialogs\OK_map.hpp"

#include "revive_sqf\dialogs\dead_cam_dialog.hpp"

revive_init.sqf

/*

ARMA2 REVIVE SCRIPT - AI enabled or disabled

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

Version: 0.3 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 = 1; //array no.54 - use alternate revive animation

_JIP_spawn_dialog = 1; //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 = ["UnitUSMC_1Plt_PltCo","UnitUSMC_1Plt_PltSgt","UnitUSMC_1Plt_PltM","UnitUSMC_1Plt_PltR","UnitUSMC_1Plt_ASL","UnitUSMC_1Plt_AM","UnitUSMC_1Plt_A1FTL","UnitUSMC_1Plt_A1AR","UnitUSMC_1Plt_A1AAR","UnitUSMC_1Plt_A1RAT","UnitUSMC_1Plt_A2FTL","UnitUSMC_1Plt_A2AR","UnitUSMC_1Plt_A2AAR","UnitUSMC_1Plt_A2RAT","UnitUSMC_1Plt_A3FTL","UnitUSMC_1Plt_A3AR","UnitUSMC_1Plt_A3AAR","UnitUSMC_1Plt_A3R","UnitUSMC_1Plt_BSL","UnitUSMC_1Plt_BM","UnitUSMC_1Plt_B1FTL","UnitUSMC_1Plt_B1AR","UnitUSMC_1Plt_B1AAR","UnitUSMC_1Plt_B1RAT","UnitUSMC_1Plt_B2FTL","UnitUSMC_1Plt_B2AR","UnitUSMC_1Plt_B2AAR","UnitUSMC_1Plt_B2RAT","UnitUSMC_1Plt_B3FTL","UnitUSMC_1Plt_B3AR","UnitUSMC_1Plt_B3AAR","UnitUSMC_1Plt_B3R","UnitUSMC_1Plt_CSL","UnitUSMC_1Plt_CM","UnitUSMC_1Plt_C1FTL","UnitUSMC_1Plt_C1AR","UnitUSMC_1Plt_C1AAR","UnitUSMC_1Plt_C1RAT","UnitUSMC_1Plt_C2FTL","UnitUSMC_1Plt_C2AR","UnitUSMC_1Plt_C2AAR","UnitUSMC_1Plt_C2RAT","UnitUSMC_1Plt_C3FTL","UnitUSMC_1Plt_C3AR","UnitUSMC_1Plt_C3AAR","UnitUSMC_1Plt_C3R","UnitUSMC_1Plt_DSL","UnitUSMC_1Plt_DM","UnitUSMC_1Plt_D1FTL","UnitUSMC_1Plt_D1AR","UnitUSMC_1Plt_D1AAR","UnitUSMC_1Plt_D1RAT","UnitUSMC_1Plt_D2FTL","UnitUSMC_1Plt_D2AR","UnitUSMC_1Plt_D2AAR","UnitUSMC_1Plt_D2RAT","UnitUSMC_1Plt_D3FTL","UnitUSMC_1Plt_D3AR","UnitUSMC_1Plt_D3AAR","UnitUSMC_1Plt_D3R","UnitUSMC_MMG1G","UnitUSMC_MMG1AG","UnitUSMC_MMG1AM","UnitUSMC_MMG2G","UnitUSMC_MMG2AG","UnitUSMC_MMG2AM","UnitUSMC_MMG3G","UnitUSMC_MMG3AG","UnitUSMC_MMG3AM","UnitUSMC_MAT1G","UnitUSMC_MAT1AG","UnitUSMC_MAT1AM","UnitUSMC_MAT2G","UnitUSMC_MAT2AG","UnitUSMC_MAT2AM","UnitUSMC_MAT3G","UnitUSMC_MAT3AG","UnitUSMC_MAT3AM","UnitUSMC_HAT1G","UnitUSMC_HAT1AG","UnitUSMC_HAT1AM","UnitUSMC_HAT2G","UnitUSMC_HAT2AG","UnitUSMC_HAT2AM","UnitUSMC_HAT3G","UnitUSMC_HAT3AG","UnitUSMC_HAT3AM","UnitUSMC_ST1SN","UnitUSMC_ST1SP"];

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

// 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 = [1000,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 = 1; //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 = 1; //array no.12 - no of respawn points (Max number 4)

_Base_1 = "base"; //array no.13 - spawn position names

_Base_2 = ""; //array no.14

_Base_3 = ""; //array no.15

//_Base_4 = ""; //array no.16

_Base_free_respawn = [1,1,1,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 = 1; //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

_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

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

// 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 = 2000; //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 = 100; //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 = 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 = 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 = 1; //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 ="[_name,'USS Khe Sanh','chopper']execVm 'respawnSpecial\respawnSpecial.sqf';"; // 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 "revive_sqf\init_related_scripts.sqf";

if (true) exitWith {};

//Last edited 17/08/09

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

I've altered description.ext such that the 'number of revives' paramter is now defined using the class-based approach; accordingly, revive_init.sqf now looks for the paramter value using the new method, search for the code:

(paramsArray select 3);

Happily, Norrin is part of the F2 team. I think he's on vacation at the moment, but when he returns we'll look at ways to make F2 and Norrin's Revive Script work together seamlessly.

Share this post


Link to post
Share on other sites

@Fer thank you,

I'm still having trouble getting it to work though. I know your probably very busy but would it be O.k. if I sent you the whole mission folder?

Share this post


Link to post
Share on other sites
@Fer thank you,

I'm still having trouble getting it to work though. I know your probably very busy but would it be O.k. if I sent you the whole mission folder?

Sorry, but right now I'm really busy, so can only really help with issues that are very specific to the F2 code (and even then, I can't look at much until the weekend). I don't know Norrin's Revive script well at all. However, I will talk with Norrin ASAP, and will investigate ways of making both sets of code more compatible.

That said, there are a lot of talented scripters in this forum - perhaps someone else can post a solution?

Share this post


Link to post
Share on other sites

@Fer

Thanks anyway I completely understand, your rewritten .sqf files are much better than what I had. If I get it all working I'll post you the solution.

Share this post


Link to post
Share on other sites

Hi All,

I have successfully got Norrin's revive script v0.3c working with F2 v2-0-4 and Arma 2 v1.04 following Fer's example above (post 86).

A copy of my description.ext:-

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

// 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 = "BASE";

respawndelay = 4;

disabledAI = 0;

#include "revive_sqf\dialogs\config.cpp"

#include "revive_sqf\dialogs\define.hpp"

#include "revive_sqf\dialogs\rev_cam_dialog.hpp"

#include "revive_sqf\dialogs\respawn_button_1.hpp"

#include "revive_sqf\dialogs\respawn_button_2.hpp"

#include "revive_sqf\dialogs\respawn_button_3.hpp"

#include "revive_sqf\dialogs\respawn_button_4.hpp"

#include "revive_sqf\dialogs\respawn_button_1b.hpp"

#include "revive_sqf\dialogs\respawn_button_1c.hpp"

#include "revive_sqf\dialogs\respawn_button_2b.hpp"

#include "revive_sqf\dialogs\respawn_button_3b.hpp"

#include "revive_sqf\dialogs\respawn_button_4b.hpp"

#include "revive_sqf\dialogs\respawn_button_1map.hpp"

#include "revive_sqf\dialogs\respawn_button_2map.hpp"

#include "revive_sqf\dialogs\respawn_button_3map.hpp"

#include "revive_sqf\dialogs\respawn_button_4map.hpp"

#include "revive_sqf\dialogs\OK_map.hpp"

#include "revive_sqf\dialogs\dead_cam_dialog.hpp"

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

// ***BOLT-ON SCRIPT*** - MUSIC

#include "Cust_scripts\Sounds\Music\Music.cpp"

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

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 = "Debug Mode";

values[] = {0,99};

texts[] = {"Off","On"};

default = 0;

};

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

// 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_timeO fDay_Option1,$STR_f_param_timeOfDay_Option2,$STR_f _param_timeOfDay_Option3,$STR_f_param_timeOfDay_Op tion4,$STR_f_param_timeOfDay_Option5,$STR_f_param_ timeOfDay_Option6,$STR_f_param_timeOfDay_Option7};

default = 3;

};

class f_param_weather

{

title = "$STR_f_param_weather";

values[] = {0,1,2,3};

texts[] = {$STR_f_param_weather_Option0,$STR_f_param_weather _Option1,$STR_f_param_weather_Option2,$STR_f_param _weather_Option3};

default = 0;

};

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

// ***BOLT-ON SCRIPT*** - REVIVE, taken from description.ext settings for Norrin revive

class norrin_numberOfRevives

{

title = "Number of Revives";

values[] = {2000,1000,20,10,7,5};

texts[] = {"No Revive","Infinite - Cadet","20 - Easy ","10 - Normal","7 - Hard","5 - Extreme"};

default = 7;

};

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

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

// };

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

// };

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

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

// };

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

// };

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

};

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

// 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 - Gear Snippets

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

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

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

Copy of init.sqf:-

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

// F2 - Debug Mode

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

// WARNING: DO NOT DISABLE THIS COMPONENT

f_var_debugMode = 0;

if ((paramsArray select 0) == 99) then {f_var_debugMode = 1;};

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

// F2 - Mission Maker Teleport

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

f_missionMakerTeleport = 0;

[] execVM "f\common\f_missionMakerTeleport.sqf";

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

// ***BOLT-ON SCRIPT*** -

//cutRsc ["Picture1", "PLAIN", 10];

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

// ***BOLT-ON SCRIPT*** - REVIVE, initialise revive script (this next line is needed for revive script)

server execVM "revive_init.sqf";

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

// F2 - F2 Common Local Variables

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

// WARNING: DO NOT DISABLE THIS COMPONENT

f_script_setLocalVars = [] execVM "f\common\f_setLocalVars.sqf";

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

// F2 - Briefing

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

[] execVM "briefing.sqf";

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

// ***CUSTOM SCRIPT*** - TASK HINTS, used to activate the task hint notice in game.

mk_fTaskHint = compile (preprocessFileLineNumbers "Cust_scripts\Task_hints\fTaskHint.sqf");

sleep 6; // Used to pause the first task hint until the intro screen has finished.

player setCurrentTask TASK1; // When game starts this shows the player that TASK1 has been set as current task.

[TASK1] call mk_fTaskHint; // Shows the player that he received a new task.

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

// F2 - Mission Conditions Selector

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

//[] execVM "f\common\f_setMissionConditions.sqf";

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

// F2 - ShackTactical Group IDs

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

[] execVM "f\common\ShackTac_setGroupIDs.sqf";

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

// F2 - ShackTactical Fireteam Member Markers

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

[] execVM "f\common\ShackTac_setlocalFTMemberMarkers.sqf";

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

// F2 - ShackTactical Group Markers

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

[] execVM "f\common\ShackTac_setLocalGroupMarkers.sqf";

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

// F2 - Multiplayer Ending Controller

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

f_endSelected = -1;

[] execVM "f\common\f_mpEndSetUp.sqf";

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

// F2 - Kegetys Spectator Script

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

[] execVM "f\common\f_spect\specta_init.sqf";

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

// F2 - Disable BIS Conversations

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

player setVariable ["BIS_noCoreConversations", true];

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

// F2 - Automatic Body Removal

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

// f_removeBodyDelay = 180;

// f_doNotRemoveBodies = [];

// [] execVM "f\common\f_addRemoveBodyEH.sqf";

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

// F2 - Automatic Body Removal (FIFO)

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

// f_abrFIFOlength = 30;

// f_abrDistance = 150;

// f_abrFIFOmaxLength = 50;

// f_doNotRemoveBodies = [];

// ["fifo"] execVM "f\common\f_addRemoveBodyEH.sqf";

// [] execVM "f\server\f_abrFIFO.sqf";

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

// F2 - Dynamic View Distance

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

// f_viewDistance_default = 1250;

// f_viewDistance_tank = 2000;

// f_viewDistance_rotaryWing = 2500;

// f_viewDistance_fixedWing = 5000;

// [] execVM "f\common\f_addSetViewDistanceEHs.sqf";

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

// F2 - Authorised Crew Check

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

// VehicleName addEventhandler ["GetIn", {[_this,[unitName1,UnitName2]] execVM "f\common\f_isAuthorisedCrew.sqf"}];

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

// F2 - Authorised Crew Type Check

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

// VehicleName addEventhandler ["GetIn", {[_this,["UnitType1","UnitType2"]] execVM "f\common\f_isAuthorisedCrewType.sqf"}];

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

// F2 - Casualties Cap

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

// [[GroupName],100,1] execVM "f\server\f_endOnCasualtiesCap.sqf";

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

// F2 - Casualties Cap (Advanced)

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

// [[GroupName],100] execVM "f\server\f_casualtiesCapAdv.sqf";

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

// F2 - AI Skill Selector (coop)

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

// f_isFriendlyBLU = 1;

// f_isFriendlyRES = 1;

// f_isFriendlyOPF = 0;

// f_isFriendlyCIV = 1;

// [] execVM "f\common\f_setAISkill.sqf";

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

// F2 - AI Skill Selector (A&D)

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

// f_isFriendlyToBLU_RES = 1;

// f_isFriendlyToBLU_CIV = 1;

// [] execVM "f\common\f_setAISkillAD.sqf";

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

// F2 - Construction Interface (COIN) Presets

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

// f_COINstopped = false;

// [COINName,"UnitName",0,2500] execVM "f\common\f_COINpresets.sqf";

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

Remember to change the following in the revive_init.sqf:-

// REVIVE OPTIONS

_max_respawns = (paramsArray select 3);//array no.38 - Number of lives per unit

I am still experiencing problems with tasks completing in a MP situation though :confused: - still working on this one!!!

Would be awesome if we could get Norrin's revive script added to the F2 framework!!!!

:yay:

Thanks

Cool Breeze-ICON

Share this post


Link to post
Share on other sites

Hey Fer,

I haven't actually managed to copy the code error as I haven't seen it yet (Meaning my mate's died but I didn't hehe) but it appears the spectator script has an error as of 1.04.

Just a heads up :)

Eth

Share this post


Link to post
Share on other sites
I haven't actually managed to copy the code error as I haven't seen it yet (Meaning my mate's died but I didn't hehe) but it appears the spectator script has an error as of 1.04.

Please can you:

- Try and reproduce the error

- Post the error message here

- Upload a copy of the mission in which you encountered the error

- Post instructions on how to trigger the error

That will be super useful. Thanks!

Share this post


Link to post
Share on other sites

Hi fer, could you take a look at this proof of concept code I posted here, and let me know what you think of it. It might make dealing with mission parameters a lot easier for the developer and end-user.

Share this post


Link to post
Share on other sites
Please can you:

- Try and reproduce the error

- Post the error message here

- Upload a copy of the mission in which you encountered the error

- Post instructions on how to trigger the error

That will be super useful. Thanks!

Will try to do that tonight mate.

** EDIT - Sorry, this might have been on our end - I'm going to do some testing later and I'll let you know if it is a problem with F2 but I suspect I copied some code out of an old folder which damaged the script and I think I have fixed it :)

Edited by BangTail

Share this post


Link to post
Share on other sites
Hi fer, could you take a look at this proof of concept code I posted here, and let me know what you think of it. It might make dealing with mission parameters a lot easier for the developer and end-user.

Hi Mike84, thank you for the heads-up. I'll do my best to check this out at the weekend. It would be nice to avoid the whole index issue altogether, or at least make it less fragile.

EDIT - Sorry, this might have been on our end - I'm going to do some testing later and I'll let you know if it is a problem with F2 but I suspect I copied some code out of an old folder which damaged the script and I think I have fixed it :)

No worries. Please let us know (via this thread) if that was indeed the issue.

Share this post


Link to post
Share on other sites

No worries. Please let us know (via this thread) if that was indeed the issue.

Yep, it was my bad, it's working fine now :)

Cheers,

Eth

Share this post


Link to post
Share on other sites
Hi fer, could you take a look at this proof of concept code I posted here, and let me know what you think of it. It might make dealing with mission parameters a lot easier for the developer and end-user.

This looks really useful, thanks for sharing it. Do you mind if I integrate this into the next build of F2? You'll get full credits etc.

Share this post


Link to post
Share on other sites
This looks really useful, thanks for sharing it. Do you mind if I integrate this into the next build of F2? You'll get full credits etc.

Of course I won't mind it. I decided to post it so that hopefully all template makers would adopt this approach, which would make missions easier for the developers and the end-users :)

Share this post


Link to post
Share on other sites

F2_logo_135x135.gif

New Release: v2-0-5

About the new release

From the ReadMe.txt file:

2-0-5 | 30 SEP 2009

Added Trip Flare component.

Added processParamsArray.sqf file.

Updated Debug Mode component to use stringtable.xml and processParamsArray.sqf files.

Updated AI Skill (coop) component to use processParamsArray.sqf file.

Updated AI Skill (A&D) component to use processParamsArray.sqf file.

Updated Debug Mode component to use processParamsArray.sqf file.

Reinstated the 'storm' option in Mission Conditions Selector component.

Updated stringtable.xml file.

Updated manual to include screenshots for selected components.

Updated manual: Various changes (EN and RU versions).

About F2

The F2 Mission Development Framework (F2) is the successor to the popular BAS f mission development framework for ArmA (discussed in this thread). The new framework contains many of the features you know from BAS f, updated to work with ArmA 2, plus some new components which take advantage of the new game's special features.

For downloads and to find out more please see our online manual:

Huge thanks to all team members and contributors to F2 (and BAS f), as well as the testers from Shack Tactical.

* We're looking for a German translator, please PM Fer if interested.

Share this post


Link to post
Share on other sites
F2_logo_135x135.gif

New Release: v2-0-5

About the new release

From the ReadMe.txt file:

About F2

The F2 Mission Development Framework (F2) is the successor to the popular BAS f mission development framework for ArmA (discussed in this thread). The new framework contains many of the features you know from BAS f, updated to work with ArmA 2, plus some new components which take advantage of the new game's special features.

For downloads and to find out more please see our online manual:

Huge thanks to all team members and contributors to F2 (and BAS f), as well as the testers from Shack Tactical.

* We're looking for a German translator, please PM Fer if interested.

Nice :)

Tx mate.

Eth

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  

×