Jump to content

dimon

Member
  • Content Count

    212
  • Joined

  • Last visited

  • Medals

Everything posted by dimon

  1. dimon

    [WIP] ARENA-E

    tests for ARMA 3
  2. https://forums.bistudio.com/topic/173601-function-random-location-of-the-objects-in-the-specified-radius/#entry2792995 http://pastebin.com/iurBZ0Eq
  3. should be a ban on the program SweetFX
  4. dimon

    Russia General

  5. dimon

    Ukraine General

    https://www.youtube.com/watch?v=H1pXTwTIlMs
  6. Tell me the best configuration for the server ArmA3.
  7. dimon

    subSkill Array Problem

    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
  8. dimon

    subSkill Array Problem

    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
  9. Is your answer based on experience or it an assumption? By the way, thanks to all for your answers. It is very useful.
  10. 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.
  11. server for the greatest number of players, the greatest number of units - simple question. Primarily interested in the CPU for the server.
  12. 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]; };
  13. whether it is possible during a briefing to manually run the script?
  14. 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];
  15. 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] }; };
  16. 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{
  17. dimon

    Ukraine General

×