mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
push v1 map config tool
pageup/down toggle modes space selects target delete remove target from data set ctrl+c fills clipboard with config data
This commit is contained in:
parent
daaa4a321a
commit
176a19c33c
163
Tools/SQF/getTreesAndTrash.sqf
Normal file
163
Tools/SQF/getTreesAndTrash.sqf
Normal file
@ -0,0 +1,163 @@
|
||||
/*
|
||||
Made for A3 Epoch Mod
|
||||
EpochMod.com
|
||||
by Aaron Clark - [VB]AWOL
|
||||
|
||||
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
|
||||
http://creativecommons.org/licenses/by-sa/4.0/
|
||||
*/
|
||||
|
||||
player allowDamage false;
|
||||
player enableFatigue false;
|
||||
|
||||
Epoch_selectedIndex = 0;
|
||||
EP_modes = ["Rocks","ATM","Water","Trash","Trees","Bushes","Wrecks"];
|
||||
EP_selectedMode = EP_modes select Epoch_selectedIndex;
|
||||
EP_modeColors = [[0,0,0,1],[0,0.5,0.9,1],[0,0,1,1],[1,0,0,1],[0,1,0,1],[0.5,0.5,0,1],[1,0.5,0.5,1],[1,1,1,1]];
|
||||
EP_modesCount = (count EP_modes)-1;
|
||||
|
||||
|
||||
EPOCH_dbg_saveMapConfig = {
|
||||
_br = toString [13,10];
|
||||
_config_str = "class " + worldName + " {" + _br;
|
||||
_array = [];
|
||||
{
|
||||
_config_str = _config_str + format[' %1[] = {%2',_x,_br];
|
||||
_printData = missionNamespace getVariable [_x,[]];
|
||||
_countArray = (count _printData) - 1;
|
||||
{
|
||||
_config_str = _config_str + format[' "%1"%2', _x, if (_forEachIndex isEqualTo _countArray) then {_br} else {("," + _br)}];
|
||||
} forEach _printData;
|
||||
_config_str = _config_str + " };" + _br;
|
||||
} forEach EP_modes;
|
||||
_config_str = _config_str + "};" + _br;
|
||||
_config_str
|
||||
};
|
||||
|
||||
|
||||
EPOCH_KeyDownCustom = {
|
||||
_dikCode = _this select 1;
|
||||
_shift = _this select 2;
|
||||
_ctrl = _this select 3;
|
||||
_alt = _this select 4;
|
||||
_handled = false;
|
||||
|
||||
switch (_dikCode) do {
|
||||
case 0x2E: {
|
||||
if (_ctrl) then {
|
||||
hint "Saved to clipboard";
|
||||
copyToClipboard call EPOCH_dbg_saveMapConfig;
|
||||
};
|
||||
};
|
||||
|
||||
case 0xC9 : {
|
||||
Epoch_selectedIndex = ((Epoch_selectedIndex + 1) min EP_modesCount) max 0;
|
||||
EP_selectedMode = EP_modes select Epoch_selectedIndex;
|
||||
hint EP_selectedMode;
|
||||
_handled = true;
|
||||
};
|
||||
case 0xD1 : {
|
||||
Epoch_selectedIndex = ((Epoch_selectedIndex - 1) min EP_modesCount) max 0;
|
||||
EP_selectedMode = EP_modes select Epoch_selectedIndex;
|
||||
hint EP_selectedMode;
|
||||
_handled = true;
|
||||
};
|
||||
|
||||
case 0xD3: {
|
||||
|
||||
_handled = true;
|
||||
|
||||
_currentPos = screenToWorld [0.5,0.5];
|
||||
|
||||
if !(surfaceIsWater _currentPos) then {
|
||||
_currentPos = ATLtoASL _currentPos;
|
||||
};
|
||||
EP_objects = lineIntersectsObjs[eyePos player, _currentPos, player, objNull, true, 2];
|
||||
|
||||
{
|
||||
if (typeOf _x == "") then {
|
||||
_objStr = str _x;
|
||||
_findStart = _objStr find ": ";
|
||||
if (_findStart != -1) then {
|
||||
_p3dName = _objStr select [_findStart+2,999];
|
||||
EPOCH_ALL = EPOCH_ALL - [_p3dName];
|
||||
{
|
||||
_varDataDel = missionNamespace getVariable [_x,[]];
|
||||
if (_p3dName in _varDataDel) exitWith {
|
||||
_varDataDel = _varDataDel - [_p3dName];
|
||||
missionNamespace setVariable [_x,_varDataDel];
|
||||
};
|
||||
} forEach EP_modes;
|
||||
};
|
||||
};
|
||||
} forEach EP_objects;
|
||||
};
|
||||
|
||||
|
||||
case 0x39 : {
|
||||
_handled = true;
|
||||
|
||||
_currentPos = screenToWorld [0.5,0.5];
|
||||
|
||||
if !(surfaceIsWater _currentPos) then {
|
||||
_currentPos = ATLtoASL _currentPos;
|
||||
};
|
||||
EP_objects = lineIntersectsObjs[eyePos player, _currentPos, player, objNull, true, 2];
|
||||
|
||||
_varData = missionNamespace getVariable [EP_selectedMode, []];
|
||||
_allData = missionNamespace getVariable ["EPOCH_ALL", []];
|
||||
{
|
||||
_objStr = str _x;
|
||||
_findStart = _objStr find ": ";
|
||||
if (_findStart != -1) then {
|
||||
_p3dName = _objStr select [_findStart+2,999];
|
||||
if !(_p3dName in _allData) then {
|
||||
if !(_p3dName in _varData) then {
|
||||
_allData pushBack _p3dName;
|
||||
_varData pushBack _p3dName;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
} forEach EP_objects;
|
||||
missionNamespace setVariable [EP_selectedMode, _varData];
|
||||
missionNamespace setVariable ["EPOCH_ALL", _allData];
|
||||
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
_handled
|
||||
};
|
||||
|
||||
|
||||
[] spawn {
|
||||
(findDisplay 46) displayRemoveAllEventHandlers "KeyDown";
|
||||
(findDisplay 46) displayAddEventHandler["KeyDown",{_this call EPOCH_KeyDownCustom}];
|
||||
};
|
||||
|
||||
|
||||
onEachFrame {
|
||||
_all = nearestObjects [player, [], 20];
|
||||
{
|
||||
if (typeOf _x == "") then {
|
||||
_objStr = str _x;
|
||||
_findStart = _objStr find ": ";
|
||||
if (_findStart != -1) then {
|
||||
_p3dName = _objStr select [_findStart+2,999];
|
||||
_color = [1,1,1,1];
|
||||
{
|
||||
if (_p3dName in (missionNamespace getVariable [_x,[]])) exitWith {
|
||||
_color = EP_modeColors select _foreachindex;
|
||||
};
|
||||
} forEach EP_modes;
|
||||
drawIcon3D ["\x\addons\a3_epoch_code\Data\Member.paa", _color, getPos _x, 1, 1, 45, _p3dName, 1, 0.04, "PuristaMedium"];
|
||||
};
|
||||
};
|
||||
} forEach _all;
|
||||
_lineColor = EP_modeColors select Epoch_selectedIndex;
|
||||
drawLine3D [ASLtoATL eyePos player, screenToWorld [0.5,0.5], _lineColor];
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user