Elioriel icon

fn_keyMenu.sqf

Elioriel | PRO | 01/14/19 02:44:34 AM UTC | 0 ⭐ | 209 👁️ | Never ⏰ | []
SQF |

2.37 KB

|

None

|

0 👍

/

0 👎

#include "..\..\script_macros.hpp"
/*
    File: fn_keyMenu.sqf
    Author: Bryan "Tonic" Boardwine
 
    Description:
    Initializes the key menu
    Will be revised.
*/
private["_display","_vehicles","_plist","_near_units","_pic","_name","_text","_color","_index","_type","_p_units"];
disableSerialization;
 
waitUntil {!isNull (findDisplay 2700)};
_display = findDisplay 2700;
_vehicles = _display displayCtrl 2701;
lbClear _vehicles;
_plist = _display displayCtrl 2702;
lbClear _plist;
_near_units = [];
_p_units = playableUnits;
 
//{ if(player distance _x < 20) then {_near_units pushBack _x};} foreach playableUnits;
{  _near_units pushBack (name _x); } foreach _p_units;
 
for "_i" from 0 to (count life_vehicles)-1 do {
    _veh = life_vehicles select _i;
    if(!isNull _veh && alive _veh) then {
        _color = SEL(SEL(M_CONFIG(getArray,CONFIG_LIFE_VEHICLES,(typeOf _veh),"textures"),(_veh GVAR "Life_VEH_color")),0);
        if(isNil "_color") then {_color = ""};
        _text = format["(%1)",_color];
        if(_text == "()") then {
            _text = "";
        };
 
        _name = getText(configFile >> "CfgVehicles" >> (typeOf _veh) >> "displayName");
        _pic = getText(configFile >> "CfgVehicles" >> (typeOf _veh) >> "picture");
        _vehicles lbAdd format["%1 %3 - [Distance: %2m]",_name,round(player distance _veh),_text];
        if(_pic != "pictureStaticObject") then {
            _vehicles lbSetPicture [(lbSize _vehicles)-1,_pic];
        };
        _vehicles lbSetData [(lbSize _vehicles)-1,str(_i)];
    };
};
 
/*
{
    if(!isNull _x && alive _x && player distance _x < 20 && _x != player) then {
        _plist lbAdd format["%1 - %2",_x getVariable["realname",name _x], side _x];
        _plist lbSetData [(lbSize _plist)-1,str(_x)];
    };
} foreach _near_units;
*/
 
_plist lbAdd format["%1","Cible"];
_plist lbSetData [(lbSize _plist)-1,"targetkeygive"];
 
_near_units = _near_units call BIS_fnc_sortAlphabetically;
{
    _name = _x;
    {
        if ((!isNull _x) && {name _x == _name} && {alive _x} && {_x != player}) then
        {
            switch (side _x) do
            {
                case west: {_type = "Cop";};
                case civilian: {_type = "Civ";};
                case independent: {_type = "Med";};
                case east {_type     = "adac";};
            };
            _plist lbAdd format["%1 (%2)",_x getVariable["realname",name _x], _type];
            _plist lbSetData [(lbSize _plist)-1,str(_x)];
        };
    } foreach _p_units;
} foreach _near_units;
 
if(((lbSize _vehicles)-1) == -1) then {
    _vehicles lbAdd "You don't own any vehicles";
    _vehicles lbSetData [(lbSize _vehicles)-1,str(ObjNull)];
};

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎