AL_mines\alias_mines.sqf X AL_movie\backup.sqf X\ AL_movie\camera_work.sqf ˼[ AL_movie\cut_scene_transition.sqf \ AL_movie\GUI.sqf (W AL_movie\introStart.sqf \q AL_movie\txt_display.sqf HEY ALartillery\alias_artillery.sqf [ ALartillery\alias_expl.sqf |[, ALartillery\alias_flares.sqf [X ALartillery\alias_hunt.sqf $"W ALartillery\alias_smokes.sqf [ alias_mine_ini.sqf X Arrest_Scripts\Arrest.sqf J\ Arrest_Scripts\ArrestStart.sqf n\ Arrest_Scripts\LetGo.sqf U\ Arrest_Scripts\SuspectIn.sqf U\v briefing.sqf _ briefing0.jpg X^ briefing1.jpg X\Y Chat_Scripts\1-Intro.sqf \ Chat_Scripts\2-To_Washing_Machine.sqf \ Chat_Scripts\3-Hack_Start.sqf \ Chat_Scripts\4-Hack_Confirm.sqf \ Chat_Scripts\5-Spotting.sqf ;\ Chat_Scripts\6-Nato_Alert.sqf \ Chat_Scripts\7-Attack.sqf a\( Chat_Scripts\8-Extraction.sqf \> Chat_Scripts\Mission_Failed.sqf &\ Data_Terminal\OpenTerminal.sqf tH^ DataTerminal.ogv W\- description.ext \w Go.jpg a0#]V hq_1_small.jpg a[ images\pic1.jpg 9)X\ images\pic2.jpg Z\2e
images\pic3.jpg 0W\ej images\pic4.jpg %X\M ini_artillery.sqf &TYE init.sqf {^ initPlayerLocal.sqf {-\ lead_1_small.jpg lb[ Loading.ogg ;[0 marksman_1_small.jpg b[3 medic_2_small.jpg Rb[Ԡ mission.sqm ~&_ music\1-Intro.ogg RC\ music\2-To_Washing_Machine.ogg T\3 music\3-Hack_Start.ogg
G\ music\4-Hack_Confirm.ogg NT\6 music\5-Spotting.ogg &\ music\6-Nato_Alert.ogg \, music\7-Attack.ogg Q\1 music\8-Extraction.ogg 6R\kS music\ending.ogg ܫ[ music\intro.ogg [6 music\Mission_Failed.ogg F\ music\start.ogg _[1e pilot_1_small.jpg ab[u sabot_1_small.jpg a[ Scripts\endbad.sqf \ Scripts\endgood.sqf \n Scripts\H8_dragBody.sqf S Scripts\HousePatrol.sqf ,{[Y Scripts\OpenDoor.sqf DcX Scripts\Tex_fnc_taskHandling.sqf ?ַ^Y
Sound\fluier_1.ogg <
U Sound\fluier_2.ogg
U Sound\fluier_3.ogg
U Sound\fluier_4.ogg
U3 Sound\fluier_5.ogg
U Sound\fluier_6.ogg 3
U Sound\fluier_7.ogg M
U Sound\fluier_8.ogg p
U Sound\fluier_9.ogg
U Sound\fluier_91.ogg
U Sound\fluier_92.ogg
U Sound\fluier_93.ogg
U1 // nul = [] execVM "ambient\alias_mines.sqf";
private ["_al_ied_trigger","_al_show","_al_mine","_IED_blow_trigger","_mark_current","_array_temp","_field_center","_field_radius","_nclass_mines","_number_mines","_marker_mines","_debugs_mines","_nm","_markern","_pos_mine","_markerstr","_count_mark","_array_markers"];
if (!isServer) exitwith {};
_field_center = _this select 0;
_field_radius = _this select 1;
_nclass_mines = _this select 2;
_number_mines = _this select 3;
_marker_mines = _this select 4;
_debugs_mines = _this select 5;
_IED_blow_trigger = false;
_store_mine_array = false; // make this true if you want to store mines in array for later use
if ((_nclass_mines=="IEDLandBig_F") or (_nclass_mines=="IEDUrbanBig_F") or (_nclass_mines=="IEDUrbanSmall_F") or (_nclass_mines=="IEDLandSmall_F")) then {
_IED_blow_trigger = true; //_IED_blow_trigger = "APERSBoundingMine";
};
if (_marker_mines) then {
_array_markers = [];
{
if ((markerType _x == "Empty") and (_x != _field_center) and (((getMarkerPos _x) distance (getMarkerPos _field_center))<=_field_radius)) then {
_array_markers pushback _x;
};
} forEach allMapMarkers;
//hint str _array_markers;
_count_mark = count _array_markers;
// ptr plasare precisa pe markere
if (_count_mark < _number_mines) then {hint "You need the number of markers to be equal or bigger for this to work as supposed to!!!"}
else {
_array_temp = [];
if (_count_mark >_number_mines) then {
_nm =0;
// if (_store_mine_array) then {_al_show = []};
_al_show = [];
while {_nm<_number_mines} do {
_mark_current = _array_markers call BIS_fnc_selectRandom;
_al_mine=createMine [_nclass_mines, getMarkerPos _mark_current, [], 0];
if (_IED_blow_trigger) then {_al_ied_trigger = createMine ["APERSMine", getMarkerPos _mark_current, [], 0]};
if ((_store_mine_array)and(_IED_blow_trigger)) then {_al_show pushBack [_al_mine,_al_ied_trigger]} else {_al_show pushBack _al_mine};
_array_temp pushback _mark_current;
_array_markers = _array_markers - _array_temp;
if (_debugs_mines) then {_markern = format[ "markern_%1", str (_nm+1)]; _markerstr = createMarker [_markern,getMarkerPos _mark_current]; _markerstr setMarkerShape "ICON"; _markerstr setMarkerType "hd_dot"; _markerstr setMarkerColor "ColorRed"; hint str (_nm+1);};
_nm=_nm+1;
sleep 0.01;
};
} else {
// ptr plasare aleator pe markere
_nm =0;
_jeton_marker = 0;
//if (_store_mine_array) then {_al_show = []};
_al_show = [];
while {_nm<_number_mines} do {
_mark_current = _array_markers select _jeton_marker;
_al_mine=createMine [_nclass_mines, getMarkerPos _mark_current, [], 0];
if (_IED_blow_trigger) then {_al_ied_trigger = createMine ["APERSMine", getMarkerPos _mark_current, [], 0]};
if ((_store_mine_array)and(_IED_blow_trigger)) then {_al_show pushBack [_al_mine,_al_ied_trigger]} else {_al_show pushBack _al_mine};
if (_debugs_mines) then {_markern = format[ "markern_%1", str (_nm+1)]; _markerstr = createMarker [_markern,getMarkerPos _mark_current]; _markerstr setMarkerShape "ICON"; _markerstr setMarkerType "hd_dot"; _markerstr setMarkerColor "ColorRed"; hint str (_nm+1);};
_nm=_nm+1;
_jeton_marker=_jeton_marker+1;
sleep 0.01;
};
};
};
} else {
// ptr plasare aleator in zona
_nm =0;
// if (_store_mine_array) then {_al_show =[]};
_al_show = [];
while {_nm<_number_mines} do {
_pos_mine= [getMarkerPos _field_center,random _field_radius, random 360] call BIS_fnc_relPos;
_al_mine = createMine [_nclass_mines, _pos_mine, [], 0];
if (_IED_blow_trigger) then {_al_ied_trigger = createMine ["APERSMine", _pos_mine, [], 0]};
if ((_store_mine_array)and(_IED_blow_trigger)) then {_al_show pushBack [_al_mine,_al_ied_trigger]} else {_al_show pushBack _al_mine};
if (_debugs_mines) then {_markern = format[ "markern_%1", str (_nm+1)]; _markerstr = createMarker [_markern,_pos_mine]; _markerstr setMarkerShape "ICON"; _markerstr setMarkerType "hd_dot"; _markerstr setMarkerColor "ColorRed"; hint str (_nm+1);};
_nm=_nm+1;
sleep 0.01;
};
};
/* in order to manipulate the mines stored in array you need to place your script that does that here like i did below,
if you want to use the array in another script you have to make _al_show global or public variable and of course to the array manipulation there
*/
//hint str _al_show;
/*
sleep 5;
for "_ii" from 0 to 40 do
{
if (_IED_blow_trigger) then {((_al_show select _ii) select 0) setDamage 100}
else {(_al_show select _ii) setDamage 100};
sleep 0.1+random 1;
};// by ALIAS
// null = [] execVM "AL_movie\cut_scene_1.sqf";
// Tutorial: https://www.youtube.com/aliascartoons
//waitUntil {!isnil "video_done"};if (video_done) exitWith {};
if (!hasInterface) exitWith {};
cutText ["", "BLACK IN", 0];
/* ----- how to use camera script -----------------------------------------------------------------------
_camera_shot = [position_1_name, position_2_name, target_name, duration, zoom_level1, zoom_level_2, attached, x_rel_coord, y_rel_coord, z_rel_coord,screen_effect,transition_effect,transition_duration,sound_file_name] execVM "AL_movie\camera_work.sqf";
Where
_camera_shot - string, is the name/number of the camera shot, you can have as many as you want see examples from down bellow
position_1_name - string, where camera is created, replace it with the name of the object you want camera to start from
position_2_name - string, the object where you want camera to move, if you don't want to move from initial position put the same name as for position_1_name
target_name - string, name of the object you want the camera to look at
duration - seconds, how long you want the camera to function on current shot
zoom_level_1 - takes values from 0.01 to 2, FOV (field of view) value for initial position
zoom_level_2 - takes values from 0.01 to 2, FOV value for second position, if you don't to change you can give the same value as you did for zoom_level_1
attached - boolean, if you want to attach camera to an moving object its value has to be true, otherwise must be false
in this case position_1_name must have the same value as position_2_name
x_rel_coord - meters, relative position to the attached object on x coordinate
y_rel_coord - meters, relative position to the attached object on y coordinate
z_rel_coord - meters, relative position to the attached object on z coordinate
screen_effect - predefined values: "none", "nightvision", "thermal", "blackwhite", "grain", "blur", "wet","chromatic","invert"
transition_effect - transition between shots, predefined values: "none", "black","white", "blur"
transition_duration - seconds, the duration of transition between shots
sound_effect - "NoSound" or sound file name you want to play during shots, be aware the file needs to exist under mission folder and must be defined in description.ext
last_shot - boolean, true if is the last shot in your movie, false otherwise
====================== TEXT ========================================================================================
null = [_title_text,_title_duration,_title_pozition,_text_size,_text_color] execVM "AL_movie\txt_display.sqf";
title_text - string, text you want to display on the screen
title_duration - seconds, how long the text stays on screen
title_pozition - predefined values: "top_right", "middle_right", "bottom_right", "center", "center_bottom", "center_top", "left_bottom", "left_middle", "left_top"
text_size - number, text size
-----------------------------------------------------------------------------------------------------------*/
// - do not edit or delete the lines downbelow, this line must be before first camera shot
loopdone = false;
while {!loopdone} do {
//^^^^^^^^^^^^^^^^^^^^^^ DO NOT EDIT OR DELETE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// EXAMPLES------ insert your lines for camera shots starting from here -----------------------------------------
// text
// -------------------------------------
_firstshot = [jet, jet, jet0, 10, 1, 1, true, -4, -4.5, -1,"none","black",5,"NoSound",FALSE] execVM "AL_movie\camera_work.sqf";
waitUntil {scriptdone _firstshot};
_secondshot = [cam1, cam1, jet, 8, 1.5, 1.5, false, 0, 0, 2,"none","black",5,"NoSound",TRUE] execVM "AL_movie\camera_work.sqf";
waitUntil {scriptdone _secondshot};
// --------------->> end of camera shots <<---------------------------------------------------------
};
cutText [" ", "BLACK IN", 3];
_camera = "camera" camCreate (getpos player);
_camera cameraeffect ["terminate", "back"];
camDestroy _camera;
// by ALIAS
// _camera_shot = [position_1_name, position_2_name, target_name, duration, zoom_level1, zoom_level_2, attached, x_rel_coord, y_rel_coord, z_rel_coord,screen_effect,tranzition_effect,tranzition_duration] execVM "AL_movie\camera_work.sqf";
private ["_screen_sfx","_effect_screen","_tranz","_tranz_dur","_tanz_eff_1","_tanz_eff_2","_tranz_screen","_sound_file_name","_sleep_tranz"];
_campos1= _this select 0;
_campos2= _this select 1;
_targetcam = _this select 2;
_camera_duration = _this select 3;
_zoom_level1 = _this select 4;
_zoom_level2 = _this select 5;
_cam_attached = _this select 6;
_x_coord = _this select 7;
_y_coord = _this select 8;
_z_coord = _this select 9;
_screen_sfx = _this select 10;
_tranz = _this select 11;
_tranz_dur = _this select 12;
_sound_file_name = _this select 13;
_last_shot = _this select 14;
// ----------------------
if (!loopdone) then {
switch (_screen_sfx) do {
case "none": {
_effect_screen = ppEffectCreate ["FilmGrain", 300]; _effect_screen ppEffectEnable true; _effect_screen ppEffectAdjust [0,0,0,0,0,false]; _effect_screen ppEffectCommit 0;camUseNVG false; false setCamUseTi 0;
};
case "nightvision": {camUseNVG true; false setCamUseTi 0; _effect_screen = ppEffectCreate ["FilmGrain", 300]; _effect_screen ppEffectEnable true; _effect_screen ppEffectAdjust [0,0,0,0,0,false]; _effect_screen ppEffectCommit 0;};
case "thermal": {true setCamUseTi 0; camUseNVG false; _effect_screen = ppEffectCreate ["FilmGrain", 300]; _effect_screen ppEffectEnable true; _effect_screen ppEffectAdjust [0,0,0,0,0,false]; _effect_screen ppEffectCommit 0;};
case "blur": {
camUseNVG false; false setCamUseTi 0;
_effect_screen = ppEffectCreate ["dynamicBlur", 450];
_effect_screen ppEffectEnable true;
_effect_screen ppEffectAdjust [1];
_effect_screen ppEffectCommit 0;
};
case "grain": {
camUseNVG false; false setCamUseTi 0;
_effect_screen = ppEffectCreate ["FilmGrain", 2000];
_effect_screen ppEffectEnable true;
_effect_screen ppEffectAdjust [0.1,0.1,2,0.3,0.3,false];
_effect_screen ppEffectCommit 0;
};
case "blackwhite": {
camUseNVG false; false setCamUseTi 0;
_effect_screen = ppEffectCreate ["ColorCorrections", 1550];
_effect_screen ppEffectEnable true;
_effect_screen ppEffectAdjust [1, 1, 0, [1, 1, 1, 0], [1, 1, 1, 0], [0.75, 0.25, 0, 1.0]];
_effect_screen ppEffectCommit 0;
};
case "wet": {
camUseNVG false; false setCamUseTi 0;
_effect_screen = ppEffectCreate ["WetDistortion", 300];
_effect_screen ppEffectEnable true;
_effect_screen ppEffectAdjust [1, 1, 1, 10, 10, 77, 93, 10, 10, 0.02, 0.05,0.5, 0.3, 10.0, 6.0];
_effect_screen ppEffectCommit 0;
};
case "chromatic": {
camUseNVG false; false setCamUseTi 0;
_effect_screen = ppEffectCreate ["ChromAberration", 200];
_effect_screen ppEffectEnable true;
_effect_screen ppEffectAdjust [0.1, 0.1, true];
_effect_screen ppEffectCommit 0;
};
case "invert": {
camUseNVG false; false setCamUseTi 0;
_effect_screen = ppEffectCreate ["ColorInversion", 2500];
_effect_screen ppEffectEnable true;
_effect_screen ppEffectAdjust [0.5, 0.5, 0.5];
_effect_screen ppEffectCommit 0;
};
};
switch (_tranz) do {
case "none" :{_tanz_eff_1="PLAIN";_tanz_eff_2="PLAIN";};
case "black" :{_tanz_eff_1="BLACK IN";_tanz_eff_2="BLACK OUT";};
case "white" :{_tanz_eff_1="WHITE IN";_tanz_eff_2="WHITE OUT";};
case "blur" :{_tanz_eff_1="PLAIN";_tanz_eff_2="PLAIN";};
};
if (_tranz_dur>0) then {_sleep_tranz =_tranz_dur/2;} else {_sleep_tranz=0;};
//if (_tranz==black) then {_tanz_eff_1="BLACK IN";_tanz_eff_2="BLACK OUT";hint str _tanz_eff_1};
if (_cam_attached) then {
cutText ["", _tanz_eff_1, _sleep_tranz];
if (_tranz=="blur") then {
_tranz_screen = ppEffectCreate ["dynamicBlur", 450];
_tranz_screen ppEffectEnable true;
_tranz_screen ppEffectAdjust [0];
_tranz_screen ppEffectCommit _sleep_tranz;
};
_camera = "camera" camCreate (getpos _campos1);
showCinemaBorder true;
_camera attachTo [_campos2, [_x_coord,_y_coord,_z_coord]];
_camera cameraEffect ["internal", "BACK"];
_camera camCommand "inertia off";
_camera camPrepareTarget _targetcam;
_camera camPrepareFOV _zoom_level2;
_camera camCommitPrepared _camera_duration;
if (_sound_file_name != "none") then {playSound _sound_file_name};
sleep _camera_duration-_sleep_tranz;
cutText ["", _tanz_eff_2, _sleep_tranz];
if (_tranz=="blur") then {
_tranz_screen = ppEffectCreate ["dynamicBlur", 450];
_tranz_screen ppEffectEnable true;
_tranz_screen ppEffectAdjust [100];
_tranz_screen ppEffectCommit _sleep_tranz;
};
sleep _sleep_tranz;
if (_tranz=="blur") then {
_tranz_screen ppEffectEnable false;
ppEffectDestroy _tranz_screen;
};
_effect_screen ppEffectEnable false;
ppEffectDestroy _effect_screen;
} else {
cutText ["", _tanz_eff_1, _sleep_tranz];
if (_tranz=="blur") then {
_tranz_screen = ppEffectCreate ["dynamicBlur", 450];
_tranz_screen ppEffectEnable true;
_tranz_screen ppEffectAdjust [0];
_tranz_screen ppEffectCommit _sleep_tranz;
};
// initial/start position where camera is created
_camera = "camera" camCreate (getpos _campos1);
showCinemaBorder true;
_camera cameraEffect ["internal", "BACK"];
_camera camCommand "inertia on";
_camera camPrepareTarget _targetcam;
_camera camPrepareFOV _zoom_level1;
_camera camCommitPrepared 0;
if (_sound_file_name != "none") then {playSound _sound_file_name};
// poz 2 - where camera is moving next - target2
_camera camPreparePos (getpos _campos2);
_camera camPrepareTarget _targetcam;
_camera camPrepareFOV _zoom_level2;
_camera camCommitPrepared _camera_duration;
sleep _camera_duration-_sleep_tranz;
cutText ["", _tanz_eff_2, _sleep_tranz];
if (_tranz=="blur") then {
_tranz_screen = ppEffectCreate ["dynamicBlur", 450];
_tranz_screen ppEffectEnable true;
_tranz_screen ppEffectAdjust [100];
_tranz_screen ppEffectCommit _sleep_tranz;
};
sleep _sleep_tranz;
if (_tranz=="blur") then {
_tranz_screen ppEffectEnable false;
ppEffectDestroy _tranz_screen;
};
_effect_screen ppEffectEnable false;
ppEffectDestroy _effect_screen;
};
if (_last_shot) then {loopdone = true};
};// by ALIAS
// null = [] execVM "AL_movie\cut_scene_1.sqf";
// Tutorial: https://www.youtube.com/aliascartoons
//waitUntil {!isnil "video_done"};if (video_done) exitWith {};
if (!hasInterface) exitWith {};
cutText ["", "BLACK IN", 0];
/* ----- how to use camera script -----------------------------------------------------------------------
_camera_shot = [position_1_name, position_2_name, target_name, duration, zoom_level1, zoom_level_2, attached, x_rel_coord, y_rel_coord, z_rel_coord,screen_effect,transition_effect,transition_duration,sound_file_name] execVM "AL_movie\camera_work.sqf";
Where
_camera_shot - string, is the name/number of the camera shot, you can have as many as you want see examples from down bellow
position_1_name - string, where camera is created, replace it with the name of the object you want camera to start from
position_2_name - string, the object where you want camera to move, if you don't want to move from initial position put the same name as for position_1_name
target_name - string, name of the object you want the camera to look at
duration - seconds, how long you want the camera to function on current shot
zoom_level_1 - takes values from 0.01 to 2, FOV (field of view) value for initial position
zoom_level_2 - takes values from 0.01 to 2, FOV value for second position, if you don't to change you can give the same value as you did for zoom_level_1
attached - boolean, if you want to attach camera to an moving object its value has to be true, otherwise must be false
in this case position_1_name must have the same value as position_2_name
x_rel_coord - meters, relative position to the attached object on x coordinate
y_rel_coord - meters, relative position to the attached object on y coordinate
z_rel_coord - meters, relative position to the attached object on z coordinate
screen_effect - predefined values: "none", "nightvision", "thermal", "blackwhite", "grain", "blur", "wet","chromatic","invert"
transition_effect - transition between shots, predefined values: "none", "black","white", "blur"
transition_duration - seconds, the duration of transition between shots
sound_effect - "NoSound" or sound file name you want to play during shots, be aware the file needs to exist under mission folder and must be defined in description.ext
last_shot - boolean, true if is the last shot in your movie, false otherwise
====================== TEXT ========================================================================================
null = [_title_text,_title_duration,_title_pozition,_text_size,_text_color] execVM "AL_movie\txt_display.sqf";
title_text - string, text you want to display on the screen
title_duration - seconds, how long the text stays on screen
title_pozition - predefined values: "top_right", "middle_right", "bottom_right", "center", "center_bottom", "center_top", "left_bottom", "left_middle", "left_top"
text_size - number, text size
-----------------------------------------------------------------------------------------------------------*/
// - do not edit or delete the lines downbelow, this line must be before first camera shot
loopdone = false;
while {!loopdone} do {
//^^^^^^^^^^^^^^^^^^^^^^ DO NOT EDIT OR DELETE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// EXAMPLES------ insert your lines for camera shots starting from here -----------------------------------------
// text
// -------------------------------------
_firstshot = [cam1, cam2, eraseme0, 50, 1.5, 1.5, false, 0, 0, 2,"none","black",5,"NoSound",FALSE] execVM "AL_movie\camera_work.sqf";
waitUntil {scriptdone _firstshot};
_secondshot = [cam3, cam4, eraseme0, 37, 1, 1, false, 0, 0, 0,"thermal","black",5,"NoSound",TRUE] execVM "AL_movie\camera_work.sqf";
waitUntil {scriptdone _secondshot};
// --------------->> end of camera shots <<---------------------------------------------------------
};
cutText [" ", "BLACK IN", 3];
_camera = "camera" camCreate (getpos player);
_camera cameraeffect ["terminate", "back"];
camDestroy _camera;
"dynamicBlur" ppEffectEnable true;
"dynamicBlur" ppEffectAdjust [100];
"dynamicBlur" ppEffectCommit 0;
"dynamicBlur" ppEffectAdjust [0.0];
"dynamicBlur" ppEffectCommit 4;class MovieMakerEditor
{
class controls
{
class MyFirstRscText : RscText
{
w = "(1020 / 1920) * SafeZoneW";
h = "(570 / 1080) * SafeZoneH";
text = "";
colorBackground[] = {0.1, 0.1, 0.1, 0.5};
x = "SafeZoneX + (90 / 1920) * SafeZoneW";
y = "SafeZoneY + (60 / 1080) * SafeZoneH";
};
class MyRscButton : RscButton
{
x = "SafeZoneX + (338.000000000001 / 1920) * SafeZoneW";
y = "SafeZoneY + (82.04 / 1080) * SafeZoneH";
text = "Add Shot +";
w = "(79 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
};
class MyRscCombo : RscCombo
{
x = "SafeZoneX + (446.000000000001 / 1920) * SafeZoneW";
y = "SafeZoneY + (122.04 / 1080) * SafeZoneH";
text = "Select screen effect for current shot";
w = "(285 / 1920) * SafeZoneW";
h = "(20 / 1080) * SafeZoneH";
};
class MyRscListBox : RscListBox
{
x = "SafeZoneX + (109 / 1920) * SafeZoneW";
y = "SafeZoneY + (118.04 / 1080) * SafeZoneH";
w = "(300 / 1920) * SafeZoneW";
h = "(350 / 1080) * SafeZoneH";
text = "";
onLoad = "comment ""<{0} ctrlShow {1};>"";(_this select 0) ctrlShow true;comment ""{0} ctrlShow {1};>"";";
font = "TahomaB";
};
class MyRscButton1 : RscButton
{
x = "SafeZoneX + (327.999999999999 / 1920) * SafeZoneW";
y = "SafeZoneY + (469.04 / 1080) * SafeZoneH";
text = "Delete Shot -";
w = "(79 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
};
class MyRscButton2 : RscButton
{
x = "SafeZoneX + (773 / 1920) * SafeZoneW";
y = "SafeZoneY + (566.04 / 1080) * SafeZoneH";
text = "Generate SQF and Copy to Clipboard";
sizeEx = 0.05;
w = "(318.999999999999 / 1920) * SafeZoneW";
h = "(46 / 1080) * SafeZoneH";
};
class MyRscText : RscText
{
x = "SafeZoneX + (450 / 1920) * SafeZoneW";
y = "SafeZoneY + (106.04 / 1080) * SafeZoneH";
text = "Select Screen Effect";
w = "(124 / 1920) * SafeZoneW";
h = "(16 / 1080) * SafeZoneH";
};
class MyRscText1 : RscText
{
x = "SafeZoneX + (453 / 1920) * SafeZoneW";
y = "SafeZoneY + (155.04 / 1080) * SafeZoneH";
text = "Select Tranzition Effect";
w = "(154 / 1920) * SafeZoneW";
h = "(16 / 1080) * SafeZoneH";
};
class MyRscCombo1 : RscCombo
{
x = "SafeZoneX + (446.000000000001 / 1920) * SafeZoneW";
y = "SafeZoneY + (180 / 1080) * SafeZoneH";
w = "(285 / 1920) * SafeZoneW";
h = "(20 / 1080) * SafeZoneH";
};
class MyRscPicture : RscPicture
{
x = "SafeZoneX + (977 / 1920) * SafeZoneW";
y = "SafeZoneY + (74.04 / 1080) * SafeZoneH";
};
class MyRscEdit : RscEdit
{
x = "SafeZoneX + (441 / 1920) * SafeZoneW";
y = "SafeZoneY + (221.04 / 1080) * SafeZoneH";
w = "(274 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
canModify = 1;
text = "Insert Sound Name";
};
class MyRscEdit1 : RscEdit
{
x = "SafeZoneX + (441 / 1920) * SafeZoneW";
y = "SafeZoneY + (292.04 / 1080) * SafeZoneH";
w = "(79 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
};
class MyRscText2 : RscText
{
x = "SafeZoneX + (443 / 1920) * SafeZoneW";
y = "SafeZoneY + (271.04 / 1080) * SafeZoneH";
text = "Input Duration for Camera shot";
w = "(184 / 1920) * SafeZoneW";
h = "(16 / 1080) * SafeZoneH";
};
class MyRscText3 : RscText
{
x = "SafeZoneX + (438 / 1920) * SafeZoneW";
y = "SafeZoneY + (358.04 / 1080) * SafeZoneH";
text = "On Screen Text";
w = "(124 / 1920) * SafeZoneW";
h = "(16 / 1080) * SafeZoneH";
};
class MyRscEdit2 : RscEdit
{
x = "SafeZoneX + (443.000000000001 / 1920) * SafeZoneW";
y = "SafeZoneY + (456.04 / 1080) * SafeZoneH";
canModify = 1;
text = "";
w = "(64 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
onLoad = "comment ""<{0} ctrlShow {1};>"";(_this select 0) ctrlShow true;comment ""{0} ctrlShow {1};>"";comment ""<{0} ctrlEnable {1};>"";(_this select 0) ctrlEnable true;comment ""{0} ctrlEnable {1};>"";";
};
class MyRscEdit3 : RscEdit
{
x = "SafeZoneX + (437 / 1920) * SafeZoneW";
y = "SafeZoneY + (382.04 / 1080) * SafeZoneH";
w = "(454 / 1920) * SafeZoneW";
h = "(46 / 1080) * SafeZoneH";
};
class MyRscText4 : RscText
{
x = "SafeZoneX + (439 / 1920) * SafeZoneW";
y = "SafeZoneY + (442.04 / 1080) * SafeZoneH";
text = "Font size";
};
class MyRscText5 : RscText
{
x = "SafeZoneX + (519.999999999999 / 1920) * SafeZoneW";
y = "SafeZoneY + (446.04 / 1080) * SafeZoneH";
text = "Text color";
};
class MyRscEdit4 : RscEdit
{
x = "SafeZoneX + (526 / 1920) * SafeZoneW";
y = "SafeZoneY + (463.04 / 1080) * SafeZoneH";
w = "(64 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
canModify = 1;
onLoad = "comment ""<{0} ctrlShow {1};>"";(_this select 0) ctrlShow true;comment ""{0} ctrlShow {1};>"";comment ""<{0} ctrlEnable {1};>"";(_this select 0) ctrlEnable true;comment ""{0} ctrlEnable {1};>"";";
};
class MyRscText6 : RscText
{
x = "SafeZoneX + (629 / 1920) * SafeZoneW";
y = "SafeZoneY + (452.04 / 1080) * SafeZoneH";
text = "Text Position on Screen";
w = "(139 / 1920) * SafeZoneW";
h = "(16 / 1080) * SafeZoneH";
};
class MyRscCombo2 : RscCombo
{
x = "SafeZoneX + (629 / 1920) * SafeZoneW";
y = "SafeZoneY + (477.04 / 1080) * SafeZoneH";
w = "(210 / 1920) * SafeZoneW";
h = "(20 / 1080) * SafeZoneH";
};
class MyRscButton3 : RscButton
{
x = "SafeZoneX + (110 / 1920) * SafeZoneW";
y = "SafeZoneY + (576.04 / 1080) * SafeZoneH";
text = "Test Movie";
w = "(169 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
sizeEx = 0.05;
};
class MyRscButton4 : RscButton
{
x = "SafeZoneX + (351 / 1920) * SafeZoneW";
y = "SafeZoneY + (583.04 / 1080) * SafeZoneH";
text = "Test Shot";
sizeEx = 0.05;
w = "(109 / 1920) * SafeZoneW";
h = "(31 / 1080) * SafeZoneH";
};
};
};// by ALIAS
// null = [] execVM "AL_movie\cut_scene_1.sqf";
// Tutorial: https://www.youtube.com/aliascartoons
//waitUntil {!isnil "video_done"};if (video_done) exitWith {};
if (!hasInterface) exitWith {};
cutText ["", "BLACK IN", 0];
/* ----- how to use camera script -----------------------------------------------------------------------
_camera_shot = [position_1_name, position_2_name, target_name, duration, zoom_level1, zoom_level_2, attached, x_rel_coord, y_rel_coord, z_rel_coord,screen_effect,transition_effect,transition_duration,sound_file_name] execVM "AL_movie\camera_work.sqf";
Where
_camera_shot - string, is the name/number of the camera shot, you can have as many as you want see examples from down bellow
position_1_name - string, where camera is created, replace it with the name of the object you want camera to start from
position_2_name - string, the object where you want camera to move, if you don't want to move from initial position put the same name as for position_1_name
target_name - string, name of the object you want the camera to look at
duration - seconds, how long you want the camera to function on current shot
zoom_level_1 - takes values from 0.01 to 2, FOV (field of view) value for initial position
zoom_level_2 - takes values from 0.01 to 2, FOV value for second position, if you don't to change you can give the same value as you did for zoom_level_1
attached - boolean, if you want to attach camera to an moving object its value has to be true, otherwise must be false
in this case position_1_name must have the same value as position_2_name
x_rel_coord - meters, relative position to the attached object on x coordinate
y_rel_coord - meters, relative position to the attached object on y coordinate
z_rel_coord - meters, relative position to the attached object on z coordinate
screen_effect - predefined values: "none", "nightvision", "thermal", "blackwhite", "grain", "blur", "wet","chromatic","invert"
transition_effect - transition between shots, predefined values: "none", "black","white", "blur"
transition_duration - seconds, the duration of transition between shots
sound_effect - "NoSound" or sound file name you want to play during shots, be aware the file needs to exist under mission folder and must be defined in description.ext
last_shot - boolean, true if is the last shot in your movie, false otherwise
====================== TEXT ========================================================================================
null = [_title_text,_title_duration,_title_pozition,_text_size,_text_color] execVM "AL_movie\txt_display.sqf";
title_text - string, text you want to display on the screen
title_duration - seconds, how long the text stays on screen
title_pozition - predefined values: "top_right", "middle_right", "bottom_right", "center", "center_bottom", "center_top", "left_bottom", "left_middle", "left_top"
text_size - number, text size
-----------------------------------------------------------------------------------------------------------*/
// - do not edit or delete the lines downbelow, this line must be before first camera shot
loopdone = false;
while {!loopdone} do {
//^^^^^^^^^^^^^^^^^^^^^^ DO NOT EDIT OR DELETE ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// EXAMPLES------ insert your lines for camera shots starting from here -----------------------------------------
// text
// -------------------------------------
_firstshot = [cam5, cam6, tar1, 50, 1.5, 1.5, false, 0, 0, 2,"none","black",5,"NoSound",FALSE] execVM "AL_movie\camera_work.sqf";
waitUntil {scriptdone _firstshot};
_secondshot = [cam7, cam8, tar1, 33, 1.5, 1.5, false, 0, 0, 2,"thermal","black",5,"NoSound",TRUE] execVM "AL_movie\camera_work.sqf";
sleep 4;
vic14 setDamage 1;
sleep 6;
vic15 setDamage 1;
vic16 setDamage 1;
waitUntil {scriptdone _secondshot};
sleep 5;
deleteVehicle er0;
deleteVehicle er1;
deleteVehicle er2;
deleteVehicle er3;
// --------------->> end of camera shots <<---------------------------------------------------------
};
cutText [" ", "BLACK IN", 3];
_camera = "camera" camCreate (getpos player);
_camera cameraeffect ["terminate", "back"];
camDestroy _camera;
"dynamicBlur" ppEffectEnable true;
"dynamicBlur" ppEffectAdjust [100];
"dynamicBlur" ppEffectCommit 0;
"dynamicBlur" ppEffectAdjust [0.0];
"dynamicBlur" ppEffectCommit 4;// by ALIAS
//null = [_title_text,_title_duration,_title_pozition,_text_size,_text_color] execVM "AL_movie\txt_display.sqf";
// EX: // null = ["GIGI",6,"center","1","#FFF000"] execVM "AL_movie\txt_display.sqf";
/*
title_text - string, text you want to display on the screen
title_duration - seconds, how long the text stays on screen
title_pozition - "top_right", "middle_right", "bottom_right", "center", "center_bottom", "center_top", "left_bottom", "left_middle", "left_top"
text_size - number, text size
_text_color - RGB hexa code for color
*/
private ["_txt_Layer","_title_text","_title_duration","_title_pozition","_text_size","_text_color","_title_text_i","_txt_al"];
if (loopdone) exitWith {};
_title_text = _this select 0;
_title_duration = _this select 1;
_title_pozition = _this select 2;
_text_size = _this select 3;
_text_color = _this select 4;
switch (_title_pozition) do {
case "top_right": {title_pozition_xx = 'right'; title_pozition_yy = 0;};
case "middle_right": {title_pozition_xx = 'right'; title_pozition_yy = 0.5;};
case "bottom_right": {title_pozition_xx = 'right'; title_pozition_yy = 0.9;};
case "center": {title_pozition_xx = 'center'; title_pozition_yy = 0.5;};
case "center_bottom": {title_pozition_xx = 'center'; title_pozition_yy = 0.9;};
case "center_top": {title_pozition_xx = 'center'; title_pozition_yy = 0;};
case "left_bottom": {title_pozition_xx = 'left'; title_pozition_yy = 0.9;};
case "left_middle": {title_pozition_xx = 'left'; title_pozition_yy = 0.5;};
case "left_top": {title_pozition_xx = 'left'; title_pozition_yy = 0;};
};
_txt_Layer = _title_text call BIS_fnc_rscLayer;
_title_text_i = "" + _title_text + "";
[_title_text_i, 0 , title_pozition_yy, _title_duration,/*fadein*/ 2, 0,_txt_Layer] spawn bis_fnc_dynamicText;// by ALIAS
// nul = [alias_target,smokes_rounds,flares_rounds,expl_rounds,smoke_radius,flares_radius,expl_radius,smokes_freq,flares_freq,expl_freq] execvm "ALartillery\alias_artillery.sqf";
// TO DO error management
if (!isserver) exitWith {};
private ["_smokes","_flares","_expl_shell","_radius"];
_obj_center =_this select 0;
_smokes_rounds =_this select 1;
_flares_rounds =_this select 2;
_expl_rounds =_this select 3;
_smoke_radius =_this select 4;
_flares_radius =_this select 5;
_expl_radius =_this select 6;
_smokes_freq =_this select 7;
_flares_freq =_this select 8;
_expl_freq =_this select 9;
if (_smokes_rounds>0) then {
nul = [_obj_center,_smoke_radius,_smokes_rounds,_smokes_freq] execVM "ALartillery\alias_smokes.sqf";
};
if (_flares_rounds>0) then {
nul = [_obj_center,_flares_radius,_flares_rounds,_flares_freq] execVM "ALartillery\alias_flares.sqf";
};
if (_expl_rounds>0) then {
nul = [_obj_center,_expl_radius,_expl_rounds,_expl_freq] execVM "ALartillery\alias_expl.sqf";
};// by ALIAS
// nul = [_obj_center,_radius,_expl_rounds,_expl_freq] execVM "ALartillery\alias_expl.sqf";
private ["_rel_Pos","_xx ","_yy","_art_voice","_dire","_target_art","_marker_exp","_poz_x_ini","_poz_y_ini","_radius_art_p"];
_target_art =_this select 0;
_radius_art =_this select 1;
_nr_art =_this select 2;
_freq_art =_this select 3;
_radius_art_p =100; // edit this value if you want to change the distance between chosen player and explosions
switch (_target_art) do {
case "mp_alias": {
if (isNil "hunt_alias") then {execVM "ALartillery\alias_hunt.sqf"};
waitUntil {!isNil "hunt_alias"};
sleep 1;
while {_nr_art>0} do {
_art_voice = "land_helipadempty_f" createVehicle [0,0,0];
_rel_Pos= [getPos hunt_alias,50+(random _radius_art_p), random 360] call BIS_fnc_relPos;
_art_voice setPos [_rel_Pos select 0,_rel_Pos select 1,20];
_fluier = ["fluier_1", "fluier_2", "fluier_3", "fluier_4", "fluier_5", "fluier_6", "fluier_7", "fluier_8", "fluier_9", "fluier_91", "fluier_92", "fluier_93"] call BIS_fnc_selectRandom;
[_art_voice,[_fluier,1000]] remoteExec ["say3d"];
sleep 0.5 + random 1;
_bombi= "M_Mo_82mm_AT_LG" createVehicle _rel_Pos; waituntil {!isnull _bombi};
deleteVehicle _art_voice;
_nr_art=_nr_art-1;
sleep _freq_art;
};
};
case "area_alias": {
while {_nr_art>0} do {
_art_voice = "land_helipadempty_f" createVehicle [0,0,0];
_rel_Pos= [[getMarkerPos _target_art select 0,getMarkerPos _target_art select 1,50],random _radius_art, random 360] call BIS_fnc_relPos;
_art_voice setPos [_rel_Pos select 0,_rel_Pos select 1,20];
_fluier = ["fluier_1", "fluier_2", "fluier_3", "fluier_4", "fluier_5", "fluier_6", "fluier_7", "fluier_8", "fluier_9", "fluier_91", "fluier_92", "fluier_93"] call BIS_fnc_selectRandom;
[_art_voice,[_fluier,1000]] remoteExec ["say3d"];
sleep 0.5 + random 1;
_bombi= "M_Mo_82mm_AT_LG" createVehicle [_rel_Pos select 0, _rel_Pos select 1,0];waituntil {!isnull _bombi};
deleteVehicle _art_voice;
_nr_art=_nr_art-1;
sleep _freq_art;
};
};
default {
while {_nr_art>0} do {
_art_voice = "land_helipadempty_f" createVehicle [0,0,0];
_marker_exp=_target_art call BIS_fnc_selectRandom;
if (_marker_exp in allMapMarkers) then {_rel_Pos= [getMarkerPos _marker_exp select 0,getMarkerPos _marker_exp select 1, 50];_art_voice setPos _rel_Pos;}
else {_rel_Pos= [getPos _marker_exp select 0,getPos _marker_exp select 1, 50];_art_voice setPos [_rel_Pos select 0,_rel_Pos select 1,20];};
_art_voice setPos [_rel_Pos select 0,_rel_Pos select 1,20];
_fluier = ["fluier_1", "fluier_2", "fluier_3", "fluier_4", "fluier_5", "fluier_6", "fluier_7", "fluier_8", "fluier_9", "fluier_91", "fluier_92", "fluier_93"] call BIS_fnc_selectRandom;
[_art_voice,[_fluier,1000]] remoteExec ["say3d"];
sleep 0.5 + random 1;
_bombi= "M_Mo_82mm_AT_LG" createVehicle [_rel_Pos select 0, _rel_Pos select 1,0];waituntil {!isnull _bombi};
deleteVehicle _art_voice;
_nr_art=_nr_art-1;
sleep _freq_art;
};
};
};// by ALIAS
// nul = [_obj_center,_radius,_flares_rounds,_flares_freq] execVM "ALartillery\alias_flares.sqf";
// TO DO flares with less particles and brighter
private ["_rel_Pos","_poz","_xx ","_yy","_dire","_color","_poz_x_ini","_poz_y_ini","_radius_art_p","_obj_art"];
_obj_art =_this select 0;
_radius_art =_this select 1;
_no_flares =_this select 2;
_freq_flares =_this select 3;
_radius_art_p =3; // edit this value if you want to change the distance between chosen player and flares
switch (_obj_art) do {
case "mp_alias": {
if (isNil "hunt_alias") then {execVM "ALartillery\alias_hunt.sqf"};
waitUntil {!isNil "hunt_alias"};
sleep 1;
while {_no_flares>0} do {
_color = ["F_20mm_white", "F_20mm_Red", "F_20mm_yellow", "F_20mm_green"] call BIS_fnc_selectRandom;
_rel_Pos= [[getPos hunt_alias select 0,getPos hunt_alias select 1,150+(random 100)],random _radius_art_p, random 360] call BIS_fnc_relPos;
_flob = _color createvehicle _rel_Pos;
_flob setVelocity [+0.5,+1,+1];
_no_flares=_no_flares-1;
sleep _freq_flares;
};
};
case "area_alias": {
while {_no_flares>0} do {
_color = ["F_20mm_white", "F_20mm_Red", "F_20mm_yellow", "F_20mm_green"] call BIS_fnc_selectRandom;
_rel_Pos= [[getMarkerPos _obj_art select 0,getMarkerPos _obj_art select 1,150+(random 100)],random _radius_art, random 360] call BIS_fnc_relPos;
_flob = _color createvehicle _rel_Pos;
_flob setVelocity [+0.5,+1,+1];
_no_flares=_no_flares-1;
sleep _freq_flares;
};
};
default {
while {_no_flares>0} do {
_color = ["F_20mm_white", "F_20mm_Red", "F_20mm_yellow", "F_20mm_green"] call BIS_fnc_selectRandom;
_marker_exp=_obj_art call BIS_fnc_selectRandom;
if (_marker_exp in allMapMarkers) then {_rel_Pos= [getMarkerPos _marker_exp select 0,getMarkerPos _marker_exp select 1, 150+random 100];}
else {_rel_Pos= [getPos _marker_exp select 0,getPos _marker_exp select 1, 150+random 100];};
_flob = _color createvehicle _rel_Pos;
_flob setVelocity [+0.5,+1,+1];
_no_flares=_no_flares-1;
sleep _freq_flares;
};
};
};// by ALIAS
// nul = [] execVM "ALartillery\alias_hunt.sqf";
if (!isServer) exitWith {};
if (!isNil "ALIAS_player_art") exitWith {};
ALIAS_player_art = true;
publicVariable "ALIAS_player_art";
while {true} do {
_allunits = [];
{
if (alive _x) then
{
_allunits pushBack _x;
};
} foreach (if (isMultiplayer) then {playableUnits} else {switchableUnits});
hunt_alias = _allunits call BIS_fnc_selectRandom;
publicVariable "hunt_alias";
sleep 60;
};// by ALIAS
// nul = [_obj_center,_radius,_smokes_rounds,_smokes_freq] execVM "ALartillery\alias_smokes.sqf";
// TO DO smokes with less particles
private ["_rel_Pos","_xx ","_yy","_dire","_color","_poz_x_ini","_poz_y_ini","_radius_art_p","_obj_art","_marker_exp"];
_obj_art =_this select 0;
_radius_art =_this select 1;
_no_smokes =_this select 2;
_freq_smokes =_this select 3;
_radius_art_p =3; // edit this value if you want to change the distance between chosen player and smokes
switch (_obj_art) do {
case "mp_alias": {
if (isNil "hunt_alias") then {execVM "ALartillery\alias_hunt.sqf"};
waitUntil {!isNil "hunt_alias"};
sleep 1;
while {_no_smokes>0} do {
_color = ["SmokeShellGreen", "SmokeShellRed", "SmokeShellBlue", "SmokeShellWhite"] call BIS_fnc_selectRandom;
_rel_Pos= [getPos hunt_alias,random _radius_art_p, random 360] call BIS_fnc_relPos;
_smoke = _color createvehicle _rel_Pos;
_no_smokes=_no_smokes-1;
sleep _freq_smokes;
};
};
case "area_alias": {
while {_no_smokes>0} do {
_color = ["SmokeShellGreen", "SmokeShellRed", "SmokeShellBlue", "SmokeShellWhite"] call BIS_fnc_selectRandom;
_rel_Pos= [[getMarkerPos _obj_art select 0,getMarkerPos _obj_art select 1,20],random _radius_art, random 360] call BIS_fnc_relPos;
_smoke = _color createvehicle _rel_Pos;
_no_smokes=_no_smokes-1;
sleep _freq_smokes;
};
};
default {
while {_no_smokes>0} do {
_color = ["SmokeShellGreen", "SmokeShellRed", "SmokeShellBlue", "SmokeShellWhite"] call BIS_fnc_selectRandom;
_marker_exp=_obj_art call BIS_fnc_selectRandom;
if (_marker_exp in allMapMarkers) then {_rel_Pos= [getMarkerPos _marker_exp select 0,getMarkerPos _marker_exp select 1, 0];}
else {_rel_Pos= [getPos _marker_exp select 0,getPos _marker_exp select 1, 0];};
_smoke = _color createvehicle _rel_Pos;
_no_smokes=_no_smokes-1;
sleep _freq_smokes;
};
};
};// null = ["marker_center",radius,"mine_class_name",numer_mines,detect_markers,debug_on] execVM "AL_bomb\alias_mine_ini.sqf";
/*
marker_center - marker placed on map designating center of the minefield
radius - number, radius of the minefield
mine_class_name - mine's classname you want to use in mine field
numer_mines - integer, number of mines you want to place
detect_markers - boolean, true if you want the script to search for markers where to place mines in the designated area, if false the script will place mines randomly in the designated area
**** the markers you place in editor must be of type Empty for the script to work
debug_on - boolean, if on dots will be placed on map at mines' location
Note:
* The script gives you better control where to place mines without too much effort
** Allows you to dynamically generate minefields or IEDs. Is a good option for replayable missions.
*** When you use marker to designate locations for mines, if the number of mines is smaller than the number of markers the script will select randomly markers where to place mines.
Is a good option for replayable missions.
**** If you want to place multiple types of mines run script again replacing the className and parameters accordingly
***** Vanilla IED objects are self-triggerd now
=========== Vanilla self triggered mines, IEDs classname
"APERSMine"
"APERSBoundingMine"
"APERSTripMine"
"ATMine"
"SLAMDirectionalMine"
"Underwatermine"
"UnderwatermineAB"
==== implemented a simple workaround in the script to make IEDs selftriggered as well without further scripting
"IEDLandBig_F"
"IEDUrbanBig_F"
"IEDUrbanSmall_F"
"IEDLandSmall_F"
*/
Example:
=========== without markers placed on map - Debug ON AND 50 mines are placed randomnly inside a 300 m radius area
null = ["marker_center",300,"APERSBoundingMine",50,false,true] execVM "AL_mines\alias_mines.sqf";
=========== with EMPTY markers placed on map - Debug ON AND 41 mines are placed where EMPTY markers are found inside a 400 m radius area
null = ["marker_center",400,"APERSBoundingMine",41,true,true] execVM "AL_mines\alias_mines.sqf";
=========== with EMPTY markers placed on map - Debug ON AND 41 IEDs are placed at every EMPTY marker inside a 400 m radius area - Note that in this case number of mrkers must be equal with number of mines [numer_mines]
null = ["marker_center",400,"IEDUrbanBig_F",41,true,true] execVM "AL_mines\alias_mines.sqf";removeAllActions vic;
vic allowDamage false;
vic switchMove "";
sleep 0.2;
vic switchMove "TestSurrender";
vic disableAI "ANIM";
sleep 1.5;
vic attachTo [player, [-0.2,1,0]];
arrest = player addaction ["Let Go","Arrest_Scripts\LetGo.sqf"];
vic11 setDamage 1;
vicHelp setDamage 1;
sleep 122;
vic disableAI "PATH";
sleep 1;
vic addaction ["Arrest","Arrest_Scripts\Arrest.sqf"];
vic6 setDamage 1;player removeAction (arrest);
detach vic;
vic enableAI "ANIM";
vic playMoveNow "ApanPknlMstpSnonWnonDnon_G02";
vic disableAI "ANIM";
vic addaction ["Arrest","Arrest_Scripts\Arrest.sqf"];blue0 removeAction (arrest);
blue1 removeAction (arrest);
blue2 removeAction (arrest);
blue3 removeAction (arrest);switch (side player) do
{
case WEST: // BLUFOR briefing goes here
{
player createDiaryRecord["Diary", ["Credits","Voice Recordings
Crunchy Wrecker
John Kalo
zigTtzag
Audio and Music
Alex Lisi
Ross Bugden
2BStudio
Tushar Sharma
Voytek Pavlik
Audio Effects
Alphie Wily
All Sounds
Jakub Hrock
Krc Videos
N-Beats
SFX Cloud
Soundchips
Sound Design and Tools
SoundLike Tube
Video Production
Andy Fielding
Ben LONGDEN
HackOn Exploits
NetCon1
Ophidic
Requiem
Lorenzo
Wolskye
Woople
TestingGroup
A-Rex
CrunchyWrecker
John Kalo
zigTtzag
Scripters
Alias
Aylas
BangaBob
GEORGE FLOROS
JBOY
Nomadd
RockOShay
Tophe
Zenophon
Addon Makers
Aplion
The CBA Team
The FFAA Team
Robalo
Forums Members
7erra
Dedmen
GEORGE FLOROS
gc8
gokitty1199
HazJ
johnyboy
KokaKolaA3
killzone_kid
Larrow
Melody Mike
mrcurry
nomad
Opusfmspol
ruger392
Schatten
SpaceHippo
stburr91
wogz187
ZaellixA
Bugs Emergency Crew
Dedmen
GrumpyOldMan
Pierremgi
Arma 3 Developer
Bohemia Interactive"]];
player createDiaryRecord["Diary", ["Units", "Green Berets: Blue Lighting and Supports
Units:
Team Leader - Chiefly Alexandros Petraklos
He has been through everything! Graduating from multiple Military Academies and becoming an expert in a variety of sectors was a torment. Actually it was not. Petraklos was born for such operations. What tormented him was the bureaucracy and the needed encounters with officialdom in order to become a Green Berets Team Leader.
![]()
Marksman - Sergeant Ioannis Kalinos
A graduate from the Basic Sniper Training for Special Operations Academy. The time needed to read that equals with the time Kalinos needs for 3 headshots at a 1,5 km distance! That is exactly why the Green Berets recruited him. Disregarding his tension to remain silent, a Blue Lightning slot is surely his.
![]()
Explosive Specialist - Sergeant Konstantinos Koromilas
His graduation certificate comes from the Evelpidon Military Academy. Apart from that, he does not talk much. All we know is that he likes explosives and whatever causes mayhem. Welcome aboard Koromila! You are just the person we need for the Blue Lighting Green Berets team.
![]()
Medic - Corporal Lambros Katechakis
Coming from 7 yearlong studies he graduated from the Army Officers Military Academy. AOMA, which he finds boring, trained him to become a Medic and be an expert in Emergency Medicine. After his graduation, he was assigned to the Green Berets Blue Lightning team and has since found out that the real military is by no means boring.
![]()
HeadQuarters - Lieutenant Tasos Balaoritis
Also a graduate of the Army Officers Military Academy but not a Medic. Balaoritis was trained to become a Military Psychologist. Post-Traumatic-Stress-Disorder or any sort of disorder has no chance in front of his skills. Calm as anyone can be he provides support to all Green Berets operations.
![]()
Pilot - Corporal Antonis Fidelis
Only typically did he need to graduate from the Air Force Academy. Piloted his first chopper at the age of 15 and his first plane when he was 17. That is what happens when your father owns a Flight School. Due to his amazing skills in Army Aviation vehicles, the Green Berets Blue Lightning team immediately recruited him.
"]];
player createDiaryRecord["Diary", ["Strategy", "So as mentioned in the briefing our initial task will be to cut all communications between the Villa and the outer world without being detected. Doing so will block any messages sent for backup. Apart from that eliminating is not in our task book today. Today we will have to abduct whoever goes to the meeting so as to be able to interrogate them afterwards.
1.] Reroute the signal of the Dish Washer.
2.] Commence scouting via Point Omicron.
3.] Breach the Villa using stealth.
4.] Abduct the participants of the meeting.
5.] Commence Extraction via Pegasus.
The code-sign for the Comms Center will be Dish Washer. "]];
player createDiaryRecord["Diary", ["Golden Paint", "![]()
Day 7 .... Thanks to his trustworthy skills Balaoritis is okay! How he got compromised in the first place remains a mystery however. Knowing that only Balaoritis along with the Blue Lightning members knew about the location of the HQ makes things a lot worse. We might have a leak that can place our current and future operations at a huge risk!
We have no time to investigate the incident further however. We have Intel about a secret gathering at a Villa that was not supposed to exist! We do not know who will be there but we know that we will.
Luckily satellite images have given us some basic information about the nonexistent facility, hence we will not go completely blind. One of our most important finds is the communication center that seems to connect the aforementioned Villa with the world. Making that center connect with our world would be nice."]];
player createDiaryRecord["Diary", ["Defying the Odds","![]()
In Afghanistan there was a leader called Dahid Kazat. Kazat was a patriot. He loved his country and his people. He wanted his country to prosper by taking advantage of the oil reserves located at Lythium. It was a clever idea and it would surely result in his country prospering and his people forgetting about the immense difficulties they face due to being poor. There was an issue however.
Oil attracts the Strong Countries of the world. Especially when in 2035 oil reserves get more and more scarce. Because of the above, NATO decided that Kazat had not what it takes to deal with the power that oil reserves would provide him. Due to that NATO demanded all oil reserves from Kazat while providing no help to the people of Afghanistan.
Kazat did not agree! They tried to bribe him, they threatened his family and yet he said no.
So NATO found a nice way to get rid of Kazat. They chose to fund rebel organization Al Shilak. They gave them weapons, ammunition and all needed in order to bring down Kazat and they succeeded. Kazat was killed and propaganda made the people of Afghanistan to agree about the homicide. Yet again an issue arose.
The people of Afghanistan did not only agree with the murder. They also agreed with whatever Al Shilak supports. That is that NATO is to blame for everything. That now that Al Shilak controls the country they should be the ones dealing with the oil reserves. That the people of Afghanistan should rebel!
From that point on, Lythium has turned into a battlefield. NATO was unable to deal with the locals and after many casualties they lost control of Lythium and they are now dealing with a force that wants to expand Afghanistan borders!
Here is when you guys arrive.
Although no country offered to help in fear of casualties, Greece is sending their best Green Berets force! Four men from Greece Special Forces have been dispatched to Lythium to help NATO regain control. NATO agreed to support them. If they commenced all too dangerous operations
Greece agreed. Why? Nobody knows if anybody knows."]];
};
case EAST: // REDFOR briefing goes here
{
};
case RESISTANCE: // RESISTANCE/INDEPENDENT briefing goes here
{
};
case CIVILIAN: // CIVILIAN briefing goes here
{
};
};
JFIF Exif MM * b j( 1 " r2 i $ ' $ 'Adobe Photoshop CC 2015 (Windows) 2019:07:08 15:00:31 0221 ˠ 2019:07:02 13:07:19 N V( ^ O H H C
$.' ",#(7),01444'9=82<.342 C
2!!22222222222222222222222222222222222222222222222222 e !
} !1AQa"q2#BR$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
w !1AQaq"2B #3Rbr
$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?
"]Bd=Q;H$)#qx\驪ai%xE+yVCFe a%qZ-Ϫ~Iw S;_l[QקԦW9 sW?yXv5[Hn+ÿ7(cL[{i.ndXngn(|m5 `p,d
Gw;׃])s'.vmiGnp+)1ʝ:կ,,x4[dS`Ka6x.#ˎ'Rp\ƯR/8Ofcxʣ.>aN[ӕC?b̍͵גҸ0LA'qNՐx3J:w\IrL?wkH:WV\lY)>y=)&
HjД^(Yxc}P<1n>o
6ѭҘnQ B9 =p2kThīz} -l ʰ<q5"F7dԲPD=X
GҕmZ]OJ@ .c?:.Zχ}0k7x͵Dr7iױ.yP9̋PُF1-,)1 $~Uv#@*:)9$TOv#4* @fEA##8N 2FgkimUSTZa\pkԿBM,c%I=GO1ϊ +ǡL~9f0ۊ*;}sl)y]a\LjRM Q(Q"+lG5x347m%WR֭'
a,܅#~߭UZ*+ќ躛Wn&pGCx=< OfԮyR.X0 >b#{Hl>+x:*B(˩
徝e%Ԃ(bf?篵x|]u+(<ާ=\Sf)Aҽ&lZksõ^:VT=v*#sIMaBꪤ Wx'G=F匏@ ͊h۸l8R7#d; 7\RJlZvU
s^R2nKis~&
P:ǥSX^#.l 2RfmxWtu?Юi
Cg?\>BI3w]'Od zܞ0:ש<PG4M`\u.ec52FOodc^sC&mq%B
~^I(?]A Kl$A>TPWe%mYZRXן>QGE~q{io40Mqrcs+ʔ-2N4J m l)1^`Sq@ѵv5I<1;nA xɬkEn4+;5cرkЉ$1G=<k+۹Lf7pB
5"̓v` EKnXz'A-cO;GE=MCI%k*̠dgqk{qZ)#Z&v[/IJ% #LO \c9EJ(4_mD8Ӱ]E
0 W9HHV4iA,p I5^04Wiyeq;upc ǽF-Bos4?5d8x+QzVn..u!.6y{<ъq ڹ?j(U-d /ڦJv>ђZ!Υ0*>),zuIk-¬(
: $G;מnHx.+JΙFWRXs~_t-GRY;Fސ"r2[9 wuTZE,KQ
~h-=]Yqro딾 c
NfZe̐9@~VWv3C9\IkFHш) f'k
fMkhŽbSd_C=tyru0@#crtd&|%Gꦢ۴)'aES8pZΰ WG:iشhv+m}\G 3k_?fno(%UFY@!Gs>%qJ