# Control Panel

The Control Panel is the central hub for managing various aspects of the GTA 5 Content Creator. It offers a wide range of options:

# Developer Mode Checkbox

Enable or disable Rockstar Developer Mode for advanced Creator editing and capabilities. Before After

# Skip Testing Button

Skip the job testing process if desired.

Code
bool needscan = curcreatorscanneeded();
if (needscan)
    GTA.Offsets.Editor.localptr = GTA.getCurrentCreatorAddy();

long addy = getCurrentCreatorBase();

m.memory((addy + GTA.Offsets.Editor.OFFSET_current_creator_pre_test1 * 8).ToString("X")).SetInt(1);
m.memory((addy + GTA.Offsets.Editor.OFFSET_current_creator_pre_test2 * 8).ToString("X")).SetInt(1);

if (Functions.Read.isMission())
{
    new Global(GTA.Offsets.Editor.testcomplete).SetInt(15);
}

# Initiate Test Dropdown Button

Select a team from a dropdown menu and initiate job testing for that specific team.

Code
bool needscan = curcreatorscanneeded();
if (needscan)
    GTA.Offsets.Editor.localptr = GTA.getCurrentCreatorAddy();


if (GTA.Offsets.Editor.localptr != null)
{
    int index = ddteamtest.SelectedIndex;
    var temparr = new long[] { GTA.Offsets.Editor.localptr[1], GTA.Offsets.Editor.OFFSET_script_name };
    switch (m.memory(GTA.Offsets.Editor.localptr[0], temparr).GetString().ToLower())
    {
        case "fm_survival_creator":
            new Global(GTA.Offsets.Editor.current_team_test).SetInt(index);
            Functions.Write.writebinarytoaddy(26, m.memory(GTA.Offsets.Editor.localptr[0], new long[] { GTA.Offsets.Editor.localptr[1], GTA.Offsets.Editor.OFFSET_script_local_start, GTA.Offsets.Editor.OFFSET_current_creator_test_survival * 8 }).GetAddress());
            break;
        case "fm_capture_creator":
            new Global(GTA.Offsets.Editor.current_team_test).SetInt(index);
            Functions.Write.writebinarytoaddy(26, m.memory(GTA.Offsets.Editor.localptr[0], new long[] { GTA.Offsets.Editor.localptr[1], GTA.Offsets.Editor.OFFSET_script_local_start, GTA.Offsets.Editor.OFFSET_current_creator_test_capture * 8 }).GetAddress());
            break;
        case "fm_mission_creator":
        case "fm_lts_creator":
            new Global(GTA.Offsets.Editor.current_team_test).SetInt(index);
            Functions.Write.writebinarytoaddy(26, m.memory(GTA.Offsets.Editor.localptr[0], new long[] { GTA.Offsets.Editor.localptr[1], GTA.Offsets.Editor.OFFSET_script_local_start, GTA.Offsets.Editor.OFFSET_current_creator_test_lts * 8 }).GetAddress());
            break;
        case "fm_deathmatch_creator":
            displayScreenMessage("currently not possible for deathmatch");
            break;
        case "fm_race_creator":
            if (index == 0 || index == 2 || index == 3)
            {
                testJobRace();
            }
            else
            {
                testJobRaceSecondary();
            }
            break;
        default:
            break;
    }
}

# Save Job Button

Save the current job progress to Rockstar Cloud Server.

Code
m.memory((getCreatorScriptLocalWorkerBase() 
  + GTA.Offsets.Editor.OFFSET_current_creator_worker_offset_refresh * 8).ToString("X")).SetInt(5);

# Publish Job Button

Share the created job to make it available for other players.

Code
m.memory((getCreatorScriptLocalWorkerBase() 
  + GTA.Offsets.Editor.OFFSET_current_creator_worker_offset_refresh * 8).ToString("X")).SetInt(91);

# Fix Black Screen Button

A button to resolve issues related to a black screen, which may occasionally occur.

Code
string addy = (getCreatorScriptLocalWorkerBase() 
  + GTA.Offsets.Editor.OFFSET_current_creator_worker_offset_refresh * 8).ToString("X");
m.memory(addy).SetInt(0);
m.memory(addy).SetInt(7);

# Job ID Display Field Textfield

Display of the current job ID for unique job identification.

Code
tbjobid.Text = new Global(GTA.Offsets.Editor.jobid).GetString();

# Enable 3D Camera Checkbox

Checkbox to activate a 3D camera for editing.

Before After

# Hide Creator Menu Checkbox

Checkbox to hide the Creator Menu.

Code
new Global(GTA.Offsets.Editor.hide_creator_menu).SetInt(cbhidecreatormenu.IsChecked == true ? 1 : 0);

# Force Publish Checkbox

Checkbox to always have the option to publish the job, regardless of required conditions.

Code
bool needscan = curcreatorscanneeded();
if (needscan)
    GTA.Offsets.Editor.localptr = GTA.getCurrentCreatorAddy();

bool ischecked = cbforce_publish.IsChecked ?? true;
freeze = ischecked;
if (freeze)
{
    long addy = getCurrentCreatorBase();

    force_publishThread = new Thread(new ParameterizedThreadStart(force_publish));
    force_publishThread.Priority = ThreadPriority.Highest;
    force_publishThread.IsBackground = true;
    force_publishThread.Start(addy);
}
else
{
    force_publishThread.Abort();
}

public static void force_publish(object addy)
{
    long addr = (long)addy + GTA.Offsets.Editor.OFFSET_current_creator_pre_publish * 8;
    while (true)
    {
        m.memory(addr.ToString("X")).SetInt(255);
    }
}

# Display Online and Build Versions Textfield

Display the current Online and Build versions of GTA 5.


# Sample

This is how to Control Plane looks. Great right?

continue...