-
Content Count
212 -
Joined
-
Last visited
-
Medals
Everything posted by dimon
-
tests for ARMA 3
-
Find a random position on radial
dimon replied to celludriel's topic in ARMA 3 - MISSION EDITING & SCRIPTING
https://forums.bistudio.com/topic/173601-function-random-location-of-the-objects-in-the-specified-radius/#entry2792995 http://pastebin.com/iurBZ0Eq -
SweetFX Shader Suite with ARMA 2
dimon replied to Kenwort's topic in ARMA 2 & OA - ADDONS & MODS: COMPLETE
should be a ban on the program SweetFX -
https://www.youtube.com/watch?v=H1pXTwTIlMs
-
Tell me the best configuration for the server ArmA3
dimon posted a topic in ARMA 3 - SERVERS & ADMINISTRATION
Tell me the best configuration for the server ArmA3. -
hint "Raising Power!"; //sk or Squad Kills is a global variable im using which reflects good effort by the players units. _i = [0.3,0.4,0.5,0.6,0.8,0.9]; //These are the aimingaccuracy values I'd like to assign based off of sk(Squad KIlls) call { if (sk < 40) exitwith {{_x setSkill ["aimingaccuracy", _i select 0];} forEach units group player;}; if (sk >= 40 && < 80) exitwith {{_x setSkill ["aimingaccuracy", _i select 1];} forEach units group player;}; if (sk >=80 && < 120) exitwith {{_x setSkill ["aimingaccuracy", _i select 2];} forEach units group player;}; if (sk >= 120 && > 160) exitwith {{_x setSkill ["aimingaccuracy", _i select 3];} forEach units group player;}; if (sk >= 160 && < 200) exitwith {{_x setSkill ["aimingaccuracy", _i select 4];} forEach units group player;}; {_x setSkill ["aimingaccuracy", _i select 5];} forEach units group player; }; //I get lost here as to what variable will cover this and Ive tried quite a few but left _x as a placeholder
-
hint "Raising Power!"; //sk or Squad Kills is a global variable im using which reflects good effort by the players units. _i = [0.3,0.4,0.5,0.6,0.8,0.9]; //These are the aimingaccuracy values I'd like to assign based off of sk(Squad KIlls) call { if (sk < 40) exitwith {{_x setSkill ["aimingaccuracy", _i this select 0];} forEach units group player;}; if (sk >= 40 && < 80) exitwith {{_x setSkill ["aimingaccuracy", _i this select 1];} forEach units group player;}; if (sk >=80 && < 120) exitwith {{_x setSkill ["aimingaccuracy", _i this select 2];} forEach units group player;}; if (sk >= 120 && > 160) exitwith {{_x setSkill ["aimingaccuracy", _i this select 3];} forEach units group player;}; if (sk >= 160 && < 200) exitwith {{_x setSkill ["aimingaccuracy", _i this select 4];} forEach units group player;}; {_x setSkill ["aimingaccuracy", _i this select 5];} forEach units group player; }; //I get lost here as to what variable will cover this and Ive tried quite a few but left _x as a placeholder
-
Tell me the best configuration for the server ArmA3
dimon replied to dimon's topic in ARMA 3 - SERVERS & ADMINISTRATION
Is your answer based on experience or it an assumption? By the way, thanks to all for your answers. It is very useful. -
Tell me the best configuration for the server ArmA3
dimon replied to dimon's topic in ARMA 3 - SERVERS & ADMINISTRATION
Sorry, guys. My first post need a extra explaintation. I have mean what to prefer: the top desktop CPU overclocked to max GHz possible, or server CPU with more than desktop cores and L3 cache. In other words what is priority GHz or number of cores? Our current server can't assure fine FPS for 180 players in PvP battle on large maps like Altis. Now we gathering money for new server and looking for best choice. There must be a smart decision because cost of hardware is high and we have no right for an mistake. For example we have a choice between Intel Core i7-5820K overclocked to 4.1Ghz, or may be Intel Core i7-6700K overclocked 4.7GHz, or Intel Xeon E3-1270v3 @ 3.9Ghz. -
Tell me the best configuration for the server ArmA3
dimon replied to dimon's topic in ARMA 3 - SERVERS & ADMINISTRATION
server for the greatest number of players, the greatest number of units - simple question. Primarily interested in the CPU for the server. -
ACE3 - A collaborative merger between AGM, CSE, and ACE
dimon replied to acemod's topic in ARMA 3 - ADDONS & MODS: COMPLETE
ARMA 2 ACE - fnc_bodybag.sqf /* ace_sys_wounds(.pbo) - fnc_bodybag.sqf | (c) 2012, 2013 by rocko */ #include "script_component.hpp" PARAMS_1(_body); _pos = getPos _body; _pos set [2, _body distance _pos]; _bodybag = "Body" createVehicle _pos; _bodybag setDir (getDir _body); _bodybag setPos _pos; if (!isNil {_body getVariable QGVAR(deadbody_vname)}) then { _bodybag setVariable [QGVAR(deadbody_vname), _body getVariable QGVAR(deadbody_vname), true]; }; deleteVehicle _body; player removeMagazine "ACE_Bodybag"; false Arma 3 ACE - fnc_actionPlaceInBodyBag.sqf /* * Author: Glowbal * Replace a (dead) body by a body bag * * Arguments: * 0: The actor <OBJECT> * 1: The patient <OBJECT> * * Return Value: * body bag <OBJECT> * * Public: Yes */ #include "script_component.hpp" private ["_position", "_headPos", "_spinePos", "_dirVect", "_direction", "_bodyBag"]; params ["_caller", "_target"]; if (alive _target) then { [_target, true] call FUNC(setDead); }; _position = (getPosASL _target) vectorAdd [0, 0, 0.2]; _headPos = _target modelToWorldVisual (_target selectionPosition "head"); _spinePos = _target modelToWorldVisual (_target selectionPosition "Spine3"); _dirVect = _headPos vectorFromTo _spinePos; _direction = _dirVect call CBA_fnc_vectDir; deleteVehicle _target; _bodyBag = createVehicle ["ACE_bodyBagObject", _position, [], 0, "CAN_COLLIDE"]; // prevent body bag from flipping _bodyBag setPosASL _position; _bodyBag setDir _direction; _bodyBag It is not enough: if (!isNil {_body getVariable QGVAR(deadbody_vname)}) then { _bodybag setVariable [QGVAR(deadbody_vname), _body getVariable QGVAR(deadbody_vname), true]; }; -
whether it is possible during a briefing to manually run the script?
dimon replied to dimon's topic in ARMA 3 - MISSION EDITING & SCRIPTING
createDiaryRecord execute expression: String - executed code player createDiaryRecord ["-----", ["------","------: [<execute expression='call fnc_-------'>------</execute>] <br />"]]; The next problem: That's how the script works start "call fnc_dim_respawn" player createDiaryRecord ["TU_actions", [format["УправлÑемый реÑп группы %1",group z1], "ДейÑтвие: [<execute expression='z1 call fnc_dim_respawn'>Выбрать меÑто реÑпа</execute>] <br /> "]]; player createDiaryRecord ["TU_actions", [format["УправлÑемый реÑп группы %1",group z11], "ДейÑтвие: [<execute expression='z11 call fnc_dim_respawn'>Выбрать меÑто реÑпа</execute>] <br /> "]]; player createDiaryRecord ["TU_actions", [format["УправлÑемый реÑп группы %1",group z111], "ДейÑтвие: [<execute expression='z111 call fnc_dim_respawn'>Выбрать меÑто реÑпа</execute>] <br /> "]]; so does not work { player createDiaryRecord ["TU_actions", [format["УправлÑемый реÑп группы %1",group _x], "ДейÑтвие: [<execute expression='_x call fnc_dim_respawn'>Выбрать меÑто реÑпа</execute>] <br /> "]]; } foreach [z1,z11,z111]; -
-
Function: fn_getplace Author: Dimon UA Description: Returns place the unit in the vehicle. Returns: Array [place,indexcargo,indexturrets] KK_fnc_netId = { /* Autor: Killzone Kid Description: netId in SP is "". Here is the function that will give you universal netId that works both in SP and MP //example hint (player call KK_fnc_netId); hint (group player call KK_fnc_netId); */ if (isMultiplayer) exitWith {netId _this}; if (typeName _this != "OBJECT" && typeName _this != "GROUP" || {isNull _this}) exitWith {""}; if (isNil "KK_globIDs") then {KK_globIDs = [0]}; private ["_i", "_cnt", "_netId"]; _i = KK_globIDs find _this; if (_i < 0) exitWith { _cnt = (KK_globIDs select 0) + 1; KK_globIDs set [0, _cnt]; _netId = format ["0:%1", _cnt]; KK_globIDs append [_netId, _this]; _netId }; KK_globIDs select (_i - 1) }; /* Function: fn_getplace Description: Returns place the unit in the vehicle. Returns: Array [place,indexcargo,indexturrets] Author: Dimon UA */ private ["_unit", "_veh", "_place", "_index", "_netId", "_netId_x", "_getindexturrets"]; _unit =_this select 0; _veh =_this select 1; _place = ""; if (_unit == commander _veh) exitwith {_place="commander";[_place]}; if (_unit == gunner _veh) exitwith {_place="gunner";[_place]}; if (_unit == driver _veh) exitwith {_place="driver";[_place]}; _index=_veh getCargoIndex _unit; if (_index != -1) then { _place="cargo"; [_place,_index] }else{ if (count (allTurrets _veh)>0) then { _place="turrets"; _netId=_unit call KK_fnc_netId; { _netId_x=(_x select 0) call KK_fnc_netId; if (_netId==_netId_x) exitwith { _getindexturrets = _x select 3; }; } foreach (fullCrew [_veh,"turret"]); [_place,_index,_getindexturrets] }; };
-
Detects whether is position within marker area.
dimon posted a topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
Based on fn_inTrigger. fn_inMarker scriptName "fn_inMarker.sqf"; /* File: fn_inMarker.sqf Author: Karel Moricky Edited: Dimon UA Description: Detects whether is position within marker area. Parameter(s): _this select 0: marker _this select 1: Position _this select 2: OPTIONAL - scalar result (distance from border) Returns: Boolean (true when position is in area, false if not). */ private ["_mrk","_mrkarea","_posx","_posy","_tarea","_tx","_ty","_tdir","_tshape","_in"]; _mrk = _this select 0; _position = _this select 1; _scalarresult = if (count _this > 2) then {_this select 2} else {false}; _posx = getMarkerPos _mrk select 0; _posy = getMarkerPos _mrk select 1; _mrkarea = getMarkerSize _mrk; _tx = _mrkarea select 0; _ty = _mrkarea select 1; _tdir = markerDir _mrk; _tshape = markerShape _mrk; _in = false; if (_tshape == "RECTANGLE") then { //--- RECTANGLE _difx = (_position select 0) - _posx; _dify = (_position select 1) - _posy; _dir = atan (_difx / _dify); if (_dify < 0) then {_dir = _dir + 180}; _relativedir = _tdir - _dir; _adis = abs (_tx / cos (90 - _relativedir)); _bdis = abs (_ty / cos _relativedir); _borderdis = _adis min _bdis; _positiondis = _position distance getMarkerPos _mrk; _in = if (_scalarresult) then { _positiondis - _borderdis; } else { if (_positiondis < _borderdis) then {true} else {false}; }; }; if (_tshape == "ELLIPSE") then { //--- ELLIPSE _e = sqrt(_tx^2 - _ty^2); _posF1 = [_posx + (sin (_tdir+90) * _e),_posy + (cos (_tdir+90) * _e)]; _posF2 = [_posx - (sin (_tdir+90) * _e),_posy - (cos (_tdir+90) * _e)]; _total = 2 * _tx; _dis1 = _position distance _posF1; _dis2 = _position distance _posF2; _in = if (_scalarresult) then { (_dis1+_dis2) - _total; } else { if (_dis1+_dis2 < _total) then {true} else {false}; }; }; _in example: fn_inMarker = compile preprocessFile "fn_inMarker.sqf"; if ((({(["Base", getPos _x] call fn_inMarker) && (side _x == west)} count allunits ) < 3) && (({(["Base", getPos _x] call fn_inMarker) && (side _x == east)} count allunits) > 5)) then { if (!(['main_base', getPosATL player] call fn_inMarker)) exitWith{ -
Performance & Traffic Boost ~ enableSimulation, createVehicleLocal & hideObject
dimon replied to Armitxes's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
-
[WIP] CorePatch: config patch for ArmA 2 OA
dimon replied to goliath86's topic in ARMA 2 & OA - ADDONS & MODS: DISCUSSION
@dead