-
Content Count
36 -
Joined
-
Last visited
-
Medals
Posts posted by Cool Breeze-ICON
-
-
Hi ACE2 guru's,
If I look at another player their unit type is displayed i.e. "Squad Leader", do you know how to turn this off and is it handled server or user side?
Thanks
Cool Breeze
-
Hi F2 guru's,
When running the ACE version and I look at another player their unit type is displayed i.e. "Squad Leader", do you know how to turn this off?
Thanks
Cool Breeze
-
Hi,
I have installed Six Updater 0.1.9 and gone through the web based install/update (option 1).
The first issue I have is that when the second dos window appears it tries to load the web page (http://localhost:16333/main) and fails. I manual load the following page http://127.0.0.1:16333/main. Not sure if this is causing other issues but it seems to work.
I follow the instructions and install CBA, ACE and ACEX. I load Arma 2 and ACE loads with version 0.1.182 :)
I need to update to the latest version and after pressing option 2 it tells me that there is nothing to update, see below.
Updater (v0.10.11) by Sickboy <sb_at_dev-heaven.net>Run with --help for help
WARNING: Please make sure anything ArmA related has been closed / shutdown, incl
explorer windows, etc
No parameters given, running the default
ArmA 2 Standard Distribution detected
Installation Path: C:\Program files\Bohemia Interactive\ArmA 2
Manager for: @CBA;@ACE;@ACEX
Processing:
= @CBA
Already installed, trying to update...
Updating... This might take a while, please wait.
Calculating checksums
Trying rsync://zeus2.zeus-community.net/rel/cba/.
Verifying Packed files...
Verifying Unpacked files...
No updates found
= @ACE
Already installed, trying to update...
Updating... This might take a while, please wait.
Calculating checksums
Trying rsync://64.34.164.115/rel/ace/.
Verifying Packed files...
Verifying Unpacked files...
No updates found
= @ACEX
Already installed, trying to update...
Updating... This might take a while, please wait.
Calculating checksums
Trying rsync://64.34.164.115/rel/acex/.
Verifying Packed files...
Verifying Unpacked files...
No updates found
Postprocessing:
Processing general tasks:
Created shortcut (in C:\Program files\Bohemia Interactive\ArmA 2): Play ArmA2 wi
th @CBA;@ACE;@ACEX.lnk
Ready!
Please press ENTER to exit
I think someone is telling me porky pies as the rest of my clan have version 0.1.184. :mad:
Hope someone can help? :D
Thanks
Cool Breeze
-
Hi Fer,
Am I right in believing that the standard re-spawn script does not re-spawn you back at base with your existing weapon load-outs?
If yes to above, then I have used the Revive/Re-spawn script and set it to no revive's. This is working ok and re-spawns me at base with weapon load-outs.
The problem I have is that I would like to use the AI skill selector and when I turn this function on the revive script does not work, instead when I select the no-revive option the game loads up and a hint tells me I have 2 lives.
Has anybody experienced this problem and does anyone have a solution???
Thanks
Cool Breeze
-
Hi Tajin,
I am having trouble cutting this in to my mission. Basically I would like to run coding that is in a players initialization line at mission start and then re-run the same coding after they re-spawn.
I have copied the t-respawn.sqf and have saved it in a folder within my mission folder, I also updated any reference to the "t-respawn.sqf" file.
if (isServer) then {_obj = _this select 0;
_time = _this select 1;
_delay = _this select 2;
_times = _this select 3;
_vinit = _this select 4;
_pos = getPos _obj;
_dmg = getDammage _obj;
_vup = vectorUp _obj;
_vdir = vectorDir _obj;
_fuel = fuel _obj;
_fire = canFire _obj;
_type = typeOf _obj;
_count = 0;
for [{_loop=0},{(_count <= _delay)},{_loop=_loop}] do
{
if ({alive _x} count crew _obj > 0) then {
_count = 0;
} else {
if (!canMove _obj) then {
_count = _count + 2;
};
if ((getPos _obj distance _pos) > 10) then {
_count = _count + 1;
};
if (_fire && !canFire _obj) then {
_count = _count + 1;
};
if (damage _obj > 0.95) then {
_count = _count + 3;
};
};
sleep 1;
};
_name = vehicleVarName _obj;
if (_name == "") then {
_name = "nul";
};
deleteVehicle _obj;
sleep _time;
if (_times != 0) then {
_times = _times - 1;
_new = _type createVehicle _pos;
_new setPos _pos;
_new setVectorDirAndUp [_vdir,_vup];
_new setDamage _dmg;
_new setFuel _fuel;
nul=[_new,_time,_delay,_times,_vinit] execVM "Cust_scripts\Respawn\t-respawn.sqf";
_new setVehicleInit format["%1 = this;%2;this setVehicleVarName '%1'",_name,_vinit];
processInitCommands;
};
The players initialization line was:-
GrpGOL_1Plt_1st_Squad = group this; nul = ["sl",this] execVM "f\common\@ShackTac_assignGear.sqf";I have now changed it to:-
nul=[this,20,0,-1,"GrpGOL_1Plt_1st_Squad = group this", "nul = ['sl',this] execVM 'f\common\@ShackTac_assignGear.sqf'"] execVM "Cust_scripts\Respawn\t-respawn.sqf";I tested this in the editor but no joy, eventually this will go on a dedicated server.
A couple of questions:-
1. Is this script ok to use for what I am after, if yes please can you help?
2. Will this/can this re-spawn the player back at base?
Go gentle with me!!! :bounce3:
Thanks
Cool Breeze
-
Thanks for that Norin,
But I need to be able to pull injured troops out of harms way so that medics can do their job, so should I:-
1. Use the revive script and add the battlefield simulation module, I think there maybe some problems with this though?
2. Not use revive script as I just want the re-spawn part and just re-spawn the old way and accept that players will have to check weapon load-outs when they re-spawn.
Do you have any suggestions?
Thanks
Cool Breeze
-
Hi All,
Can I drag/carry injured players if I set the game to "no revive"?
Thanks
Cool Breeze
-
Hi All,
Am I right in believing that the standard re-spawn script does not re-spawn you back at base with your existing weapon load-outs?
If yes to above, then I have used the Revive/Re-spawn script and set it to no revive's. This is working ok and re-spawns me at base with weapon load-outs.
The problem I have is that I would like to use the AI skill selector and when I turn this function on the revive script does not work. Has anybody experienced this problem and does anyone have a solution???
Thanks
Cool Breeze
-
Hi All,
For some reason the following setting in the description.ext file do not work correctly:-
respawn = 1;
If I am right in thinking that:-
1 = Respawn as a seagull
2 = Respawn just where you died (you will not keep your gear)
3 = Respawn at base marker
4 = Respawn in your group (if no AI slots are left, you become a seagull)
I have set this to 1 and tested it on a hosted PC, when I die I do not spawn as a seagull I get taken to the de-briefing screen?
If I set it to 2, I re-spawn at the insertion point with all my weapons.
If I set it to 3, I re-spawn at the insertion point with all my weapons.
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 = 0; //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 = 120; //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_DSL",
"UnitUSMC_1Plt_DM",
"UnitUSMC_1Plt_D1FTL",
"UnitUSMC_1Plt_D1AR",
"UnitUSMC_1Plt_D1AAR",
"UnitUSMC_1Plt_D2FTL",
"UnitUSMC_1Plt_D1RAT",
"UnitUSMC_1Plt_D2AR",
"UnitUSMC_1Plt_D2AAR",
"UnitUSMC_1Plt_D2RAT"
];
// ==================================================================
// WELCOME SCREEN
// This next line can be commented out or removed if it interferes with intro movies
//titleText ["COOL BREEZE-ICON PROUDLY PRESENTS\n\nTHE ROCK - PART 1\n\nicon-squad.com", "BLACK FADED", 0.5];
// ==================================================================
// REVIVE OPTIONS
_max_respawns = (paramsArray select 3);//array no.38 - Number of lives per unit
_JIP_respawns = [3,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 = 1; //was 2 //array no.12 - no of respawn points (Max number 4)
_Base_1 = "Insertion"; //array no.13 - spawn position names
_Base_2 = "Mobile"; //array no.14
_Base_3 = ""; //array no.15
_Base_4 = ""; //array no.16
_Base_free_respawn = [1,1,0,0]; //array no.36 - select whether to allow respawning at spawn points even if enemy troops are present (options OFF = 0, ON = 1)
_respawn_at_base_addWeapons = 0; //array no.11 - unit respawns with weapons it commenced the mission with
_respawn_at_base_magazines = []; //array no.34 - If using the respawn_at_base_addWeapons option then place the magazine and weapon
_respawn_at_base_weapons = []; //array no.35 types in the following arrays, if left blank respawns with weapons from mission start
_respawn_position = 2; //array no.28 - 0 - respawn at base_1; 1 - the closest enemy free respawn point; 2 - players choice; and 3 - dies
_respawnAtBaseWait = [1,10]; //set at 300 for GOL //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; //was 1 //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 = UnitUSMC_1Plt_DM; //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 = 1; //array no.1 - whether a respawn dialog appears when all players are unconscious (_all_dead_player = 1)
_respawn_button_timer = 120; //array no.25 - Time until respawn button appears (0 = approx. 12 seconds), NB: Set to a high number like 100000 seconds if you do not want
_distance_to_friend = 250; //array no.26 - If the closest friendly unit is further than this distance away trigger respawn dialog
_all_dead_player = 0; //array no.56
_all_dead_distance = 10000; //array no.57 - whether a respawn dialog appears when all players within a specified distance are unconscious (_all_dead_player = 1)
// ==================================================================
// Bonus life for aiding team mates function
_reward_function = 1; //array no.96 - specify whether a unit receives bonus lives for reviving other players
_revives_required = 1; //array no.97 - Number of revives required before recieving a bonus life
// ==================================================================
// Team kill function
_team_kill_function = 1; //array no.98 - specify whether a unit loses a life for killing team mates
_no_team_kills = 1; //array no.99 - Number of teamkills before punishment
// ==================================================================
// CONFIGURABLE OPTIONS FOR HEAL YOURSELF FUNCTION
_heal_yourself = 1; //array no.8 - whether a unit can heal damage to itself
_no_of_heals = 1; //array no.29 - Number of heals that each player gets during a mission
_lower_bound_heal = 0.1; //array no.30 - The damage level range between which the heal action becomes available
_upper_bound_heal = 0.8; //array no.31
// ==================================================================
// AI REVIVE BEHAVIOUR OPTIONS
_goto_revive = 0; //array no. 9 - closest AI automatically moves to revive a downed team mate
_AI_smoke = 0; //array no. 40 - if available reviving AI throws smoke on downed AI position
_AI_aware = 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 = 0; //array no.93 - should the respawned player drop his weapons where he died?
_cadaver = 0; //array no.94 - should the respawned player's body remain there?
_bury_timeout = 12; //array no.95 - if drop weapons OR player body, how long before the body is buried?
// 0=maximum (1200s) , n=seconds up to 1200s (hard coded)
// ==================================================================
// USER CODE - eg. NORRNCustonexec1="execvm ""myscript.sqf"";hint ""myoutput"";"
NORRNCustomExec1 =""; // Exec1 occurs following being revived
NORRNCustomExec2 =""; // Exec2 occurs when you team kill
NORRNCustomExec3 =""; // Exec3 occurs when you spawn at base
NORRNCustomExec4 =""; // Exec4 occurs when you try and spawn at base but it is still occupied
NORRNCustomExec5 =""; // Must use variables: MAP_r_rejoin (false - first time,
// true - rejoining the server, and
// MAP_r_no_lives - number of lives if you rejoin server)
// =====================================================================================================================
// DO NOT MODIFY THE FOLLOWING CODE
// =====================================================================================================================
NORRN_revive_array = [];
NORRN_revive_array = [_mission_end_function,_all_dead_dialog,_JIP_spawn_dialog,_nearest_teammate_dialog,_unconscious_markers,_follow_cam,_call_out_function,_revive_timer,
_heal_yourself,_goto_revive,_unconscious_invincibility,_respawn_at_base_addWeapons,_no_respawn_points,_Base_1,_Base_2,_Base_3,_Base_4,_time_b4_JIP_spawn_dialog,
_can_revive,_can_revive_2,_can_be_revived,_can_be_revived_2,_no_enemy_sides,_enemy_side_1,_enemy_side_2,_respawn_button_timer,_distance_to_friend,
_revive_time_limit,_respawn_position,_no_of_heals,_lower_bound_heal,_upper_bound_heal,_follow_cam_distance,_goto_revive_distance,_respawn_at_base_magazines,
_respawn_at_base_weapons, _Base_free_respawn, _revive_damage, _max_respawns, _unconscious_drag,_AI_smoke,_visible_timer,_allied_side_1,_allied_side_2,_follow_cam_team,
_water_dialog, _unconscious_music, _enemy_units_1, _enemy_units_2, _AI_aware,_AI_cover,_mobile_spawn,_mobile_base_start,_mobile_man,_altUnc_animation,_top_view_height,
_all_dead_player,_all_dead_distance,_AI_dismount,_call_for_AI_help,_mobile_type,_load_wounded,_perpetual_server,_JIP_respawns,_caseVAC,_mediVAC,_chance_ofDeath,_dualTimer,
_respawnAtBaseWait,_objectiveBasedRP,_mobile_base2_start,_mobile_man2,_can_revive_3,_can_revive_4,_can_be_revived_3,_can_be_revived_4,_medic_1,_medic_2,_medic_3,_medic_4,
_medpacks,_stabilisation,_bleeding,_medic_medpacks,_unit_medpacks,_medic_bandages,_unit_bandages,_stabTime_tillDeath,_enemy_side_3,_enemy_side_4,
_allied_side_3,_allied_side_4,_deadSpectator_cam,_drop_weapons,_cadaver,_bury_timeout,_reward_function,_revives_required,_team_kill_function,_no_team_kills,_medic_stable, _unit_stable];
// 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 'revive_sqf\rPrn.sqf'}
description.ext
// ====================================================================================
// F2 - Process ParamsArray
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)
// WARNING: DO NOT DISABLE THIS COMPONENT
f_processParamsArray = [] execVM "f\common\f_processParamsArray.sqf";
// ====================================================================================
// F2 - Disable Saving and Auto Saving
// Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)
enableSaving [false, false];
// ====================================================================================
// 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";
// ================================================================================
F2 - Norrin's Revive Respawn
Credits: Please see the F2 online manual (http://www.ferstaberinde.com/f2/en/)
server execVM "revive_init.sqf";
// ====================================================================================
Can anyone help?
Cool Breeze
-
Hi Fer/Galzohar
I re-extracted the latest version again and swapped out one of the weapons. I opened the mission in editor and re-saved then previewed the mission. At first nothing then after 10-15sec I hear "shit out of ammo"; success!!! I guess it just takes time to filter through all units in the F2 template.
I have now successfully started adding and modifying kit for my new mission.
Thanks
Cool Breeze
-
Hi All,
Has anybody had issue's with the "@ShackTac_assignGear.sqf" as it doesn't seem to be working for me.
I have the latest version of F2 and I am simply changing the USMC equipment for the "_rifleGL" to "M16A4_GL" from "M4A1_HWS_GL".
i.e. _rifleGL = "M16A4_GL";
When I preview this in the editor as an FTL nothing has changed?
Can anyone help?
Thanks
Cool Breeze
-
Hi All,
Just an update on this. I have used the attach to code to attach an ammo crate to the CRRC. Works well and looks great!
Add the following into the initialization field:-
clearWeaponCargo this; clearMagazineCargo this; NAMEOFAMMOCRATE attachTo [NAMEOFBOAT, [0,-0.4,-0.3],""];
Ammo crate type was "Local basic ammo".
Thanks
Cool Breeze
-
Hi Psykedeeli,
All you need to do is copy the following into a new text file and call it "prep_backpack.sqf":-
_weaprespawn = if (count _this > 0) then {_this select 0} else {false};
BIS_fnc_arrayPush = compile preprocessFileLineNumbers "\ca\modules\Functions\arrays\fn_arrayPush.sqf";
// Taken from the script x_functions2.sqf
// The x_functions2.sqf script has been made by Xeno for his domination pack.
XfGetDisplayName = {
private ["_obj_name", "_obj_kind", "_cfg"];
_obj_name = _this select 0;_obj_kind = _this select 1;
_cfg = (switch (_obj_kind) do {case 0: {"CfgVehicles"};case 1: {"CfgWeapons"};case 2: {"CfgMagazines"};});
getText(configFile >> _cfg >> _obj_name >> "displayName")
};
// Taken from the script x_setupplayer.sqf
// The x_setupplayer.sqf script has been made by Xeno for his domination pack.
private ["_p", "_pos", "_trigger"];
_p = player;
_pos = position _p;
player_backpack = [];
prim_weap_player = "";
pbp_id = -9999;
d_backpack_helper = [];
prim_weap_player = primaryWeapon _p;
_s = format ["%1 to Backpack", [prim_weap_player,1] call XfGetDisplayName];
if (prim_weap_player != "" && prim_weap_player != " ") then {
pbp_id = _p addAction [_s, "Cust_scripts\Backpack\x_backpack.sqf",[],-1,false];
};
// No Weapon fix for backpack
_trigger = createTrigger["EmptyDetector" ,_pos];
_trigger setTriggerArea [0, 0, 0, false];
_trigger setTriggerActivation ["NONE", "PRESENT", true];
_trigger setTriggerStatements["primaryWeapon player != prim_weap_player && primaryWeapon player != ' '","prim_weap_player = primaryWeapon player;if (pbp_id != -9999 && count player_backpack == 0) then {player removeAction pbp_id;pbp_id = -9999;};if (pbp_id == -9999 && count player_backpack == 0 && prim_weap_player != '' && prim_weap_player != ' ') then {pbp_id = player addAction [format ['%1 to Backpack', [prim_weap_player,1] call XfGetDisplayName], 'Cust_scripts\Backpack\x_backpack.sqf',[],-1,false];};",""];
[_weaprespawn] spawn {
private ["_weaprespawn", "_p", "_weapons", "_magazines", "_primw", "_muzzles", "_s"];
_weaprespawn = _this select 0;
while {true} do {
waitUntil {!alive player};
_p = player;
if (_weaprespawn && isNil "NORRN_revive_array") then {
_weapons = weapons _p;
_magazines = magazines _p;
};
if (pbp_id != -9999) then {
_p removeAction pbp_id;
pbp_id = -9999;
};
waitUntil {alive player};
_p = player;
if (_weaprespawn && isNil "NORRN_revive_array") then {
removeAllItems _p;
removeAllWeapons _p;
{_p addMagazine _x} forEach _magazines;
{_p addWeapon _x} forEach _weapons;
};
if (count d_backpack_helper > 0) then {
{_p addMagazine _x} forEach (d_backpack_helper select 0);
{_p addWeapon _x} forEach (d_backpack_helper select 1);
d_backpack_helper = [];
};
_primw = primaryWeapon _p;
if (_primw != "") then {
_p selectWeapon _primw;
_muzzles = getArray(configFile>>"cfgWeapons" >> _primw >> "muzzles");
_p selectWeapon (_muzzles select 0);
};
if (count player_backpack == 0) then {
if (primaryWeapon _p != "" && primaryWeapon _p != " ") then {
_s = format ["%1 to Backpack", [primaryWeapon _p,1] call XfGetDisplayName];
if (pbp_id == -9999) then {
pbp_id = _p addAction [_s, "Cust_scripts\Backpack\x_backpack.sqf",[],-1,false];
};
};
} else {
_s = format ["Weapon %1", [player_backpack select 0,1] call XfGetDisplayName];
if (pbp_id == -9999) then {
pbp_id = _p addAction [_s, "Cust_scripts\Backpack\x_backpack.sqf",[],-1,false];
};
};
};
};
Then copy the following into another new text file and call it "x_backpack.sqf":-
// by Xeno
private ["_p"];
_p = player;
_p removeAction pbp_id;
if (count player_backpack == 0) then {
_primary = primaryWeapon _p;
if (_primary != "") then {
_mag_types = getArray(configFile>> "cfgWeapons" >> _primary >> "magazines");
_magazines = magazines _p;
_mags_backpack = [];
{
if (_x in _mag_types) then {_mags_backpack = _mags_backpack + [_x]};
} forEach _magazines;
_muzzles = getArray(configFile>> "cfgWeapons" >> _primary >> "muzzles");
if (count _muzzles == 2) then {
_mag_types = getArray(configFile>> "cfgWeapons" >> _primary >> (_muzzles select 1) >> "magazines");
{
if (_x in _mag_types) then {_mags_backpack = _mags_backpack + [_x]};
} forEach _magazines;
};
player_backpack = [_primary, _mags_backpack];
_weapons = weapons _p;
_pistol = "";
{
scopeName "pistolsearch";
_base = inheritsFrom (configFile >> "cfgWeapons" >> _x);
for "_xs" from 1 to 3 do {
if (configName _base == "Pistol") then {
_pistol = _x;
breakOut "pistolsearch";
};
_base = inheritsFrom (configFile >> "cfgWeapons" >> (configName _base));
};
} forEach _weapons;
if (_pistol != "") then {
_p removeWeapon _pistol;
};
{
_p removeMagazine _x;
} forEach _mags_backpack;
_p removeWeapon _primary;
_anim = animationState _p;
WaitUntil {animationState player != _anim};
_s = format ["Weapon %1", _primary];
if (_pistol != "") then {
_p addWeapon _pistol;
_p selectWeapon _pistol;
};
pbp_id = _p addAction [_s, "Cust_scripts\Backpack\x_backpack.sqf",[],-1,false];
} else { // has no primary
};
} else { // switch weapon
_primary = primaryWeapon _p;
if (_primary == "") then {
{
_p addMagazine _x;
} forEach (player_backpack select 1);
_p addWeapon (player_backpack select 0);
_muzzles = getArray(configFile>>"cfgWeapons" >> (player_backpack select 0) >> "muzzles");
_p selectWeapon (player_backpack select 0);
_p selectWeapon (_muzzles select 0);
_s = format ["%1 to Backpack", (player_backpack select 0)];
player_backpack = [];
_p removeAction pbp_id;
pbp_id = _p addAction [_s, "Cust_scripts\Backpack\x_backpack.sqf",[],-1,false];
} else {
_mag_types = getArray(configFile>> "cfgWeapons" >> _primary >> "magazines");
_magazines = magazines _p;
_mags_backpack = [];
{
if (_x in _mag_types) then {_mags_backpack = _mags_backpack + [_x]};
} forEach _magazines;
_muzzles = getArray(configFile>> "cfgWeapons" >> _primary >> "muzzles");
if (count _muzzles == 2) then {
_mag_types = getArray(configFile>> "cfgWeapons" >> _primary >> (_muzzles select 1) >> "magazines");
{
if (_x in _mag_types) then {_mags_backpack = _mags_backpack + [_x]};
} forEach _magazines;
};
{
_p removeMagazine _x;
} forEach _mags_backpack;
_weapons = weapons _p;
_pistol = "";
{
scopeName "pistolsearch2";
_base = inheritsFrom (configFile >> "cfgWeapons" >> _x);
for "_xs" from 1 to 3 do {
if (configName _base == "Pistol") then {
_pistol = _x;
breakOut "pistolsearch2";
};
_base = inheritsFrom (configFile >> "cfgWeapons" >> (configName _base));
};
} forEach _weapons;
if (_pistol != "") then {
_p removeWeapon _pistol;
};
_p removeWeapon _primary;
sleep 1;
_anim = animationState _p;
WaitUntil {animationState player != _anim};
{
_p addMagazine _x;
} forEach (player_backpack select 1);
if (_pistol != "") then {
_p addWeapon _pistol;
};
_p addWeapon (player_backpack select 0);
_muzzles = getArray(configFile>> "cfgWeapons" >> (player_backpack select 0) >> "muzzles");
_p selectWeapon (player_backpack select 0);
_p selectWeapon (_muzzles select 0);
player_backpack = [_primary, _mags_backpack];
_s = format ["Weapon %1", _primary];
pbp_id = _p addAction [_s, "Cust_scripts\Backpack\x_backpack.sqf",[],-1,false];
};
};
if (true) exitWith {};
Save both of these files in a new folder in your mission folder as follows:-
\MISSION_NAME\Cust_scripts\Backpack\
NOTE:- I HAVE STRUCTURED MY FOLDERS DIFFERENTLY THAN NORRIN ORIGINALLY INTENDED. SEARCH THROUGH "x_backpack.sqf" TO SEE FILE LOCATIONS.
Finally in you mission create a trigger as follows:-
ACTIVATION = NONE
SET TO = REPEATEDLY
TYPE = NONE
CONDITION = local player
ON ACT. = handle = [true] execVM "Cust_scripts\Backpack\prep_backpack.sqf";
Finish,
:yay:
Hope this helps,
Thanks
Cool Breeze-ICON
-
Hi Shk,
Ok, tried the modification out and my findings are:-
1. I had to re-arrange tasks in the init.sqf file in ascending order to show in the correctly order in the briefing screen. This was no issue and actual makes more sense.
2. Using the code bellow now display's the fancy task hint with task title once it has been completed which is good.
nul = ["Task1","Succeeded"] call TASKMASTER_upd; objTask1 = "Succeeded"; publicVariable "objTask1"3. There is no hint at the start of the mission telling you that task 1 has been assigned.
4. For some reason there is still an issue where once task 1 has been completed it assigns task 2 before showing you that task 1 is accomplished.
Hope this helps again, you are very close.
I will upload my mission and post you the link.
Thanks
Cool Breeze-ICON
-
Hi Shk,
I have added your code to my trigger and had to re-order the code to show the task hint as follows:-
null = [objNull, objnull, objTask1, "SUCCEEDED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf"; objTask1 = "Succeeded"; publicVariable "objTask1";The hint display's but it reads "TASK ACCOMPLISHED: any". Obviously "any" should be replaced with task title.
Hope this helps,
Cool Breeze-ICON
-
Hi Shk,
Thanks for the basic mission very helpful. Just hosted a game with a friend and all tasks completed successfully.

I have 2 requests:-
1. I would now like to start the mission with the 1st task set as current task and once the 1st task has been completed task 2 automatically set as current and so on.
2. I would like to use the fancy hints as detailed in post http://forums.bistudio.com/showthread.php?t=73424.
Hope you can help. :bounce3::bounce3::bounce3:
Thanks
Cool Breeze-ICON
-
Hi Shk,
Ok, I now have several tasks working but I would like to start the mission with the 1st task set as current task and once the 1st task has been completed task 2 automatically set as current and so one.
Thanks
Cool Breeze-ICON
-
Shk,
Is this the Holy Grail, I am struggling getting my task’s to update with my co-op mission when I host the mission using my PC as the server???
Will this fix my problem??
Thanks
Cool Breeze-ICON
-
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!!!!

Thanks
Cool Breeze-ICON
-
The editor replaces "spaces" with a "%" character, this shouldn't be an issue; apart from visually. You can always use "_" as a substitute to "space".
Type the name of the mission as you want to see it into the "name" field within the "intel" screen in the mission editor.
-
@ Leving,
Basically my mission tasks are set 1 to 6 at the start. Then when task 5 has been completed the player activates a trigger cancelling task 6 and adds another task 7.
This is still work in progress but should still help.
Below is an extract from my brief.sqf:-
TASK6 = player createSimpleTask ["TASK6"];TASK6 setSimpleTaskDescription ["blaaaaaaaa <marker name=mkrExtraction'>Extract</marker> aaaaaaaaaaaaaaaaaaaaaa.", "6. Extraction", "Extraction];
TASK6 setSimpleTaskDestination (getMarkerPos "mkrExtraction");
TASK5 = player createSimpleTask ["TASK5"];
TASK5 setSimpleTaskDescription ["Locate and destroy the <marker name=mkrTASK5'>east</marker> anti-aircraft battery.", "5. Destroy the east anti-aircraft battery", "Destroy east anti-aircraft battery];
TASK5 setSimpleTaskDestination (getMarkerPos "mkrTASK5");
TASK4 = player createSimpleTask ["TASK4"];
TASK4 setSimpleTaskDescription ["Locate and destroy the <marker name=mkrTASK4'>anti-air</marker> radar module.", "4. Destroy anti-air radar module", "Destroy anti-air radar module];
TASK4 setSimpleTaskDestination (getMarkerPos "mkrTASK4");
TASK3 = player createSimpleTask ["TASK3"];
TASK3 setSimpleTaskDescription ["Recon possible AA site on the <marker name=mkrTASK3'>south</marker> of Utes.", "3. Recon the south anti-aircraft battery site", "Recon the anti-aircraft battery site];
TASK3 setSimpleTaskDestination (getMarkerPos "mkrTASK3");
TASK2 = player createSimpleTask ["TASK2"];
TASK2 setSimpleTaskDescription ["Locate and destroy the <marker name=mkrTASK2'>west</marker> anti-aircraft battery.", "2. Destroy the west anti-aircraft battery", "Destroy west anti-aircraft battery];
TASK2 setSimpleTaskDestination (getMarkerPos "mkrTASK2");
TASK1 = player createSimpleTask ["TASK1"];
TASK1 setSimpleTaskDescription ["<marker name=mkrInsertion'>Insert</marker> via zodiac and re-supply at weapons cache as required.", "1. Insertion", "Insertion];
TASK1 setSimpleTaskDestination (getMarkerPos "mkrInsertion");
I am also using fancy task hints. The following extract is taken from my init.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.
The following extracts are saved in a folder:-
"yourmissionname\Cust_scripts\Task_hints"
Save as "TASK1_completed.sqf"
TASK1 setTaskState "SUCCEEDED"; // Sets the task state.//"mkrInsertion" setMarkerType "empty"; // Hides the task marker once the task has been completed.
[TASK1] call mk_fTaskHint; // Shows the player on the HUD.
hint "Mission plan updated";
sleep 5; // Wait before giving the player a new task.
player setCurrentTask TASK2; // Sets the current task.
[TASK2] call mk_fTaskHint; // Shows the player on the HUD.
Repeat for tasks 2 > 5.
For task 6, save as "TASK6_cancelled.sqf"
TASK6 setTaskState "CANCELED"; // Sets the task state. ("CREATED", "SUCCEEDED", "CANCELED" or "FAILED")"mkrInsertion" setMarkerType "empty"; // Hides the task marker once the task has been completed.
[TASK6] call mk_fTaskHint; // Shows the player on the HUD.
hint "Mission plan updated";
sleep 5; // Wait before giving the player a new task.
"mkrBOB" setMarkerType "mil_objective";
this setPos getMarkerPos "mkrBOB";
TASK7 = player createSimpleTask ["TASK7"];
TASK7 setSimpleTaskDescription ["<marker name=mkrBOB'>Insert</marker> blaaaaaaaaaaaaaaaaa.", "7. FIND BOB", "BOB];
TASK7 setSimpleTaskDestination (getMarkerPos "mkrBOB");
TASK7 setTaskState "CREATED";
player setCurrentTask TASK7; // Sets the current task.
[TASK7] call mk_fTaskHint; // Shows the player on the HUD.
For task 7, save as "TASK7_completed.sqf"
TASK7 setTaskState "SUCCEEDED"; // Task has been completed//"mkrTASK7" setMarkerType "empty"; //Hides the task marker once task has been completed.
[TASK7] call mk_fTaskHint; // show the user
hint "Mission plan updated";
sleep 5; // wait a while, so the player can read the hint
// end the mission now
endMission "END1";
In your mission now add a trigger for task 1 with the following in the "On Act" field:-
nul = execVM "Cust_scripts\Task_hints\TASK1_completed.sqf"; publicVariable "TASK1";
Repeat for tasks 2 > 5.
Now add a trigger for the cancellation of task 6, with the following in the "On Act" field:-
nul = execVM "Cust_scripts\Task_hints\TASK6_cancelled.sqf"; publicVariable "TASK6";
In your mission now add a marker at the location of task 7:-
NAME = mkrbob
ICON = empty
TEXT = BOB
Hope This helps, thanks
Cool Breeze-ICON
-
Hi Kylania,
I have just learnt that I need to make the background transparent i.e. on alpha layer and save as a PAA file. I'm using a free imaging editor called GIMP2 and and will convert to PAA using TexView2.
Thanks
-
Hi Guys,
Another question, what is the colour of the briefing screen background, and don't say green - LOL. I want to match my logo background so that it blends in and only shows the logo.
Thanks
-
Hi Padjur,
That's what Kylania is saying. Loading up the CRRC via script is ok. What I want to do is manually transfer kit once in the game.

Advanced Combat Environment (A.C.E.) 2 - v1.0 stable
in ARMA 2 & OA - ADDONS & MODS: COMPLETE
Posted
Hi ACE2 guru's,
If I look at another player their unit type is displayed i.e. "Squad Leader", do you know how to turn this off and is it handled server or user side?
Thanks
Cool Breeze