Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

  • Medals

Community Reputation

15 Good

About doctorbutts

  • Rank

Recent Profile Visitors

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

  1. Hi,

    I would like to make edits to a couple of wiki pages, for instance, an example for:
    how to work a previously noted as unworking script (i can't remember the name of, findCover i believe)
    and add an example for:

  2. 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.
  3. 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.
  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. 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.
  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. 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.
  9. It crashes as a few seconds after I try saving a new server profile
  10. 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?
  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.