#include "\x\cba\addons\main\script_macros_common.hpp"
//versio 2
//Tehnyt Tuntematon
//Käynnistetään seuraavalla tapaa.
//[] execVM "merkit.sqf";
if (isMultiplayer && !isServer) then {
if (isNull player) then {
waitUntil{(!isNull player)};
uiSleep 1;
};
if (time == 0) then {
waitUntil {(!isNull findDisplay 52)};
};
};
uiSleep 1;
[{!isNull player},{
if (hasInterface && time < 5) then {
ISNILS(Afi_Aloitus_Merkit,true);
ISNILS(TUN_Ajettuscripta,false);
if (!(Afi_Aloitus_Merkit)) exitwith {};
if (TUN_Ajettuscripta) exitwith {player commandChat "Tehtävässä ajetaan aloituspaikan merkkaus scripta useampaan kerntaa. Ei aiheuta kuitenkaan ongelmia. T:Tuntematon"};
private ["_pelaajanpuoli", "_vari", "_numero", "_osapuoli", "_TUN_fnc_Merkinteko", "_merk", "_merkinnimi", "_merkinpaikka", "_tyyppi", "_merkinteksti", "_TUN_fnc_Merkit_Muistiin", "_VehkeenTeksti", "_VehkeenTyyppi", "_luuskanidc", "_VehkeenPaikka", "_VehkeenSuunta", "_VehkeenIconi", "_pomo", "_porukka", "_parametrit"];
_pelaajanpuoli = side player;
_osapuoli = switch (_pelaajanpuoli) do {
case west: { "b" };
case east: { "o" };
default { "n" }};
_vari = [ _pelaajanpuoli, true ] call BIS_fnc_sideColor;
_numero = 0;
TUN_Display = 53;
TUN_Ryhma_Merkit_Paalla = True;
TUN_Ajoneuvo_Merkit_Paalla = True;
TUN_Teksti_Paalla = true;
TUN_Ajettuscripta = true;
TUN_Ajoneuvo_Parametrit = [];
TUN_Ajone_Merk_Koko = 30;
TUN_RGBvari = [ _pelaajanpuoli, false ] call BIS_fnc_sideColor;
TUN_JV_Merkit = [];
TUN_Ajoneuvomerkkien_ID = [];
////////////////////////////////
//Tuntemattoman super functiot//
////////////////////////////////
_TUN_fnc_Merkinteko = { //tehdään merkit
params ["_merkinnimi", "_merkinpaikka", "_tyyppi", "_merkinteksti"];
_merk = createMarkerLocal [_merkinnimi, _merkinpaikka];
_merk setMarkerShapeLocal "ICON";
_merk setMarkerTypeLocal _tyyppi;
_merk setMarkerSizeLocal [0.8,0.8];
_merk setMarkerColorLocal _vari;
_merk setMarkerTextLocal _merkinteksti;
};
TUN_fnc_Luuskine_Merkit = { // Tehdän Ajoneuvo merkit
{
_x call {
params ["_VehkeenPaikka","_VehkeenTyyppi","_VehkeenSuunta","_VehkeenIconi"];
private "_VehkeenTeksti";
if (TUN_Teksti_Paalla) then
{_VehkeenTeksti = str getText (configFile/"CfgVehicles"/_VehkeenTyyppi/"displayName");}
else
{_VehkeenTeksti = str" "};
_luuskanidc = findDisplay TUN_Display displayCtrl 51 ctrlAddEventHandler
["Draw",format ["_this select 0 drawIcon
[
getText (configFile/'CfgVehicles'/%3/'Icon'),
%4,
%1,
30,
30,
%2,
%5,
2
]",
_VehkeenPaikka,
_VehkeenSuunta,
_VehkeenIconi,
TUN_RGBvari,
_VehkeenTeksti
]
];
TUN_Ajoneuvomerkkien_ID = TUN_Ajoneuvomerkkien_ID + [_luuskanidc];
};
} forEach TUN_Ajoneuvo_Parametrit;
};
TUN_fnc_Peli_Alkoi = { //Kun peli alkaa. Päivittää ajoneuvo merkit näkyviin. Koska Display id vaihtuu.
TUN_Display = 12;
[] call TUN_fnc_Ajoneuvo_Merkit_Pois;
[] call TUN_fnc_Ajoneuvo_Merkit_Paalle;
};
TUN_fnc_Merkit_Pois = { //kutsuu merkkien poisto functiot
[] call TUN_fnc_Ajoneuvo_Merkit_Pois;
[] call TUN_fnc_Ryhma_Merkit_Pois;
};
TUN_fnc_Merkit_Paalle = { //kutsuu merkkien teko functiot
[] call TUN_fnc_Ajoneuvo_Merkit_Paalle;
[] call TUN_fnc_Ryhma_Merkit_Paalle;
};
TUN_fnc_Ryhma_Merkit_Pois = { //Poistaa ryhmämerkit
if (!(TUN_Ryhma_Merkit_Paalla)) exitwith {player commandChat "Ryhmä merkit on jo pois päältä."}; //Tarkisaa onko ryhmämerkit pois.
{_x setMarkerAlphaLocal 0;} forEach TUN_JV_Merkit;
TUN_Ryhma_Merkit_Paalla = false; //Merkkaa että merkit on pois päältä
};
TUN_fnc_Ryhma_Merkit_Paalle = { // Tekee ryhmämerkit
if (TUN_Ryhma_Merkit_Paalla) exitwith {player commandChat "Ryhmä merkit on jo päällä."};
{_x setMarkerAlphaLocal 1;} forEach TUN_JV_Merkit;
TUN_Ryhma_Merkit_Paalla = true;
};
TUN_fnc_Ajoneuvo_Merkit_Pois = { //Poistaa ajoneuvo merkit
if (!(TUN_Ajoneuvo_Merkit_Paalla)) exitwith {player commandChat "Ajoneuvo merkit on jo pois päältä."};
{findDisplay TUN_Display displayCtrl 51 ctrlRemoveEventHandler ["Draw", _x];} forEach TUN_Ajoneuvomerkkien_ID;
TUN_Ajoneuvo_Merkit_Paalla = false;
TUN_Ajoneuvomerkkien_ID = [];
};
TUN_fnc_Ajoneuvo_Merkit_Paalle = {//Tekee ajoneuvo merkit
if (TUN_Ajoneuvo_Merkit_Paalla) exitwith {player commandChat "Ajoneuvo merkit on jo päällä."};
[] call TUN_fnc_Luuskine_Merkit;
TUN_Ajoneuvo_Merkit_Paalla = true;
};
TUN_fnc_Ajoneuvo_Merkien_Teksti_Pois = { //Poistaa tekstin ajoneuvomerkeistä
if (!(TUN_Teksti_Paalla)) exitwith {player commandChat "Tekstit on jo pois."};
TUN_Teksti_Paalla = false;
if (!(TUN_Ajoneuvo_Merkit_Paalla)) exitwith {};
{findDisplay TUN_Display displayCtrl 51 ctrlRemoveEventHandler ["Draw", _x];} forEach TUN_Ajoneuvomerkkien_ID;
[] call TUN_fnc_Luuskine_Merkit;
};
TUN_fnc_Ajoneuvo_Merkien_Teksti_Paalle = { //Lisää tekstin ajoneuvo merkkeihin
if (TUN_Teksti_Paalla) exitwith {player commandChat "Tekstit on jo Päällä."};
TUN_Teksti_Paalla = True;
if (!(TUN_Ajoneuvo_Merkit_Paalla)) exitwith {};
{findDisplay TUN_Display displayCtrl 51 ctrlRemoveEventHandler ["Draw", _x];} forEach TUN_Ajoneuvomerkkien_ID;
[] call TUN_fnc_Luuskine_Merkit;
};
//////////
//Ryhmät//
//////////
{ _pomo = leader (_x);
if (_pelaajanpuoli == Side _pomo ) then {
_porukka = group _pomo;
_merkinnimi = format ["%1", _porukka];
_porukka = format ["%1", _porukka] find "10";
if !(_porukka == -1) then {_tyyppi = format ["%1_hq", _osapuoli]} else {_tyyppi = format ["%1_inf", _osapuoli]};
TUN_JV_Merkit = TUN_JV_Merkit + [_merkinnimi]; //JV Merkit talteen
[_merkinnimi, getpos _pomo, _tyyppi, (_merkinnimi select [2])]call _TUN_fnc_Merkinteko};
} forEach allGroups;
///////////////////////////
//TUN_Ajoneuvomerkkien_ID//
///////////////////////////
{
if ((_x getVariable "AFI_vehicle_gear") == str(_pelaajanpuoli)) then
{
if (_x isKindof "LandVehicle" || _x isKindof "Air" || _x isKindOf "Ship" || _x isKindOf "Static" || _x isKindOf "thing") then
{
_VehkeenPaikka = getPos _x;
_VehkeenSuunta = getDir _x;
_VehkeenTyyppi = typeOf _x;
_VehkeenIconi = str(typeOf _x);
_parametrit = [_VehkeenPaikka,_VehkeenTyyppi,_VehkeenSuunta,_VehkeenIconi];
TUN_Ajoneuvo_Parametrit pushBack _parametrit;
};
};
} forEach vehicles;
[] call TUN_fnc_Luuskine_Merkit;
//tehdään briiffiin täbi jossa voi säätää merkkien näkyvyyttä.
player createDiarySubject ["Aloitus Merkit","Aloitus Merkit"];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Kaikki Merkit Päälle"]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Kaikki Merkit Pois"]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Ajoneuvo Merkit Päälle"]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Ajoneuvo Merkit Pois"]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Ryhmä Merkit Päälle"]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Ryhmä Merkit Pois"]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Ajoneuvo Merkkien Tekstit Päälle."]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Ajoneuvo Merkkien Tekstit Pois."]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Tehnyt Tuntematon @ ArmaFinland.fi
"]];
[{time > 1}, {[] call TUN_fnc_Peli_Alkoi;}] call CBA_fnc_waitUntilAndExecute;
};
}] call CBA_fnc_waitUntilAndExecute;