Jump to content

magicpanda

Member
  • Content Count

    160
  • Joined

  • Last visited

  • Medals

Everything posted by magicpanda

  1. Anyone had any joy getting access to the Firing Drill stuff, specifically the on screen stopclock? Done a thorough search through the forum but nothing.
  2. magicpanda

    CSAT won't engage NATO?

    Depending what you are doing look into the EOS (enemy occupation system) script pack.
  3. magicpanda

    UAV Waypoint Precision

    Will unitCapture and play work with UAVs?
  4. Ignore my final post in that thread. My nato version is missing loads and is bit buggy
  5. Here this may help. Larrow, as always, coming up trumps :) You can create custom Virtual Arsenals using Zeus then export to a normal mission really easily. https://forums.bistudio.com/topic/182817-how-to-limit-weapons-in-the-arsenal-of-a-box/
  6. Ok, copy the code you quoted in the OP and save it in your mission folder and call it emp.sqf. Create a radio trigger and in the onAct part of it type: null = [player] execVM "emp.sqf" The part in brackets will be where you want the centre of the emp blast to be. At the moment it will have to be an object like the player or named object like a satellite phone called blastCentre for example. null = [blastCentre] execVM "emp.sqf"
  7. magicpanda

    List of icons and paths?

    Not that I know of bar unpacking the PBOS and viewing the files . I've been using this page for markers, although it's out of date. https://community.bistudio.com/wiki/cfgMarkers Might be a better solution out there though.
  8. Tried createVehicle with the wreck names in your init file? https://community.bistudio.com/wiki/createVehicle _heli = "Heli_Light_01_wreck_F" createVehicle getMarkerPos "helispawn"; or could try this. http://killzonekid.com/arma-scripting-tutorials-how-to-make-a-wreck/ Along with the fire and smoke modules if you are just using the editor.
  9. I don't see how that wont work from a radio trigger as is. How is it called? The only thing I can see passed to it is the centre position of the radius you want the lights to go out. Stick this in the on act of the radio trigger null = [player] execVM "emp.sqf"
  10. I'm having trouble getting this trigger to run repeatedly and wondered what the rules are governing the detected by condition. It seems to never fire more than once. I run into the trigger area with lots of separate groups (EOS). I'm detected once, get the shells and the hint. However if I move around being detected by different groups it never fires again. Am I missing something? m1trg = createTrigger ["EmptyDetector", getMarkerPos "Artyspawn"]; m1trg setTriggerArea [600, 600, 0, false]; m1trg setTriggerActivation ["WEST", "EAST D", true]; m1trg setTriggerStatements ["this", "mortargunner1 commandArtilleryFire [getposatl (thislist select 0), '8Rnd_82mm_Mo_shells', 2]; hint 'Incoming!'",""]; m1trg setTriggerTimeout [10, 10, 10, false];
  11. magicpanda

    Rules for 'detected by' triggers

    Cracked it cheers Jshock, could be better. Might be better to pass the unit somehow so the mortar tracks and then make the gunner a bit less accurate. Trigger m1trg = createTrigger ["EmptyDetector", getMarkerPos "Artyspawn"]; m1trg setTriggerArea [1000, 1000, 0, false]; m1trg setTriggerActivation ["WEST", "EAST D", TRUE]; m1trg setTriggerStatements ["this && alive mortargunner1", "hint 'Incoming!'; 0 = getPosATL (thisList select 0) execVM 'mortargunner1Loop.sqf';", "detected_B = false; hint 'escaped detection';"]; while {detected_B} do { sleep 2; mortargunner1 commandArtilleryFire [_this, "8Rnd_82mm_Mo_shells", 2]; hint 'mortar round 1 Fired'; sleep 4; //increase to simulate enemy radioing position mortargunner1 commandArtilleryFire [_this, "8Rnd_82mm_Mo_shells", 2]; hint 'mortar round 2 Fired'; sleep 4; //increase to simulate enemy radioing position mortargunner1 commandArtilleryFire [_this, "8Rnd_82mm_Mo_shells", 2]; hint 'mortar round 3 Fired'; };
  12. magicpanda

    Rules for 'detected by' triggers

    Yeah needs some work :) concept seems sound though?
  13. magicpanda

    Rules for 'detected by' triggers

    Couldn't let this go... so I did some more testing, after about 30 seconds of hiding out of sight the trigger deactivates. I have a theory, just need some syntax help, to see if it's possible to pass a location from a trigger to a script or if there is a better way? Here is the vague plan/concept m1trg = createTrigger ["EmptyDetector", getMarkerPos "Artyspawn"]; m1trg setTriggerArea [1000, 1000, 0, false]; m1trg setTriggerActivation ["WEST", "EAST D", TRUE]; m1trg setTriggerStatements ["this && alive mortargunner1", //condition " hint 'Incoming!'; passedtriggerPostion = [getposatl (thislist select 0)]; 0 = execVM [passedtriggerPostion] mortargunner1Loop.sqf", //on Trigger Activation "detectedB = false; hint 'escaped detection"]; //deactivated. sqs... detectedB = true; while {detectedB = true && alive mortargunner1} do { mortargunner1 commandArtilleryFire [passedtriggerPostion], '8Rnd_82mm_Mo_shells', 2]; sleep 5; mortargunner1 commandArtilleryFire [passedtriggerPostion], '8Rnd_82mm_Mo_Flare_white', 1]; sleep 5; mortargunner1 commandArtilleryFire [passedtriggerPostion], '8Rnd_82mm_Mo_shells', 2]; };
  14. magicpanda

    Rules for 'detected by' triggers

    Welp after messing with Zeus, it seems the rules for repeating Detected by triggers are really messed up. Not touching this method with a bargepole.
  15. I copy and pasted the establishing shot function out of the functions viewer in the editor into a new sqf called MPBIS_fnc_establishingShot.sqf Comment out the cam destroy line. The call sqf looks like this MPBIS_fnc_establishingShot = compile preprocessFileLineNumbers "MPBIS_fnc_establishingShot.sqf"; // set side colors private ["_colorWest", "_colorEast"]; _uavtext = param [0,"OBJECTIVE COMPLETE",""]; _colorWest = WEST call BIS_fnc_sideColor; _colorEast = EAST call BIS_fnc_sideColor; // set transparency for colors {_x set [3, 0.80]} forEach [_colorWest, _colorEast]; //true setCamUseTi 1; // Turns thermal vision on [ getPos player, // Target position (replace MARKERNAME) _uavtext, // SITREP text 120, // m altitude 20, // m radius 180, // degrees viewing angle 1, // Clockwise movement [ //add Icon at player's position ["\a3\ui_f\data\map\markers\flags\UK_ca.paa", _colorWest, getPos player, 1, 1, 0, "", 0] ] ] call MPBIS_fnc_establishingShot; //false setCamUseTi 1; // Turns thermal vision off
  16. Tested it with removing the cam create line in the function again and seems to work 10/10 times I tested. I'm clueless as to what, if any, overheads there are of not destroying the camera.
  17. Is it a bit buggy for you? Sometimes uses the previous position the camera was spawned on subsequent uses.
  18. That works but I get a script error doing that. Did you put it at the top of the function just before the call? I tired commenting out the line //camDestroy BIS_fnc_establishingShot_fakeUAV; which works with no script errors. Not sure what the upshot or overheads not destroying the camera of are however? EDIT: specie yours works perfectly at the top of the function and is probably much cleaner. High fives all round.
  19. Hmm not a bug as I've just found a personal UAV script based off the same function so it is possible to edit the function to repeat I just cant work out how. There is SO much extra gubbins like thermal cameras on the numbpad :) Here you go specie, https://github.com/code34/hardcore_insurgency.Altis/blob/master/INS_revive/personal_uav/functions.sqf Cool as hell but I want to keep it simple and understand it at the same time. Seems camera creation is dependent on a global variable BIS_missionStarted being nil which the function sets to true after it's done. Tried a few things but I'm In over my head. :blink:
  20. Must be a bug. Just tried it with one or the other and none at all. Still fails on the second execution. Black screen with squares. I can press esc and abort mission but thats it. Maybe something is created that doesn't get cleaned up after allowing for it to be run again. I'd post the function but I still cant work out there the spoiler tag is.
  21. I'm trying to use this more than once in a mission as a kind of task complete thing. Not sure if its a bug or if its written to just be activated in the intro but if you use it more than once the second time never creates the camera and just blacks the screen out indefinitely. // set side colors private ["_colorWest", "_colorEast"]; _colorWest = WEST call BIS_fnc_sideColor; _colorEast = EAST call BIS_fnc_sideColor; // set transparency for colors {_x set [3, 0.50]} forEach [_colorWest, _colorEast]; [ markerPos "taskMarker", // Target position (replace MARKERNAME) "MISSION COMPLETE", // SITREP text 250, // m altitude 150, // m radius 10, // degrees viewing angle 1, // Clockwise movement [ //add Icon at player's position ["\a3\ui_f\data\map\markers\nato\b_inf.paa", _colorWest, getPos player, 1, 1, 0, "Alpha TEAM", 0] ] ] spawn BIS_fnc_establishingShot; waitUntil {!isnil "BIS_fnc_establishingShot_playing" && {!BIS_fnc_establishingShot_playing}};
  22. Thanks Larrow, that's quality. Makes it so much more versatile as I can randomise the sides as well and just have ambient aircraft buzzing around on loop and timer without cluttering up the mission The basic version is finished I think. Here it is if anyone wants some AA target pratice. I'm going to finish what I started and see how much I can smash up the BIS Ambient flyby function. :) amb_fly_run = true; while {amb_fly_run} do { //params private ["_airSide","_centre", "_rtime ","_setCaptive"]; _airSide = param [0,west, [sideUnknown]]; _centre = param [1,player, [objNull]]; _setCaptive = param [2,TRUE, [TRUE]]; _rtime = param [3,240,[0]]; //get flyover centrepoint _Pos = [getPos _centre,50,400,0,1,20,0] call BIS_fnc_findSafePos; //get random spawn and despawn point _dir1 = random 360; _dir2 = _dir1 - 180; _posA = [_pos, 3500, _dir1] call BIS_fnc_relPos; _posB = [_pos, 3500, _dir2] call BIS_fnc_relPos; // random airspeed _speed = ["NORMAL", "FULL", "LIMITED"] call BIS_fnc_selectRandom; // get random height _height = [25, 50, 150, 250, 350, 450] call BIS_fnc_selectRandom; //Pick a random Aircraft class _airClass = ( [ ["O_Plane_CAS_02_F","O_Heli_Light_02_F","O_Heli_Light_02_unarmed_F","O_Heli_Light_02_v2_F","O_Heli_Attack_02_F","O_Heli_Attack_02_black_F","O_Heli_Transport_04_medevac_black_F","O_Heli_Transport_04_repair_F"], //EAST ["B_Plane_CAS_01_F","B_Heli_Light_01_F","B_Heli_Light_01_armed_F","B_Heli_Attack_01_F","B_Heli_Transport_01_F","B_Heli_Transport_01_camo_F","B_Heli_Transport_03_F","B_Heli_Transport_03_unarmed_F","B_Heli_Transport_03_black_F"], //WEST ["I_Plane_Fighter_03_AA_F","I_Heli_Transport_02_F","I_Heli_light_03_F","I_Heli_light_03_unarmed_F","I_Plane_Fighter_03_CAS_F"] //INDEP/GUER ] select ( _airSide call BIS_fnc_sideID )) call BIS_fnc_selectRandom; //Select inner array based on sideID, select a random one from inner array //do the thing //[_posA,_posB, _height, _speed, _airClass, _airSide, _setCaptive] spawn amb_fly_fn; [_posA,_posB, _height, _speed, _airClass, _airSide] call BIS_fnc_ambientFlyBy; //Debug Hint hint format["Unit is going %1 speed, is a %2 at %3 metres on heading %4",_speed, _airClass,_height, _dir2]; sleep (60 + (random _rtime)); }; //Debug Hint //hint 'loop stopped';
  23. Doh! Really cleaned it all up a bit things are in the right place etc. if (_airClass == 1) then {_airClass = _westAir} else {if (_airClass == 2) then {_airClass = _eastAir} else {if (_airClass == 3) then {_airClass = _indAir} else {_airClass = _westAir}; }; }; if (_airSide == 1) then {_airSide = WEST} else {if (_airSide == 2) then {_airSide = EAST} else {if (_airSide == 3) then {_airSide = INDEPENDENT} else {_airSide = WEST}; }; };
  24. I've got one of these if anyone can help: if (_airClass == 0) then {__airTypes = _westAir}; Call null = [0,0] execVM "randomAircraft.sqf"; Code amb_fly_fn = compile preprocessFileLineNumbers "MPBIS_fnc_ambientFlyby.sqf"; // 1 = 0= WEST AIRCRAFT 1=EAST AIRCRAFT 2= IND AIRCRAFT // 1 = 0= WESTSIDE 1=EASTSIDE 2= IND SIDE // call is null = [0,0] execVM "randomAircraft.sqf"; private ["_airClass", "_airSide "]; _airClass = _this select 0; _airSide = _this select 1; if (_airClass == 0) then {_airClass = _westAir}; if (_airClass == 1) then {_airClass = _eastAir}; if (_airClass == 2) then {_airClass = _indAir}; if (_airSide == 0) then {_airSide = WEST}; if (_airSide == 1) then {_airSide = EAST}; if (_airSide == 2) then {_airSide = INDEPENDENT}; //get flyover centrepoint _Pos = [getPos player,50,400,0,1,20,0] call BIS_fnc_findSafePos; //get random spawn and despawn point _dir1 = random 360; _dir2 = _dir1 - 180; _posA = [_pos, 3500, _dir1] call BIS_fnc_relPos; _posB = [_pos, 3500, _dir2] call BIS_fnc_relPos; // random airspeed _speed = ["NORMAL", "FULL", "LIMITED"]; _speed1 = _speed call BIS_fnc_selectRandom; // get random height _height = [25, 50, 150, 250, 350, 450]; _height1 = _height call BIS_fnc_selectRandom; //Pick a random Aircraft class _westClass = ["B_Plane_CAS_01_F","B_Plane_CAS_01_F"]; _westAir = _westClass call BIS_fnc_selectRandom; _eastClass = ["O_Plane_CAS_02_F","O_Plane_CAS_02_F"]; _eastAir = _eastClass call BIS_fnc_selectRandom; _indClass = ["I_Plane_Fighter_03_AA_F","I_Plane_Fighter_03_CAS_F"]; _indAir = _indClass call BIS_fnc_selectRandom; //do the thing [_posA,_posB, _height1, _speed1, _airClass, _airSide, FALSE] spawn amb_fly_fn; hint 'AirWarrrr!';
×