Jump to content

mrcurry

Member
  • Content Count

    419
  • Joined

  • Last visited

  • Medals

Community Reputation

258 Excellent

6 Followers

About mrcurry

  • Rank
    Gunnery Sergeant

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. mrcurry

    Trigger Question

    The problem doesn't seem to be in the code that you have provided. Show the officerAssignsJeep.sqf script code as well.
  2. Good looking stuff! Regarding this: See note in link: https://community.bistudio.com/wiki/isGamePaused In your function RYD_TI_ContourFlight put this... RYD_TI_ContourFlight = { if (isGamePaused) exitWith {}; /**** your code here ****/ }; ...or this... RYD_TI_ContourFlight = { if(not isGamePaused) then { /**** your code here ****/ }; }; ...which ever floats your flying boat.
  3. This will only remove the executing client's weapons, since player is parsed on the executing machine before being transfered. The first approach you mentioned is required: [[], {removeAllWeapons player}] remoteExec ["call"] -Edit- or better yet define a function in CfgFunctions: TAG_fnc_removePlayerWeapons = { removeAllWeapons player } and execute it like so [] remoteExec ["TAG_fnc_removePlayerWeapons"];
  4. Couple of issues with vDog Patrol when the dog is controlled by enemy AI (which is what I'd want to use this for) 1. When the player reveals themselves the dogs just stand there (tested on the included test mission). This seems to be because: if !(assignedTeam _dog isEqualTo "RED") then {_targetsAmount = 0;}; since assignedTeam will always return "" on AI-only groups. 2. I played around with adding "&& isPlayer _dogOwner" to the above condition and the dog started moving but only to it's owner. It still won't engage the player. 3. I might be missing something but when iterating over _nearHumans to find _targetHumans there's this: then {_targetHumans = _targetHumans + [_x]; _dog knowsabout _x; _dogOwner knowsabout _x;} This seems more appropriate: pushBack is more efficient and since the knowsAbout value isn't used I'm guessing you wish to reveal the target to the group instead: then {_targetHumans pushBack _x; group _dogOwner reveal _x; } I'd also recommend splitting the AI and player versions of vDog patrol up into 2 separat scripts. It'd would help minimize running code that isn't needed for each use case and help simplify troubleshooting for you as well. It might even be worth pulling the dog move code into it's own routine and have the dogs and let it act on some given parameters that could be controlled by the other scripts. It makes sense (to me anyway) that the locomotion of the dogs ought to be the same no matter if they are controlled by a player, an AI or are feral. Makes it easier to update and maintain even if you decide to change stuff around with their movement. Anyway that's my 2 cents. Great work so far! Carry on.
  5. Arrays are stored by reference. As long as you know which index A is stored in the answer is: no, where you put A in the B array has no bearing on the access time or memory allocation time. In any practical application "array select 0" and "array select n" are equal in speed.
  6. Sound like AI doesn't know how to return to regular animations after your anim is finished. If that's the case you'll have to manually put them back on track after your anim is done. As for moving while the anim is playing I don't know.
  7. TAG_fnc_loadClientData = { _this params ["_loadout", "_positionASL", "_dir"]; player setUnitLoadout _loadout; player setDir _dir; player setPosASL _positionASL; }; if(isServer) then { addMissionEventHandler [ "HandleDisconnect", { params ["_body", "_id", "_uid", "_name"]; if(!isNull _body) then { //Init storage var if(isNil "TAG_disconnectedLoadouts") then { TAG_disconnectedLoadouts = []; }; //Get data private _loadout = getUnitLoadout _body; private _position = getPos _body; private _direction = getDir _body; //Find in storage private _uidIndex = TAG_disconnectedLoadouts find _uid; if(_uidIndex > -1) then { //Found -> update private _loadoutIndex = _uidIndex + 1; TAG_disconnectedLoadouts set [_loadoutIndex, [_loadout, _position, _direction]]; } else { //Not found -> Add new TAG_disconnectedLoadouts pushBack _uid; TAG_disconnectedLoadouts pushBack [_loadout, _position, _direction]; }; }; false } ]; addMissionEventHandler [ "PlayerConnected", { params ["_id", "_uid", "_name", "_jip", "_owner"]; if(_jip) then { private _clientData = missionNamespace getVariable ["TAG_disconnectedLoadouts", []]; private _uidIndex = _clientData find _uid; if(_uidIndex > -1) then { private _loadoutIndex = _uidIndex + 1; (_clientData select _loadoutIndex) remoteExec ["TAG_fnc_loadClientData", _owner]; }; }; } ]; };
  8. Unfortunately that's only gonna return the comparison of the last marker in the list. Also _markerList is not defined in the condition scope. Instead use findIf for the condition: "alive _target And TAG_markerList findIf {_target distance2D getMarkerPos _x <= 40} >= 0" and make the list global: TAG_markerList = ["APF_1","APF_2","APF_3"];
  9. mrcurry

    Secure HVT using ACE

    Try using HandleDamage eh instead and return 0 in it. this addEventHandler ["HandleDamage", {this setDamage 0.7; this setvariable ["ACE_isUnconscious", true, true]; this setUnconscious true; 0}]; Note: Haven't tested this approach with ace before so not sure how that's gonna gel
  10. hideObject has local effect, execute with true on the client where you want to hide the object
  11. Sounds like a Life-problem, if so you're better off asking in the Life forums. If not provide more information.
  12. mrcurry

    Custom Group Color

    @darkxess Well players and AI both belong to groups. To assign color to a group just do so in the editor with setVariable and then where you display that color just read the variable with getVariable. Remember, groups have a variable scope too. As to how to display that color that's up to you. It's like you say, the game doesn't have a built in feature for it. Using drawIcon3D for floating markers over people's heads is pretty popular. For something only the player can see you'll want to look into dialogs and their use with cutRsc. If you just want something to copy let me know and I can post something I'm currently using.
  13. mrcurry

    [Help] HoldAction to Classname

    You're using the condition that it's closer than 3 m, are you sure that the condition is satisfied? I remember some buildings and trees have their object center above or below where you think it is. 3 m is not a large distance
  14. mrcurry

    Custom Group Color

    Just to clarify in Arma terminology a group is the container/controller of a bunch of units, a squad. A team is a subsection of the group that the group leader can assign using the radio menus. These are colorcoded like you say above. With that said what exactly are you trying to achieve and how are the colors going to be used?
  15. C = vertical distance from trigger center to the top and bottom of the trigger volume. Z = the height of the trigger center above something (not sure but it's probably AGL a.k.a. above the surface below it) To stack triggers vertically is the same as stacking along the horizontal axis. Assuming: Cx = center of trigger x sx = size of trigger x in the given axis Then just make sure that C1 and C2 are s1+s2 distance apart.
×