Jump to content

Rocu

Member
  • Posts

    337
  • Joined

  • Last visited

Posts posted by Rocu

  1. The most important hint is the variable name that is being called "undefined" (AdminList). If you examine your files to see where AdminList defined and used, you will see that it is defined in AdminList.sqf and used in Activate.sqf.

     

    You have AdminList.sqf inside an if (!isDedicated) block, and that is a good thing, because you only want to run client-sided admin tools on the client. The problem is that you have your other admin tool file (Activate.sqf) outside of the !isDedicated block, meaning that Activate.sqf is read by both the client and the server. Since the server never read AdminList.sqf due to the !isDedicated block, the server has no idea what the variable AdminList means and gives you the undefined variable message.

     

    TL;DR solution: You need to move the line:

    [] execVM "admintools\Activate.sqf";

    right under the line where you call AdminList.sqf. This will prevent the server from ever reading Activate.sqf while the client continues to read it as normal.

     

    That makes sense. I tried it and it worked. Thanks for the explanation and solution. 

    I actually thought of that myself earlier. I tried things like actually merging those two files together or bringing the admintools\AdminList.sqf calling down instead of Activate.sqf up. But that was just trial & error because I don't have nearly enough knowledge about Arma 2 modding yet. But this makes sense and I appreciate it. Thanks!

  2. Yes. Here's my init.sqf:

     

    /*	
    	For DayZ Epoch
    	Addons Credits: Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr, Sahbazz
    */
    startLoadingScreen ["","RscDisplayLoadCustom"];
    cutText ["","BLACK OUT"];
    enableSaving [false, false];
    
    //REALLY IMPORTANT VALUES
    dayZ_instance = 13;	//The instance
    dayzHiveRequest = [];
    initialized = false;
    dayz_previousID = 0;
    
    setViewDistance 1500;
    setTerrainGrid 20;
    bis_fog = 0;
    
    //disable greeting menu 
    player setVariable ["BIS_noCoreConversations", true];
    //disable radio messages to be heard and shown in the left lower corner of the screen
    enableRadio false;
    // May prevent "how are you civillian?" messages from NPC
    enableSentences false;
    
    // DayZ Epoch config
    spawnShoremode = 1; // Default = 1 (on shore)
    spawnArea = 2500; // Default = 1500
    
    MaxVehicleLimit = 50; // Default = 50
    MaxDynamicDebris = 700; // Default = 100
    dayz_MapArea = 20000; // Default = 10000
    
    DZE_MissionLootTable = true;
    
    EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];
    dayz_fullMoonNights = true;
    
    dayz_minpos = -26000; 
    dayz_maxpos = 26000;
    
    dayz_sellDistance_vehicle = 10;
    dayz_sellDistance_boat = 30;
    dayz_sellDistance_air = 40;
    
    dayz_paraSpawn = false;
    
    dayz_maxAnimals = 1; // Default: 8
    dayz_tameDogs = false;
    DynamicVehicleDamageLow = 0; // Default: 0
    DynamicVehicleDamageHigh = 100; // Default: 100
    
    DZE_PlayerZed = false;
    DZE_BuildOnRoads = false; // Default: False
    
    // DZEdebug = true;
    
    //Load in compiled functions
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";				//Initilize the Variables (IMPORTANT: Must happen very early)
    progressLoadingScreen 0.1;
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";				//Initilize the publicVariable event handlers
    progressLoadingScreen 0.2;
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";	//Functions used by CLIENT for medical
    progressLoadingScreen 0.4;
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";				// OLD VALUE BEFORE 'Plot For Life' MOD
    call compile preprocessFileLineNumbers "custom\compiles.sqf";
    progressLoadingScreen 0.5;
    call compile preprocessFileLineNumbers "server_traders.sqf";				//Compile trader configs
    progressLoadingScreen 1.0;
    
    "filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";
    
    if (isServer) then {
    	call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_13.Tavi\dynamic_vehicle.sqf";				//Compile vehicle configs
    	
    	// Add trader citys
    	_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_13.Tavi\mission.sqf";
    	//_serverMonitor = 	[] execVM "\z\addons\dayz_code\system\server_monitor.sqf";
    	
    	diag_log text "APlotForLife";
    	_serverMonitor = 	[] execVM "custom\APlotForLifev2.2.1\server_monitor.sqf";
    	diag_log format["[_serverMonitor: %1]",_serverMonitor];
    };
    
    if (!isDedicated) then {
    	//Conduct map operations
    	0 fadeSound 0;
    	waitUntil {!isNil "dayz_loadScreenMsg"};
    	dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
    	
    	//Run the player monitor
    	_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
    	_playerMonitor = 	[] execVM "\z\addons\dayz_code\system\player_monitor.sqf";	
    	
    	
    	// Epoch Admin Tools
    	[] execVM "admintools\AdminList.sqf";
    	if ( !((getPlayerUID player) in AdminList) && !((getPlayerUID player) in ModList) && !((getPlayerUID player) in tempList)) then 
    	{
    	  [] execVM "\z\addons\dayz_code\system\antihack.sqf";
    	};
    
    	//Lights
    	//[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
    };
    #include "\z\addons\dayz_code\system\REsec.sqf"
    //Start Dynamic Weather
    execVM "\z\addons\dayz_code\external\DynamicWeatherEffects.sqf";
    
    #include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"
    // Epoch Admin Tools
    [] execVM "admintools\Activate.sqf";
    

  3. So my Taviana OverPoch server was running great for a couple of days in a row. I've been updating it a lot lately but no major setbacks so far.

    Until I discovered the following error in my RPT:

    22:15:56 Error in expression <ivate.sqf"
    if ((getPlayerUID player) in AdminList || (getPlayerUID player) in Mo>
    22:15:56   Error position: <AdminList || (getPlayerUID player) in Mo>
    22:15:56   Error Undefined variable in expression: adminlist
    22:15:56 File mpmissions\DayZ_Overpoch_2.Tavi\admintools\Activate.sqf, line 1
    

    This came literally out of nowhere. Yesterday I didn't have it, today since the first run I have it. I tried reverting the last couple of updates I did, didn't help. I reverted a whole day's worth of files, didn't help. Then I reverted the whole week's work and still getting the same error. How is this remotely possible? I very much doubt the error is in the files listed in the error. My theory is that it's a syntax error in some other file but activate.sqf is being called out because that's where the first conflict happens. I know you guys probably want to see my activate.sqf and adminList.sqf files anyway so here they are:

     

    AdminList.sqf:

    // Epoch Admin Tools
    //Replace 111111111 with your ID. 
    AdminList = [
    "76561198046592472" // Rocu
    ];
    ModList = [
    ];
    
    /*
    	Base deletion variable. Default true.
    	Determines default true or false for deleting all vehicles
    	inside the base delete dome. Can be changed in game.
    */
    BD_vehicles = true;
    
    
    
    
    // DO NOT MODIFY ANYTHING BEYOND THIS POINT
    tempList = []; 
    
    /*
    	Determines default on or off for admin tools menu
    	Set this to false if you want the menu to be off by default.
    	F11 turns the tool off, F10 turns it on.
    	Leave this as True for now, it is under construction.
    */
    if (isNil "toolsAreActive") then {toolsAreActive = true;}; 

     

    Activate.sqf:

    if ((getPlayerUID player) in AdminList || (getPlayerUID player) in ModList) then {
    	Sleep 5;
    	private["_veh", "_idx"];
    	_idx = -1;
    
    	while {alive player} do
    	{
    		if(toolsAreActive) then
    		{
    			if (_idx == -1) then
    			{
    				[]execVM "admintools\KeyBindings\FunctionKeys.sqf";
    				[]execVM "admintools\KeyBindings\NumberKeys.sqf";
    				_idx = (vehicle player) addaction [("<t color=""#585858"">" + ("Admin Menu") +"</t>"),"admintools\AdminToolsMain.sqf","",7,false,true,"",""];
    				_veh = vehicle player;
    			};
    			if (_veh != vehicle player) then
    			{
    				_veh removeAction _idx;
    				_idx = -1;      
    			};
    		}else{
    			if(_idx != -1) then {
    				_veh removeAction _idx;
    				_idx = -1;
    			};
    		};
    		Sleep 2;
    	};
    	_veh removeAction _idx;
    	_idx = -1;
    }; 

     

    So what really happens in game? Well, nothing. Everything works fine. Even admin tools with all it's functions. But this seems like an error I can't ignore. It's a matter of time until it finds something to break. 

    To give you a little more insight of what my server includes, here's a list of major updates I've installed:

     

    Mod: Taviana 2.0, Epoch 1.0.5.1, Overwatch

    Scripts:

    • Admintools
    • Snap Building Pro
    • Plot Pole 4 Life
    • SafeZone script by Maca
    • Single Currency by Zupa

    All scripts & mods are the latest version. When I tried reverting versions I also un-did the Single Currency one because I thought that might've been the cause.

     

    Anyway, if someone has ever dealt with a similar problem or might have any insight of what's going on, any help would be much appreciated. Have worked around 8 hours on this error already without a result and will continue. 

     

    Thanks in advance.

  4. How do you group your numbers? Or should I ask where can I get numberDigits.sqf And numberText.sqf?

     

    Edit// Nevermind found it.

     

    The sqf files:

     

    And how to 'install':

     

    I think you should include this in your first post because most people will be looking for this.

     

     

     

    Edit// In fact this does NOT work for me. As soon as I apply the "call BIS_fnc_numberText" my HUD completely disappears. I have also removed almost everything from the original HUD, only kept the money & money in bank variables, so MAYBE that has something to do with it? Anyway, here's my playerHud.sqf:

     

    disableSerialization;
    
    AsReMixhud_Control = true; // player getVariable["AsReMixhud",true];
    
    while {true} do
    {
        1000 cutRsc ["AsReMixhud","PLAIN"];
        _wpui = uiNameSpace getVariable "AsReMixhud";
        _vitals = _wpui displayCtrl 4900;
    	
    	_thePlayer = player;
    	
    	_cashMoney 		= _thePlayer getVariable["cashMoney",0];
        _bankMoney 		= _thePlayer getVariable["bankMoney",0];
        
    	_vitals ctrlSetStructuredText parseText format ["
    		<t size='1'> %1 </t><img size='1' align='right' image='addons\playerhud\icons\dollars.paa'/>   <br/>
    		<t size='1'> %2 </t><img size='1' align='right' image='addons\playerhud\icons\equip_safe_CA.paa'/>   <br/>",
    	[_cashMoney] call BIS_fnc_numberText,
    	[_bankMoney] call BIS_fnc_numberText
    	];
    	_vitals ctrlCommit 0;
            
        sleep 2;
    };
     

     

    Anyone know a possible fix cause it's quite irritating without the commas. 

     

    Also, the function (call BIS_fnc_numberText) works perfectly fine everywhere else. I've added it to traders and in bank.

  5. So I installed it on my OverPoch Taviana server. Most of the functionality seems to work except I noticed a couple of bugs that make it atm too unplayable. 

    1) Can't loot coins from dead bodies

    When you die, you lose all the cash you have on you, but other players cannot loot it. Not sure if this was intentional or they actually should be able to loot it.

     

    2) Lose all money from bank on skin change

    This is a big one. As soon as you change your skin, all money from the bank is gone. I've heard some even lose the money you're carrying with you but I don't seem to have that problem at the moment.

     

    So my question is, are these common problems (since I can read people having a lot similar problems) or is this just my server?

    Did those functions work perfectly for someone who installed it on a completely vanilla Chernarus?

  6. Okay so I wanted to get A Plot for life + Snap Building Pro working together. I used PryMary's instructions and files from here:

     

    I do everything as told, but as I get in game, the items don't snap. Everything else seems to work, I can rotate items 45 degrees, drop them down/pick up and so on, but the snapping does not work. Also the plot pole does not recognize the owner after the server has restarted.

     

    In my init.sqf I have these lines to call the complies.sqf's:

    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
    call compile preprocessFileLineNumbers "custom\compiles.sqf";
    

    My custom\complies.sqf looks like this:

    if (!isDedicated) then {
    	//Snap builder pro:
    	snap_build =				compile preprocessFileLineNumbers "custom\snap_pro\snap_build.sqf";
    	dayz_spaceInterrupt =		compile preprocessFileLineNumbers "custom\snap_pro\dayz_spaceInterrupt.sqf";
    	//Plot for life:
    	fnc_usec_damageActions =	compile preprocessFileLineNumbers "custom\PlotForLifev2\fn_damageActions.sqf";
    	fnc_usec_selfActions =		compile preprocessFileLineNumbers "custom\PlotForLifev2\fn_selfActions.sqf";
    	player_packTent =			compile preprocessFileLineNumbers "custom\PlotForLifev2\player_packTent.sqf";
    	player_packVault =			compile preprocessFileLineNumbers "custom\PlotForLifev2\player_packVault.sqf";
    	player_unlockVault =		compile preprocessFileLineNumbers "custom\PlotForLifev2\player_unlockVault.sqf";
    	player_removeObject =		compile preprocessFileLineNumbers "custom\PlotForLifev2\remove.sqf";
    	player_lockVault =			compile preprocessFileLineNumbers "custom\PlotForLifev2\player_lockVault.sqf";
    	player_updateGui =			compile preprocessFileLineNumbers "custom\PlotForLifev2\player_updateGui.sqf";
    	player_tentPitch =			compile preprocessFileLineNumbers "custom\PlotForLifev2\tent_pitch.sqf";
    	player_vaultPitch =			compile preprocessFileLineNumbers "custom\PlotForLifev2\vault_pitch.sqf";
    	player_build =				compile preprocessFileLineNumbers "custom\snap_pro\player_build.sqf";
    };
    

     

    (As seen in the last line, I pointed towards the snap_pro's player_build.sqf instead of P4L's)

    And the player_build.sqf I use is the one PryMary posted.

     

    Also note that I used the easy installation method since I don't have a lot of mods. Atleast I'm pretty sure they aren't effected by P4L.

     

     

     

    Also on another question, if I were to follow the step-by-step guide, I don't understand where exactly do you change the files? StiflersM0M listed a bunch of files at the beginning of his guide here: 

    Are these the files that are like scattered around the folders that I have to search for and edit individually? So if I were to look up these files and change them individually, why is he making a separate compiles.sqf file where he includes all those files? The whole guide seems slightly too messy, or just maybe too advanced for someone average.

×
×
  • Create New...