Phantom Forces Script | Unlock All Guns (Even Admin Guns), Attachments
PATCHED

Phantom Forces Script | Unlock All Guns (Even Admin Guns), Attachments

Made by el3tric

31.5K views 14.4K downloads 8 months ago

This new script for Phantom Forces allows you to unlock EVERY single weapon and attachment in the game, this also involves weapons that usually only admins have access to! In order for this to work, you need to have the KSG 12 unlocked (unlockable at level 1).
This script is client-sided, meaning that you can use the weapons but once you rejoin, the weapons are gone and you have to execute the script again.

Script Features:
Unlock All Weapons Unlock All Attachments Unlock Admin Weapons

This script was last modified 6 months ago
download
-- 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

0 Comments

Log in here to comment


Similiar Scripts

Hungry for more? Check out these Roblox Scripts!
Key System
21.8K views
4 months ago
BIG Paintball Op Script | Unlock All Guns, Esp, More!
0xD5F
BIG Paintball Op Script | Unlock All Guns, Esp, More!
BIG Paintball
BIG Paintball Op Script | Unlock All Guns, Esp, More!
54.9K views
1 year ago
OP Admin Script (Fates Admin)
fate#5647, Shawn#2000, misrepresenting#4917& Iaying#6564
OP Admin Script (Fates Admin)
Baseplate
OP Admin Script (Fates Admin)
35.7K views
1 year ago
Free Admin Unlock Gamepass Items Script
DohmBoyOG#0313
Free Admin Unlock Gamepass Items Script
FREE ADMIN
Free Admin Unlock Gamepass Items Script
23.5K views
1 year ago
Phantom Forces GUI (Phantom Monkey)
Kuri#1686
Phantom Forces GUI (Phantom Monkey)
Phantom Forces
Phantom Forces GUI (Phantom Monkey)
17.8K views
1 year ago
Even more FNF 2 Infinite Score Points Script
Alleexxii#9307
Even more FNF 2 Infinite Score Points Script
Even more FNF 2
Even more FNF 2 Infinite Score Points Script
20.8K views
1 year ago
Feather Family Change Species to Everything (Even Slurs)
DohmBoyOG#0313
Feather Family Change Species to Everything (Even Slurs)
Feather Family PEACOCK
Feather Family Change Species to Everything (Even Slurs)


Top