Jump to content

rtek

Member
  • Content Count

    206
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by rtek

  1. //I was trying to find a cloaking script that works off an addaction, so I can put it into one of my Splinter Cell type missions. Did a google search and I found this. //ArmA 3 cloak script V 0.428: Edit: Thanks to the original maker of that video, Racketen, for contacting me on youtube and joining the forums to share his script. Racketen's script will be listed below this line. multiplayer compatible version (however it has CBA as a dependancy), initPlayerLocal.sqf PHP Code: ["MPCloakToggle", { _unit = _this Select 0; _mode = _this Select 1; if (_mode) then { _source = "#particlesource" createVehicleLocal getPos _unit; _source setParticleParams [["\A3\data_f\ParticleEffects\Universal\Refract.p3d",1,0,1,0],"","Billboard",1, 1, [0,0,.4],[0,0,1],0,1,1,0,[.25,3,.25,0],[[1,1,1,1],[1,1,1,1]],[1.5,0.5],0,0,"","",_unit]; _source setDropInterval .1; _unit setVariable ["CloakVic", _source]; [_unit] spawn { sleep .4; (_this select 0) hideObjectGlobal true; }; } else { deleteVehicle (_unit getVariable "CloakVic"); [_unit] spawn { sleep .25; (_this select 0) hideObjectGlobal false; }; }; }] call CBA_fnc_addEventHandler; initCloak.sqf PHP Code: // callscript with 0 = this execVM "initCloak.sqf" from a units init line if (str player != str _this) exitWith {}; player setVariable ["CloakIsOn", false]; _OffId = player addAction ["Turn off cloak",{player setVariable ["CloakIsOn", false]; player setCaptive false; ["MPCloakToggle",[player, false]] call CBA_fnc_globalEvent;}, "",1,true,true,"","(player getVariable ""CloakIsOn"")"]; _OnId = player addAction ["Turn on cloak",{player setVariable ["CloakIsOn", true]; player setCaptive false; ["MPCloakToggle",[player, true]] call CBA_fnc_globalEvent;}, "",1,true,true,"","!(player getVariable ""CloakIsOn"")"]; player setVariable ["CloakOffActionID", _OffId]; player setVariable ["CloakOnfActionID", _OnId]; 0 = [] spawn { while {true} do { waituntil{!alive player}; player removeAction (player getVariable "CloakOffActionID"); player removeAction (player getVariable "CloakOnActionID"); waituntil{alive player}; _OffId = player addAction ["Turn off cloak",{player setVariable ["CloakIsOn", false]; player setCaptive false; ["MPCloakToggle",[player, false]] call CBA_fnc_globalEvent;}, "",1,true,true,"","(player getVariable ""CloakIsOn"")"]; _OnId = player addAction ["Turn on cloak",{player setVariable ["CloakIsOn", true]; player setCaptive false; ["MPCloakToggle",[player, true]] call CBA_fnc_globalEvent;}, "",1,true,true,"","!(player getVariable ""CloakIsOn"")"]; player setVariable ["CloakOffActionID", _OffId]; player setVariable ["CloakOnfActionID", _OnId]; }; }; Below is what we came up with before Racketen shared his script: First want to say thank you to DreadedEntity and HallyG for all the help and information, especially for HallyG for showing up and completing the scripts. All of you guys here on the A3 Editing and Scripting section of the forums are always great. I'll post the final script below here in case anyone wants to use this in their missions or what not. If you find any better tweaks or things to add to this to make it better, by all means, let us know and I'll update this. Init.sqf put in: player addAction ["Cloak", "cloak.sqf", [], 6, false, true, ""]; cutRsc ["CLOAK_BAR","PLAIN"]; Description.ext put in: #define CT_PROGRESS 8 class RscTitles { class RscProgress { type = 8; style = 0; shadow = 2; colorFrame[] = {0,0,0,1}; colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; texture = "\A3\ui_f\data\GUI\RscCommon\RscProgress\progressbar_ca.paa"; w = 0.25; h = 0.03; }; class CLOAK_BAR { idd = 10000; onload ="((_this select 0) displayCtrl -1) progressSetPosition 1;uiNamespace setVariable [""TAG_CLOAKBAR"", _this select 0];_this ExecVM 'Cloak_ProgressBar.sqf';"; duration = 10000000; class Controls { class Progress: RscProgress { idc = -1; x = 0.849 * safezoneW + safezoneX; y = 0.9350 * safezoneH + safezoneY; }; }; }; }; Cloak.sqf will contain: ///Authors: XxRTEKxX, HallyG, and DreadedEntity _Unit = _this select 0; _id = _this select 2; _Unit removeAction _id; //Put in and/or Remove any of these uniforms to customize the uniform restriction. UsableUniforms = ["U_B_Protagonist_VR","U_B_Soldier_VR","U_C_Soldier_VR","U_I_Protagonist_VR","U_I_Soldier_VR","U_O_Protagonist_VR","U_O_Soldier_VR"]; If ((uniform _Unit) in UsableUniforms) then { // You can change these and it'll do the rest woooo timer = 60; cooldown = 30; _source = "#particlesource" createVehiclelocal getpos _Unit; _source setParticleCircle [0, [0.1, 0.1, 0.1]]; _source setParticleRandom [0, [0, 0.1, 1], [0.1, 0, 0.1], 0, 0.1, [0, 0, 0, 0.1], 0, 0]; _source setParticleParams [["\A3\data_f\ParticleEffects\Universal\Refract", 1, 0, 1], "", "Billboard", 1, 4, [0, 0, 0], [0, 0, 0.5], 9, 10, 7.9, 0.1, [0.6, 1, 0.9, 0.8], [[0.1, 0.1, 0.1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0, 0.1, 0.2, 0.5, 0.1, 0.1], 0, 0, "", "", _Unit]; _source setDropInterval 0.1; _source attachto [_Unit,[0,0,0]]; sleep 1; _Unit hideObjectGlobal true; SystemChat "Cloak Active"; _Unit setCaptive true; [timer] spawn { disableSerialization; number = _this select 0; _Display = uiNamespace getVariable "TAG_CLOAKBAR"; _setProgress = _display displayCtrl -1; _setProgress progressSetPosition 1; _number = (1/number); BarTimer = 1; for "_i" from 0 to number do { _setProgress progressSetPosition BarTimer; BarTimer = BarTimer - (_number); sleep 1; }; }; while {!(timer == -1)} do { SystemChat format ["%1 seconds left",timer]; timer = timer -1; sleep 1; }; deleteVehicle _source; sleep 1; _Unit hideObjectGlobal false; SystemChat "Cloak Deactivated"; _Unit setCaptive false; [cooldown] spawn { disableSerialization; number = _this select 0; _Display = uiNamespace getVariable "TAG_CLOAKBAR"; _setProgress = _display displayCtrl -1; _setProgress progressSetPosition 1; _number = (1/number); BarTimer = 0; for "_i" from 0 to number do { _setProgress progressSetPosition BarTimer; BarTimer = BarTimer + (_number); sleep 1; }; }; timer = 0; while {!(timer == cooldown)} do { timer = timer +1; sleep 1; }; _Unit addAction ["Cloak", "cloak.sqf", [], 6, false, true, "",""]; playsound3d ["a3\missions_f_beta\data\sounds\firing_drills\drill_finish.wss",_Unit,false,getPosASL _unit,1,1,100]; systemChat "Your cloak has recharged"; _Unit addaction ["Cloak", "Cloak.sqf", [], 6, false, true]; } else { // If you're not wearing the correct uniform SystemChat "Your suit is not equipped with the Cloaking Technology"; sleep 1; _Unit addAction ["Cloak", "cloak.sqf", [], 6, false, true, "",""]; }; Cloak_ProgressBar.sqf disableSerialization; _Display = uiNamespace getVariable "TAG_CLOAKBAR"; _setProgress = _display displayCtrl -1; _setProgress progressSetPosition 1; Again, many thanks you guys. Here's a mission I made last night that has the cloaking and HallyG's EMP Grenade script in it so yall can try it out in a mission scenario. http://steamcommunity.com/sharedfiles/filedetails/?id=320152937
  2. Workin on a Blufor heli sitting on the helipad waiting for team to finish gearing up. I have a waypoint for the team to Get In at the heli. I have a waypoint for the heli to Load right at the heli(if I put it anywhere but just behind the rotor the heli takes off), then I have both those waypoints synced. I need the heli to wait till my whole team and I are on board before it takes off. Currently it sits there till I board, then it takes off whether my group is boarded or not. I need it to wait till my whole team is aboard then take off. Any suggestions? I saw this in cobra's extraction script waitUntil {{_x in _heli} count (units _group) == {alive _x} count (units _group)}; I'm guessing this is what I need, how would this be written to put into the condition of the load waypoint in game? I put this as it is in there but came up saying Type Nothing, expected Bool. paraheli is my heli and paragrp is my group.
  3. rtek

    Zombies & Demons 5.0

    Good to hear. Looking forward to the update.
  4. rtek

    Zombies & Demons 5.0

    We need an option to disable or greatly reduce the amount of damage zombies do to vehicles. Especially when we do not have them set to throw cars. A lot of my players on my server aren't happy that their APC's are being destroyed by a couple zombies. At least add a module that remove zombie damage to vehicles, or greatly reduces the damage to barely any towards vehicles. That way server creators have the option to enable/disable/reduce zombie damage towards vehicles.
  5. Massi, not sure if this list will help you or not. These are the uniforms that do work since 1.52 from your mod. I haven't gone through the uniforms from the MARSOC mod yet. Whatever all these have in common is definitely something to compare to the others. I hope you figure out a fix, or BI fixes whatever it is they broke asap. USN Woodland CBT uniform US Ghillie Suit Multi US Ghillie Suit Wood US Ghillie Suit Des US Ghillie Suit Arctic US Diver suite US Multi CBT uniform US Wood CBT uniform US Des CBT uniform All the 160th SOAR Coveralls come out like this http://puu.sh/kCsng/5319a00d5e.jpgEven the Arctic and USN CQB variants USN AOR2 CBT uniform USN AOR1 CBT uniform USN Nomex CQB uniform USN Woodland CBT uniform
  6. I have seen both issues with several other mods. Especially the Massi USSOCOM & DEVGRU. I've seen the body in the ground issue as well on other mods. I hope BI fixes this soon, or undoes whatever they did to cause this in the first place. Whatever changed in 1.52 broke it.
  7. I have the same issue with AI. By having them orbit into the LZ, I can get them to decrease speed. Im gonna try out that record function. That sounds cool.
  8. If its realistic, why would the toolkit vanish after the repairs? They're tools, not parts. You're not a good mechanic if you lose your tools with every vehicle repair. That can get expensive.
  9. rtek

    AI Helicopter search light

    I tried that in a trigger ON ACT. but it didnt turn on the heli's light. I noticed that the spot light tried to turn on, but for a split second. It works fine in the vehicle's init, but I'm trying to get this to work on a trigger or specific waypoint. Light heli arrives at a location it needs to search, turns on it's light, patrols around, then kills the light and moves to some other waypoint.
  10. Thanks, works great in testing. I can't get it to work in a mission using LEA for the loadout. LEA must be overwriting this script. The uniform I'm initially wearing gets put into the bag I have as a copy, the animation plays, as well for the subordinate. Except the ghillie in the bag doesn't get put on. The addaction remains as "Put on Ghillie" and will keep just copying the initial uniform into the bag. Without using LEA for a custom loadout, the script works perfectly.
  11. I'm trying to figure out how it's possible to make an AI in group and/or myself change uniform via an addaction. I want to have a ghillie suit in my backpack, as well as in my spotter's backpack. then via an addaction, have both change into the ghillie suits and put their regular uniform into their bag so as to be able to switch back at a later time. How can this be done? At the very least, I can easily change my own uniform by moving it to the ground, putting it on, then putting my BDU into my backpack. However I mainly need to be able to make my AI group member switch his uniform. I know that I can select F2, then hit 6 and cycle with 0 through each page till I reach Open Subordinate's Inventory, and do the switch that way. I'm looking for a faster way to do the switch if possible, or a faster way to get into the AI's inventory.
  12. Actually not too hard, its just that LEA requires all fields to be filled in for the filters to work. Which can get tedious when 1 addon has hundreds and hundreds of items and all those items for some reason dont have a Faction tied to them. I updated the Massi mods for myself and that took me a few hours of sorting through
  13. rtek

    AI Helicopter search light

    Where does this go? What mestoth suggested.
  14. Works if you assign the group to already be in the heli. This isn't practical if the vehicle is setup to take off from the ground once the group has boarded. I prefer to just use Cobra's original script that looks like this: _grp = _this select 0; { unassignVehicle _x; _x allowDamage false; moveOut _x; sleep 0.4; _chute = createVehicle ["NonSteerable_Parachute_F", position _x, [], 0, "NONE"]; _chute setPos (position _x); _x moveinDriver _chute; sleep 0.4; } forEach (units _grp); { waitUntil {(position _x select 2) < 2}; _parachute = nearestObjects [_x, ["ParachuteBase"], 5]; _x action ["eject", vehicle _x]; {deleteVehicle _x} count _parachute; _x switchMove "AmovPercMevaSrasWrflDf_AmovPknlMstpSrasWrflDnon"; _x allowDamage true; } forEach (units _grp);
  15. Has anyone seen a script that uses ropes to extract a team?http://upload.wikimedia.org/wikipedia/commons/5/5c/Special_Purpose_Insertion_Extraction_SPIE.jpg
  16. rtek

    Extraction Example

    Still a great script.
  17. http://forums.bistudio.com/showthread.php?174429-Extraction-Example There's the script I use in my missions.
  18. Can anyone explain how to get an AI controlled heli to sling load an empty vehicle, or an occupied vehicle. Have it deliver the payload to a drop location, and release the vehicle safely. I have tried to place in editor an AI heli, with a waypoint set to Lift Cargo. Under that waypoint i place an empty offroad truck. Then I put a second way point set to release cargo. The heli will fly over the vehicle, decrease altitude as though it were going to do something, the flies away. I've even tried various configurations using the Sling Load module, by linking it to the empty vehicle, to the heli, or even to both. Are there certain vehicles that just cannot be picked up, are not yet working or something?
  19. I dont like the interaction menu text size and look. It doesn't contrast enough with the background. I hope this changes in future patches.
  20. Ive used it as a radio call trigger and ive used it as part of an objective trigger. These lines can go inside a trigger. Trigger can be tied to a specific building to be destroyed, a radio call or whatever you want. I believe you'd need 2 triggers, 1 for each action. like if radio call alpha then lights out, if radio call bravo then lights on. just put the line you need into the ON ACT. of each trigger. 0.99 works just fine to kill most lights. You can use whatever number you want long as it's below 1 just enough to disable but not destroy. //Lights OUT 0 = [0.97] execVM "lights.sqf"; //Lights ON 0 = [0] execVM "lights.sqf"; Lights.sqf is this script. where it says 5000 in the script, that's the range of the event from the marker that you put down. I like to set it to a range of a town or military complex in my missions, then activated by destroying a power generator or something. Not sure if BIS has added any new lights to Arma 3, but if they have, just add them into the list of lights in the lights.sqf so they too will get shut off. Looks dumb if all but 3 lights in a town get knocked out. // off: 0 = [0.97] execVM "lights.sqf"; // on: 0 = [0] execVM "lights.sqf"; _types = [ "Lamps_Base_F", "Land_LampAirport_F", "Land_LampSolar_F", "Land_LampStreet_F", "Land_LampStreet_small_F", "PowerLines_base_F", "Land_LampDecor_F", "Land_LampHalogen_F", "Land_LampHarbour_F", "Land_LampShabby_F", "Land_PowerPoleWooden_L_F", "Land_NavigLight", "Land_runway_edgelight", "Land_runway_edgelight_blue_F", "Land_Flush_Light_green_F", "Land_Flush_Light_red_F", "Land_Flush_Light_yellow_F", "Land_Runway_PAPI", "Land_Runway_PAPI_2", "Land_Runway_PAPI_3", "Land_Runway_PAPI_4", "Land_fs_roof_F", // Fuel station roof lights "Land_fs_sign_F"]; _onoff = _this select 0; for [{_i=0},{_i < (count _types)},{_i=_i+1}] do { // powercoverage is a marker I placed. _lamps = getMarkerPos "LIGHTSOURCE" nearObjects [_types select _i, 5000]; sleep 1; {_x setDamage _onoff} forEach _lamps; }; Here's where it gets fun. I like to use the Download data script by t-800a http://www.armaholic.com/page.php?id=23069 that I modified a bit with different wording in the messages when activated. I think his is in German, so I changed a lot of the messages to english in the version I use. So in my triggers on a mission where the team has to upload a virus into a power station computer, I do the following: In the trigger CONDITION: T8_pubVarDataTask_laptop01 ON ACT. 0 = [0.97] execVM "lights.sqf"; Timout set to 8 seconds MIN/MID/MAX to simulate the time of the power shutting down across the grid. A second trigger I use to give a message that the virus is being uploaded to the grid is in the CONDITION T8_pubVarInUse_laptop01 in the ON ACT. for the message hint "Virus being uploaded to the Power Grid, Stand By...." in the ON ACT. for the message. for the script to work, this goes into the init.sqf call compile preprocessFile "downloadData.sqf"; waitUntil { !isNil "downloadDataDONE" }; if ( !isServer ) exitWith {}; sleep 10; // I dont know why, but some sleep is requied or the Actions on the Objects wont work ... this is beyond my knowledge //Line below, add names of any Items to be used for this script. [ [laptop01], "T8_fnc_addActionLaptop", true, true] spawn BIS_fnc_MP; Here's the downloadData.sqf version that I use in some of my missions. just change the words for the messages to suit your needs; /* ======================================================================================================================= downloadData - script to download data from a laptop and because of this complete a task (as example) File: downloadData.sqf Author: T-800a ======================================================================================================================= */ T8_varFileSize = 32875; // Filesize ... smaller files will take shorter time to download! T8_varTLine01 = "Upload Aborted!"; // download aborted T8_varTLine02 = "Upload in progress by someone else!"; // download already in progress by someone else T8_varTLine03 = "Upload started, stand by..."; // download started T8_varTLine04 = "Upload complete!!"; // download finished T8_varTLine05 = "## Upload Virus ##"; // line for the addaction T8_varDiagAbort = false; T8_varDownSucce = false; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// T8_fnc_abortActionLaptop = { if ( T8_varDownSucce ) then { // hint "DEBUG - DONE"; T8_varDiagAbort = false; T8_varDownSucce = false; } else { player sideChat T8_varTLine01; T8_varDiagAbort = true; T8_varDownSucce = false; }; }; T8_fnc_addActionLaptop = { { private [ "_DT", "_cDT" ]; _DT = format [ "%1_%2", "T8_pubVarDataTask", _x ]; _cDT = missionNamespace getVariable [ _pV, false ]; if ( _cDT ) exitWith {}; _x addAction [ T8_varTLine05, { call T8_fnc_ActionLaptop; }, [], 10, false, false ]; } forEach _this; }; T8_fnc_removeActionLaptop = { _laptop = _this select 0; _id = _this select 1; _laptop removeAction _id; }; T8_fnc_ActionLaptop = { private [ "_laptop", "_caller", "_id", "_cIU", "_DT", "_IU" ]; _laptop = _this select 0; _caller = _this select 1; _id = _this select 2; _DT = format [ "%1_%2", "T8_pubVarDataTask", _laptop ]; _IU = format [ "%1_%2", "T8_pubVarInUse", _laptop ]; _cIU = missionNamespace getVariable [ _IU, false ]; if ( _cIU ) exitWith { player sideChat T8_varTLine02; }; player sideChat T8_varTLine03; missionNamespace setVariable [ _IU, true ]; publicVariable _IU; [ _laptop, _id, _IU, _DT ] spawn { private [ "_laptop", "_id", "_newFile", "_dlRate" ]; _laptop = _this select 0; _id = _this select 1; _IU = _this select 2; _DT = _this select 3; _newFile = 0; createDialog "T8_DataDownloadDialog"; sleep 0.5; ctrlSetText [ 8001, "Connecting ..." ]; sleep 0.5; ctrlSetText [ 8001, "Connected:" ]; ctrlSetText [ 8003, format [ "%1 kb", T8_varFileSize ] ]; ctrlSetText [ 8004, format [ "%1 kb", _newFile ] ]; while { !T8_varDiagAbort } do { _dlRate = 200 + random 80; _newFile = _newFile + _dlRate; if ( _newFile > T8_varFileSize ) then { _dlRate = 0; _newFile = T8_varFileSize; ctrlSetText [ 8001, "Download finished!" ]; T8_varDiagAbort = true; player sideChat T8_varTLine04; T8_varDownSucce = true; missionNamespace setVariable [ _DT, true ]; publicVariable _DT; [ [ _laptop, _id ], "T8_fnc_removeActionLaptop", true, true ] spawn BIS_fnc_MP; }; ctrlSetText [ 8002, format [ "%1 kb/t", _dlRate ] ]; ctrlSetText [ 8004, format [ "%1 kb", _newFile ] ]; sleep 0.2; }; T8_varDiagAbort = false; missionNamespace setVariable [ _IU, false ]; publicVariable _IU; }; }; downloadDataDONE = true; Anyways, that's how I like to use the lights.sqf script. You can get creative with it anyway you want. I like to tie it to objectives like uploading a virus into the power grid, or destroying a power generator. Fun couple scripts to play around with.
  21. I wish that updating some of these Addons wasn't such a pain in the ass. I've been trying to update the Massi mods since he changed most of the class names, but LEA requires that each and every single item needs a faction name. This sucks because a lot of the new items dont have it. Having to input each and every one takes so long I just gave up on it. Request for LEA devs, please make it so those filters aren't required to update a mod. At least the Images needed and the Faction.
  22. Has anyone ever been able to make the uav recon option of the support module?
  23. 5 tasks. Once 4 main tasks complete, the 5th task is to return to base(land back where I originally took off). Need the mission to end when all 4 main tasks are complete and player arrives back at base completing the 5th task of returning to base. how do I setup the final end mission trigger? I've tried putting tskX = true; in each task completion trigger and in the End #1 trigger I put tsk1 and tsk2 and tsk3 and tsk4 and tsk5 in the condition. What am I missing? tsk1 = true; tsk2 = true; tsk3 = true; tsk4 = true; tsk5 = true; in each task complete trigger ON ACT.
  24. That's great. Beats the hell out of setting open or close at different waypoints. Thanks for posting this.
  25. I was trying to get a trigger to have 2 conditions. Blufor present and Radio Alpha. How can that be done with the ingame trigger?
×