function GetRequiredVersion() return 200 end function OnScriptLoad(processid, game, persistent) if game == "PC" then map_pointer = 0x63525c else map_pointer = 0x5B927C end end function OnScriptUnload() end function OnNewGame(map) local map_base = readdword(map_pointer) -- The MapID we're going to be writing to all the weapons. local tank_tag_id = gettagid("vehi", "vehicles\\scorpion\\scorpion_mp") -- 2408 = 0x968 Number of tags in the tag table. local tagcount = readdword(map_base + 0xC) -- Loop through all of the tags in the tag table. for tag = 0,tagcount do -- same address you get when you do gettagaddress(mapId) on a tagId. local tag_address = readdword(map_base) + tag * 0x20 -- check if the tag we're looping through is a weapon. if readstring(tag_address, 0x4) == "paew" then -- This is the memory address where map mods are stored. local address_tag_data = readdword(tag_address, 0x14) -- triggers start at 0x0 so that's why we're starting at 0. local number_of_triggers = readdword(address_tag_data, 0x4FC) local triggers_address = readdword(address_tag_data, 0x4FC + 0x4) for i = 0,number_of_triggers-1 do -- triggers start at 0x0 so that's why we're starting at 0. writebit(triggers_address + 0x1, 5, 0) -- Make the bullet not client side only (is this even needed?) writedword(triggers_address + 0x94 + 0xC, tank_tag_id) -- replace the projectile's mapId with the mapId of the tank. end end end end