Jump to content

almaniak

Member
  • Content Count

    37
  • Joined

  • Last visited

  • Medals

Posts posted by almaniak


  1. Hey everyone, I've got a weird issue with HC for our dedi. 

     

    I can make HC work perfectly as long as I keep sigverify = 0. However I'd preferably be able to have sign verification for obvious reasons but as soon as I set it to 2, the HC connects and after 0.3 seconds instantly disconnects.

    The annoying thing is that I get no error at all, it's just connect - disconnect. Both server and client console gives no extra information.

     

    Anyone have any experience with this issue?


  2. I made a VA box with a bunch of stuff white listed via script. Some Explosives I do not want in the VA though so I have explicitly not added them.

    However when I go to the VA box, I can perfectly load a loadout that has one of the not-added items in it. I remember those loadouts used to be grayed out and not loadable? Is there something specific I need to do to hard "Blacklist" them?

    I've tried using BIS_fnc_removeVirtualMagazineCargo as well, but that has no effect either.

     

    Context: I do not want CUP_explosives in the VA because they do not work with ACE. It confuses to many people in our group which ones they can use, so I want to blacklist them.

    // Set Up ammo box
    
    // Clear Crate
    clearweaponcargo _this;
    clearmagazinecargo _this;
    clearitemcargo _this;
    
    // Init VA
    ["AmmoboxInit",[_this,false,true]] spawn BIS_fnc_arsenal;
    
    // NOT WORKING WITH ACE
    BlackListMines = ["CUP_Mine_M","CUP_IED_V1_M","CUP_IED_V2_M","CUP_IED_V3_M","CUP_IED_V4_M","CUP_MineE_M","CUP_PipeBomb_M"];
    
    // Add all relevant stuff
    
    // Find all weapons and magazines
    _weaponsList = [];
    _namelist = [];
    _cfgweapons = configFile >> "cfgWeapons";
    for "_i" from 0 to (count _cfgweapons)-1 do {
    	_weapon = _cfgweapons select _i;
    	if (isClass _weapon) then {
    		_wCName = configName(_weapon);
    		_wDName = getText(configFile >> "cfgWeapons" >> _wCName >> "displayName");
    		_wModel = getText(configFile >> "cfgWeapons" >> _wCName >> "model");
    		_wType = getNumber(configFile >> "cfgWeapons" >> _wCName >> "type");
    		_wPic =  getText(configFile >> "cfgWeapons" >> _wCName >> "picture");
    
    		if ((_wCName!="") && (_wDName!="") && (_wModel!="") && 
    		(_wPic!="") && !(_wCName select [0,13] isEqualTo "CUP_arifle_AK") 
    		&& !(_wCName select [0,13] isEqualTo "CUP_arifle_RP")
    		&& !(_wCName select [0,10] isEqualTo "arifle_Kat")
    		&& !(_wCName isEqualTo "CUP_arifle_AK107_GL")) then {
    			if !(_wDName in _namelist) then {
    				_weaponsList pushBack _wCName;
    				_namelist = _namelist + [_wDName];
    			};
    		};
    	};
    };
    hint "";
    _namelist=nil;
    
    _magazinesList = [];
    _namelist = [];
    _cfgmagazines = configFile >> "cfgmagazines";
    for "_i" from 0 to (count _cfgmagazines)-1 do {
    	_magazine = _cfgmagazines select _i;
    	if (isClass _magazine) then {
    		_mCName = configName(_magazine);
    		_mDName = getText(configFile >> "cfgmagazines" >> _mCName >> "displayName");
    		_mModel = getText(configFile >> "cfgmagazines" >> _mCName >> "model");	
    
    		if ((_mCName!="") && (_mDName!="") && (_mModel!="")) then {
    			if !(_mDName in _namelist) then {
    				//_magazinesList = _magazinesList + [[_mCName,_mDName,_mPic,_mDesc]];
    				
    				if (! (_mCName in BlackListMines)) then {
    					_magazinesList pushBack _mCName;
    					_namelist = _namelist + [_mDName];
    				} else {};
    			};
    		};
    	};
    };
    hint "";
    _namelist=nil;
    
    _backpacklist = [];
    _namelist = [];
    _cfgBackPacks = configFile >> "CfgVehicles";
    for "_i" from 0 to (count _cfgBackPacks)-1 do {
    	_magazine = _cfgBackPacks select _i;
    	if (isClass _magazine) then {
    		_mCName = configName(_magazine);
    		_mDName = getText(configFile >> "CfgVehicles" >> _mCName >> "displayName");
    		_mModel = getText(configFile >> "CfgVehicles" >> _mCName >> "model");	
    		_mVehClass = getText(configFile >> "CfgVehicles" >> _mCName >> "vehicleClass");
    		_faction = getText(configFile >> "CfgVehicles" >> _mCName >> "faction");
    
    		if ((_mCName!="") && (_mDName!="") && (_mModel!="")) then {
    			if !(_mDName in _namelist) then {
    				if (_mVehClass isEqualTo "Backpacks" && ( (_faction isEqualTo "BLU_F")  || (_faction isEqualTo "Default"))) then {
    					//_backpacklist = _backpacklist + [[_mCName,_mDName,_mPic,_mDesc]];
    					_backpacklist pushBack _mCName;
    					_namelist = _namelist + [_mDName];
    				} else {};
    			};
    		};
    	};
    	if (_i % 10==0) then {
    		//diag_log format["Loading backpack List... (%1)",count _backpacklist];
    		sleep .0001;
    	};
    };
    hint "";
    _namelist=nil;
    
    // Add the stuff
    for "_i" from 0 to (count _weaponsList)-1 do {
    	_weapon = _weaponsList select _i;
    	[_this, _weapon] call BIS_fnc_addVirtualWeaponCargo;
    };
    
    for "_i" from 0 to (count _magazinesList)-1 do {
    	_magazine = _magazinesList select _i;
    	[_this, _magazine] call BIS_fnc_addVirtualMagazineCargo;
    };
    
    for "_i" from 0 to (count _backpacklist)-1 do {
    	_backPack = _backpacklist select _i;
    	[_this, _backPack] call BIS_fnc_addVirtualBackpackCargo;
    };
    
    [_this, true] call BIS_fnc_addVirtualItemCargo;
    
    // BlackList stuff
    // Assemble able backpacks 
    // Titans
    [_this,
    ["B_AA_01_weapon_F",
    "B_AT_01_weapon_F"],true] call BIS_fnc_removeVirtualBackpackCargo;
    // Vanilla MachineGuns, GMG, Mortar
    [_this,
    ["B_GMG_01_high_weapon_F",
    "B_HMG_01_A_high_weapon_F",
    "B_GMG_01_A_weapon_F",
    "B_GMG_01_weapon_F",
    "B_HMG_01_A_weapon_F",
    "B_HMG_01_weapon_F",
    "B_HMG_01_high_weapon_F",
    "B_Mortar_01_weapon_F",
    "B_Mortar_01_support_F",
    "B_HMG_01_support_high_F",
    "B_HMG_01_support_F"],true] call BIS_fnc_removeVirtualBackpackCargo;
    // CUP stuff
    // This dont work UAV
    [_this,["CUP_B_UAVTerminal_Black"],true] call BIS_fnc_removeVirtualBackpackCargo;
    
    // weapons
    // AK that slipped thorugh the cracks,/ CUP_arifle_AK107_GL seems to be every present
    [_this,["CUP_arifle_AK107_GL",
    "CUP_lmg_PKM",
    "CUP_lmg_Pecheneg",
    "CUP_srifle_SVD",
    "CUP_srifle_SVD_des",
    "CUP_smg_bizon"],true] call BIS_fnc_removeVirtualWeaponCargo;
    
    // Launchers
    [_this,["CUP_launch_Igla",
    "launch_RPG32_F",
    "CUP_launch_RPG7V",
    "CUP_launch_RPG18",
    "CUP_launch_9K32Strela"],true] call BIS_fnc_removeVirtualWeaponCargo;
    
    // NO WORK FOR LOAD - TRY NEVER ADDING THEM?
    // Explosives remove cups ones
    /*[_this,["CUP_Mine_M",
    "CUP_IED_V1_M",
    "CUP_IED_V2_M",
    "CUP_IED_V3_M",
    "CUP_IED_V4_M",
    "CUP_MineE_M",
    "CUP_PipeBomb_M"],true] call BIS_fnc_removeVirtualMagazineCargo;
    */
    
    
    
    
    
    
    

    Thanks in advance!

    • Like 1

  3. I've been trying to get a script working that spawns an artillery piece, support Artillery and support request module in script and sync them up with each other to make it work. The idea is that at a random place a ship (from CUP) is spawned and an artillery piece placed on top of that (and made invisible and attachedTo). Then I want this arty piece to be usable with BIS' support module stuff.

     

    Now I've tried replacing "SupportProvider_Artillery" with "SupportProvider_Virtual_Artillery" and that actually works (Support available even pops up on the side of the screen), yet the normal non virtual variant does not want to start up. Do I need to perform any extra steps to kickstart the support framework?

    
    // Frig and Arty
    _pos = getMarkerPos "bs";
    frig = createVehicle ["CUP_B_Frigate_ANZAC", _pos, [], 0, "NONE"];
    arty = createVehicle ["B_MBT_01_arty_F", position frig, [], 0 ,"NONE"];
    _az =  getDir frig;
    _gopos = [position frig, 35, -_az] call BIS_fnc_relPos;
    _gopos = [_gopos select 0, _gopos select 1, (_gopos select 2) + 13];
    arty setpos _gopos;
    arty attachTo [frig];
    
    // Support
    _logicGroup = createGroup sideLogic;
    SupportReq = _logicGroup createUnit ["SupportRequester",getpos player, [], 0, "FORM"];
    ArtySupport = _logicGroup createUnit ["SupportProvider_Artillery", _pos, [], 0, "FORM"];
    ArtySupport synchronizeObjectsAdd [arty];
    arty synchronizeObjectsAdd [ArtySupport];
    
    //Setup requestor limit values
    {
    	[SupportReq, _x, 0] call BIS_fnc_limitSupport;
    }forEach [
    	"Artillery",
    	"CAS_Heli",
    	"CAS_Bombing",
    	"UAV",
    	"Drop",
    	"Transport"
    ];
    
    
    //Setup provider values
    {
    	ArtySupport setVariable [(_x select 0),(_x select 1)];
    }forEach [
    	["BIS_SUPP_vehicles",[]],        //types of vehicles to use
    	["BIS_SUPP_vehicleinit",""],    //init code for vehicle
    	["BIS_SUPP_filter","SIDE"]        //whether default vehicles comes from "SIDE" or "FACTION"
    ];
    
    [a, SupportReq, ArtySupport] call BIS_fnc_addSupportLink;
    
    //Set our limit on the requester for artillery to 1
    [SupportReq, "Artillery", 1] call BIS_fnc_limitSupport;

    Thanks in advance!

     

    EDIT: I've tested it with a preplaced editor unit instead of one made by script and that one does seems to work. Is there anything special I should to on my scrip added vehicle to make that work as well?

    • Like 1

  4. Has anyone have similar problems with running ACE3 and CUP Explosive wise? CUP Explosives (Mines, Satchel, etc) seem non functioning when running ACE (not even with the default BIS "Put Down" which is odd) and not showing up in the ACE menu. I have the 2 latest ACE compat packs.

     

    Is this already known? (I tried searching but have not found anything relevant) or is it just us?

    Love playing around with all the old content again!


  5. How do you call it exactly?

    The original idea was calling it via an eventhandler like this:

    "C_TechCenter" addPublicVariableEventHandler {publicVariable"C_TechCenter";[CD_TechCenterStr] call CD_FNC_UpdateFlags;};

    But I'm also trying to call it via the debugconsole with :

    "TechCenter" spawn CD_FNC_UpdateFlags;

    ExecVM when putting the code in scriptform makes no difference.

    Looks like when you call it this line

    _flagO = missionNameSpace getVariable[_flag,nil];

    will have _flagO undefined if the missionnamespace actually returns nil,

    which will lead to the error here:

    _flagO setFlagTexture _flagTex;

    would be my first guess.

    Try to put an exitwith if the _flagO returns nil and see how that goes.

    I tried that, making my code look like this:

    CD_FNC_UpdateFlags =
    {
    private ["_zone", "_flag", "_flagTex", "_side"];
    
    _zone = _this select 0;
    
    _flag = FORMAT["P_Flag_%1",_zone];
    _zVar = FORMAT["C_%1",_zone];
    _side = missionNameSpace getVariable[_zVar,"independent"];
    _flagO = missionNameSpace getVariable[_flag,nil];
    
           //New Exitwith
    if (isNil "_flagO") exitWith {};
    
    if (_side == blufor) then {_flagTex = CD_NatoFlag};
    if (_side == opfor) then {_flagTex = CD_CSATFlag} else { _flagTex = CD_AAFFlag};
    
    _flagO setFlagTexture _flagTex;
    };

    And I'm still getting;

    17:23:58 Error position: <select 0;_flag = FORMAT["P_Flag_%1",_z>

    17:23:58 Error Generic error in expression

    (I'm not exactly sure that I used isNil correctly there so I tried with and without quotes for the variable)

    Second guess would be that _side returns independent and therefor _flagTex will not be defined, could lead to the same error in the setTexture line.

    If you check the script you see that it should have a default flag texture when side is independent at:

    if (_side == opfor) then {_flagTex = CD_CSATFlag} else { _flagTex = CD_AAFFlag};

    So I don't think thats where it breaks.

    I've tested some more and after commenting out a huge chunk:

    CD_FNC_UpdateFlags =
    {
    private ["_zone", "_flag", "_flagTex", "_side"];
    
    _zone = _this select 0;
    
    _flag = FORMAT["P_Flag_%1",_zone];
    _zVar = FORMAT["C_%1",_zone];
    /*
    _side = missionNameSpace getVariable[_zVar,"independent"];
    _flagO = missionNameSpace getVariable[_flag,nil];
    
    if (isNil _flagO) exitWith {};
    if (_side == blufor) then {_flagTex = CD_NatoFlag};
    if (_side == opfor) then {_flagTex = CD_CSATFlag} else { _flagTex = CD_AAFFlag};
    */
    //_flagO setFlagTexture _flagTex;
    };

    it still gives me the horrendous Lovecraftian error:

    17:30:25 Error position: <select 0;_flag = FORMAT["P_Flag_%1",_z>

    17:30:25 Error Generic error in expression

    So I guess I really did something despicable with:

    	private ["_zone", "_flag", "_flagTex", "_side"];
    
    _zone = _this select 0;
    
    _flag = FORMAT["P_Flag_%1",_zone];
    _zVar = FORMAT["C_%1",_zone];

    Unfortunately I can't figure out what. I've used this sort of string parsing before without any trouble :(

    Appreciating the effort guys!

    EDIT: I've found it! It was a combination of Larrow/Giallustio and Grumpy Old Man's answer, I already tried putting the variables in and out of brackets. Eg. ["RadioTower] and "RadioTower" but that didnt help me at first. However with Grumpy Old Man's exitwith it seems to have transcended to an executable state and it now works!

    Thanks guys for all your help!


  6. So I've been bonking my head against the monitor for 2 days now because I can't figure out how to fix this.

    CD_FNC_UpdateFlags =
    {
    private ["_zone", "_flag", "_flagTex", "_side"];
    
    _zone = _this select 0;
    
    _flag = FORMAT["P_Flag_%1",_zone];
    _zVar = FORMAT["C_%1",_zone];
    _side = missionNameSpace getVariable[_zVar,"independent"];
    _flagO = missionNameSpace getVariable[_flag,nil];
    
    if (_side == blufor) then {_flagTex = CD_NatoFlag};
    if (_side == opfor) then {_flagTex = CD_CSATFlag} else { _flagTex = CD_AAFFlag};
    
    _flagO setFlagTexture _flagTex;
    };
    

    Some context: The purpose of this script is that it will be called from an eventhandler (publicvarevent) and a string will be given as argument.

    The script will(or should) automatically get the C_ZONENAME public variable and the P_Flag_ZONENAME flagpole object from the editor. Afterwards it checks the current value of C_ZONENAME for sides and assigns a flagtexture that is then assigned to the flag object.

    However I'm constantly getting Error Generic error in expression. I've commented out line by line and sometimes I even get it with just _zone = _this select 0; :(

    I'm calling the code with the debug menu and I've tried spawn and call. I even tried putting the function in a script and execVM/spawning the script but it all fails.

    I've tried logging data, but that don't work cause the script fails before any lines get exec'd.

    Is anyone here seeing what arma might be complaining about? the "Error Generic error in expression" error is really ambiguous and seems to not really give a specific line?

    This is an example error I'm getting with this code:

    0:26:59 Error in expression <", "_flagTex", "_side"];_zone = _this select 0 ;_flag = FORMAT["P_Flag_%1",_>

    0:26:59 Error position: <select 0 ;_flag = FORMAT["P_Flag_%1",_>

    0:26:59 Error Generic error in expression

    I've looked up what Error Generic error in expression actually means but the explanation of "This error occurs when the type of data an operator is expecting does not match" does not seem to apply to my code? (unless I probably missed something?)

    Any help would be greatly appreciated :D


  7. I've started dabbling in multiplayer scripting recently and I am wondering if there any surefire/proven and tested ways for proper multiplayer testing.

    I've tried starting 2 instances of Arma3 and joining the same (locally run) dedicated server but apparently Arma3 doesn't allow that (even with kickDuplicate=0 in server.cfg which makes me wonder what it actually does).

    Seeing as I don't want to pester my friends all the time for trivial tests, and I'm not keen in buying another copy (mostly because of needing an extra steam account etc..) can any of you MP script vets give a hint or two on how you test out scripts ?

    Thanks in advance!


  8. Is back blast currently disabled in version 3.1.1 ? Cause I've been testing back blast but there does not seem to be any (tanks do give over pressure however).

    I'm asking because I can't find any ticket opened up on the tracker about it but I think I remember seeing somewhere that it might have been disabled, but now I'm starting to doubt myself and wanted to make sure :p.

    Loving ACE3 so far, It'll be hard going back to vanilla.


  9. Please provide a test mission, or at least the class names of the buildings in question (metal slum shacks is not a class name). Our weapons and ammo inherit from vanilla, so in short, if BI's 7.62 can penetrate those walls, so should RHS.

    For now, i'll reopen the ticket, please use it for further comments

    Done! I put up the classnames I tested, a small test mission and a small example video.


  10. I recently reported a bug to the bugtracker about the more heavy caliber small arms (like the machineguns from both sides) cannot penetrate the metal slum shacks from vanilla arma.

    The ticket got closed though with as reason "Please report this to BIS as we do not provide penetration values for vanilla assets.".

    I don't quite understand what you guys mean by that. The standard 7.** weapons (and even 5.**) in arma3 seem to penetrate them just fine so it is definitely not a bug in vanilla arma? Or is there something more here that I'm missing?


  11. Vanilla A3 AI isn't as bad as some people make it out to be. You just need to think about how you want to maneuver your squad/team through terrain depending on your intent.

    In this case, I'd recommend utilizing the "hold fire" command then select only your AT rifleman; get him to "target" the enemy armor; then "engage"; then "fire". This will ensure that the AI is using the appropriate weapon for its target and the hold fire order is removed with the final command.

    Also, not to insult your intelligence, but make sure you're not using any mods that affect AI.

    I did almost exactly what you posted in the video, and I'm running full vanilla. I'm also not saying anything about other AI procedures (I still find the Arma AI, in all its flaws, pretty impressive), all I want to know if anyone that has had the same problem as I found anything that fixed it.

    @Grumpy Old Man

    I did the exact same thing in the video, and again I'm running no mods.

    This thing is annoying the hell out of me, and knowing that there are apparently people who don't have this issue makes it even more annoying :p.


  12. I've been trying the Arma3 campaign recently and one thing I noticed was that AI carrying AT weapons do not engage armor properly. I've tested this in the mission editor with vanilla Arma3 and this is a consistent thing apparently. I've seen that there are already tickets for this in the bug tracker (of sorts) so there's no use putting another one up there.

    I was wondering though if there is any way (be it a certain way of giving commands, or just mods) to actually make my squad AT guy useful?

    for people wondering:

    Make AT guy target tank;

    AT guy targets tank;

    Fucks around with AT and rifle;

    When asked to fire, he fires with his rifle first and then switches to his AT;

    At that point he's been spotted and its to late for any effective anti-tanking;

    If anyone knows any tips or secrets, that'd be lovely cause this is driving me mad.

    Ps: I've tried ASR3 AI but that did not help the AT guys mental deficiency.


  13. Hey guys! First of all great work! I fondly remember using ACRE for the first time with my group and were blown away by it.

    And now we hear about using ACRE without needing teamspeak! That's an amazing feat if you guys can pull it of well, and might mean a big change in public servers/mixed pubs clan servers!

    So me and my mate tested it on one of our servers and installing it couldn't be simpler, so you got that nailed down pretty well!

    We found 2 minor grievances though, one might be "gamebreaking" and another one is just a quality of life thing.

    First: The direct chat voice volume with jvon is really low for us, can't hear anyone farther away than 2 meters and even close by we really need to shout. This really hampers the usability of direct speak. Perhaps a configurable sound file server side could help?

    Second: This is more of a request then anything else, but could you guys add in a voice activation option for jvon? at least for the direct speak? We spoiled people have gotten so used to it with TS and such :p

    Again, I'm really glad ACRE is back track with ARMAIII and all its glory :D!


  14. Works like a charm, thank you!

    If I may bother you with one more question. If the weapon also has a grenade launcher attached, how would I go get the magazine types of those?

    I reckoned it would be be

    _magazines = getArray (configFile >> "CfgWeapons" >> currentWeapon player >> "EGLM" >> "magazines");

    (Because of the configs)

    However this returns to me an empty array.

    EDIT: Nevermind, I've found out that BLUEFOR uses "GL_3GL_F" and REDFOR uses "GLM".


  15. Hello,

    I'm looking for a way to find out what kind of magazines a particular weapon uses. I want this to be done automatically in a way that the script would detect what kind of weapon a unit has, and then depending on that weapon fill the units inventory with the proper variance of magazines.

    My original plan was to make huge array's with the info in them, but I'd like the system to be a bit more flexible. I've found that you might be able to get the magazines a gun uses by checking its config, however I've no idea how to properly do this. The biki does not give enough workable information in how I might extract the magazines.

    Can anyone point me in the right direction here?

×