diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp index fd4892702..289ac866d 100644 --- a/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp +++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp @@ -106,7 +106,6 @@ machineguns[] = { {Loot_WEAPON, 1, M249_m145_EP1_DZE}, {Loot_WEAPON, 1, m240_scoped_EP1_DZE}, {Loot_WEAPON, 0.8, M240_DZ}, - {Loot_WEAPON, 0.8, M249_EP1_DZ}, {Loot_WEAPON, 0.9, M249_DZ}, {Loot_WEAPON, 0.5, Mk48_DZ} //Mk_48_DZ (removed, was a duplicate of Mk48_CCO_DZ) }; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/L110A1.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/L110A1.hpp index 1a59290e7..a2ee6092e 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/L110A1.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/L110A1.hpp @@ -18,7 +18,7 @@ class L110A1_CCO_DZ : BAF_L110A1_Aim { class RemoveCCO { - text = $STR_DZ_ATT_CCO_REM; + text = $STR_DZ_ATT_CCO_RMVE; script = "; ['Attachment_CCO',_id,'L110A1_DZ'] call player_removeAttachment"; }; }; @@ -34,7 +34,7 @@ class L110A1_Holo_DZ : L110A1_CCO_DZ { class RemoveHolo { - text = $STR_DZ_ATT_HOLO_REM; + text = $STR_DZ_ATT_HOLO_RMVE; script = "; ['Attachment_Holo',_id,'L110A1_DZ'] call player_removeAttachment"; }; }; @@ -63,13 +63,4 @@ class L110A1_DZ : L110A1_CCO_DZ class BAF_L110A1_Aim_DZE:BAF_L110A1_Aim { //Slightly different scope from L110A1_CCO_DZ, otherwise identical type = "1"; - - class ItemActions - { - class RemoveCCO - { - text = $STR_DZ_ATT_CCO_REM; - script = "; ['Attachment_CCO',_id,'L110A1_DZ'] call player_removeAttachment"; - }; - }; }; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M240.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M240.hpp index 87e924091..e96a59acc 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M240.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M240.hpp @@ -26,7 +26,7 @@ class M240_CCO_DZ : M240_DZ { class RemoveCCO { - text = $STR_DZ_ATT_CCO_REM; + text = $STR_DZ_ATT_CCO_RMVE; script = "; ['Attachment_CCO',_id,'M240_DZ'] call player_removeAttachment"; }; }; @@ -44,7 +44,7 @@ class M240_Holo_DZ : M240_CCO_DZ { class RemoveHolo { - text = $STR_DZ_ATT_HOLO_REM; + text = $STR_DZ_ATT_HOLO_RMVE; script = "; ['Attachment_Holo',_id,'M240_DZ'] call player_removeAttachment"; }; }; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M249.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M249.hpp index b73328022..0fd89af02 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M249.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M249.hpp @@ -62,16 +62,8 @@ class M249_Holo_DZ : M249_CCO_DZ }; class M249_EP1; -class M249_EP1_DZ:M249_EP1 { //Iron sight with shorter stock (different from M249_DZ) +class M249_EP1_DZ:M249_EP1 { //Iron sight with shorter stock (slightly different look from M249_DZ) can also fire MG36 mags type = "1"; - - class Attachments - { - Attachment_CCO = "M249_CCO_DZ"; - Attachment_Holo = "M249_Holo_DZ"; - }; - - class ItemActions {}; }; class M249_m145_EP1; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp index 43aaee569..d3a999982 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp @@ -824,7 +824,7 @@ class M4A1_ACOG_FL_DZ : M4A1_FL_DZ }; class RemoveFlashlight { - text = $STR_DZ_ATT_FL_RFL_REM; + text = $STR_DZ_ATT_FL_RFL_RMVE; script = "; ['Attachment_FL_Rfl',_id,'M4A1_ACOG_DZ'] call player_removeAttachment"; }; }; @@ -853,7 +853,7 @@ class M4A1_ACOG_SD_DZ : M4A1_SD_DZ }; class RemoveSuppressor { - text = $STR_DZ_ATT_SUP556_REM; + text = $STR_DZ_ATT_SUP556_RMVE; script = "; ['Attachment_Sup556',_id,'M4A1_ACOG_DZ'] call player_removeAttachment"; }; }; @@ -881,12 +881,12 @@ class M4A1_ACOG_SD_FL_DZ : M4A1_SD_FL_DZ }; class RemoveSuppressor { - text = $STR_DZ_ATT_SUP556_REM; + text = $STR_DZ_ATT_SUP556_RMVE; script = "; ['Attachment_Sup556',_id,'M4A1_ACOG_FL_DZ'] call player_removeAttachment"; }; class RemoveFlashlight { - text = $STR_DZ_ATT_FL_RFL_REM; + text = $STR_DZ_ATT_FL_RFL_RMVE; script = "; ['Attachment_FL_Rfl',_id,'M4A1_ACOG_SD_DZ'] call player_removeAttachment"; }; }; @@ -917,7 +917,7 @@ class M4A1_GL_ACOG_DZ : M4A1_GL_DZ }; class RemoveGL { - text = $STR_DZ_ATT_M203_REM; + text = $STR_DZ_ATT_M203_RMVE; script = "; ['Attachment_M203',_id,'M4A1_ACOG_DZ'] call player_removeAttachment"; }; }; @@ -945,12 +945,12 @@ class M4A1_GL_ACOG_FL_DZ : M4A1_GL_FL_DZ }; class RemoveGL { - text = $STR_DZ_ATT_M203_REM; + text = $STR_DZ_ATT_M203_RMVE; script = "; ['Attachment_M203',_id,'M4A1_ACOG_FL_DZ'] call player_removeAttachment"; }; class RemoveFlashlight { - text = $STR_DZ_ATT_FL_RFL_REM; + text = $STR_DZ_ATT_FL_RFL_RMVE; script = "; ['Attachment_FL_Rfl',_id,'M4A1_GL_ACOG_DZ'] call player_removeAttachment"; }; }; @@ -978,12 +978,12 @@ class M4A1_GL_ACOG_SD_DZ : M4A1_GL_SD_DZ }; class RemoveGL { - text = $STR_DZ_ATT_M203_REM; + text = $STR_DZ_ATT_M203_RMVE; script = "; ['Attachment_M203',_id,'M4A1_ACOG_SD_DZ'] call player_removeAttachment"; }; class RemoveSuppressor { - text = $STR_DZ_ATT_SUP556_REM; + text = $STR_DZ_ATT_SUP556_RMVE; script = "; ['Attachment_Sup556',_id,'M4A1_GL_ACOG_DZ'] call player_removeAttachment"; }; }; @@ -1008,17 +1008,17 @@ class M4A1_GL_ACOG_SD_FL_DZ : M4A1_GL_SD_FL_DZ }; class RemoveGL { - text = $STR_DZ_ATT_M203_REM; + text = $STR_DZ_ATT_M203_RMVE; script = "; ['Attachment_M203',_id,'M4A1_ACOG_SD_FL_DZ'] call player_removeAttachment"; }; class RemoveSuppressor { - text = $STR_DZ_ATT_SUP556_REM; + text = $STR_DZ_ATT_SUP556_RMVE; script = "; ['Attachment_Sup556',_id,'M4A1_GL_ACOG_FL_DZ'] call player_removeAttachment"; }; class RemoveFlashlight { - text = $STR_DZ_ATT_FL_RFL_REM; + text = $STR_DZ_ATT_FL_RFL_RMVE; script = "; ['Attachment_FL_Rfl',_id,'M4A1_GL_ACOG_SD_DZ'] call player_removeAttachment"; }; }; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp index 6d952c69a..dcafaffaf 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp @@ -30,7 +30,9 @@ class ItemSledge: ItemCore // Epoch class */ }; }; -/* //Vanilla sledge is using a different model + +//Vanilla sledge is using a different model. +//All scripts have been changed to use Epoch ItemSledge, but leave this defined in case admins want to use it for something. class ItemSledgeHammer : ItemCore { scope = public; @@ -60,5 +62,4 @@ class ItemSledgeHammerBroken : ItemCore script = "spawn player_fixHatchet;"; }; }; -}; -*/ \ No newline at end of file +}; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_gearSet.sqf b/SQF/dayz_code/compile/player_gearSet.sqf index 95f925463..1f2d65de7 100644 --- a/SQF/dayz_code/compile/player_gearSet.sqf +++ b/SQF/dayz_code/compile/player_gearSet.sqf @@ -23,7 +23,7 @@ if (count _inventory > 0) then { if (DZE_UseBloodTypes) then { if (_item == "ItemBloodbag") then { _item = "bloodBagONEG" }; // Convert ItemBloodbag into universal blood type/rh bag } else { - if (_item in DZE_typedBags) then { _item = "ItemBloodbag" }; + if (_item in dayz_typedBags) then { _item = "ItemBloodbag" }; }; //Is item legal? diff --git a/SQF/dayz_code/compile/ui_selectSlot.sqf b/SQF/dayz_code/compile/ui_selectSlot.sqf index fd96b7ac2..08738e8e8 100644 --- a/SQF/dayz_code/compile/ui_selectSlot.sqf +++ b/SQF/dayz_code/compile/ui_selectSlot.sqf @@ -8,7 +8,7 @@ _itemData = gearSlotData _control; if (carryClick) then {carryClick = false;}; // No right click option on bloodbags if DZE_SelfTransfuse = false; -if (!DZE_SelfTransfuse && {(_itemData == "ItemBloodbag") or (_itemData in DZE_typedBags)}) exitWith {}; +if (!DZE_SelfTransfuse && {(_itemData == "ItemBloodbag") or (_itemData in dayz_typedBags)}) exitWith {}; if (_button == 1) then { private ["_conf","_name","_compile","_height","_item"]; diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 513a140be..8cb1097e7 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -51,6 +51,7 @@ DayZ_ViralZeds = ["z_new_villager2","z_new_villager3","z_new_villager4","z_new_w DayZ_SafeObjects = ["Base_Fire_DZ","WoodenGate_1","WoodenGate_2","WoodenGate_3","WoodenGate_4","Land_Fire_DZ","TentStorage","TentStorage0","TentStorage1","TentStorage2","TentStorage3","TentStorage4","StashSmall","StashSmall1","StashSmall2","StashSmall3","StashSmall4","StashMedium","StashMedium1","StashMedium2","StashMedium3","StashMedium4","Wire_cat1","Sandbag1_DZ","Fence_DZ","Generator_DZ","Hedgehog_DZ","BearTrap_DZ","DomeTentStorage","DomeTentStorage0","DomeTentStorage1","DomeTentStorage2","DomeTentStorage3","DomeTentStorage4","CamoNet_DZ","Trap_Cans","TrapTripwireFlare","TrapBearTrapSmoke","TrapTripwireGrenade","TrapTripwireSmoke","TrapBearTrapFlare","TentStorageDomed","TentStorageDomed2","VaultStorageLocked","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","LockboxStorageLocked","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"]; DayZ_GearedObjects = ["Car","Helicopter","Motorcycle","Ship","TentStorage_base","StashSmall_base","StashMedium_base","Plane","Tank","VaultStorage","LockboxStorage","TentStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ","Scaffolding_DZ"]; DayZ_RestingAnims = ["amovpsitmstpsnonwpstdnon_ground","amovpsitmstpsnonwpstdnon_smoking","amovpsitmstpsraswrfldnon_weaponcheck1","amovpsitmstpsraswrfldnon"]; +dayz_typedBags = ["bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagABNEG","bloodBagABPOS","bloodBagONEG","bloodBagOPOS","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]; dayz_playerAchievements = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; Dayz_meatraw = @@ -501,7 +502,6 @@ DZE_isRemovable = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","Plastic_P DZE_isWreck = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"]; DZE_isWreckBuilding = ["Land_wreck_cinder","Land_wood_wreck_quarter","Land_wood_wreck_floor","Land_wood_wreck_third","Land_wood_wreck_frame","Land_iron_vein_wreck","Land_silver_vein_wreck","Land_gold_vein_wreck","Land_ammo_supply_wreck"]; DZE_isNewStorage = ["VaultStorage","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","GunRack_DZ","WoodCrate_DZ"]; -DZE_typedBags = ["bloodBagANEG","bloodBagAPOS","bloodBagBNEG","bloodBagBPOS","bloodBagABNEG","bloodBagABPOS","bloodBagONEG","bloodBagOPOS","wholeBloodBagANEG","wholeBloodBagAPOS","wholeBloodBagBNEG","wholeBloodBagBPOS","wholeBloodBagABNEG","wholeBloodBagABPOS","wholeBloodBagONEG","wholeBloodBagOPOS"]; helperDetach = false; isInTraderCity = false; PlayerDeaths = []; diff --git a/SQF/dayz_code/system/player_monitor.fsm b/SQF/dayz_code/system/player_monitor.fsm index 01a91eea9..07f0dcd61 100644 --- a/SQF/dayz_code/system/player_monitor.fsm +++ b/SQF/dayz_code/system/player_monitor.fsm @@ -676,7 +676,7 @@ class FSM " if (DZE_UseBloodTypes) then {" \n " if (_item == ""ItemBloodbag"") then { _item = ""bloodBagONEG"" }; // Convert ItemBloodbag into universal blood type/rh bag" \n " } else {" \n - " if (_item in DZE_typedBags) then {_item = ""ItemBloodbag""};" \n + " if (_item in dayz_typedBags) then {_item = ""ItemBloodbag""};" \n " };" \n " dayz_myBackpack addMagazineCargoGlobal [_x,(_backpackMagQty select _countr)];" \n " _countr = _countr + 1;" \n diff --git a/SQF/dayz_epoch_b/CfgServerTrader/Category/FriendlyLightMachineGun.hpp b/SQF/dayz_epoch_b/CfgServerTrader/Category/FriendlyLightMachineGun.hpp index 2582bbf4e..87097f588 100644 --- a/SQF/dayz_epoch_b/CfgServerTrader/Category/FriendlyLightMachineGun.hpp +++ b/SQF/dayz_epoch_b/CfgServerTrader/Category/FriendlyLightMachineGun.hpp @@ -1,5 +1,5 @@ class Category_486 { - class M249_EP1_DZ { + class M249_DZ { type = "trade_weapons"; buy[] = {1,"ItemGoldBar10oz"}; sell[] = {6,"ItemGoldBar"}; @@ -21,7 +21,7 @@ class Category_486 { }; }; class Category_616 { - class M249_EP1_DZ { + class M249_DZ { type = "trade_weapons"; buy[] = {1,"ItemGoldBar10oz"}; sell[] = {6,"ItemGoldBar"}; diff --git a/SQF/dayz_epoch_b/CfgServerTrader/Category/NeutralLightMachineGun.hpp b/SQF/dayz_epoch_b/CfgServerTrader/Category/NeutralLightMachineGun.hpp index cea103112..6718fc26c 100644 --- a/SQF/dayz_epoch_b/CfgServerTrader/Category/NeutralLightMachineGun.hpp +++ b/SQF/dayz_epoch_b/CfgServerTrader/Category/NeutralLightMachineGun.hpp @@ -1,5 +1,5 @@ class Category_603 { - class M249_EP1_DZ { + class M249_DZ { type = "trade_weapons"; buy[] = {1,"ItemGoldBar10oz"}; sell[] = {6,"ItemGoldBar"}; @@ -21,7 +21,7 @@ class Category_603 { }; }; class Category_638 { - class M249_EP1_DZ { + class M249_DZ { type = "trade_weapons"; buy[] = {1,"ItemGoldBar10oz"}; sell[] = {6,"ItemGoldBar"}; diff --git a/SQF/dayz_server/compile/spawn_vehicles.sqf b/SQF/dayz_server/compile/spawn_vehicles.sqf index 739ef0868..c19bf6708 100644 --- a/SQF/dayz_server/compile/spawn_vehicles.sqf +++ b/SQF/dayz_server/compile/spawn_vehicles.sqf @@ -72,7 +72,7 @@ if (count AllowedVehiclesList == 0) then { // Add 0-3 loots to vehicle using random loot groups _num = floor(random 4); - _allCfgLoots = ["Trash","Trash","Consumable","Consumable","Generic","Generic","MedicalLow","MedicalLow","clothes","clothes","militaryclothes","specialclothes","tents","backpacks","Parts","pistols","AmmoCivilian"]; + _allCfgLoots = ["Trash","Trash","Consumable","Consumable","Generic","Generic","MedicalLow","MedicalLow","clothes","tents","backpacks","Parts","pistols","AmmoCivilian"]; for "_x" from 1 to _num do { _iClass = _allCfgLoots call BIS_fnc_selectRandom; diff --git a/SQF/dayz_server/init/server_functions.sqf b/SQF/dayz_server/init/server_functions.sqf index 66ce6fa07..362d16929 100644 --- a/SQF/dayz_server/init/server_functions.sqf +++ b/SQF/dayz_server/init/server_functions.sqf @@ -132,7 +132,7 @@ server_hiveReadWrite = { //diag_log ("ATTEMPT READ/WRITE: " + _key); _data = "HiveExt" callExtension _key; //diag_log ("READ/WRITE: " +str(_data)); - _resultArray = call compile _data; + _resultArray = call compile format ["%1",_data]; _resultArray }; @@ -182,6 +182,7 @@ dayz_objectUID2 = { if !(_key in currentObjectUIDs) exitWith {currentObjectUIDs set [count currentObjectUIDs,_key];}; keyStartNumber = keyStartNumber + 1; _key = str keyStartNumber; + diag_log format["Duplicate UID generated by dayz_objectUID2. Automatically corrected to +1= %1. This should rarely happen.",_key]; }; _key }; @@ -220,4 +221,12 @@ generate_new_damage = { _damage }; +server_hiveReadWriteLarge = { + private["_key","_resultArray","_data"]; + _key = _this; + _data = "HiveExt" callExtension _key; + _resultArray = call compile _data; + _resultArray +}; + call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fa_hiveMaintenance.sqf"; \ No newline at end of file diff --git a/SQF/dayz_server/system/server_monitor.sqf b/SQF/dayz_server/system/server_monitor.sqf index 913b420a7..254a899d2 100644 --- a/SQF/dayz_server/system/server_monitor.sqf +++ b/SQF/dayz_server/system/server_monitor.sqf @@ -49,7 +49,7 @@ if (_status == "ObjectStreamStart") then { //Stream Objects diag_log ("HIVE: Commence Object Streaming..."); for "_i" from 1 to _val do { - _result = _key call server_hiveReadWrite; + _result = _key call server_hiveReadWriteLarge; _status = _result select 0; _myArray set [count _myArray,_result]; }; diff --git a/Server Files/SQL/1.0.6_Updates.sql b/Server Files/SQL/1.0.6_Updates.sql index 2453d295e..f3cc8c1ed 100644 --- a/Server Files/SQL/1.0.6_Updates.sql +++ b/Server Files/SQL/1.0.6_Updates.sql @@ -226,6 +226,11 @@ UPDATE character_data SET Backpack = REPLACE(Backpack, 'M24', 'M24_DZ') WHERE IN UPDATE character_data SET Inventory = REPLACE(Inventory, 'M24', 'M24_DZ') WHERE INSTR(Inventory, 'M24') > 0; UPDATE object_data SET Inventory = REPLACE(Inventory, 'M24', 'M24_DZ') WHERE INSTR(Inventory, 'M24') > 0; +UPDATE `Traders_DATA` SET `item` = '["M249_DZ",1]' WHERE `item` = '["M249_EP1_DZ",1]'; +UPDATE character_data SET Backpack = REPLACE(Backpack, 'M249_EP1_DZ', 'M249_DZ') WHERE INSTR(Backpack, 'M249_EP1_DZ') > 0; +UPDATE character_data SET Inventory = REPLACE(Inventory, 'M249_EP1_DZ', 'M249_DZ') WHERE INSTR(Inventory, 'M249_EP1_DZ') > 0; +UPDATE object_data SET Inventory = REPLACE(Inventory, 'M249_EP1_DZ', 'M249_DZ') WHERE INSTR(Inventory, 'M249_EP1_DZ') > 0; + UPDATE `Traders_DATA` SET `item` = '["M40A3_Gh_DZ",1]' WHERE `item` = '["M40A3",1]'; UPDATE character_data SET Backpack = REPLACE(Backpack, 'M40A3', 'M40A3_Gh_DZ') WHERE INSTR(Backpack, 'M40A3') > 0; UPDATE character_data SET Inventory = REPLACE(Inventory, 'M40A3', 'M40A3_Gh_DZ') WHERE INSTR(Inventory, 'M40A3') > 0;