Project Void v1 GSC Combat Master

JayCoder

Veteran
Staff member
Messages
369
Reaction score
148
Points
903
This can still be more redefined and i plan on updating it more but only for cabcon website..

It was suppose to be a full rebuild of gsc but I have alot of different project I'm working on atm.

You need to use my custom melon loader... because I say so make it feel like gsc

you put your mods in the mods folder like so:
Combat Master\Mods\maps\gametypes\mp

the folders will not be there by default just create them...

any images or cfg go inside mods folder not the sub folders

melonloader if u have it installed just replace the melonloader folder in root
combat master with my custom one so we can load mods like cod...

to use my custom one go into the output folder should be a folder called melonloader
drag and replace the one in your combat masters root directory..

I made the huds in photo pea it can be improved but I rather not,
if there something u can't do with melon loader
patch it with harmony... u can make a custom hud easy just make a new R.png or what ever u change the code to...

I am open to help people as well I wanted to remake
zombie land for combat master but I don't think I'm going to get to
with all these lame ass rats hangin' about

menu controls because its a mod menu:

up and down arrows to scroll
f1 to open
enter key to activate an option...

if u wanna change the position pause and drag it around...

I may work on more updates I don't know right now
but if requested I might...

how is it gsc you might ask well here example code compare:

visual studios code:
Code:
            string menuName = $"{P}{r}{o}{j}{e}{c}{t}{v}{oo}{ii}{d} {vv}{v1}";
            CreateRectangle(140, 140, 336, 337, "R.png", 0);//Mod Menu Background
            //Create Title
            CreateTitle(20, menuName, 0, Color.white);
            //Sub Menu Options
            // Read the contents of the GCSC file into a string variable
            CreateText(60, "Unlock All Operators", UnlockAllOps);
            CreateText(80, "Unlock All Weapons", UnlockAllWeapons);

looks like gsc to me pretty much....

here what a cod gsc would look like:
Code:
    self CreateTitle("Project Bloody V1", undefined);
    self CreateSuboption("Project Bloody V1", 0, "Sub Menu", ::submenu, "Menu");
    self CreateSuboption("Project Bloody V1", 1, "Sub Menu", ::submenu, "Menu");
    self CreateSuboption("Project Bloody V1", 2, "Sub Menu", ::submenu, "Menu");
    self CreateSuboption("Project Bloody V1", 3, "Sub Menu", ::submenu, "Menu");

here some scripts iv made to make things easier to understand, I made
everything the way it is so it easier.....

tp all players:
Code:
         void TPAllPlayerToMe()
        {
            var myPlayer = PlayerRoot.MyPlayer;
            if (myPlayer != null && myPlayer.isActiveAndEnabled)
            {
                Vector3 myPos = myPlayer.transform.position;
                foreach (var player in PlayerRoot.AllPlayers)
                {
                    if (!player.isActiveAndEnabled)
                    {
                        continue;
                    }
                    player.transform.position = myPos;
                    GSCLoggerMessage("Player " + player.name + " Teleported to: " + myPos.ToString());
                }
            }
            else
            {
                GSCLoggerMessage("My player is not active or enabled!");
            }
        }
aimbot this doesn't do anything with ads this just rotates your player to the enemy:
Code:
        void MyPlayersAim11()
        {
            Camera mainCamera = Camera.main;
            if (mainCamera == null) return;
            var myPlayer = PlayerRoot.MyPlayer;
            if (myPlayer != null && myPlayer.isActiveAndEnabled)
            {
                Vector3 myPos = myPlayer.transform.position;
                float maxDistance = 10f; // Set your desired maximum distance here
                float minDistance = 3f; // Set your desired minimum distance here
                foreach (var player in PlayerRoot.AllPlayers)
                {
                    if (!player.isActiveAndEnabled)
                    {
                        continue;
                    }
                    Vector3 pivotPos = player.transform.position;
                    float distance = Vector3.Distance(myPos, pivotPos);
                    if (distance > maxDistance || distance < minDistance)
                    {
                        continue;
                    }

                    float footPosY = pivotPos.y - 0.2f;
                    float headPosY = pivotPos.y + 1.8f;

                    Vector3 w2s_footpos = mainCamera.WorldToScreenPoint(new Vector3(pivotPos.x, footPosY, pivotPos.z));
                    Vector3 w2s_headpos = mainCamera.WorldToScreenPoint(new Vector3(pivotPos.x, headPosY, pivotPos.z));
    
                    if (w2s_headpos.z > 0 && w2s_footpos.z > 0)
                    {
                        Vector3 aimPos = new Vector3(w2s_headpos.x, w2s_headpos.y, (w2s_headpos.z + w2s_footpos.z) / 2f);
                        Vector3 aimWorldPos = mainCamera.ScreenToWorldPoint(aimPos);
                        myPlayer.transform.LookAt(aimWorldPos);
                        GSCLoggerMessage("Player " + player.name + " locked on at position " + aimWorldPos);
                    }
                }
            }
        }
this is what rotates the player >> myPlayer.transform.LookAt(aimWorldPos);
can change this to other things to experiment


aimbot is host only

make all players and bots super big
Code:
        void AllPlayersSizeShit(x,y,z)
        {
            foreach (var player in PlayerRoot.AllPlayers)
            {
                if (!player.isActiveAndEnabled)
                {
                    continue;
                    // Set the local scale of the player's transform component to (10, 10, 10)
                    player.transform.localScale = new Vector3(x, y, z);
                    GSCLoggerMessage("Big Players Lets Go...!" + player.name + "\n");
                }
                else if(PlayerRoot.MyPlayer)
                {
                  GSCLoggerMessage("can't make me big...." + player.name + "\n");
                }
            }
        }
example:
AllPlayersSizeShit(10f,10f,10f);

I would be safe with this as other player cannot tell that they are big...
you can do this with the map itself too and make the map big as **** where its like toy soldiers,
if u wanted the other players to see the changes you would need to look into unity's networking
that is used on combat master I look a look but its a little complicated and will take me longer

A better way for aimbot would be to use indicator huds as u can differentiate between enemy and teammate
the hud indicators have to indicators inside of the content component
teammate and enemy... these are the icons that float above players heads....

links:
Custom melonloader:
Please, Log in or Register to view URLs content!

Melon loader custom remake source:
Please, Log in or Register to view URLs content!

_clientids source:
Please, Log in or Register to view URLs content!

_clientids updated more clean source:
Please, Log in or Register to view URLs content!

_clientids updated 9:30 may14
Please, Log in or Register to view URLs content!

compiled drag and drop mods folder for root game:
Please, Log in or Register to view URLs content!

I was able to asset rip the game get all of these files which has scripts models and animations and much more:
Please, Log in or Register to view URLs content!

Latest Update as of june 6th 2023:
mods content everything u need to drag and drop:
Please, Log in or Register to view URLs content!


custom melon loader folder replacement in combat master:
Please, Log in or Register to view URLs content!

Video of full walkthrough:

though I recommend using a Beebyte Deobfuscator for some of the text is encrypted
but u can still pretty much get the gist of what exactly is happing with the provided dump above...
and all the provided information.

current menu structure:
Code:
        void MenuStructure()
        {
            string menuName = $"{P}{r}{o}{j}{e}{c}{t}{v}{oo}{ii}{d} {vv}{v1}";
            CreateRectangle(140, 140, 336, 337, "R.png", 0);//Mod Menu Background
            //Create Title
            CreateTitle(20, menuName, 0, Color.white);
            //Sub Menu Options
            // Read the contents of the GCSC file into a string variable
            CreateText(60, "Unlock All Operators", UnlockAllOps);
            CreateText(80, "Unlock All Weapons", UnlockAllWeapons);
            CreateText(100, "Unlock All Emblems", UnlockAllEmblems);
            CreateText(120, "Toggle Esp", EspToggle);
            CreateText(140, "Modded Xp", ModdedXpLobby);
            CreateText(160, "Toggle BP", BattlePassBypass);
            CreateText(180, "UnlockAllWeaponsAllPlayer", UnlockAllWeaponsAllPlayer);
            CreateText(200, "UnlockAllEmblemsAllPlayer", UnlockAllEmblemsAllPlayer);
            CreateText(220, "UnlockAllOpsAllPlayer", UnlockAllOpsAllPlayer);//() =>
            CreateText(240, "Print Active G Objs", CurrentlyActiveGameObjectsLoadedInScene);
            CreateText(260, "No Warehouse OutterCol", RemoveWarehouseOutterCollision);
            CreateText(280, "Warehouse MG G Objs", GameObjectsInsideMapgraphicsWarehouse);
            CreateText(300, "TP All PlayerToMe", TPAllPlayerToMe);
            CreateText(320, "SuperSpeed", GiveSuperSpeed);
            //Menu Controls Or Credits
            CreateTitle(350, $"Created By: {name}", 0, Color.white);
        }

updated structure looks like this now:
        public static void MenuHuds()
        {
            CreateRectangle(140, 140, 336, 337, "R.png", 0);//Mod Menu Background
        }
        public static void MenuStructure()
        {
            MenuHuds();
            //Create Title
            CreateTitle(20, menuName, 0, Color.white);
            //Sub Menu Options
            CreateText(60, "Unlock All Operators", functions.UnlockAllOps);
            CreateText(80, "Unlock All Weapons", functions.UnlockAllWeapons);
            CreateText(100, "Unlock All Emblems", functions.UnlockAllEmblems);
            CreateText(120, "Toggle Esp", functions.EspToggle);
            CreateText(140, "Modded Xp", functions.ModdedXpLobby);
            CreateText(160, "Toggle BP", functions.BattlePassBypass);
            CreateText(180, "UnlockAllWeaponsAllPlayer", functions.UnlockAllWeaponsAllPlayer);
            CreateText(200, "UnlockAllEmblemsAllPlayer", functions.UnlockAllEmblemsAllPlayer);
            CreateText(220, "UnlockAllOpsAllPlayer", functions.UnlockAllOpsAllPlayer);//() =>
            CreateText(240, "Print Active G Objs", functions.CurrentlyActiveGameObjectsLoadedInScene);
            CreateText(260, "No Warehouse OutterCol", functions.RemoveWarehouseOutterCollision);
            CreateText(280, "Warehouse MG G Objs", functions.GameObjectsInsideMapgraphicsWarehouse);
            CreateText(300, "TP All PlayerToMe", functions.TPAllPlayerToMe);
            CreateText(320, "SuperSpeed", functions.GiveSuperSpeed);
            //Menu Controls Or Credits
            CreateTitle(350, $"Created By: {name}", 0, Color.white);
        }
we call functions from the functions.cs instead of call them from the same .cs file
this will keep it more clean.

may14 9:30pm update
        public static void MenuHuds()
        {
            CreateRectangle(140, 140, 336, 337, "R.png", 0);//Mod Menu Background
        }
        public static void MenuStructure()
        {
            MenuHuds();
            //Create Title
            CreateTitle(20, menuName, 0, Color.white);
            //Sub Menu Options
            CreateText(60, "Unlock All Operators", UnlockAllOps);
            CreateText(80, "Unlock All Weapons", UnlockAllWeapons);
            CreateText(100, "Unlock All Emblems", UnlockAllEmblems);
            CreateText(120, "Toggle Esp", EspToggle);
            CreateText(140, "Modded Xp", ModdedXpLobby);
            CreateText(160, "Toggle BP", BattlePassBypass);
            CreateText(180, "Toggle Noclip", ToggleNoclip);
            CreateText(200, "Toggle SuperSpeed", ToggleSuperSpeed);
            CreateText(220, "Tp Allplayers Shoot", ToggleTeleport);//() =>
            CreateText(240, "Perfect Weapon", NorecoilOrWeaponSway);
            CreateText(260, "No Warehouse OutterCol", RemoveWarehouseOutterCollision);
            CreateText(280, "Infinity Ammo Test", ToggleInfiniteAmmo);
            CreateText(300, "TP All PlayerToMe", TPAllPlayerToMe);
            CreateText(320, "SuperJumpTest", ToggleJump);
            //Menu Controls Or Credits
            CreateTitle(350, $"Created By: {name}", 0, Color.white);
        }
added shoot all players at crosshairs
test for norecoil and weapon sway
ammo testing
super jump for host can be applied to players as well
Legit was made to feel like gsc...

here an older gif picture:


here a more up to date gif:

Ai not included with mod i was using the ai to record my screen and listen to music.
unlock all for all players doesn't work right yet...
modded xp does work...
esp work off host will find more stuff that works offhost

unity engine uses imgui so you could use this method for other unity games as well...

I am working on reversing there anti-cheat so we can do more fun things
here some anticheat stuff
Code:
public static string ConstructErrorForSupport(string text, [string prefix = null], [Il2CppSystem.Exception exception = null])
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static string GenerateBugReport([Il2CppSystem.Exception exception = null])
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static void GetUnityInfo()
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static void PrintExceptionForSupport(string errorText, [Il2CppSystem.Exception exception = null])
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static void PrintExceptionForSupport(string errorText, [string prefix = null], [Il2CppSystem.Exception exception = null])
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static string applicationPlatform { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static string DocsRootUrl { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static string LogPrefix { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static Il2CppInterop.Runtime.InteropTypes.Arrays.Il2CppStructArray<char> StringKey { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static string SupportContact { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static string unityVersion { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk
public static string Version { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.ACTk

//something attachted to player

public string _AccessedApi_k__BackingField { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Common.BackgroundThreadAccessException


public virtual void StopDetectionInternal()
    Member of Il2CppCodeStage.AntiCheat.Detectors.ACTkDetectorBase<T>
public bool IsCheatDetected { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.ACTkDetectorBase<T>
public static void StopDetection()
    Member of Il2CppCodeStage.AntiCheat.Detectors.InjectionDetector
public static void Dispose()
    Member of Il2CppCodeStage.AntiCheat.Detectors.InjectionDetector

public virtual void EndInvoke(Il2CppSystem.IAsyncResult result)
    Member of Il2CppCodeStage.AntiCheat.Detectors.InjectionDetector.InjectionDetectedEventHandler
public static void StopDetection()
    Member of Il2CppCodeStage.AntiCheat.Detectors.ObscuredCheatingDetector
public static void StopDetection()
    Member of Il2CppCodeStage.AntiCheat.Detectors.SpeedHackDetector
public int coolDown { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.SpeedHackDetector
public byte maxFalsePositives { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.SpeedHackDetector
public byte currentFalsePositives { get; set; }
public static void StopDetection()
    Member of Il2CppCodeStage.AntiCheat.Detectors.TimeCheatingDetector
public override void StopDetectionInternal()
    Member of Il2CppCodeStage.AntiCheat.Detectors.TimeCheatingDetector
public static void StopDetection()
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public override void StopDetectionInternal()
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public void StopRigidModule()
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public void StopRaycastModule()
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public void StopWireframeModule()
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public byte maxFalsePositives { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public byte rigidbodyDetections { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public byte raycastDetections { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public byte maxFalsePositives { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
public UnityEngine.GameObject solidWall { get; set; }
    Member of Il2CppCodeStage.AntiCheat.Detectors.WallHackDetector
Plain
    Member of Il2CppCodeStage.AntiCheat.Storage.ObscurationMode

public static void Dispose()
    Member of Il2CppCodeStage.AntiCheat.Time.SpeedHackProofTime

public void OnSpeedHackDetected()
    Member of Il2CppCodeStage.AntiCheat.Time.SpeedHackProofTime
Menu Controls: to move the menu around you can legit drag it anywhere on screen u want... u can click the options if you don't wanna use the scroller. Open Menu: Aim & V to open menu/close Scroll: Arrow keys up and down to scroll up and down in menu Select Options: Enter key, or click to select an option...
 
Last edited:

CabCon

Head Administrator
Staff member
Head Staff Team
Messages
5,016
Reaction score
2,897
Points
1,103
Looks very sick! Well done :smile:
 

JayCoder

Veteran
Staff member
Messages
369
Reaction score
148
Points
903
You can do forge mode and super jump on this game too pretty interesting
You can also make bounce pads and everything just not sure if it host only or not...

mostly only looking into this because I plan on making zombieland
 
Last edited:

Rocketislife8731

New Member
Messages
1
Reaction score
1
Points
3
It says Failed to initialize MelonLoader: Failed to find bootstrap at C:\Program Files (x86)\Steam\steamapps\common\Combat Master Please make sure you Installed melon loader correctly
 

JayCoder

Veteran
Staff member
Messages
369
Reaction score
148
Points
903
It says Failed to initialize MelonLoader: Failed to find bootstrap at C:\Program Files (x86)\Steam\steamapps\common\Combat Master Please make sure you Installed melon loader correctly
we will look into it.
 

JayCoder

Veteran
Staff member
Messages
369
Reaction score
148
Points
903
It says Failed to initialize MelonLoader: Failed to find bootstrap at C:\Program Files (x86)\Steam\steamapps\common\Combat Master Please make sure you Installed melon loader correctly
fixed and updated if ur looking for more information on the mod itself you can check my channel I have a video that should be uploaded soon it is an hr and half long and goes over everything for the mod.
 
Top