#include "\x\cba\addons\main\script_macros_common.hpp"
//versio 2.1
//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 53)};};
};
uiSleep 1;
[{!isNull player && hasInterface && time < 5},{ //CBA_fnc_waitUntilAndExecute. Siirtää scriptan unscheduled environmentiin.
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", "_osapuoli", "_vari", "_TUN_fnc_Merkinteko", "_merk", "_merkinnimi", "_merkinpaikka", "_tyyppi", "_merkinteksti", "_VehkeenTeksti", "_luuskanidc", "_VehkeenPaikka", "_VehkeenSuunta", "_VehkeenIconi", "_pomo", "_porukka", "_VehkeenTyyppi", "_parametrit"];
_pelaajanpuoli = side player;
_osapuoli = switch (_pelaajanpuoli) do
{
case west: { "b" };
case east: { "o" };
default { "n" }
};
_vari = [ _pelaajanpuoli, true ] call BIS_fnc_sideColor;
TUN_Display = 53;
TUN_Ryhma_Merkit_Paalla = True;
TUN_Ajoneuvo_Merkit_Paalla = True;
TUN_Teksti_Paalla = false;
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","_VehkeenTeksti"];
if !(TUN_Teksti_Paalla) then
{
_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);
_VehkeenTeksti = str(_x getVariable "displayName");
ISNILS(_VehkeenTeksti,str getText (configFile/"CfgVehicles"/_VehkeenTyyppi/"displayName"));
_parametrit = [_VehkeenPaikka,_VehkeenTyyppi,_VehkeenSuunta,_VehkeenIconi,_VehkeenTeksti];
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
"]];
player createDiaryRecord ["Aloitus Merkit",["Merkit ON/OF", "Scripti on vielä keskeneräinen. Massakäyttöön ottoa ei suositella vielä."]];
player createDiaryRecord ["Diary",["Aloitusmerkit Scripti","Tehtävässä on käytössä testissä oleva scripti joka merkkaa aloitus paikat kartalle. Voit muokata mitkä merkit näkyy valitsemalla ''Aloitus Merkit'' vasemmalta."]];
[{time > 1}, {[] call TUN_fnc_Peli_Alkoi;}] call CBA_fnc_waitUntilAndExecute;
}] call CBA_fnc_waitUntilAndExecute;