Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Everything posted by JSD

  1. Whenever I load over 16 mods on our server (only the -mod parameter, not -serverMod), It gives an error when joining through the launcher (Screenshot below). The error reads: "Server can't transmit all data; some allowed mods might be missing or their signatures not recognized" I've tried: - Using a direct path to the mods. - Creating a symlink to the workshop folder and using that. - Downloading the server files via steam. - Downloading the server files via steamCMD. Misc. info - The mods are downloaded via the steam workshop. - It doesnt seem to matter which mod gets added/removed, it seems to be simply the amount. - If I repack some mods into one it works fine again, as long as the total amount of mods in the -mod param is below 17. Our server CPU: Intel Xeon E3-1230 V2 @ 3.30GHz RAM: 16 GB OS: Windows Server 16 Parameters startserver.bat start /b arma3server_x64.exe -server -cfg=basic.cfg -config=server.cfg -profiles="C:\Program Files (x86)\Steam\steamapps\common\Arma 3 Server" -name=Administrator -nosound -nopause -nosplash -world=empty -par=mods.txt mods.txt -mod=workshop\@CBA_A3;workshop\@ALiVE;workshop\@task_force_radio;workshop\@CUP Terrains - Core;workshop\@CUP Terrains - CWA;workshop\@CUP Terrains - Maps;workshop\@RHSAFRF;workshop\@RHSGREF;workshop\@RHSSAF;workshop\@RHSUSAF;workshop\@ace;workshop\@ACEX;workshop\@Project OPFOR;workshop\@RDS Civilian Pack;workshop\@ShackTac User Interface;workshop\@ACE Compat - RHS Armed Forces of the Russian Federation;workshop\@ACE Compat - RHS- GREF;workshop\@ACE Compat - RHS United States Armed Forces; -serverMod=@AliveServer;workshop\@Advanced Rappelling;workshop\@Advanced Sling Loading;workshop\@Advanced Towing;workshop\@Advanced Urban Rappelling; The server gives the error with these files/parameters, repacking the ACE RHS Compat ones into one mod and loading that instead of these three makes the launcher not show the error. I've found very little about other people having a similar problem. I believe the solution they found was that the modstring was too long, but reducing the size (character count) doesnt seem to matter for me. I am by no means an expert so it could very possibly be something simple. I'm getting rather annoyed and desperate, so any help is appreciated :p Responses on discord I've posted this on the Arma discord, and the main things I got as a possible solution were: Bundle mods (not recommended) I've done this for now because we already have too many mods. I prefer not to do this though, and that's the main reason I'm trying to fix it. Additionally I'd love to add more mods and keep it so that people can still join through the launcher, because that is the easiest option for most newer people Go into the meta.cpp for each mod and shorten the names I've tried this, didn't work. Get rid of the spaces in the -mod parameter Tried as well, didn't work.
  2. JSD

    creating a zeus v zeus [help]

    These pages might help: https://community.bistudio.com/wiki/Curator (Mainly cost tables, I believe if you make the costs high enough they stop showing, alternatively you can use a function to add/remove addons) https://community.bistudio.com/wiki/Category:Function_Group:_Curator for all zeus functions, I'm sure these will get you somewhere. I've attmpeted making something like this before and found it fairly hard to do properly. Hope you can get further than I did at the time (:
  3. You might be able to use selectRandom something like _marker setMarkerPos selectRandom [pos1, pos2, etc..]; unsure though, been out of it for a while :p
  4. I'm not sure about any actual way of doing it but you may just check the position every few seconds, get the distance from the last position and then add the distance to some variable. I'm not too good at this :P This may do?: (Haven't tested or anything) _distance = 0; _oldPos = position player; waitUntil { // wait a few seconds sleep 5; // get the traveled distance and add it to the distance variable _traveledDistance = _oldPos distance position player; _distance = _distance + _traveledDistance; // set position for next cycle or whatever it's called _oldPos = position player; // go ahead if the distance is over 5000 _distance > 5000; };
  5. is it literally driving 5 km or should the player be 5 km away from a certain point? For the last one something like waitUntil {player distance *startingpos* > 5000}; might do.
  6. JSD

    weapons and ammo info

    this should do: ((configFile >> "CfgWeapons" >> (vehicle player) currentWeaponTurret [0] >> "displayName") call BIS_fnc_GetCfgData) In a hunter this gives "RCWS HMG 12.7 mm". I'm not all too sure about turret paths (the "[0]", bit). It might also work with "weapons (vehicle player) select X" or "(vehicle player) weaponsTurret [0] select X" instead of the currentWeaponTurret bit, where x is whichever one you'd need, depending on what your goal is. And no worries, glad I can help (:
  7. @NivZiv What I put here earlier won't work for you because it uses some things from other scripts, you'd prolly be better off following what jshock said above :p
  8. This is something I made a while back to check TFAR stuff, I'm no that good at this scripting thing so there's probably a better way of doing it but this might help you out. // REMOVE DEFAULT A3 ADDONS from _addons _addons = []; //array to be filled up with all non-arma addons { if (!(["a3_", _x] call BIS_fnc_inString) && !(["curatoronly_", _x] call BIS_fnc_inString)) then {_addons pushBack _x;} } forEach activatedAddons; _otherAddons = ["map_vr","3den","core","a3data"]; { _addons deleteAt (_addons find _x); } forEach _otherAddons; // array with all addons in TFAR and CBA, copied from loading game with these two loaded and getting the _addons array from above code. _TFARaddons = ["task_force_radio_items","cba_common","cba_events","cba_hashes","cba_keybinding","cba_modules","cba_network","cba_settings","cba_statemachine","cba_strings","cba_ui_helper","cba_vectors","cba_ai","cba_arrays","cba_diagnostic","cba_help","cba_jr_prep","cba_ui","cba_versioning","cba_jr","asdg_jointrails","asdg_jointmuzzles","cba_main","cba_main_a3","cba_xeh","cba_xeh_a3","extended_eventhandlers","cba_extended_eventhandlers","cba_ee","task_force_radio","cba_accessory","mrt_accfncs"]; // check if all items in _TFARaddons is in _addons _addonCheck = true; { if !(_x in _addons) exitWith {_addonCheck = false}; } forEach _TFARaddons; // if player is missing some addons then display a warning, warning will stick forever cause player needs to restart Arma. if !(_addonCheck) exitWith { _warningtxt = format ["You need to have the 'Task Force Radio' and 'CBA' mod loaded to play this mission. Please join our TeamSpeak %1 if you need help.", GD_Set_TSIP]; [true, _warningtxt] call GD_Fnc_Warning; }; // check if player is on the right server if !((call TFAR_fnc_getTeamSpeakServerName) isEqualTo GD_Set_TSServer) then { _warningtxt = format ["You need to be on our teamspeak (%1) to play this mission.", GD_Set_TSIP]; [true, _warningtxt] call GD_Fnc_Warning; waitUntil {(call TFAR_fnc_getTeamSpeakServerName) isEqualTo GD_Set_TSServer}; [false] call GD_Fnc_Warning; }; // check if player is in the right channel _TSChannel = GD_Set_TSChannel; if (_TSChannel == "") then {_TSChannel = "TaskForceRadio"}; if !((call TFAR_fnc_getTeamSpeakChannelName) isEqualTo GD_Set_TSChannel) then { _warningtxt = format ["You need to be in the right channel (%1) to play this mission. You might need to relog or ask someone for the password.", GD_Set_TSChannel]; [true, _warningtxt] call GD_Fnc_Warning; waitUntil {(call TFAR_fnc_getTeamSpeakChannelName) isEqualTo GD_Set_TSChannel}; [false] call GD_Fnc_Warning; };
  9. It should copy it to your clipboard. One thing I noticed is that it copies with "uniform = X" instead of "uniformClass = X".
  10. I haven't done much actual mission making myself, but it might be worth checking if setting the driver's state to "careless". I believe that just makes the AI ignore everything but the waypoints.
  11. You should have a look at this page, specifically the "onLBSelChanged" bit. You can make it run a script whenever you select a new position.
  12. You seem to be doing something similar to what I just did so I had the same questions a few weeks back :p. What are you actually trying to achieve with creating a camera every .2 seconds? I'll take a good look later cause it's past midnight and I'm mid-netflix session :p
  13. use this instead of just camdestroy cam cameraEffect ["terminate","back"]; camDestroy cam;
  14. I think you should be somewhat worried about the safezone thing, or at least understand it. The safezone represents your entire screen no matter the resolution. The values given by safezoneX/Y/W/H are values relative to the 4:3 box you see in the GUI editor. You should kinda see these values as the minimum and maximum values you can use. Just to make sure you somewhat understand (It's 3.30 and I'm tired so it might be off, but I hope it gets the point across :P) SafeZoneX represents the value of the left side of your monitor relative to the 4:3 box, so SafeZoneX is the difference between the left border of that box and the left border of your monitor. SafeZoneY is the same but for the top borders of both. SafeZoneW is the width of your entire screen taking the width of the box as 1, so if your screen is twice as wide as that box is then SafeZoneW is 2. SafeZoneH is the same as SafeZoneW but then with height. I believe the size of the 4:3 box depends on GUI Size setting in arma 3 (there's some illustrations for this on the biki safezone page I believe), using either absolute values or GUI_GRID values for a menu that's bigger than that 4:3 box might mean that part of the menu will be cut off for some people because i.e. the height of that box is the same as their monitor, so part of the menu is above the top of their monitor. As long as you're making menus with this in mind it should be fine using either absolute or GUI_GRID, but if you go outside that box using safezone values (or a combination) will be much better.
  15. I have this page of KK's blog bookmarked to check whenever I do anything GUI related, The illustration on there helped me out a ton trying to figure out how they all worked :P.
  16. Doesn't seem like it, I believe for multi monitor you'd use SafeZoneAbs, but the absolute values we're talking about here is just the value using GUI_GRID but then calculated (if that makes any sense). If I go into the GUI editor, fill the entire box and set the position type to absolute it gives me this: x = 0; y = 0; w = 1; h = 1; Which is exactly the same as having position type set to GUI_GRID #define GUI_GRID_X (0) #define GUI_GRID_Y (0) #define GUI_GRID_W (0.025) #define GUI_GRID_H (0.04) x = 0 * GUI_GRID_W + GUI_GRID_X; // 0 * 0.025 + 0 = 0 y = 0 * GUI_GRID_H + GUI_GRID_Y; // 0 * 0.04 + 0 = 0 w = 40 * GUI_GRID_W; // 40 * 0.025 = 1 h = 25 * GUI_GRID_H; // 25 * 0.04 = 1 The GUI_GRID method is just an easier way of taking the absolute values by dividing the bigger 4:3 box up into smaller boxes, making it easier to work with (I think).
  17. No worries at all. I haven't used absolute postitions whatsoever yet, do they just take a value between 0 and 1? I feel like the issue was that you were missing the defines for the grids :p
  18. Just noticed you've made your own topic on this now. On the use of GUI_GRID, I think it should be fine for what you're trying to make. I prefer using it over safezones for anything that doesn't take up the entire screen. I've personally never had any issues with using it either, and generally I find it easier to work with.
  19. @Moldisocks sure thing, here you go: These may be somewhat edited from the original ones though, as these are from an active project. If you can't figure it out I wouldn't mind hopping on a teamspeak/discord to see if I can help you out that way, that might be a bit easier. I am by no means an expert, I've really just started learning all this myself, but I've been able to figure out quite a bit and love to help people out (:
  20. I need to check if someone is on the independent side but side player == GUER gives an error. After checking in debug I think this might be a bug as it doesn't return anything only for the independent side. I was able to work around it fairly easily using str side player == "GUER" instead, but if it's actually a bug I should really report it. Could someone else check if it's actually a bug and not something on my side?
  21. JSD

    Help on explosive goat code (dont judge)

    @HightowerGD That's just too great
  22. Ah right, thanks. I assumed it'd be GUER as side does return GUER for independent.
  23. JSD

    Help on explosive goat code (dont judge)

    Oh my god I love this. I messed around a little and got it to work with this: player addEventHandler ["Fired", { params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile"]; if (_ammo == "G_40mm_HE") then { _goat = "Goat_random_F" createVehicle position _projectile; _goat attachTo [_projectile, [0, 0, 0] ]; }; }]
  24. Seems to be the same with civilian side
  25. I found that way a while back. If you use find on a string it returns the number at which the particular bit of string you're looking for starts, and if it isn't there it returns -1. So as long as it doesn't return -1 whatever you're looking for is somewhere in the string. That's about as far as I can explain though, I'm still fairly new to all this. Glad I could help though!