Jump to content

JSD

Member
  • Content Count

    65
  • Joined

  • Last visited

  • Medals

Posts 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"

    n3UMbAk.png

    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. 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. 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;
    };

     

    • Like 1

  4. 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 (:


  5. 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;
    };

     


  6. 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.


  7. 3 minutes ago, R3vo said:

     

    Absolute values are used for multi-monitor setups so far I know. I'd personally go for safeZone.

     

    https://community.bistudio.com/wiki/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).


  8. 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


  9. @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 (:


  10. 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!

    • Like 1

  11. 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.
    k9AuDNg.png

    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?

×