Kempco
Member-
Content Count
147 -
Joined
-
Last visited
-
Medals
-
The reason the AI are using round chutes is because you are using ACE. There is no way,that I am aware of, to get the AI to fly straight in the square chutes. As for the bailout masks, you have to use the A2 (not OA version) of the addon. Hope that helps.
-
JTK Weapon Suppressor Script
Kempco replied to Kempco's topic in ARMA 2 & OA - ADDONS & MODS: COMPLETE
The class names of the weapons MUST be all lower case to work. -
In short, you can't. If you are using ACE, then your Identity will be the one you have selected in your player profile, this is your "ACE_Original_Identity". If you want to mess your ID when using ACE, do so using the edit option located under player profile (Main Menu). Any ID you select in mission will be overridden by this ID if you use any of the mask/goggle options.
-
For helicopters, as of alpha 0.54, The effects of limitSpeed are no longer temporary, i.e. no longer need to be run in a loop. This means that you need to clear it when you are done. YOUR_HELO limitspeed 5000; (The 5000 sets the limit to a speed exceeding the aircraft's max thus removing the effects limit issues via the limitspeed command).
-
Returing nearest H pad "build-in" to map
Kempco replied to Kempco's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
I want to use the H-pads build into the map as cross-reference with the following function to get the nearest "safe" landing zone for an AI pilot to Land. //by Kempco _pos = _this select 0; _limit = _this select 1; _helo = _this select 2; _LZ = false; _bb_max = boundingBox _helo select 1; _size = [[_bb_max select 0,_bb_max select 1],1] call bis_fnc_findExtreme; _diameter = 1.25*_size; _maxgradient = 0.125; _isFlat = [_pos select 0,_pos select 1,0] isflatempty [_diameter,0,_maxgradient,_diameter,0,false,objNull]; scopeName "main"; if (count _isFlat != 3) then { _center = _pos; _pos = false; for "_i" from 1 to 1000 do { _d = _diameter + (0.5*_diameter*_i); if (_d > _limit) exitWith {}; _steps = floor (_d*pi*0.1); _inc = 360/_steps; for "_j" from 1 to _steps do { _dir = _inc * _j; _x = (_center select 0)+(sin(_dir)*_d); _y = (_center select 1)+(cos(_dir)*_d); _isFlat = [_x,_y,0] isflatempty [_diameter,0,_maxgradient,_diameter,0,false,objNull]; _LZ = if (count _isFlat == 3) then {_isFlat}else{false}; if (typeName _LZ == "ARRAY") exitWith {}; }; if (typeName _LZ == "ARRAY") exitWith {}; }; }else{ _LZ = _isFlat; }; _LZ -
Returing nearest H pad "build-in" to map
Kempco posted a topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
the following code was used to get the type of Object of a Known helipad at the Zargabad Airport: copyToClipboard (format ["%1", TypeOf ((position player) nearestObject 3999)]); The Above code works with buildings but in the case of the Helipad it returned an empty string. I then tried: copyToClipboard (format ["%1", (position player) nearestObject 3999]); Which returned ==> 3999: heli_h_army.p3d is there a way to convert the p3d model returned by the above code to its associated object class other then "typeOf"? PS: the object classes of the 3 visible helipads ["HeliH","HeliHRescue","HeliHCivil"] also did not register. -
Arma 3 helicopters and setvelocity/attachTo
Kempco posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Trying to get a helicopter to fly to position and not land, problem is the helicopter stops short by about 50m. I used both attachTo and setvelocity to move the helicopter into position but neither seem to have an effect. The following code is from an arma 2 script used to drop units off on land and over water. AttachTo was used instead of setvelocity because attachTo does not change the VectorDir/VectorUp of the vehicle. Are the new helicopters simulated differently? If so how do you get them to fly to a specific position without landing? //by Kempco _helo = _this select 0; _endpos = _this select 1; _pilot = driver _helo; if (surfaceIsWater _endpos) then { _hlpr = JTK_Transport_Hlpr createVehicle [0,0,0]; WaitUntil {!isNil "_hlpr"}; _hlpr hideObject true; JTK_Call_PVEH = [_hlpr,compile "_this hideObject true"]; publicVariable "JTK_Call_PVEH"; While {(getpos _helo select 2 > (JTK_Transport_FlyInHeight*0.5)+1) AND (canmove _helo) AND (alive _pilot)} do {sleep 0.5}; _pos = _helo worldToModel _endpos; _dir2 = (_pos select 0) atan2 (_pos select 1); _dist2 = sqrt((_pos select 0)^2+(_pos select 1)^2); for [{_i = 0},{_i < abs(_dir2)},{_i = _i + 1}] do { _helo setdir ((getDir _helo)+abs(_dir2)/_dir2); _helo setVelocity [0,0,0]; sleep 0.05; }; _alt = getpos _helo select 2; _attachPos = [0,0,_alt]; _hlpr setDir (direction _helo); _hlpr setPos (_helo modelToWorld [0,0,-_alt]); _hlpr setVectorUp [0,0,1]; _helo attachTo [_hlpr,_attachPos]; _dir = direction _hlpr; _dist = [_helo,_endpos] call BIS_fnc_distance2D; _approachDist = (_dist*0.15); _speed = 0; _speed_max = 45; _speed_min = 1; _n = 200; _t = 0; while {(alive _pilot) AND (canmove _helo)} do { _dist_old = _dist; _dist = [_helo,_endpos] call BIS_fnc_distance2D; _speed = if (_dist > _approachDist) then { if (_speed < _speed_max) then {_speed + 0.25}else{_speed_max}; }else{ if (_speed > _speed_min) then {_speed - 0.25}else{_speed_min}; }; if (_speed == _speed_min) then {_t = _t + (1/_n)}; _inc = (_speed/_n); if ((_dist > _dist_old) OR (_dist <= 1) OR (_t > 3)) exitWith { deleteVehicle _hlpr; _helo setVelocity [0,0,0]; }; _attachPos = [_attachPos select 0,((_attachPos select 1) + _inc),_attachPos select 2]; _helo attachTo [_hlpr,_attachPos]; sleep (1/_n); }; _helo flyInHeight 5; While {(getpos _helo select 2 > 5.5) AND (canmove _helo) AND (alive _pilot)} do {sleep 0.5}; }else{ _helo land "GET OUT"; While {(getpos _helo select 2 > 1.5) AND (canmove _helo) AND (alive _pilot)} do {sleep 0.5}; }; _unitsToEject = []; {if(count(assignedVehicleRole _x) != 2 AND _x != _pilot) then {_unitsToEject = _unitsToEject + [_x]}}forEach (crew _helo); for "_i" from 0 to (count _unitsToEject - 1) do { [(_unitsToEject select _i),_helo] spawn {//<======================Give units clearence so they do not "stick" to heli WaitUntil {!((_this select 0) in (_this select 1))}; (_this select 0) setPos ((_this select 0) modelToWorld [0,1.0,-0.5]); }; unassignVehicle (_unitsToEject select _i); (_unitsToEject select _i) action ["Eject",_helo]; sleep 0.25; if !(surfaceiswater _endpos) then {_helo setVelocity [0,0,-1]}; }; sleep 1; _helo flyinheight JTK_Transport_FlyInHeight; _helo land "NONE"; -
script call in object's init field executed every time a player connects. workaround?
Kempco replied to sorophx's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
if ((str player) in _unitsArray) then { null = [[("<t color=""#FF0000"">" + ("Set rally point") + "</t>"), "rally.sqf"]] call CBA_fnc_addPlayerAction; }; You cannot use "player" to reference a unit on a dedicated server. A dedicated server by definition has no player, thus player will always be null. -
May be difficult to see, but the hint text is displaying "Part Hit: legs".
-
This has to do with changes ACE made to the bis parachute class. I could get the AI into the square chutes but getting them to do anything after that was a nut I couldn't crack. Anything above 25m looked terrible. I initially had it where the AI would pull their chutes at 100m them teleport to 25m, (see the armaholic video, not the water one.) ---------- Post added at 03:26 PM ---------- Previous post was at 03:02 PM ---------- Thank you . Once they add the fixed wing aircraft and parachutes ill get started.
-
I have been told that if I create the markers via createMarker, it shows up on everyone's maps. But if I add below that, setMarkerTransparencyLocal to 0 for someone who is not the player who started the script, would that work to erase the visibility of the marker on everyone else's maps? Since your script is activated via an addaction, it will always be local to the player who executed it. Since addactions are always local, you should be able to use the createmarkerlocal command via the local addaction to create a marker that is only viable to you. (This is not the case for editor placed triggers/init lines). Creating the marker globally, which is what Createmarker does, then hiding it locally for everyone else but you is doable using PVEHs, but very inefficient in this case.
-
try the following: this addweapon "ACE_ParachutePack"; this setpos [getpos this select 0, getpos this select 1,(getpos this select 2) +1500]; _nil = this spawn {sleep 1; _this execVM "x\ace\addons\sys_eject\jumpout_cord.sqf"};
-
Attach light to c130
Kempco replied to ofp_f3d3's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
Depends on the altitude. If your in a C130 above 2000m, you have to set the brightness extremely high, (I forget what I did but I think its something like +25.0 for each 2000-3000m). Make Sure you execute this local to each player and terminate the second the player exits the aircraft. At brightness levels that high the entire map changes color at ground level. -
Added Action Disappears After Respawning in Multiplayer
Kempco replied to Arcurus's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
CheckThirstAction = player addAction["Check Thirst", "Survival_Mechanics\thirstStatus.sqf", [], 1, false, false, "", ""]; player addEventHandler ["killed",{ [] spawn { player removeAction CheckThirstAction; WaitUntil{alive player}; CheckThirstAction = player addAction["Check Thirst", "Survival_Mechanics\thirstStatus.sqf", [], 1, false, false, "", ""]; }; }]; -
Problem loading multiple sounds
Kempco replied to Yeti1's topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
Discard