Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by doctorbutts

  1. I've been trying to do this for a while, by adding the chunk of code listed here: https://ace3mod.com/wiki/framework/sitting-framework.html to description.ext. I've made sure to enable to XEH. I've made the class the classname of the object. However, there's only the basic ace interact point, which is fine, but i can't find a sit down option. For the record, I tried putting a seat on the outside of a vehicle.
  2. I took it out, and regardless of load order, things should work. It does work when I run the script 'local' on a dedicated server. I don't know why this isn't working.
  3. I'm at my wits end. Everything works fine in 3den when testing, but not in dedicated. I can get EVERYTHING to work if it is all called in init.sqf, but the problem is that the scripts called in there are run for every player on the server- meaning that if i have a spawn_badguys.sqf, a bad guy is spawned for each player on the server. aka it's executed globally. So, I moved a lot of stuff to initServer.sqf. It works fine in 3den. However, it seems to do absolutely nothing on a dedicated server. Even if i do a isServer in init.sqf, it still won't fire off that code at all. I tried first defining the variables in init.sqf, then tried defining them in initServer.sqf. I've put the arrays in both as well. The scripts simply do not seem to fire at all on initServer.sqf on dedicated. When I tried going into the in-game console on the server, I tried manually running the script and used the 'server' execute option. The arma3 log throws an error saying there's an undefined variable.. but I defined that variable in init.sqf. So, I tried making it a public variable in init.sqf, and that was fine until the script needed an array that was defined in init.sqf. What am I doing wrong? This all seemed to work just fine with another mission I had created a while ago, and I tried to copy the 'layout' there as well. Nothing seems to work for this.
  4. I had put that in right before I posted this: before it wasn't there or called, and had the same issue. I had wanted to double check to make sure other things were defined in the init before the initServer continued. So, even if it isn't there, it's still not working. For some reason I had it in my head that init.sqf ran before initserver, so i'll try re-arranging things with that in mind later today.
  5. hoo boy, ok here goes: init.sqf: //HA▯ARD ▯ONE rtg = 0; #include "briefing.sqf"; recurring_left = "RecurringLeft" call BIS_fnc_getParamValue; t_mult = "TimeMulti" call BIS_fnc_getParamValue; can_land = 0; landing = 0; can_takeoff = 0; plane_in = 0; takingoff = 0; bomb_truck_active = 0; bad_house_active = 0; blu_in_house = 0; plane_cam = 1; de_plane setVariable ["argle",false,true]; de_plane setVariable ["bargle",true,true]; de_plane setVariable ["poopie",false,true]; civ_unit_array = ["UK3CB_TKC_I_CIV"]; civ_clothes_array = ["UK3CB_ADC_C_U_01","UK3CB_ADC_C_U_01_B","UK3CB_ADC_C_U_01_C","UK3CB_ADC_C_U_01_D","UK3CB_ADC_C_U_01_E","UK3CB_ADC_C_U_01_F","UK3CB_ADC_C_U_01_G","UK3CB_ADC_C_U_01_H","UK3CB_ADC_C_U_01_I","UK3CB_ADC_C_U_01_J","UK3CB_ADC_C_U_01_K","UK3CB_TKC_I_U_01","UK3CB_TKC_C_U_01","UK3CB_TKC_C_U_01_B","UK3CB_TKC_C_U_01_C","UK3CB_TKC_C_U_01_D","UK3CB_TKC_C_U_01_E","UK3CB_TKC_C_U_02","UK3CB_TKC_C_U_02_B","UK3CB_TKC_C_U_02_C","UK3CB_TKC_C_U_02_D","UK3CB_TKC_C_U_02_E","UK3CB_TKC_C_U_03","UK3CB_TKC_C_U_03_B","UK3CB_TKC_C_U_03_C","UK3CB_TKC_C_U_03_D","UK3CB_TKC_C_U_03_E","UK3CB_TKC_C_U_06","UK3CB_TKC_C_U_06_B","UK3CB_TKC_C_U_06_C","UK3CB_TKC_C_U_06_D","UK3CB_TKC_C_U_06_E"]; civ_hat_array = ["","","","","","","","","","","","","","","UK3CB_TKC_H_Turban_01_1","UK3CB_TKC_H_Turban_02_1","UK3CB_TKC_H_Turban_06_1","UK3CB_TKC_H_Turban_03_1","UK3CB_TKC_H_Turban_04_1","UK3CB_TKC_H_Turban_05_1","UK3CB_H_Beanie_02_Win","UK3CB_H_Beanie_02_BRN"]; bad_grp_units = ["UK3CB_TKM_O_RIF_1","UK3CB_TKM_O_RIF_2","UK3CB_TKM_O_ENG","UK3CB_TKM_O_MD","UK3CB_TKM_O_AR","UK3CB_TKM_O_AT","UK3CB_TKM_O_MK","UK3CB_TKM_O_LAT","UK3CB_TKM_O_GL","UK3CB_TKM_O_MG"]; civ_cars = ["UK3CB_C_Hilux_Open","UK3CB_C_Kamaz_Open","UK3CB_C_Pickup","UK3CB_C_V3S_Closed","C_Van_01_transport_F"]; bad_grp_spawn = [[11237.1,2821.85],[11315.4,2859.39,0],[11445.1,2857.42,0],[11526.9,2842.14,0],[11606.4,2809,0],[11071.4,2893.86,0],[10875.9,2712.6,0],[11091.8,2258.69,0]]; bad_tech_vehs = ["UK3CB_TKM_O_Hilux_Dshkm","UK3CB_TKM_O_Datsun_Pkm","UK3CB_TKM_O_Hilux_Pkm","UK3CB_TKM_O_Hilux_Rocket","UK3CB_TKM_O_Hilux_Zu23","UK3CB_TKM_O_Pickup_M2","UK3CB_TKM_O_Pickup_DSHKM","UK3CB_ADE_O_V3S_Zu23"]; bad_tech_spawn = [[11061.4,3176.12,0],[11379,2961.92,0],[12240.3,2286.22,0],[11727.1,2849.68,0],[10684.3,3574.97,0]]; civ_speedmode = ["FULL","NORMAL"]; car_speedmode = ["LIMITED","NORMAL"]; civ_bags = ["B_CivilianBackpack_01_Everyday_Astra_F","B_CivilianBackpack_01_Everyday_Black_F","B_CivilianBackpack_01_Everyday_Vrana_F","B_Messenger_Black_F","B_Messenger_Coyote_F","B_Messenger_Gray_F","UK3CB_CW_SOV_O_LATE_B_Sidor_RIF","UK3CB_CW_SOV_O_EARLY_B_Sidor_RIF","UK3CB_CPD_B_B_ASS_BLU","fanny_pack1"]; civ_beans = ["ACE_Banana","ACE_fieldDressing","ACE_Can_Franta","ACE_Can_RedGull","ACE_Can_Spirit","ACE_Canteen","dmpCash","FirstAidKit","ACE_Humanitarian_Ration","dmpPainkillers","dmpRice","dmpTacticalBacon","dmpBeans","dmpFlashDrive","ACE_WaterBottle"]; bag_guns = ["rhs_weap_ak74","rhs_weap_makarov_pm","rhs_weap_M590_5RD"]; IED_list = ["rhs_ec200_sand_ammo","IEDLandSmall_Remote_Ammo","IEDUrbanSmall_Remote_Ammo","DemoCharge_Remote_Ammo_Scripted"]; de_plane addEventHandler ["HandleDamage", {if (isNull (_this select 3)) then { 0; } else { _this select 2; }; }]; occupied_buildings = ["land_ffaa_casa_urbana_7","land_ffaa_casa_urbana_4","land_jbad_House_c_9","land_jbad_House_c_10"]; indoor_lights = [light_2,light_3,light_4]; hangar_lights = [light_1]; if ("AIpilot" call BIS_fnc_getParamValue == 1) then { land_chat = compileScript ["logistics\plane_land_chat.sqf"]; ai_takeover = compileScript ["logistics\ai_takeover.sqf"]; do_landing = compileScript ["logistics\landing.sqf"]; takeoff = compileScript ["logistics\takeoff.sqf"]; landing = compileScript ["logistics\landing.sqf"]; pre_landing = compileScript ["logistics\pre_landing.sqf"]; pre_takeoff = compileScript ["logistics\pre_takeoff.sqf"]; }; if ("AIpilot" call BIS_fnc_getParamValue == 1) then { deleteMarker "approach_2"; deletemarker "end_mark"; aux_pilot allowDamage false; aux_pilot moveInGunner de_plane; aux_pilot allowDamage false; aux_pilot moveInGunner de_plane; de_plane action ["CollisionLightOn", de_plane]; de_plane action ["lightOn", de_plane]; de_plane lockDriver true; _ace_land = ["Clear to Land","Clear to Land","\A3\ui_f\data\igui\cfg\simpleTasks\types\land_ca.paa",{[] spawn pre_landing;},{true}] call ace_interact_menu_fnc_createAction; _ace_takeoff = ["Clear to Takeoff","Clear to Takeoff","\A3\ui_f\data\igui\cfg\simpleTasks\types\takeoff_ca.paa",{[] spawn pre_takeoff;},{true}] call ace_interact_menu_fnc_createAction; [the_radio, 0, ["ACE_MainActions"], _ace_land] call ace_interact_menu_fnc_addActionToObject; [the_radio, 0, ["ACE_MainActions"], _ace_takeoff] call ace_interact_menu_fnc_addActionToObject; #include "ai_brief.sqf"; }; if ("AIpilot" call BIS_fnc_getParamValue == 0) then { [west, "dropoff", ["Land and allow evacuees to disembark.", "Deliver Evacuees", ""], [11644.4,16950.7,0], "CREATED", 2, true,"land",true] call BIS_fnc_taskCreate; the_pilot moveInDriver de_plane; [] execVM "logistics\invincible_landing.sqf"; }; _ace_spawn = ["All Refugees Died/Request More Refugees","All Refugees Died/Request More Refugees","\A3\ui_f\data\igui\cfg\simpleTasks\types\meet_ca.paa",{[] execVM "logistics\spawncivs.sqf";},{true}] call ace_interact_menu_fnc_createAction; _ace_more_loads = ["Increase Transport Mission Count","Increase Transport Mission Count","\A3\ui_f\data\igui\cfg\simpleTasks\types\plane_ca.paa",{recurring_left = recurring_left + 1; hint format ["%1 loads of refugees left to deliver", recurring_left]; },{true}] call ace_interact_menu_fnc_createAction; _ace_last = ["Make this the last load.","Make this the last load.","\A3\ui_f\data\igui\cfg\simpleTasks\types\exit_ca.paa",{recurring_left = 0; hint format ["%1 loads of refugees left to deliver", recurring_left]; },{true}] call ace_interact_menu_fnc_createAction; [the_radio, 0, ["ACE_MainActions"], _ace_spawn] call ace_interact_menu_fnc_addActionToObject; [the_radio, 0, ["ACE_MainActions"], _ace_more_loads] call ace_interact_menu_fnc_addActionToObject; [the_radio, 0, ["ACE_MainActions"], _ace_last] call ace_interact_menu_fnc_addActionToObject; if ("Arsenal" call BIS_fnc_getParamValue == 1) then { [the_crate, true] call ace_arsenal_fnc_initBox; //deleteMarker "respawn_west"; }; [] execVM "cameras.sqf"; [] execVM "camera_actions.sqf"; _camera_reset = ["Camera Reset/Debug","Camera Reset/Debug","\A3\ui_f\data\igui\cfg\simpleTasks\types\use_ca.paa",{[] execVM "cameras.sqf";},{true}] call ace_interact_menu_fnc_createAction; [the_radio, 0, ["ACE_MainActions"], _camera_reset] call ace_interact_menu_fnc_addActionToObject; sleep 20; [west, "pickup", ["Allow evacuees to load the transport.", "Load Evacuees", ""], [11287.8,2478.4,0], "CREATED", 1, true,"takeoff",true] call BIS_fnc_taskCreate; rtg = 1; initServer.sqf [missionNamespace, 1] call BIS_fnc_respawnTickets; [missionNamespace, -1] call BIS_fnc_respawnTickets; waitUntil { rtg == 1; }; [] execVM "monitor.sqf"; [] execVM "logistics\spawncivs.sqf"; [] execVM "attacks\spawnbaddies.sqf"; [] execVM "logistics\cleanup.sqf"; setTimeMultiplier t_mult;
  6. Since I can't make an entry on the wiki I thought I'd post here just so people can know in the future if they (or I forget) want to google this. The wiki entry only lists the following for BIS_fnc_unitPlay: [unit, data, varDone, stateIgnore, obsolete_1, obsolete_2, skipTime] spawn BIS_fnc_unitPlay Under varDone, they only say select 0 is the object, select 1 is the variable to be set. It can be boolean or number. So, if I created a variable in the init: de_plane setVariable ["argle",false,true]; I could set that variable to something different in unitPlay such as: [de_plane, wp2,[de_plane,"argle",true,true],false] spawn BIS_fnc_Unitplay; I also have a monitor script checking every 10 seconds whether or not the variable is set to something: if ((de_plane getVariable ["argle",true]) == true) then { [] spawn ai_takeover; }; So, for the varDone array: select 0 is the object. Select 1 is the variable to be set. Select 2 is the value the variable should be set to. I am also apparently able to pass whether or not it is public (select 3). Well, as you can see above, I only used a boolean for the value of the variable. Through testing I found out that the unitPlay CAN ONLY SET A BOOLEAN VALUE. Even if you specify a number (say, 1) it will set a boolean instead. For instance, previously I had tried: de_plane setVariable ["argle",0,true]; with: [de_plane, wp2,[de_plane,"argle",1,true],false] spawn BIS_fnc_Unitplay; and: if ((de_plane getVariable ["argle",1]) == 1) then { [] spawn ai_takeover; }; I got a generic error in the expression when the monitor fired. hint str showed that the value for the variable was 'true' instead of 1 as I had tried to set in the unitPlay. What happened was that the monitor script saw the initial value of the Variable set to 0, which was fine. When the variable got set to 1 the monitor script gave an error because it was no longer a number, and turned into a boolean instead. I haven't taken the time to test, but I'm guessing since that the wiki entry only gives two selects in the array to choose from, it may be that only TRUE can be set in the variable.
  7. doctorbutts

    BIS_fnc_unitPlay varDone findings

    I had a lot of trouble trying to use a trigger when an object was in an area while the object was unitplayed: The script wouldn't necessarily take over at the right time and the object would not cooperate. Essentially, I wrote one script to monitor when the script was done (aka when the variable was set) and then when that condition is met, to run a different script.
  8. It crashes as a few seconds after I try saving a new server profile
  9. doctorbutts

    United States Air Force Mod (2019)

    Hey, I have some feedback, the GPS guided munitions and the menus in the plane are pretty flippin' cool, but can you add something so that a ground unit (like JTAC) can share/upload gps coords right into the pilot's menu for them to bomb?
  10. I've created the victim as a local variable in the script and am using the _victim as the triggerAttachVehicle. The script is creating a few different triggers: I want to be able to see if the victim is conscious and not bleeding (and do something if it is) and I've created another trigger to check to see if the victim is unconscious and bleeding (and do something if they are). Both don't work because, as I've read around, you can't pass a local variable into the setTriggerActivation area. Are there other ways around this? Some of the posts seem to want to push it the Onact into another script but I still need to be able to check a condition before doing anything, so passing it to another script/code doesn't really help. Here's an example of one of the setTriggerActivation statements: _healed_trig setTriggerStatements ["(this) && !([_victim] call ace_medical_blood_fnc_isBleeding) && ([_victim] call ace_common_fnc_isAwake)", "hint 'victim healed';", ""]; The above code works when I create a regular/global variable, but I may have a number of _victims going at a time- so I'd rather not have the same variable used for all. For the OnAct code, I am going to do some other things (such as deleteVehicle _victim)- but I can't even get past the Cond area with the local variables. Overall, the script is a 'mission' that's called and has things like createTask and that condition being updated as well. Any suggestions?
  11. Been a few days: Yea, I ended up going this route as well. I just have one big while going that will check a few things and sleep at 5.
  12. I can get around it if I just do thislist select 0 for each condition: _healed_trig setTriggerStatements ["(alive (thislist select 0)) && !([(thislist select 0)] call ace_medical_blood_fnc_isBleeding) && ([(thislist select 0)] call ace_common_fnc_isAwake)", "hint 'victim healed';", ""]; Maybe the 'condition' portion of the trigger doesn't accept that sort of code or it still can't figure out what that variable is? but if I ever run into a situation where I can't attach the trigger to that item, I might be screwed, such as with a set/get variable. Unless I learn the getTrigger stuff correctly.
  13. Here's the full code I'm using to check, I have the victim taking damage to confirm whether or not isbleeding or isawake is being evaluated: _randvic = selectRandom civ_unit_array; _vicgroup = createGroup [independent, true]; _victim = _vicgroup createUnit [_randvic,position player,[],0, "NONE"]; [_victim, 0.8, "Head", "bullet", player] call ace_medical_fnc_addDamageToUnit; _healed_trig = createTrigger ["EmptyDetector", _victim,true]; _healed_trig setTriggerArea [3, 3, -0, false]; _healed_trig triggerAttachVehicle [_victim]; _healed_trig setTriggerActivation ["VEHICLE","PRESENT", false]; _healed_trig setTriggerTimeout [3, 3, 3, false]; _healed_trig setTriggerStatements ["this && {_victim = thislist select 0;!([_victim] call ace_medical_blood_fnc_isBleeding) && ([_victim] call ace_common_fnc_isAwake)}", "hint 'victim healed';", ""]; Here's the error.rpt 12:04:08 Error in expression <this && {_victim = thislist select 0;!([_victim] call ace_medical_blood_fn> 12:04:08 Error position: <!([_victim] call ace_medical_blood_fn> 12:04:08 Error Invalid number in expression So I took out the isbleeding part, leaving 'isawake', then got a similar error: 12:06:41 Error in expression <this && {_victim = thislist select 0;([_victim] call ace_common_fnc_isAwak> 12:06:41 Error position: <([_victim] call ace_common_fnc_isAwak> 12:06:41 Error Invalid number in expression Then I took all of that away and just saw if I could just thislist the awake condition: {_victim = thislist select 0;(alive _victim)} Got the same errors as the other two: 12:09:48 Error in expression <{_victim = thislist select 0;(alive _victim)}> 12:09:48 Error position: <(alive _victim)}> 12:09:48 Error Invalid number in expression I get the same errors when I try to set/get Variable method as well. It leads me to believe it still doesn't know what the variable is.
  14. Actually, It isn't working. It's only evaluating whether 'this' is true. I'm getting an invalid number in expression error every time I tried both methods.
  15. Since I had trouble finding it on my own (I could have sworn I read through all the Trigger stuff on BISWIKI), do you know the output array/params for a created trigger? I'm looking for something like (triggername1 select 0, triggername1 select 1), if it is even possible.
  16. The trigger is also a local variable. I tried it anyway and it doesn't work. Thanks though. Sure, here's every step of a chunk of code I'm working on just to figure out this part: _randvic = selectRandom civ_unit_array; _vicgroup = createGroup [independent, true]; _victim = _vicgroup createUnit [_randvic,position player,[],0, "NONE"]; _healed_trig = createTrigger ["EmptyDetector", _victim,true]; _healed_trig setTriggerArea [3, 3, -0, false]; _healed_trig triggerAttachVehicle [_victim]; _healed_trig setTriggerActivation ["VEHICLE","PRESENT", false]; _healed_trig setTriggerTimeout [3, 3, 3, false]; _healed_trig setTriggerStatements ["(this) && !([_victim] call ace_medical_blood_fnc_isBleeding) && ([_victim] call ace_common_fnc_isAwake)", "hint 'victim healed';", ""]; I suppose I could try some sort of { if(side _x == independent) then { hint "he fine, doc; deletevehicle _x; } } foreach man in thisList; I doubt that code is correct, but if I went that route I'm afraid I might run into trouble if I ever had to expand the trigger area and I had other 'missions' going on that had units of that same type when the conditions are met. edit: I guess I could further protect that by closing down the civ_arrays for victims/shooters and other 'missions' and then doing a 'typeof' "civ_man_bobby_bob" check for the thisList, but that would start limiting the randomness. Then again, I'm probably not understanding your statement correctly:
  17. doctorbutts

    Immersion Cigs

    How do I get this crap from being added automatically to every unit, especially when I'm in Eden? It's messing with my loadouts. I can't find an entry for this in addon options. Do I need to add something to description.ext or init.sqf?
  18. I tried disabling the pilot's AI and that didn't work either. So, folks, the one workaround that worked with 100% success is: Removing the pilot from the vehicle and adding a 'landgear' trigger when they get close. Hooray.
  19. doctorbutts

    3den Enhanced

    Since the May 4 steam update for your mod, I can no longer connect to drones. Placed a basic NATO UAV Operator in a mission with NATO drones that were placed with AI in them. There are no options to connect to when going to the UAV terminal. If I restart ARMA without 3Den Enhanced running, I can connect fine. Just noticed this in mission testing today. It was working previous to the update.
  20. It doesn't open anymore I double click to run, nothing happens. Tried the fix from pages back, doesn't work. Also tried 'fresh' install. Nope.
  21. I'm still getting a failure 100% of the time. I've removed all mods and running just vanilla and the non-beta version of the mod. I'm not sure what else to check.
  22. Hi, For the f-18 In both the Armaholic/Steam version and the Steam Beta version, landing Autopilot will cause the plane to always overshoot and crash. In the Steam regular version of the mod, and error displays on final approach. In both versions, the tailhook does not autodeploy. Even if manually deployed, the F-18 is still too high to 'catch' the wires. In Steam Beta, the error does not show, but the plane still overshoots the wires. Main mods used: CBA, ACE. Link to video with error, using regular release version: I would like this to be fixed so the mod can be more accessible to more pilots.
  23. doctorbutts

    Arma 3 Units - Feedback thread

    Confirming, getting errors trying to find/open my units.
  24. While the respawn menu with the weapon listing is pretty sweet, configuring the loadouts really sucks because you can't specify what goes where. For instance, if I want FAK's to go only in a uniform, only ammo in vest, and some other stuff only in backpack, I can't do it. So, is there a way for me to script a way to say if a player chose x in cfgrespawninventory, run y loadout script on them?