harcosgoogle Posted July 6, 2017 Report Share Posted July 6, 2017 Hi! Automatic vehicle unlock (2) after day ? (Inactive players,locked vehicle Example) Thanks Link to comment Share on other sites More sharing options...
0 lwbuk Posted July 6, 2017 Report Share Posted July 6, 2017 Run this sql query. Change the 14 day to whatever time you want CREATE EVENT UnlockAbandonedVehicles ON SCHEDULE EVERY 1 DAY DO UPDATE `object_data` SET `CharacterID` = 0 WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 14 DAY) AND `Datestamp` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 14 DAY) AND `CharacterID` > 0 AND `Classname` NOT IN ('VaultStorage','LockboxStorage','VaultStorageLocked','LockboxStorageLocked','WoodShack_DZ','StorageShed_DZ','TentStorageDomed','TentStorageDomed2','TentStorage') AND `Inventory` <> '[]' AND `Inventory` IS NOT NULL; Link to comment Share on other sites More sharing options...
0 juandayz Posted July 6, 2017 Report Share Posted July 6, 2017 @harcosgoogle here you got everything with server maintain functions. Link to comment Share on other sites More sharing options...
0 harcosgoogle Posted July 6, 2017 Author Report Share Posted July 6, 2017 @juandayz GTX Gaming - not supported @lwbuk Event scheduler off. How to repair? https://pastebin.com/nJpnYDsF All sql event? :) Link to comment Share on other sites More sharing options...
0 juandayz Posted July 6, 2017 Report Share Posted July 6, 2017 YOu need run the sql function to unlockvehicles without keys over your db. Onces you did it the function is saved. Then you can run the lbuw sql code with a .bat file or with scheduler.xm. take a lookl on the link i give you to have an idea Link to comment Share on other sites More sharing options...
0 harcosgoogle Posted July 6, 2017 Author Report Share Posted July 6, 2017 @juandayz Hostingautomatic add add reccomended mysql event sql file, And worked config Link to comment Share on other sites More sharing options...
0 juandayz Posted July 6, 2017 Report Share Posted July 6, 2017 Ok Do you understand that sql is not a sqf. And this run over your db right?. Then if u have the recomend sql events running then just add the code that lbuk give you to your sql file where the rest of sql events are Link to comment Share on other sites More sharing options...
0 juandayz Posted July 6, 2017 Report Share Posted July 6, 2017 the function: Spoiler -- ---------------------------- -- Function structure for FindVehicleKeysCount -- ---------------------------- DROP FUNCTION IF EXISTS `FindVehicleKeysCount`; DELIMITER ;; CREATE FUNCTION `FindVehicleKeysCount`(`keyId` INT) RETURNS int(11) BEGIN DECLARE totalKeys INT DEFAULT 0; DECLARE keyName VARCHAR(32) DEFAULT ""; DECLARE keysInChar INT DEFAULT 0; DECLARE keysInObj INT DEFAULT 0; SET keyName = (CASE WHEN `keyId` < 2501 THEN CONCAT('ItemKeyGreen', `keyId`) WHEN `keyId` < 5001 THEN CONCAT('ItemKeyRed', `keyId` - 2500) WHEN `keyId` < 7501 THEN CONCAT('ItemKeyBlue', `keyId` - 5000) WHEN `keyId` < 10001 THEN CONCAT('ItemKeyYellow', `keyId` - 7500) WHEN `keyId` < 12501 THEN CONCAT('ItemKeyBlack', `keyId` - 10000) ELSE 'ERROR' END); SET keysInChar = (SELECT COUNT(*) FROM `Character_DATA` WHERE `Alive` = '1' AND (`Inventory` LIKE CONCAT('%', keyName, '%') OR `Backpack` LIKE CONCAT('%', keyName, '%'))); SET keysInObj = (SELECT COUNT(*) FROM `Object_DATA` WHERE `Inventory` LIKE CONCAT('%', keyName, '%')); RETURN (keysInChar + keysInObj); END The code: Spoiler -- ---------------------------- -- 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 3 days. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 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 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'; -- ---------------------------- -- 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; Link to comment Share on other sites More sharing options...
0 jjsnacks77 Posted July 8, 2017 Report Share Posted July 8, 2017 On 7/7/2017 at 6:05 AM, juandayz said: the function: Reveal hidden contents -- ---------------------------- -- Function structure for FindVehicleKeysCount -- ---------------------------- DROP FUNCTION IF EXISTS `FindVehicleKeysCount`; DELIMITER ;; CREATE FUNCTION `FindVehicleKeysCount`(`keyId` INT) RETURNS int(11) BEGIN DECLARE totalKeys INT DEFAULT 0; DECLARE keyName VARCHAR(32) DEFAULT ""; DECLARE keysInChar INT DEFAULT 0; DECLARE keysInObj INT DEFAULT 0; SET keyName = (CASE WHEN `keyId` < 2501 THEN CONCAT('ItemKeyGreen', `keyId`) WHEN `keyId` < 5001 THEN CONCAT('ItemKeyRed', `keyId` - 2500) WHEN `keyId` < 7501 THEN CONCAT('ItemKeyBlue', `keyId` - 5000) WHEN `keyId` < 10001 THEN CONCAT('ItemKeyYellow', `keyId` - 7500) WHEN `keyId` < 12501 THEN CONCAT('ItemKeyBlack', `keyId` - 10000) ELSE 'ERROR' END); SET keysInChar = (SELECT COUNT(*) FROM `Character_DATA` WHERE `Alive` = '1' AND (`Inventory` LIKE CONCAT('%', keyName, '%') OR `Backpack` LIKE CONCAT('%', keyName, '%'))); SET keysInObj = (SELECT COUNT(*) FROM `Object_DATA` WHERE `Inventory` LIKE CONCAT('%', keyName, '%')); RETURN (keysInChar + keysInObj); END The code: Reveal hidden contents -- ---------------------------- -- 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 3 days. -- ---------------------------- DELETE FROM `object_data` WHERE `LastUpdated` < DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 3 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 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'; -- ---------------------------- -- 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; Hello Juandayz! Am I running these both over my database under query or events? Thanks. Link to comment Share on other sites More sharing options...
0 juandayz Posted July 8, 2017 Report Share Posted July 8, 2017 6 hours ago, jjsnacks77 said: Hello Juandayz! Am I running these both over my database under query or events? Thanks. The function shoulbe running as query one single time. The other code iis event. I running it called with a .bat Link to comment Share on other sites More sharing options...