Jump to content

BigEgg

Member
  • Posts

    362
  • Joined

  • Last visited

  • Days Won

    28

Posts posted by BigEgg

  1. You have a ( before this exception:

    (!="script = {((ctrlParent (_this select 0)) closeDisplay 7778); execvm 'custom\\menu\\rules2_init.sqf';}; \npreviousscript = {((ctrlPa"

    If that is that way in your file, remove it.

  2. 7 minutes ago, _Lance_ said:

    Sorry that took so long but I wanted to be sure - all I did was empty my dze_buildChecks.sqf and paste in the new code, verified I only had the buildings and cities blacklists in init.sqf - when on the server I am unable to build a plot pole anywhere, no message. Nothing in server RPT but these were in my client RPT:

      Hide contents
    
    
    ......"dayz_preloadFinished reset".....
    ....."Loading custom client compiles".....
    Error in expression <all fnc_getPos;
    _chk = count(nearObjects[_pos, [_x select 1], _dis]);
    
    if (_chk >
      Error position: <[_pos, [_x select 1], _dis]);
    
    if (_chk >
      Error Missing )
    File mpmissions\__CUR_MP.Chernarus\scripts\BuildingRestrictions\dze_buildChecks.sqf, line 121
    Error in expression <all fnc_getPos;
    _chk = count(nearObjects[_pos, [_x select 1], _dis]);
    
    if (_chk >
      Error position: <[_pos, [_x select 1], _dis]);
    
    if (_chk >
      Error Missing )
    File mpmissions\__CUR_MP.Chernarus\scripts\BuildingRestrictions\dze_buildChecks.sqf, line 121
    
    //---------------------------------------------------------------------------------------------------
    
    .....[283.405,"onPreloadFinished"]....
    Error in expression < _this, true] call dze_buildChecks;
    if (_canBuild select 0) then {
    _classname = >
      Error position: <_canBuild select 0) then {
    _classname = >
      Error Undefined variable in expression: _canbuild
    File z\addons\dayz_code\actions\modular_build.sqf, line 90

     

     

    Yup you did everything right. I have updated the code again (I don't have a test server going atm due to me reformatting my dedi). It should fix it, if not, please let me know. Thanks for helping me out :) Dumb mistake haha

  3. 10 hours ago, _Lance_ said:

    Hey BigEgg, I noticed plot pole limits and plot size limits are merged into 1062, if I add this just to get the location restrictions and I don't add the parts about plot pole limits and plot sizes to the init - think this'll work? Guess I'm about to find out :D

    Hey Lance, I will have this updated in a couple hours when I am able to get on my P.C. Thanks for reminding me!

  4. 1 hour ago, Joshyy said:

    Hiveext uses callExtension too :)

    lol my bad - I read the _legacyStreamingMethod comment and was assuming that it didnt for some reason. However, I am 100% certain that the hive is faster than extDB, as we even have to wait for it in the virtual storage script. As for Arma2NET, I have never used it in a capacity to pull lots of data, but from experience, I feel as though it's faster than extDB. I will be using Arma2NET on my server for all queries, but certainly wont be replacing the Hive.

  5. 14 minutes ago, McKeighan said:

    _rnd = random(1); if (_rnd > .985) then { _isrunner = 1; } else { _isrunner = 0; }; _agent setVariable ["isRunner", _isrunner];

    Here, you are setting _isrunner to a number. You are getting the variable in a true/false manner though, which means you want to set it as true.

     

    I have corrected your code below:

    _rnd = random 1;
    _isrunner = if (_rnd > .985) then {true} else {false};
    _agent setVariable["isRunner", _isrunner, true];
    
    _isrunner = _agent getVariable["isRunner", false];
    if (_isrunner) then {diag_log "A Zombie is a Runner";};

     

  6. 13 minutes ago, McKeighan said:

    if (_isrunner = true) then {diag_log "A Zombie is a Runner";};

    You also do not need to have:

    if (_isrunner = true) then {

    This is accomplished by simply doing:

     if (_isrunner) then {

     

    It would be the same as saying:

     if (true == true) then {

     

    Also, when determining whether something is equal to something, two "=" signs are used.

     

    Example:

    if (1 == 1) then {systemChat "Correct syntax";};

     

    You are getting the missing ) because of the above mistakes.

  7. Below is mine. I worked for several weeks to perfect it. At 46/46, there are no network messages being spammed in the rpt and no desync etc.... I compiled it from reading several posts about it.

    While idk which one is the best out there, this one has worked on every OVH server config I have ever had, so it should work on nearly every network speed setup.

     

    Let me know if you notice results :)

     

    language="English";
    adapter=-1;
    3D_Performance=1500000;
    Resolution_Bpp=32;
    Windowed=0;
    
    MinBandwidth = 1048576;
    MaxBandwidth = 524288000;
    
    MaxMsgSend = 1024;
    
    MaxSizeGuaranteed = 512;
    MaxSizeNonguaranteed = 128;
    
    MinErrorToSend = 0.003;
    MinErrorToSendNear = 0.029999999;
    
    MaxCustomFileSize = 0;

     

  8. 3 hours ago, DAKA said:

    So is this working. Would love it as well.

    This is what I just threw together, probably more inefficient ways possible, but I am not going to go through testing for this:

     

    In mission_init.sqf find the marker loop and replace with this:

    while {_running} do {
    
    	_type	= (wai_mission_data select _mission) select 1;
    	
    	if (isNil "_claimedby") then {
    		_dis = 1000;
    		{
    			_dispos = _x distance _position;
    			if (_dispos < 1000 && _dispos < _dis) then {
    				_claimedby = name _x;
    				_dis = _dispos;
    			};
    		} count playableUnits;
    	};
    	
    	_marker 		= createMarker [_type + str(_mission), _position];
    	_marker 		setMarkerColor _color;
    	_marker 		setMarkerShape "ELLIPSE";
    	_marker 		setMarkerBrush "Solid";
    	_marker 		setMarkerSize [300,300];
    	_marker 		setMarkerText _name + if (!isNil "_claimedby") then {"Claimed by: " + _claimedby} else {""};
    
    	_dot 			= createMarker [_type + str(_mission) + "dot", _position];
    	_dot 			setMarkerColor "ColorBlack";
    	_dot 			setMarkerType "mil_dot";
    	_dot 			setMarkerText _name + if (!isNil "_claimedby") then {"Claimed by: " + _claimedby} else {""};
    
    	sleep 1;
    
    	deleteMarker 	_marker;
    	deleteMarker 	_dot;
    
    	_running = (typeName (wai_mission_data select _mission) == "ARRAY");
    
    };

     

    This should get the closest player within 1000 meters of the mission and change the name to show he has claimed it. This could be quite intensive, so be cautious if you wish to increase the distance. Let me know if it works as I haven't tested.

  9. Hello everyone,

     

    While bored, I thought of something that would be of convenience to players on my server:

    cau3Yjr.jpg

     

    There is, however, a limitation to this original version:

    • This requires the server to have a 5 day or 10 day maintenance period. In order to be accurately shown, your maintenance script must add 0.1 damage daily to objects on your server. View the below post to understand how my maintenance scripts work:

     

    Understand that I made this quite specific for my server as I know how all of my queries line up. There may be some complications on your server if, for example, you have destructible bases.

     

    This addon goes through every base object and retrieves the damage of each of them, then takes the highest damaged object and rounds it. A damage of 0.9 in this case shows us that the base was maintained 9 days ago. If a destructible object is damaged, it will adjust the time based upon that object which may cause some issues. I will later update this to exclude the objects in the DZE_GodModeBaseExclude variable, regardless of whether or not the server has this option turned on.

     

    Install:

     

    Copy/paste the following into the if (!isDedicated) section of your compiles.sqf, being sure to correct the path:

    PlotObjects = compile preprocessFileLineNumbers "PATH\plotObjects.sqf";

     

    Then, create a file called "plotObjects.sqf" and paste the following in it, being sure to save it in the path that you defined above:

    private ["_range","_buildables","_near","_count","_numclr","_damage","_dmg","_dmgclr","_ctrl"];
    disableSerialization;
    
    _range = DZE_PlotPole select 0;
    _target = (([player] call FNC_getPos) nearEntities ["Plastic_Pole_EP1_DZ",15]) select 0;
    // Also count safes, lockboxes, vanilla buildables, tents and stashes against DZE_BuildingLimit
    _buildables = DZE_maintainClasses + DZE_LockableStorage + ["DZ_buildables","DZ_storage_base"];
    _near = nearestObjects [_target,_buildables,_range];
    _count = count(_near);
    
    _numclr = "#FFFFFF";
    
    if (_count / DZE_BuildingLimit * 100 < 40) then {_numclr = "#00FF00";};
    if (_count / DZE_BuildingLimit * 100 > 75) then {_numclr = "#FF0000";};
    
    _damage = 0;
    {
    	_dmg = damage _x;
    	if (_dmg > _damage) then {_damage = _dmg};
    } count _near;
    
    _damage = round(_damage * 10);
    
    _dmgclr = "#00FF00";
    if (_damage >= 5) then {_dmgclr = "#FFFF00";};
    if (_damage >= 8) then {_dmgclr = "#FF0000";};
    
    _ctrl = findDisplay 711194 displayCtrl 7014;
    _ctrl ctrlSetStructuredText parseText format["<t color='%1'>%2 / %3</t><t color='#FFFFFF'> : </t><t color='%4'>Last Maintained %5 Day(s) Ago</t>", _numclr, _count, DZE_BuildingLimit, _dmgclr, _damage];

     

    You are done :) I know there will probably be some issues, so I will help out people as much as I can!

     

    I am working on a version that uses extDB to store the time directly so that this script will work globally.

     

    Obvious creds for making this possible go to @Zupa

  10. Here is my scheduler and the one I give to friends:

    Spoiler
    
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <Scheduler>
    	<!-- One Hour Restart Message -->
    	<job id='0'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>010000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in one hour!****</cmd>
        </job>
    	<!-- 15 Minute Restart Message -->
    	<job id='1'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>014500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 15 minutes!****</cmd>
        </job>
    	<!-- Find Safe Spot -->
    	<job id='2'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>014500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Start finding a safe spot to land/park vehicles!****</cmd>
        </job>
    	<!-- 10 Minute Restart Message -->
    	<job id='3'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 10 minutes!****</cmd>
        </job>
    	<!-- Land/Lock Vehicles -->
    	<job id='4'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Land/Lock all vehicles and safes!****</cmd>
        </job>
    	<!-- 5 Minute Restart Message -->
    	<job id='5'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 5 minutes!****</cmd>
        </job>
    	<!-- Log out now -->
    	<job id='6'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Log out now to prevent loss of gear!****</cmd>
        </job>
    	<!-- Lock the Server -->
    	 <job id='7'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>#lock</cmd>
        </job>
    	<!-- 4 Minute Restart Message -->
    	<job id='8'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015600</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 4 minutes!****</cmd>
        </job>
    	<!-- 3 Minute Restart Message -->
    	<job id='9'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015700</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 3 minutes!****</cmd>
        </job>
    	<!-- 2 Minute Restart Message -->
    	<job id='10'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015800</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 2 minutes!****</cmd>
        </job>
    	<!-- 1 Minute Restart Message -->
    	<job id='11'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015900</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 1 minute!****</cmd>
        </job>
    	<!-- 50 Second Restart Message -->
    	<job id='12'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015910</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 50 seconds!****</cmd>
        </job>
    	<!-- 40 Second Restart Message -->
    	<job id='13'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015920</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 40 seconds!****</cmd>
        </job>
    	<!-- 30 Second Restart Message -->
    	<job id='14'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015930</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 30 seconds!****</cmd>
        </job>
    	<!-- 20 Second Restart Message -->
    	<job id='15'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015940</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 20 seconds!****</cmd>
        </job>
    	<!-- 10 Second Restart Message -->
    	<job id='16'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015950</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 10 seconds!****</cmd>
        </job>
    	<!-- 5 Second Restart Message -->
    	<job id='17'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015955</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 5 seconds!****</cmd>
        </job>
    	<!-- 4 Second Restart Message -->
    	<job id='18'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015956</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 4 seconds!****</cmd>
        </job>
    	<!-- 3 Second Restart Message -->
    	<job id='19'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015957</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 3 seconds!****</cmd>
        </job>
    	<!-- 2 Second Restart Message -->
    	<job id='20'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015958</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 2 seconds!****</cmd>
        </job>
    	<!-- 1 Second Restart Message -->
    	<job id='21'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>015959</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart in 1 second!****</cmd>
        </job>
    	<!-- Restart Initiated Message -->
    	<job id='22'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>020000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>say -1 ****Server restart initiated!****</cmd>
        </job>
    	<!-- Server Restart -->
    	<job id='23'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>020000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>D:\Arma 2 Servers\Chernarus\Restart.bat</cmd>
    	</job>
    	<!-- Message -->
    	<job id='24'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>000500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='25'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>001000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='26'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>001500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='27'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>002000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='28'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>002500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='29'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>003000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='30'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>003500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='31'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>004000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='32'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>004500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='33'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>005000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='34'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>005500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='35'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>010500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='36'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>011000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='37'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>011500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='38'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>012000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='39'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>012500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='40'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>013000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='41'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>013500</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    	<!-- Message -->
    	<job id='42'>
    		<day>1,2,3,4,5,6,7</day>
    		<start>014000</start>
    		<runtime>000000</runtime>
    		<loop>0</loop>
    		<cmd>fortune</cmd>
    	</job>
    </Scheduler>

     

     

  11. :: Start server
    cd "D:\Arma 2 Servers\Chernarus"
    
    start "Server 1" /min "Server_1.exe" -ip=192.99.222.188 -port=2302 -config=Server_1\config.cfg -cfg=Server_1\basic.cfg -profiles=Server_1 -name=Server_1 "-mod=D:\Arma 2 Servers\Mods\@DayzOverwatch;D:\Arma 2 Servers\Mods\@DayZ_Epoch;@Server_1;" "-BEpath=D:\Arma 2 Servers\BattlEye" -world=Empty -noCB -maxMem=2047 -noSound -silentcrash
    
    timeout 10
    
    :: Start BEC
    cd "D:\Arma 2 Servers\BEC"
    
    start "BEC" /min "BEC_Server_1.exe" -f "Server_1.cfg"

     

  12. 52 minutes ago, JohnnyBravo666 said:

    I am trying to make a private message system by using infistar to open a dialog box by typing "!pm". When I put in the directory to have the file called, a message box pops up and says that the file cannot be found, even though the directory is the correct path. This is located in the ah.sqf file from infistar. Do I need to call files differently via infistar ?

    
    if(_txt in ['!pm'])then
    {
    	(_display) closeDisplay 0;
    	call compile preprocessFileLineNumbers '\z\addons\dayz_server\compile\pm\pm_init.sqf';
    };

    Any help is greatly appreciated.

    This code is being ran on the client, which cannot call server side files. You would need to send a publicVariableServer then have an event handler which would in turn call that file.

×
×
  • Create New...