-
Content Count
65 -
Joined
-
Last visited
-
Medals
Posts posted by JSD
-
-
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 (:
-
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 -
Just now, joew said:Thank you JSD!!!! But it is the first option: literally driving 5 km. The starting pos don't matter, for ex. the player can go ahead 3km and came back 2km, this will get 5km. Do u knew any way, please?
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; };
- 1
-
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.
-
2 hours ago, manofwar82 said:What about to know the weapon a vehicle use?
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 (:
-
@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
-
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; };
-
It should copy it to your clipboard. One thing I noticed is that it copies with "uniform = X" instead of "uniformClass = X".
-
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.
-
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.
-
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
-
use this instead of just camdestroy
cam cameraEffect ["terminate","back"]; camDestroy cam;
-
6 minutes ago, Moldisocks said:As most of the people that will by using my GUI have 1080p screens or higher, then im not tooo worried about the whole safezone thing. For this reason i used absolute values when i remade my GUI, it now works perfectly. Thanks anyway
Yeah thanks for this, i have seen some of KK's GUI blogs, i have used his Hex to arma color converter a few times, it is very handy. Thanks again
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.
-
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.
-
3 minutes ago, R3vo said:Absolute values are used for multi-monitor setups so far I know. I'd personally go for safeZone.
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).
-
41 minutes ago, Moldisocks said:Hey, i decided that i would just redo the GUI in the editor, using absolute position values instead of GRID_GUI values, and that fix all my issues thankfully.
I still have no idea how you got it to work flawlessly though haha, tell me your secret :P
Thanks again for your help man.
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
-
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.
- 1
-
@Moldisocks sure thing, here you go:
Spoiler/////////////////////////////////////////////////////////////////////////// /// Styles /////////////////////////////////////////////////////////////////////////// // Control types #define CT_STATIC 0 #define CT_BUTTON 1 #define CT_EDIT 2 #define CT_SLIDER 3 #define CT_COMBO 4 #define CT_LISTBOX 5 #define CT_TOOLBOX 6 #define CT_CHECKBOXES 7 #define CT_PROGRESS 8 #define CT_HTML 9 #define CT_STATIC_SKEW 10 #define CT_ACTIVETEXT 11 #define CT_TREE 12 #define CT_STRUCTURED_TEXT 13 #define CT_CONTEXT_MENU 14 #define CT_CONTROLS_GROUP 15 #define CT_SHORTCUTBUTTON 16 #define CT_XKEYDESC 40 #define CT_XBUTTON 41 #define CT_XLISTBOX 42 #define CT_XSLIDER 43 #define CT_XCOMBO 44 #define CT_ANIMATED_TEXTURE 45 #define CT_OBJECT 80 #define CT_OBJECT_ZOOM 81 #define CT_OBJECT_CONTAINER 82 #define CT_OBJECT_CONT_ANIM 83 #define CT_LINEBREAK 98 #define CT_USER 99 #define CT_MAP 100 #define CT_MAP_MAIN 101 #define CT_LISTNBOX 102 #define CT_CHECKBOX 77 // Static styles #define ST_POS 0x0F #define ST_HPOS 0x03 #define ST_VPOS 0x0C #define ST_LEFT 0x00 #define ST_RIGHT 0x01 #define ST_CENTER 0x02 #define ST_DOWN 0x04 #define ST_UP 0x08 #define ST_VCENTER 0x0C #define ST_TYPE 0xF0 #define ST_SINGLE 0x00 #define ST_MULTI 0x10 #define ST_TITLE_BAR 0x20 #define ST_PICTURE 0x30 #define ST_FRAME 0x40 #define ST_BACKGROUND 0x50 #define ST_GROUP_BOX 0x60 #define ST_GROUP_BOX2 0x70 #define ST_HUD_BACKGROUND 0x80 #define ST_TILE_PICTURE 0x90 #define ST_WITH_RECT 0xA0 #define ST_LINE 0xB0 #define ST_ROUNDED_CORNER ST_GROUP_BOX + ST_CENTER #define ST_ROUNDED_CORNER2 ST_GROUP_BOX2 + ST_CENTER #define ST_SHADOW 0x100 #define ST_NO_RECT 0x200 #define ST_KEEP_ASPECT_RATIO 0x800 #define ST_TITLE ST_TITLE_BAR + ST_CENTER // Slider styles #define SL_DIR 0x400 #define SL_VERT 0 #define SL_HORZ 0x400 #define SL_TEXTURES 0x10 // progress bar #define ST_VERTICAL 0x01 #define ST_HORIZONTAL 0 // Listbox styles #define LB_TEXTURES 0x10 #define LB_MULTI 0x20 // Tree styles #define TR_SHOWROOT 1 #define TR_AUTOCOLLAPSE 2 // MessageBox styles #define MB_BUTTON_OK 1 #define MB_BUTTON_CANCEL 2 #define MB_BUTTON_USER 4 #define GUI_GRID_X (0) #define GUI_GRID_Y (0) #define GUI_GRID_W (0.025) #define GUI_GRID_H (0.04) #define GUI_GRID_WAbs (1) #define GUI_GRID_HAbs (1) /////////////////////////////////////////////////////////////////////////// /// Base Classes /////////////////////////////////////////////////////////////////////////// class RscText { deletable = 0; fade = 0; access = 0; type = 0; idc = -1; colorBackground[] = { 0, 0, 0, 0 }; colorText[] = { 1, 1, 1, 1 }; text = ""; fixedWidth = 0; x = 0; y = 0; h = 0.037; w = 0.3; style = 0; shadow = 2; colorShadow[] = { 0, 0, 0, 0.5 }; font = "PuristaMedium"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; linespacing = 1; tooltipColorText[] = { 1, 1, 1, 1 }; tooltipColorBox[] = { 1, 1, 1, 1 }; tooltipColorShade[] = { 0, 0, 0, 0.65 }; }; class RscStructuredText { deletable = 0; fade = 0; access = 0; type = 13; idc = -1; style = 0; colorText[] = { 1, 1, 1, 1 }; class Attributes { font = "PuristaMedium"; color = "#ffffff"; colorLink = "#D09B43"; align = "left"; shadow = 1; }; x = 0; y = 0; h = 0.035; w = 0.1; text = ""; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; shadow = 1; }; class RscPicture { deletable = 0; fade = 0; access = 0; type = 0; idc = -1; style = 48; colorBackground[] = { 0, 0, 0, 0 }; colorText[] = { 1, 1, 1, 1 }; font = "PuristaMedium"; sizeEx = 0; lineSpacing = 0; text = ""; fixedWidth = 0; shadow = 0; x = 0; y = 0; w = 0.2; h = 0.15; tooltipColorText[] = { 1, 1, 1, 1 }; tooltipColorBox[] = { 1, 1, 1, 1 }; tooltipColorShade[] = { 0, 0, 0, 0.65 }; }; class RscEdit { deletable = 0; fade = 0; access = 0; type = 2; x = 0; y = 0; h = 0.04; w = 0.2; colorBackground[] = { 0, 0, 0, 0 }; colorText[] = { 0.95, 0.95, 0.95, 1 }; colorDisabled[] = { 1, 1, 1, 0.25 }; colorSelection[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])", 1 }; autocomplete = ""; text = ""; size = 0.2; style = "0x00 + 0x40"; font = "PuristaMedium"; shadow = 2; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; canModify = 1; tooltipColorText[] = { 1, 1, 1, 1 }; tooltipColorBox[] = { 1, 1, 1, 1 }; tooltipColorShade[] = { 0, 0, 0, 0.65 }; }; class RscEdit2 { deletable = 0; fade = 0; access = 0; type = 2; x = 0; y = 0; h = 0.04; w = 0.2; colorBackground[] = {0,0,0,0.9}; colorText[] = {0.95,0.95,0.95,1}; colorDisabled[] = {1,1,1,0.25}; colorSelection[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])", 1 }; autocomplete = ""; text = ""; size = 0.2; style = "0x00 + 0x40"; font = "PuristaMedium"; shadow = 2; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; canModify = 1; tooltipColorText[] = {1,1,1,1}; tooltipColorBox[] = {1,1,1,1}; tooltipColorShade[] = {0,0,0,0.65}; }; class RscEdit3 { deletable = 0; fade = 0; access = 0; type = 2; x = 0; y = 0; h = 0.04; w = 0.2; colorBackground[] = {0.8,0.8,0.8,0.9}; colorText[] = {0.95,0.95,0.95,1}; colorDisabled[] = {1,1,1,0.25}; colorSelection[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])", 1 }; autocomplete = ""; text = ""; size = 0.2; style = "ST_MULTI"; font = "PuristaMedium"; shadow = 2; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; canModify = 1; tooltipColorText[] = {1,1,1,1}; tooltipColorBox[] = {1,1,1,1}; tooltipColorShade[] = {0,0,0,0.65}; }; class RscCombo { deletable = 0; fade = 0; access = 0; type = 4; colorSelect[] = {0,0,0,1}; colorText[] = {1,1,1,1}; colorBackground[] = {0,0,0,1}; colorScrollbar[] = {1,0,0,1}; colorDisabled[] = {1,1,1,0.25}; colorPicture[] = {1,1,1,1}; colorPictureSelected[] = {1,1,1,1}; colorPictureDisabled[] = {1,1,1,0.25}; colorPictureRight[] = {1,1,1,1}; colorPictureRightSelected[] = {1,1,1,1}; colorPictureRightDisabled[] = {1,1,1,0.25}; colorTextRight[] = {1,1,1,1}; colorSelectRight[] = {0,0,0,1}; colorSelect2Right[] = {0,0,0,1}; tooltipColorText[] = {1,1,1,1}; tooltipColorBox[] = {1,1,1,1}; tooltipColorShade[] = {0,0,0,0.65}; soundSelect[] = { "\A3\ui_f\data\sound\RscCombo\soundSelect", 0.1, 1 }; soundExpand[] = { "\A3\ui_f\data\sound\RscCombo\soundExpand", 0.1, 1 }; soundCollapse[] = { "\A3\ui_f\data\sound\RscCombo\soundCollapse", 0.1, 1 }; maxHistoryDelay = 1; class ComboScrollBar { color[] = {1,1,1,1}; }; style = "0x10 + 0x200"; font = "PuristaMedium"; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; shadow = 0; x = 0; y = 0; w = 0.12; h = 0.035; colorSelectBackground[] ={1,1,1,0.7}; arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa"; arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa"; wholeHeight = 0.45; colorActive[] = {1,0,0,1}; }; class RscListBox { deletable = 0; fade = 0; access = 0; type = 5; rowHeight = 0; colorText[] = { 1, 1, 1, 1 }; colorDisabled[] = { 1, 1, 1, 0.25 }; colorScrollbar[] = { 1, 0, 0, 0 }; colorSelect[] = { 0, 0, 0, 1 }; colorSelect2[] = { 0, 0, 0, 1 }; colorSelectBackground[] = { 0.95, 0.95, 0.95, 1 }; colorSelectBackground2[] = { 1, 1, 1, 0.5 }; colorBackground[] = { 0, 0, 0, 0.3 }; soundSelect[] = { "\A3\ui_f\data\sound\RscListbox\soundSelect", 0.09, 1 }; autoScrollSpeed = -1; autoScrollDelay = 5; autoScrollRewind = 0; arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)"; arrowFull = "#(argb,8,8,3)color(1,1,1,1)"; colorPicture[] = { 1, 1, 1, 1 }; colorPictureSelected[] = { 1, 1, 1, 1 }; colorPictureDisabled[] = { 1, 1, 1, 0.25 }; colorPictureRight[] = { 1, 1, 1, 1 }; colorPictureRightSelected[] = { 1, 1, 1, 1 }; colorPictureRightDisabled[] = { 1, 1, 1, 0.25 }; colorTextRight[] = { 1, 1, 1, 1 }; colorSelectRight[] = { 0, 0, 0, 1 }; colorSelect2Right[] = { 0, 0, 0, 1 }; tooltipColorText[] = { 1, 1, 1, 1 }; tooltipColorBox[] = { 1, 1, 1, 1 }; tooltipColorShade[] = { 0, 0, 0, 0.65 }; class ListScrollBar { color[] = { 1, 1, 1, 1 }; autoScrollEnabled = 1; }; x = 0; y = 0; w = 0.3; h = 0.3; style = 16; font = "PuristaMedium"; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; shadow = 0; colorShadow[] = { 0, 0, 0, 0.5 }; period = 1.2; maxHistoryDelay = 1; }; class RscButton { deletable = 0; fade = 0; access = 0; type = 1; text = ""; colorText[] = {1,1,1,1}; colorDisabled[] = {1,1,1,0.25}; colorBackground[] = {0,0,0,0.5}; colorBackgroundDisabled[] = {0,0,0,0.5}; colorBackgroundActive[] = {0,0,0,1}; colorFocused[] = {0,0,0,1}; colorShadow[] = {0,0,0,0}; colorBorder[] = {0,0,0,1}; soundEnter[] = { "\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1 }; soundPush[] = { "\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1 }; soundClick[] = { "\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1 }; soundEscape[] = { "\A3\ui_f\data\sound\RscButton\soundEscape", 0.09, 1 }; idc = -1; style = 2; x = 0; y = 0; w = 0.095589; h = 0.039216; shadow = 2; font = "PuristaMedium"; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; url = ""; offsetX = 0; offsetY = 0; offsetPressedX = 0; offsetPressedY = 0; borderSize = 0; }; class RscShortcutButton { deletable = 0; fade = 0; type = 16; x = 0.1; y = 0.1; class HitZone { left = 0; top = 0; right = 0; bottom = 0; }; class ShortcutPos { left = 0; top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; }; class TextPos { left = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)"; top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; right = 0.005; bottom = 0; }; shortcuts[] = { }; textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)"; color[] = { 1, 1, 1, 1 }; colorFocused[] = { 1, 1, 1, 1 }; color2[] = { 0.95, 0.95, 0.95, 1 }; colorDisabled[] = { 1, 1, 1, 0.25 }; colorBackground[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])", 1 }; colorBackgroundFocused[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])", 1 }; colorBackground2[] = { 1, 1, 1, 1 }; soundEnter[] = { "\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1 }; soundPush[] = { "\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1 }; soundClick[] = { "\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1 }; soundEscape[] = { "\A3\ui_f\data\sound\RscButton\soundEscape", 0.09, 1 }; class Attributes { font = "PuristaMedium"; color = "#E5E5E5"; align = "left"; shadow = "true"; }; idc = -1; style = 0; default = 0; shadow = 1; w = 0.183825; h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)"; textSecondary = ""; colorSecondary[] = { 1, 1, 1, 1 }; colorFocusedSecondary[] = { 1, 1, 1, 1 }; color2Secondary[] = { 0.95, 0.95, 0.95, 1 }; colorDisabledSecondary[] = { 1, 1, 1, 0.25 }; sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; fontSecondary = "PuristaMedium"; animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa"; animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa"; animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa"; animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa"; animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\focus_ca.paa"; animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa"; periodFocus = 1.2; periodOver = 0.8; period = 0.4; font = "PuristaMedium"; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; text = ""; url = ""; action = ""; class AttributesImage { font = "PuristaMedium"; color = "#E5E5E5"; align = "left"; }; }; class RscShortcutButtonMain { idc = -1; style = 0; default = 0; w = 0.313726; h = 0.104575; color[] = { 1, 1, 1, 1 }; colorDisabled[] = { 1, 1, 1, 0.25 }; class HitZone { left = 0; top = 0; right = 0; bottom = 0; }; class ShortcutPos { left = 0.0145; top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2"; w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2) * (3/4)"; h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; }; class TextPos { left = "(((safezoneW / safezoneH) min 1.2) / 32) * 1.5"; top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)*2 - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2"; right = 0.005; bottom = 0; }; animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa"; animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\disabled_ca.paa"; animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\over_ca.paa"; animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\focus_ca.paa"; animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\down_ca.paa"; animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa"; period = 0.5; font = "PuristaMedium"; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; text = ""; action = ""; class Attributes { font = "PuristaMedium"; color = "#E5E5E5"; align = "left"; shadow = "false"; }; class AttributesImage { font = "PuristaMedium"; color = "#E5E5E5"; align = "false"; }; }; class RscFrame { type = 0; idc = -1; style = 64; shadow = 2; colorBackground[] = { 0, 0, 0, 0 }; colorText[] = { 1, 1, 1, 1 }; font = "PuristaMedium"; sizeEx = 0.02; text = ""; x = 0; y = 0; w = 0.3; h = 0.3; }; class RscSlider { deletable = 0; fade = 0; access = 0; type = 43; arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa"; arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa"; border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa"; thumb = "\A3\ui_f\data\gui\cfg\slider\thumb_ca.paa"; style = 1024; color[] ={1,1,1,0.8}; colorActive[] ={1,1,1,1}; shadow = 0; x = 0; y = 0; w = 0.3; h = 0.025; }; class IGUIBack { type = 0; idc = 124; style = 128; text = ""; colorText[] = { 0, 0, 0, 0 }; font = "PuristaMedium"; sizeEx = 0; shadow = 0; x = 0.1; y = 0.1; w = 0.1; h = 0.1; colorbackground[] = { 0.7, 0.7, 0.7, 0.7 }; }; class RscCheckBox { idc = -1; type = 77; style = 0; checked = 0; x = "0.375 * safezoneW + safezoneX"; y = "0.36 * safezoneH + safezoneY"; w = "0.025 * safezoneW"; h = "0.04 * safezoneH"; color[] = { 1, 1, 1, 0.7 }; colorFocused[] = { 1, 1, 1, 1 }; colorHover[] = { 1, 1, 1, 1 }; colorPressed[] = { 1, 1, 1, 1 }; colorDisabled[] = { 1, 1, 1, 0.2 }; colorBackground[] = { 0, 0, 0, 0 }; colorBackgroundFocused[] = { 0, 0, 0, 0 }; colorBackgroundHover[] = { 0, 0, 0, 0 }; colorBackgroundPressed[] = { 0, 0, 0, 0 }; colorBackgroundDisabled[] = { 0, 0, 0, 0 }; textureChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa"; textureUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa"; textureFocusedChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa"; textureFocusedUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa"; textureHoverChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa"; textureHoverUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa"; texturePressedChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa"; texturePressedUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa"; textureDisabledChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa"; textureDisabledUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa"; tooltipColorText[] = { 1, 1, 1, 1 }; tooltipColorBox[] = { 1, 1, 1, 1 }; tooltipColorShade[] = { 0, 0, 0, 0.65 }; soundEnter[] = { "", 0.1, 1 }; soundPush[] = { "", 0.1, 1 }; soundClick[] = { "", 0.1, 1 }; soundEscape[] = { "", 0.1, 1 }; }; class RscTextCheckBox { idc = -1; type = 7; style = 0; x = "0.375 * safezoneW + safezoneX"; y = "0.36 * safezoneH + safezoneY"; w = "0.025 * safezoneW"; h = "0.04 * safezoneH"; colorText[] = { 1, 0, 0, 1 }; color[] = { 0, 0, 0, 0 }; colorBackground[] = { 0, 0, 0, 0 }; colorTextSelect[] = { 0, 0.8, 0, 1 }; colorSelectedBg[] = { "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])", 1 }; colorSelect[] = { 0, 0, 0, 1 }; colorTextDisable[] = { 0.4, 0.4, 0.4, 1 }; colorDisable[] = { 0.4, 0.4, 0.4, 1 }; tooltipColorText[] = { 1, 1, 1, 1 }; tooltipColorBox[] = { 1, 1, 1, 1 }; tooltipColorShade[] = { 0, 0, 0, 0.65 }; font = "PuristaMedium"; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)"; rows = 1; columns = 1; strings[] = { "UNCHECKED" }; checked_strings[] = { "CHECKED" }; }; class RscButtonMenu { idc = -1; type = 16; style = "0x02 + 0xC0"; default = 0; shadow = 0; x = 0; y = 0; w = 0.095589; h = 0.039216; animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)"; animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)"; animTextureOver = "#(argb,8,8,3)color(1,1,1,1)"; animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; colorBackground[] = { 0, 0, 0, 0.8 }; colorBackgroundFocused[] = { 1, 1, 1, 1 }; colorBackground2[] = { 0.75, 0.75, 0.75, 1 }; color[] = { 1, 1, 1, 1 }; colorFocused[] = { 0, 0, 0, 1 }; color2[] = { 0, 0, 0, 1 }; colorText[] = { 1, 1, 1, 1 }; colorDisabled[] = { 1, 1, 1, 0.25 }; textSecondary = ""; colorSecondary[] = { 1, 1, 1, 1 }; colorFocusedSecondary[] = { 0, 0, 0, 1 }; color2Secondary[] = { 0, 0, 0, 1 }; colorDisabledSecondary[] = { 1, 1, 1, 0.25 }; sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; fontSecondary = "PuristaLight"; period = 1.2; periodFocus = 1.2; periodOver = 1.2; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; tooltipColorText[] = { 1, 1, 1, 1 }; tooltipColorBox[] = { 1, 1, 1, 1 }; tooltipColorShade[] = { 0, 0, 0, 0.65 }; class TextPos { left = "0.25 * (((safezoneW / safezoneH) min 1.2) / 40)"; top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2"; right = 0.005; bottom = 0; }; class Attributes { font = "PuristaLight"; color = "#E5E5E5"; align = "left"; shadow = "false"; }; class ShortcutPos { left = "5.25 * (((safezoneW / safezoneH) min 1.2) / 40)"; top = 0; w = "1 * (((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; soundEnter[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundEnter", 0.09, 1 }; soundPush[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundPush", 0.09, 1 }; soundClick[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundClick", 0.09, 1 }; soundEscape[] = { "\A3\ui_f\data\sound\RscButtonMenu\soundEscape", 0.09, 1 }; }; class RscButtonMenuOK { idc = 1; shortcuts[] = { "0x00050000 + 0", 28, 57, 156 }; default = 1; text = "OK"; soundPush[] = { "\A3\ui_f\data\sound\RscButtonMenuOK\soundPush", 0.09, 1 }; }; class RscButtonMenuCancel { idc = 2; shortcuts[] = { "0x00050000 + 1" }; text = "Cancel"; }; class RscControlsGroup { deletable = 0; fade = 0; class VScrollbar { color[] = { 1, 1, 1, 1 }; width = 0.021; autoScrollEnabled = 1; }; class HScrollbar { color[] = { 1, 1, 1, 1 }; height = 0.028; }; class Controls { }; type = 15; idc = -1; x = 0; y = 0; w = 1; h = 1; shadow = 0; style = 16; };
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 (:
-
-
24 minutes ago, killzone_kid said:GUER means exactly...nothing to the Arma 3 engine. resistance or independent on the other hand do mean something
Ah right, thanks. I assumed it'd be GUER as side does return GUER for independent.
- 1
-
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] ]; }; }]
-
Seems to be the same with civilian side
-
3 minutes ago, froggyluv said:Man that works awesome!
(str _x find "grave" != -1)
Can you explain the != -1 ? Thats an interesting was to find just part of a string -gonna be useful for alot
Thanks
@JohnnyBonesJones - The only problem id have with that is what ["Type"] would i use for Gravestone?
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!
- 1
-
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?
Server can't transmit all data (issue with mods/signatures)
in ARMA 3 - SERVERS & ADMINISTRATION
Posted
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
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.