Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- made by siper#9938
- -- modules
- local network, char, loadgun, loadknife; do
- for _, object in next, getgc(true) do
- if (typeof(object) == "table") then
- if (rawget(object, "send")) then
- network = object;
- elseif (rawget(object, "setbasewalkspeed")) then
- char = object;
- end
- elseif (typeof(object) == "function") then
- local name = debug.getinfo(object).name;
- if (name == "loadgun") then
- loadgun = object;
- elseif (name == "loadknife") then
- loadknife = object;
- end
- end
- end
- end
- -- services
- local replicatedStorage = game:GetService("ReplicatedStorage");
- -- cache
- local content = replicatedStorage:WaitForChild("Content");
- local productionContent = content:WaitForChild("ProductionContent");
- local attachmentModules = productionContent:WaitForChild("AttachmentModules");
- local gunModules = productionContent:WaitForChild("GunModules");
- -- stored data
- local gunIgnore = {"JUGGUN", "HK417Old", "PAINTBALL GUN", "RAILGUN OLD", "PPK12", "SVK12E", "MG42"};
- local weaponData = {};
- local attachmentData = {};
- local primaryClasses = { "ASSAULT", "BATTLE", "CARBINE", "SHOTGUN", "PDW", "DMR", "LMG", "SNIPER" };
- local generalClassData = {
- ["ASSAULT"] = "AK12",
- ["BATTLE"] = "AK12",
- ["CARBINE"] = "M4A1",
- ["SHOTGUN"] = "KSG 12",
- ["PDW"] = "MP5K",
- ["DMR"] = "INTERVENTION",
- ["LMG"] = "COLT LMG",
- ["SNIPER"] = "INTERVENTION",
- ["PISTOL"] = "M9",
- ["MACHINE PISTOL"] = "M9",
- ["REVOLVER"] = "M9",
- ["OTHER"] = "M9",
- ["FRAGMENTATION"] = "M67 FRAG",
- ["HIGH EXPLOSIVE"] = "M67 FRAG",
- ["IMPACT"] = "M67 FRAG",
- ["ONE HAND BLADE"] = "KNIFE",
- ["TWO HAND BLADE"] = "KNIFE",
- ["ONE HAND BLUNT"] = "MAGLITE CLUB",
- ["TWO HAND BLUNT"] = "HOCKEY STICK",
- };
- local weapons = {};
- -- hooks
- do
- local oldNetworkSend = network.send; network.send = function(self, name, ...)
- local args = {...};
- if (name == "changewep") then
- weaponData[args[1]] = args[2];
- args[2] = generalClassData[weapons[args[2]].type];
- end
- if (name == "changeatt") then
- attachmentData[args[2]] = args[3];
- return
- end
- return oldNetworkSend(self, name, unpack(args));
- end
- local oldLoadgrenade = char.loadgrenade; char.loadgrenade = function(self, name, ...)
- name = weaponData["Grenade"] or name;
- return oldLoadgrenade(self, name, ...);
- end;
- local oldLoadknife; oldLoadknife = hookfunction(loadknife, function(name, ...)
- name = weaponData["Knife"] or name;
- return oldLoadknife(name, ...);
- end);
- local oldLoadgun; oldLoadgun = hookfunction(loadgun, function(name, magsize, sparerounds, attachments, ...)
- local gunData = weapons[name];
- local newName = table.find(primaryClasses, gunData.type) and weaponData["Primary"] or weaponData["Secondary"];
- name = (newName and newName or name);
- local attachs = attachmentData[name];
- if (attachs) then
- attachments = attachs;
- end
- return oldLoadgun(name, magsize, sparerounds, attachments, ...);
- end);
- end
- -- init
- do
- for _, module in next, gunModules:GetChildren() do
- if (not table.find(gunIgnore, module.Name)) then
- local data = require(module);
- weapons[module.Name] = data;
- end
- end
- for _, module in next, attachmentModules:GetChildren() do
- local data = require(module);
- data.unlockkills = 0;
- end
- for _, module in next, gunModules:GetChildren() do
- if (not table.find(gunIgnore, module.Name)) then
- local data = require(module);
- data.unlockrank = 0;
- data.adminonly = false;
- data.supertest = false;
- data.exclusiveunlock = false;
- data.hideunlessowned = false;
- data.adminonly = false;
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement