Jump to content

BigEgg

Member
  • Posts

    362
  • Joined

  • Last visited

  • Days Won

    28

Reputation Activity

  1. Like
    BigEgg got a reaction from GgeGib in [Release] Restrict Building - ** Updated for 1.0.6.2 **   
    I don't know if this could be causing the problem, but do you have this in as well?
     
     
    I apparently forgot to add this to the original post sometime back, but it prevents you from raising it above the height while building.
     
  2. Like
    BigEgg got a reaction from Hooty ุ in [Release] Restrict Building - ** Updated for 1.0.6.2 **   
    They wouldn't be able to build another plot and they wouldn't be able to build above the height limit that you set. Everything that was already built would remain at that height, but if they had for example a floor above your height limit, they would no longer be able to build on that floor, but that floor will still remain there as long as it is maintained.
  3. Like
    BigEgg got a reaction from Hooty ุ in [Release] Restrict Building - ** Updated for 1.0.6.2 **   
    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. Like
    BigEgg got a reaction from GgeGib in [Release] Restrict Building - ** Updated for 1.0.6.2 **   
    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!
  5. Like
    BigEgg got a reaction from theduke in Epoch 1061 Clean up Scripts   
    Create a batch file somewhere on your server with this code in it:
     
    @echo off :: Database Table Name (default is dayz_epoch) set mysqlschema=dayz_epoch :: Username to access the database set mysqlpassword=root :: Password to access the database set mysqluser=password :: Path to mysql.exe file (default) set mysqlpath="C:\Program Files\MySQL\MySQL Server 5.7\bin" :: Path to cleanup script file (the file with all of the cleanup code in it) set mysqlcleanup="C:\PATH HERE\PATH.sql" %mysqlpath% -u %mysqluser% -p%mysqlpassword% %mysqlschema% < %mysqlcleanup% exit  
    Then, on your server, create an sql file and add the following to it:
    -- -------------------------------------------------------------------------------- -- --------------------------------Base Maintenance-------------------------------- -- -------------------------------------------------------------------------------- -- ---------------------------- -- Fix inventory on maintainable objects. -- ---------------------------- UPDATE `object_data` SET `inventory` = '[]',`LastUpdated` = `LastUpdated` WHERE `inventory` = '[[[],[]],[[],[]],[[],[]]]' AND `Classname` IN ('BagFenceRound_DZ','CinderWall_DZ','CinderWallDoorLocked_DZ','CinderWallDoorSmall_DZ','CinderWallDoorSmallLocked_DZ','CinderWallHalf_DZ','FireBarrel_DZ','GunRack_DZ','LightPole_DZ','MetalFloor_DZ','MetalPanel_DZ','OutHouse_DZ','TentStorage','TentStorageDomed','TentStorageDomed2','Sandbag1_DZ','Scaffolding_DZ','StickFence_DZ','StorageShed_DZ','WorkBench_DZ','WoodCrate_DZ','WoodFloor_DZ','WoodFloorQuarter_DZ','WoodLargeWall_DZ','WoodLargeWallWin_DZ','WoodShack_DZ','WoodSmallWall_DZ','WoodSmallWallThird_DZ','WoodSmallWallWin_DZ','Land_DZE_GarageWoodDoor','WoodFloorHalf_DZ','Fort_RazorWire','Land_DZE_LargeWoodDoorLocked','WoodStairsRails_DZ','WoodLadder_DZ','WoodStairsSans_DZ','M240Nest_DZ','Land_DZE_WoodDoor'); -- ---------------------------- -- Set 0.1 damage to objects daily. -- ---------------------------- UPDATE `object_data` SET `Damage` = IF( `Damage` = 0.0, 0.1, `Damage` + 0.1 ) WHERE `LastUpdated` <= DATE_SUB(NOW(), INTERVAL 1 DAY) AND `ObjectUID` <> 0 AND `CharacterID` <> 0 AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') ); -- ---------------------------- -- Set 0.1 damage doors/plots daily. -- ---------------------------- UPDATE `object_data` SET `Damage` = IF( `Damage` = 0.0, 0.1, `Damage` + 0.1 ) WHERE `Classname` IN ('Plastic_Pole_EP1_DZ','CinderWallDoorSmallLocked_DZ','CinderWallDoorLocked_DZ','CinderWallSmallDoorway_DZ','CinderWallDoorway_DZ','Land_DZE_WoodDoorLocked','CinderWallDoor_DZ','CinderWallDoorSmall_DZ','Land_DZE_WoodDoor','Land_DZE_GarageWoodDoor','Land_DZE_GarageWoodDoorLocked','Land_DZE_LargeWoodDoorLocked','Land_DZE_LargeWoodDoor','WoodLargeWallDoor_DZ') AND `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 1 DAY) AND `Inventory` != '[]'; -- ---------------------------- -- Set safe combinations to 0000 after 10 days of inactivity. -- ---------------------------- UPDATE `object_data` SET `CharacterID` = 0 WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 10 DAY) AND `CharacterID` > 0 AND `Classname` = "VaultStorageLocked" AND `Inventory` <> '[]' AND `Inventory` IS NOT NULL; -- ---------------------------- -- Set lockbox combinations to RED00 after 10 days of inactivity. -- ---------------------------- UPDATE `object_data` SET `CharacterID` = 10000 WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 10 DAY) AND `CharacterID` > 0 AND `Classname` = "LockboxStorageLocked" AND `Inventory` <> '[]' AND `Inventory` IS NOT NULL; -- ---------------------------- -- Delete empty storage objects. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 DAY) AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') OR (`Inventory` = '[[[],[]],[[],[]],[[],[]]]') ) AND `Classname` IN ('Wooden_shed_DZ','WoodShack_DZ', 'TentStorage', 'TentStorageDomed', 'TentStorageDomed2', 'WoodCrate_DZ', 'GunRack_DZ', 'OutHouse_DZ', 'StorageShed_DZ'); -- ---------------------------- -- Delete inactive storage objects. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 10 DAY) AND `Classname` IN ('Wooden_shed_DZ','WoodShack_DZ', 'TentStorage', 'TentStorageDomed', 'TentStorageDomed2', 'WoodCrate_DZ', 'GunRack_DZ', 'OutHouse_DZ', 'StorageShed_DZ'); -- ---------------------------- -- Delete objects that have 1 damage. -- ---------------------------- DELETE FROM `object_data` WHERE Damage = 1; -- ---------------------------- -- Delete plot poles and doors not being deleted. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 11 DAY) AND `Classname` IN ('Plastic_Pole_EP1_DZ','CinderWallDoorSmallLocked_DZ','CinderWallDoorLocked_DZ','CinderWallSmallDoorway_DZ','CinderWallDoorway_DZ','Land_DZE_WoodDoorLocked','CinderWallDoor_DZ','CinderWallDoorSmall_DZ','Land_DZE_WoodDoor','Land_DZE_GarageWoodDoor','Land_DZE_GarageWoodDoorLocked','Land_DZE_LargeWoodDoorLocked','Land_DZE_LargeWoodDoor','WoodLargeWallDoor_DZ'); -- ---------------------------- -- Delete old stuff. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 21 DAY); -- -------------------------------------------------------------------------------- -- ------------------------------Vehicle Maintenance------------------------------- -- -------------------------------------------------------------------------------- -- ---------------------------- -- Delete Bikes, ATV's, Mozzie's, 350z's, and Busses. -- ---------------------------- DELETE FROM `object_data` WHERE `Classname` IN ('MMT_Civ','Old_bike_TK_INS_EP1','TT650_Civ','TT650_Ins','Old_moto_TK_Civ_EP1','M1030_US_DES_EP1','TT650_TK_CIV_EP1','ATV_CZ_EP1','ATV_US_EP1','CSJ_GyroC','350z','350z_red','350z_kiwi','350z_black','350z_silver','350z_green','350z_blue','350z_gold','350z_white','350z_pink','350z_mod','350z_ruben','350z_v','350z_city','350z_yellow','Ikarus','Ikarus_TK_CIV_EP1'); -- ---------------------------- -- Delete useless vehicles with no keys. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 4 HOUR) AND `CharacterID` = '0' AND `Classname` IN ('AN2_DZ','GNT_C185U','GNT_C185','GNT_C185R','GNT_C185C','RHIB','Smallboat_1','Smallboat_2','Zodiac','Fishing_Boat','PBX','JetSkiYanahui_Case_Red','JetSkiYanahui_Case_Yellow','JetSkiYanahui_Case_Green','JetSkiYanahui_Case_Blue','CSJ_GyroP','CSJ_GyroCover','LandRover_CZ_EP1','LandRover_TK_CIV_EP1','HMMWV_M1035_DES_EP1','HMMWV_Ambulance','HMMWV_Ambulance_CZ_DES_EP1','HMMWV_DZ','HMMWV_DES_EP1','Civcar','Civcarbu','civcarbl','Civcarre','Civcarge','Civcarwh','Civcarsl','hilux1_civil_3_open_EP1','datsun1_civil_3_open_DZE','hilux1_civil_1_open_DZE','datsun1_civil_2_covered_DZE','datsun1_civil_1_open_DZE','hilux1_civil_2_covered_DZE','Skoda','SkodaBlue','SkodaGreen','SkodaRed','VolhaLimo_TK_CIV_EP1','Volha_1_TK_CIV_EP1','Volha_2_TK_CIV_EP1','VWGolf','car_hatchback','car_sedan','GLT_M300_LT','GLT_M300_ST','Lada1','Lada1_TK_CIV_EP1','Lada2','Lada2_TK_CIV_EP1','LadaLM','SUV_TK_CIV_EP1','SUV_Blue','SUV_Charcoal','SUV_Green','SUV_Orange','SUV_Pink','SUV_Red','SUV_Silver','SUV_White','SUV_Yellow','SUV_Camo','UAZ_CDF','UAZ_INS','UAZ_RU','UAZ_Unarmed_TK_CIV_EP1','UAZ_Unarmed_TK_EP1','UAZ_Unarmed_UN_EP1'); -- ---------------------------- -- Delete useless vehicles with keys. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 DAY) AND `CharacterID` > 0 AND `Classname` IN ('AN2_DZ','GNT_C185U','GNT_C185','GNT_C185R','GNT_C185C','RHIB','Smallboat_1','Smallboat_2','Zodiac','Fishing_Boat','PBX','JetSkiYanahui_Case_Red','JetSkiYanahui_Case_Yellow','JetSkiYanahui_Case_Green','JetSkiYanahui_Case_Blue','CSJ_GyroP','CSJ_GyroCover','LandRover_CZ_EP1','LandRover_TK_CIV_EP1','HMMWV_M1035_DES_EP1','HMMWV_Ambulance','HMMWV_Ambulance_CZ_DES_EP1','HMMWV_DZ','HMMWV_DES_EP1','Civcar','Civcarbu','civcarbl','Civcarre','Civcarge','Civcarwh','Civcarsl','hilux1_civil_3_open_EP1','datsun1_civil_3_open_DZE','hilux1_civil_1_open_DZE','datsun1_civil_2_covered_DZE','datsun1_civil_1_open_DZE','hilux1_civil_2_covered_DZE','Skoda','SkodaBlue','SkodaGreen','SkodaRed','VolhaLimo_TK_CIV_EP1','Volha_1_TK_CIV_EP1','Volha_2_TK_CIV_EP1','VWGolf','car_hatchback','car_sedan','GLT_M300_LT','GLT_M300_ST','Lada1','Lada1_TK_CIV_EP1','Lada2','Lada2_TK_CIV_EP1','LadaLM','SUV_TK_CIV_EP1','SUV_Blue','SUV_Charcoal','SUV_Green','SUV_Orange','SUV_Pink','SUV_Red','SUV_Silver','SUV_White','SUV_Yellow','SUV_Camo','UAZ_CDF','UAZ_INS','UAZ_RU','UAZ_Unarmed_TK_CIV_EP1','UAZ_Unarmed_TK_EP1','UAZ_Unarmed_UN_EP1'); -- ---------------------------- -- Delete server spawned vehicles. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 DAY) AND `CharacterID` = '0' AND `Classname` NOT REGEXP 'barrier|storage|shed|bench|wall|floor|fence|pump|wood|hrescue|stick|pole|generator|panel|house|rack|bag|stand|barrel|canvas|wire|hedgehog|net|trap|ramp|fort|sand|scaffold|nest|killhouse|villa|castle|pub|shelter|stodola|garage|MBG|warehouse|sara'; -- ---------------------------- -- Delete all vehicles not touched in 10 days. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 10 DAY) AND `Classname` NOT REGEXP 'barrier|storage|shed|bench|wall|floor|fence|pump|wood|hrescue|stick|pole|generator|panel|house|rack|bag|stand|barrel|canvas|wire|hedgehog|net|trap|ramp|fort|sand|scaffold|nest|killhouse|villa|castle|pub|shelter|stodola|garage|MBG|warehouse|sara'; -- ---------------------------- -- Unlock purchased, inactive vehicles. -- ---------------------------- UPDATE `object_data` SET `CharacterID` = 0,`LastUpdated` = `LastUpdated` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY) AND `CharacterID` > 0 AND `Classname` NOT REGEXP 'barrier|storage|shed|bench|wall|floor|fence|pump|wood|hrescue|stick|pole|generator|panel|house|rack|bag|stand|barrel|canvas|wire|hedgehog|net|trap|ramp|fort|sand|scaffold|nest|killhouse|villa|castle|pub|shelter|stodola|garage|MBG|warehouse|sara'; -- ---------------------------- -- Unlock vehicle's with no key. -- ---------------------------- UPDATE `Object_DATA` SET `Object_DATA`.`CharacterID` = 0,`LastUpdated` = `LastUpdated` WHERE `Object_DATA`.`CharacterID` <> 0 AND`Object_DATA`.`CharacterID` <= 12500 AND`Object_DATA`.`Classname` NOT LIKE 'Tent%' AND`Object_DATA`.`Classname` NOT LIKE '%Locked' AND`Object_DATA`.`Classname` NOT LIKE 'Land%' AND`Object_DATA`.`Classname` NOT LIKE 'Cinder%' AND`Object_DATA`.`Classname` NOT LIKE 'Wood%' AND`Object_DATA`.`Classname` NOT LIKE 'Metal%' AND`Object_DATA`.`Classname` NOT LIKE '%Storage%' AND`Object_DATA`.`Classname` NOT IN ('OutHouse_DZ', 'GunRack_DZ', 'WorkBench_DZ', 'Sandbag1_DZ', 'FireBarrel_DZ', 'DesertCamoNet_DZ', 'StickFence_DZ', 'LightPole_DZ', 'DeerStand_DZ', 'ForestLargeCamoNet_DZ', 'Plastic_Pole_EP1_DZ', 'Hedgehog_DZ', 'FuelPump_DZ', 'Fort_RazorWire', 'SandNest_DZ', 'ForestCamoNet_DZ', 'Fence_corrugated_DZ', 'CanvasHut_DZ', 'Generator_DZ') AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0; -- -------------------------------------------------------------------------------- -- -------------------------------Player Maintenance------------------------------- -- -------------------------------------------------------------------------------- -- ---------------------------- -- Delete player login data. -- ---------------------------- DELETE FROM `player_login`; -- ---------------------------- -- Delete dead characters. -- ---------------------------- DELETE from Character_data USING Character_data, Character_data as tempchartable WHERE (Character_data.PlayerUID = tempchartable.PlayerUID) AND (NOT Character_data.alive = tempchartable.alive) AND (Character_data.alive = 0); -- ---------------------------- -- Delete characters inactive for 30 days. -- ---------------------------- DELETE FROM Character_DATA WHERE LastLogin < NOW() - INTERVAL 30 DAY;  
    Then, add this line above where the server is started in your restart batch file (obviously adjust the path):
    start /wait "C:\FIle Path\SQLBATCHFILE.bat"
     
    Once you have done that, adjust the information in the batch file to match your server. The mysqlcleanup path is the path to the sql file that you created. Example: C:\Users\root\Desktop\SQLFILE.sql
  6. Like
    BigEgg got a reaction from OMOH71 in [Addon] Plot Management "Last Maintained" Time   
    Hello everyone,
     
    While bored, I thought of something that would be of convenience to players on my server:

     
    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
  7. Like
    BigEgg got a reaction from Whatserveridiot in [Addon] Plot Management "Last Maintained" Time   
    Reserved
  8. Like
    BigEgg got a reaction from HiThisIsTalla in [Addon] Plot Management "Last Maintained" Time   
    If you want me to put it in for you let me know.
  9. Like
    BigEgg got a reaction from Whatserveridiot in [Release]Custom infiSTAR tools   
    Why does this not surprise me lmao
  10. Like
    BigEgg got a reaction from Hooty ุ in Let's see your basic.cfg!   
    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;  
  11. Like
    BigEgg got a reaction from HiThisIsTalla in Anyone decent with the setVariable / GetVariable command?   
    It appears you are not making it visible to all machines. Try this:
     
    _agent setVariable ["isRunner", _isrunner, true];
  12. Like
    BigEgg got a reaction from HiThisIsTalla in Anyone decent with the setVariable / GetVariable command?   
    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.
  13. Like
    BigEgg got a reaction from HiThisIsTalla in Anyone decent with the setVariable / GetVariable command?   
    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";};  
  14. Sad
    BigEgg got a reaction from HiThisIsTalla in ExtDB/Arma2net   
    I am assuming slower because they use callExtension.
  15. Haha
    BigEgg got a reaction from Whatserveridiot in ExtDB/Arma2net   
    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.
  16. Like
    BigEgg got a reaction from Whatserveridiot in [Addon] Plot Management "Last Maintained" Time   
    Hello everyone,
     
    While bored, I thought of something that would be of convenience to players on my server:

     
    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
  17. Like
    BigEgg got a reaction from looter809 in Hacks   
    Figured I would go with the basics first:
     
    Get Battlemetrics Rcon.... I cannot stress this enough. Create a trigger that kicks all players on vpns and those accounts that are younger than 30 days old.
     
    Then:
    Throw in the default mpeventhandler.txt, remotecontrol.txt, remoteexec.txt, setdamage.txt, setpos.txt, teamswitch.txt, waypointcondition.txt, and waypointstatement.txt filters from the Epoch server files. These should require very minimal tuning if any at all.
     
    Then for the scripts.txt, I would recommend starting off with a clean file (throwing in all the defaults and filtering for them is a lot of work if you don't know what you're doing). I would start with this at the top:
    //new2 4 dedicatedServerInterface 4 openDSInterface !="a _lbindex;\n};\n\nif (_lbselected == \"DSInterface\") then {openDSInterface;};\nif (isMultiplayer) then {player createDiarySubject [\"" This keeps people from opening server controls etc from in game.
     
    Then, add the following below that and filter them out:
    1 execVM !"\z\addons\dayz_code" 1 playableUnits 1 onMapSingleClick 1 setDamage 1 modelToWorld 1 displayAddEventHandler 1 reveal 1 allUnits 1 showCommandingMenu  
    Once you have it to where they are no longer throwing logs, turn them from a 1 to a 5 - this will then kick them and log them for you to see.
     
    Then, slowly add variables from the default scripts.txt and filter them out.
     
    I use the awesome tool BEM to filter my scripts.txt:
    http://bem.themeq.xyz/
     
    Just paste them in and it does all the work for you!
     
    Once again though, half the work is taken care of with Battlemetrics. It is a must have tool.
  18. Like
    BigEgg got a reaction from Hooty ุ in [Release] Restrict Building - ** Updated for 1.0.6.2 **   
    Restrict Building is part of Epoch 1.0.7.1 now.
     
    While there may be some extra features built in to 1.0.6.1 that restrict building, I needed more options.
     
    What this does:
    Allows server owners to restrict entire zones of the map (for example - no building within 1,000 meters of Balota). Allows server owners to restrict building near certain buildings, and allows them to define the distance and name of each building they are restricting.  
    Step 1:
    In your init.sqf find:
    // EPOCH CONFIG VARIABLES END // Directly under it, add:
    // Restrict building near specific buildings BlacklistedBuildings = [ // ["What text will say", "Class name of building you want to block", Distance around that building to block (radius in meters)] ["Fire Station", "Land_a_stationhouse", 250] ]; // Restrict building near map areas RestrictedBuildingZones = [ // ["What text will say", [Choords of place to block], Distance around that area to block (radius in meters)] ["Balota Airfield", [5158.72, 2518.75, 0], 600] ];  
    Step 2:
    In your custom compiles.sqf add (NOTE: CHANGE THE FILE PATH TO FIT YOUR NEEDS):
    dze_buildChecks = compile preprocessFileLineNumbers "FILE\PATH\HERE\dze_buildChecks.sqf"; into the if (!isDedicated) code block. Example:
    if (!isDedicated) then { dze_buildChecks = compile preprocessFileLineNumbers "FILE\PATH\HERE\dze_buildChecks.sqf"; };  
    Step 3:
    Create an SQF file, in the path you have designated above, and name it dze_buildChecks.sqf.
     
    Step 4:
    Paste the following code into dze_buildChecks.sqf and save the file.
     
    Done!
     
    Be sure to configure the settings in your init.sqf to your liking.
  19. Haha
    BigEgg got a reaction from Hooty in Next Update   
    Considering you only have like 5 friends total, this could be biased.
  20. Like
    BigEgg got a reaction from Whatserveridiot in Let's see your basic.cfg!   
    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;  
  21. Haha
    BigEgg got a reaction from Relentless in [Release]Custom infiSTAR tools   
    Why does this not surprise me lmao
  22. Like
    BigEgg reacted to JasonTM in [Release]Custom infiSTAR tools   
    These are not admin tools, they are hacks obtained from a public hack menu and added as "admin tools."
  23. Thanks
    BigEgg got a reaction from .-=Franky=-. in [Addon] Plot Management "Last Maintained" Time   
    Hello everyone,
     
    While bored, I thought of something that would be of convenience to players on my server:

     
    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
  24. Like
    BigEgg got a reaction from Whatserveridiot in [Addon] Plot Management "Last Maintained" Time   
    If you want me to put it in for you let me know.
  25. Like
    BigEgg got a reaction from HiThisIsTalla in Script.txt and " \   
    This tool: http://bem.themeq.xyz/ - formats it correctly and so does the other one, however, I don't believe it is necessary in some cases or at all. However, that tool has never caused me in formatting issues.
×
×
  • Create New...