Vor jeder Änderung an der Datenbank sollten Backups angelegt werden! Dies beugt ärgerlichem Datenverlust vor, welcher selbst durch die trivialsten Tippfehler erzeugt werden kann.
MySQL ist sehr anfällig für Groß- und Kleinschreibung, sollte ein Tabellen-/ oder Zeilen-Name in diesem Artikel nicht mir eurer Datenbank übereinstimmen, so passt diesen bitte entsprechend an.
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` = '[[[],[]],[[],[]],[[],[]]]') ) AND `CharacterID`='0'
Dieser MySQL Befehl löscht Objekte, die länger als 14 Tage nicht benutzt wurden, jedoch nur, wenn sie schon länger als 24 Tage auf dem Server vorhanden sind, wobei auch sichergestellt wird, dass diese Objekte keine Gegenstände enthalten . Außerdem wird geprüft, ob das Objekt einem Spieler gehört. Zu beachten ist, dass Fahrzeuge und Gebäude, welche mit dem Infistar-Admin-Tool erstellt wurden, von diesem Tool auch entfernt werden. Um dies zu verhindern, muss den Objekten in der Datenbank eine ‘CharacterID’ größer 0 zugewiesen werden.
DELETE FROM `Object_DATA` WHERE ((`Damage` ='1.00000') OR (`Damage`='1'))
Dieser Befehl löscht zerstörte Objekte aus der Datenbank und schafft so etwas Platz auf der Karte.
UPDATE `Object_DATA` SET `Object_DATA`.`CharacterID` = 0 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
Dieser Befehl filtert alle Fahrzeuge aus der Objekte-Tabelle die abgeschlossen sind und keine Schlüssel besitzen. Anschließend werden diese Fahrzeuge aufgeschlossen.
DELETE FROM `Object_DATA` 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;
Dieser Befehl löscht alle Fahrzeuge aus der Datenbank, zu denen kein Schlüssel gefunden werden konnte.
UPDATE `traders_data` SET qty=100 WHERE qty <= 10 AND afile<>'trade_any_vehicle' AND afile<>'trade_any_weapons' AND afile<>'trade_items' AND afile<>'trade_any_boat' AND afile<>'trade_backpacks'
Dieser Befehl setzt die Menge der Gegenstände im Händler-Inventar auf 100, sollten diese unter 10 fallen. Die betroffenen Gegenstände sind als AND Abfragen im Befehl zu sehen und können so beliebig manipuliert werden.
INSERT INTO `Traders_Data` (`item`,`qty`,`buy`,`sell`,`order`,`tid`,`afile`) VALUES ('["DMR",3]', 1000, '[1,"ItemBriefcase100oz",1]', '[3,"ItemGoldBar10oz",1]',0, 526, 'trade_weapons'), ('["SUV",2]', 1000, '[1,"ItemBriefcase100oz",1]', '[3,"ItemGoldBar10oz",1]',0, 535, 'trade_any_vehicle), ('["ItemSoda",1]', 1000, '[4,"ItemGoldBar10oz",1]', '[1,"ItemGoldBar10oz",1]',0, 529, 'trade_items');
Dieser Befehl fügt Objekte zu bestehenden Händlern hinzu, in diesem Fall 3 Stück in einer sogenannten Query. Die einzufügenden Datensätze sind hinter der VALUES Direktive definiert, wobei die von runden Klammern umschlossenen Werte einen Datensatz darstellen. Die Datensätze müssen mit Kommas abgetrennt sein. Der letzte schließt die Query mit einem Semikolon ab.
UPDATE `Traders_DATA` SET qty=100 WHERE `item` LIKE '%ItemVault%' AND qty < 100;
Dieser Befehl füllt den durch ItemVault definierten Gegenstand bei allen Händlern nach. Es muss nicht der vollständige Name des Gegenstands ausgeschrieben werden, jedoch sollte beachtet werden, dass die verwendete Abkürzung nicht auch auf einen anderen Gegenstand zutrifft, da dieser sonst auch betroffen wäre.
UPDATE Object_DATA SET parts="[]" AND SET damage="0";
Dieser Befehl repariert alle in der Datenbank eingetragenen Fahrzeuge. Praktisch ist, dass dieser Befehl einfach erweitert werden kann, um die Menge der betroffenen Fahrzeuge einzugrenzen.
Leere Objekte entfernen
Zerstörte Objekte entfernen
Fahrzeuge ohne Schlüssel aufschließen
Fahrzeuge ohne Schlüssel entfernen
Händler Inventar auffüllen
Objekte zum Händler Inventar hinzufügen
Hilfreiche kleine Befehle
- Nur einen bestimmten Gegenstand beim Händler nachfüllen
- Alle Fahrzeuge reparieren