Advertisement
Guest User

add_recommended_mysql_events

a guest
Sep 4th, 2014
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 5.82 KB | None | 0 0
  1. --
  2. -- http://dayzepoch.com/wiki/index.php?title=Server_Installation_Instructions_Extended
  3. --
  4.  
  5. -- ----------------------------
  6. -- Function structure for FindVehicleKeysCount
  7. -- ----------------------------
  8. DROP FUNCTION IF EXISTS `FindVehicleKeysCount`;
  9. DELIMITER ;;
  10. CREATE FUNCTION `FindVehicleKeysCount`(`keyId` INT) RETURNS int(11)
  11. BEGIN
  12.     DECLARE totalKeys INT DEFAULT 0;
  13.     DECLARE keyName VARCHAR(32) DEFAULT "";
  14.     DECLARE keysInChar INT DEFAULT 0;
  15.     DECLARE keysInObj INT DEFAULT 0;
  16.  
  17.     SET keyName = (CASE
  18.         WHEN `keyId` < 2501 THEN CONCAT('ItemKeyGreen', `keyId`)
  19.         WHEN `keyId` < 5001 THEN CONCAT('ItemKeyRed', `keyId` - 2500)
  20.         WHEN `keyId` < 7501 THEN CONCAT('ItemKeyBlue', `keyId` - 5000)
  21.         WHEN `keyId` < 10001 THEN CONCAT('ItemKeyYellow', `keyId` - 7500)
  22.         WHEN `keyId` < 12501 THEN CONCAT('ItemKeyBlack', `keyId` - 10000)
  23.         ELSE 'ERROR'
  24.     END);
  25.  
  26.     SET keysInChar = (SELECT COUNT(*) FROM `Character_DATA` WHERE `Alive` = '1' AND (`Inventory` LIKE CONCAT('%', keyName, '%') OR `Backpack` LIKE CONCAT('%', keyName, '%')));
  27.     SET keysInObj = (SELECT COUNT(*) FROM `Object_DATA` WHERE `Inventory` LIKE CONCAT('%', keyName, '%'));
  28.  
  29.     RETURN (keysInChar + keysInObj);
  30. END
  31. ;;
  32. DELIMITER ;
  33.  
  34. -- ----------------------------
  35. -- Function structure for DeleteNonKeyVehicles
  36. -- Example usage: SELECT DeleteNonKeyVehicles();
  37. -- ----------------------------
  38. DROP FUNCTION IF EXISTS `DeleteNonKeyVehicles`;
  39. DELIMITER ;;
  40. CREATE FUNCTION `DeleteNonKeyVehicles`() RETURNS int(11)
  41. BEGIN
  42.     DELETE FROM
  43.         `Object_DATA`
  44.     WHERE
  45.         `Object_DATA`.`CharacterID` <> 0
  46.         AND `Object_DATA`.`CharacterID` <= 12500
  47.         AND `Object_DATA`.`Classname` NOT LIKE 'Tent%'
  48.         AND `Object_DATA`.`Classname` NOT LIKE '%Locked'
  49.         AND `Object_DATA`.`Classname` NOT LIKE 'Land%'
  50.         AND `Object_DATA`.`Classname` NOT LIKE 'Cinder%'
  51.         AND `Object_DATA`.`Classname` NOT LIKE 'Wood%'
  52.         AND `Object_DATA`.`Classname` NOT LIKE 'Metal%'
  53.         AND `Object_DATA`.`Classname` NOT LIKE '%Storage%'
  54.         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')
  55.         AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0;
  56.  
  57.     RETURN ROW_COUNT();
  58. END
  59. ;;
  60. DELIMITER ;
  61.  
  62. -- ----------------------------
  63. -- Event structure for removeDamagedVehicles
  64. -- ----------------------------
  65. DROP EVENT IF EXISTS `removeDamagedVehicles`;
  66. DELIMITER ;;
  67. CREATE EVENT `removeDamagedVehicles` ON SCHEDULE EVERY 1 DAY COMMENT 'Removes damaged vehicles' DO DELETE FROM `Object_DATA` WHERE Damage = 1
  68. ;;
  69. DELIMITER ;
  70.  
  71. -- ----------------------------
  72. -- Event structure for removeObjectEmpty
  73. -- ----------------------------
  74. DROP EVENT IF EXISTS `removeObjectEmpty`;
  75. DELIMITER ;;
  76. CREATE EVENT `removeObjectEmpty` ON SCHEDULE EVERY 1 DAY COMMENT 'Removes abandoned storage objects and vehicles' DO DELETE FROM `Object_DATA` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 14 DAY) AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 24 DAY) AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') OR (`Inventory` = '[[[],[]],[[],[]],[[],[]]]') )
  77. ;;
  78. DELIMITER ;
  79.  
  80. -- ----------------------------
  81. -- Event structure for removeObjectOld
  82. -- ----------------------------
  83. DROP EVENT IF EXISTS `removeObjectOld`;
  84. DELIMITER ;;
  85. CREATE EVENT `removeObjectOld` ON SCHEDULE EVERY 1 DAY COMMENT 'Removes old objects and vehicles' DO DELETE FROM `Object_DATA` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 24 DAY) AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 42 DAY)
  86. ;;
  87. DELIMITER ;
  88.  
  89. -- ----------------------------
  90. -- Event structure for setDamageOnAge
  91. -- ----------------------------
  92. DROP EVENT IF EXISTS `setDamageOnAge`;
  93. DELIMITER ;;
  94. CREATE EVENT `setDamageOnAge` ON SCHEDULE EVERY 1 DAY COMMENT 'This sets damage on a wall so that it can be maintained' DO UPDATE `Object_DATA` SET `Damage`=0.1 WHERE `ObjectUID` <> 0 AND `CharacterID` <> 0 AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 DAY) AND ( (`Inventory` IS NULL) OR (`Inventory` = '[]') )
  95. ;;
  96. DELIMITER ;
  97.  
  98. -- ----------------------------
  99. -- Event structure for updateStockDaily
  100. -- ----------------------------
  101. DROP EVENT IF EXISTS `updateStockDaily`;
  102. DELIMITER ;;
  103. CREATE EVENT `updateStockDaily` ON SCHEDULE EVERY 1 DAY COMMENT 'Updates out of stock vendors' DO UPDATE `Traders_DATA` SET qty=10 WHERE qty=0 AND afile<>'trade_any_vehicle' AND afile<>'trade_any_boat'
  104. ;;
  105. DELIMITER ;
  106.  
  107. -- ----------------------------
  108. -- Event structure for UnlockNonKeyVehicles
  109. -- ----------------------------
  110. DROP EVENT IF EXISTS `UnlockNonKeyVehicles`;
  111. DELIMITER ;;
  112. CREATE EVENT `UnlockNonKeyVehicles` ON SCHEDULE EVERY 1 DAY DO UPDATE
  113.             `Object_DATA`
  114.         SET
  115.             `Object_DATA`.`CharacterID` = 0
  116.         WHERE
  117.             `Object_DATA`.`CharacterID` <> 0
  118.             AND `Object_DATA`.`CharacterID` <= 12500
  119.             AND `Object_DATA`.`Classname` NOT LIKE 'Tent%'
  120.             AND `Object_DATA`.`Classname` NOT LIKE '%Locked'
  121.             AND `Object_DATA`.`Classname` NOT LIKE 'Land%'
  122.             AND `Object_DATA`.`Classname` NOT LIKE 'Cinder%'
  123.             AND `Object_DATA`.`Classname` NOT LIKE 'Wood%'
  124.             AND `Object_DATA`.`Classname` NOT LIKE 'Metal%'
  125.             AND `Object_DATA`.`Classname` NOT LIKE '%Storage%'
  126.             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')
  127.             AND FindVehicleKeysCount(Object_DATA.CharacterID) = 0
  128. ;;
  129. DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement