#
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.
#
Skip Testing
Button
Skip the job testing process if desired.
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);
}
How it Works
The function tries to lookup a value to see if an creator scan for the worker base is needed with curcreatorscanneeded
.
If its needed it will get the worker base with function getCurrentCreatorAddy
.
It then proceeds to set local worker base (getCurrentCreatorBase
) + f_759
and f_760
to 1 and json Value testcomplete
(Global Global_4718592.f_144673
) to 15.
#
Initiate Test
Dropdown
Button
Select a team from a dropdown menu and initiate job testing for that specific team.
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;
}
}
How it Works
Dont want to explain all that :P
#
Save Job
Button
Save the current job progress to Rockstar Cloud Server.
m.memory((getCreatorScriptLocalWorkerBase()
+ GTA.Offsets.Editor.OFFSET_current_creator_worker_offset_refresh * 8).ToString("X")).SetInt(5);
How it Works
This first gets the current Creator worker base with getCreatorScriptLocalWorkerBase
function and then adds sublocal f_556
to get the right memory address and then proceeds to set the value to 5.
#
Publish Job
Button
Share the created job to make it available for other players.
m.memory((getCreatorScriptLocalWorkerBase()
+ GTA.Offsets.Editor.OFFSET_current_creator_worker_offset_refresh * 8).ToString("X")).SetInt(91);
How it Works
This first gets the current Creator worker base with getCreatorScriptLocalWorkerBase
function and then adds sublocal f_556
to get the right memory address and then proceeds to set the value to 91.
#
Fix Black Screen
Button
A button to resolve issues related to a black screen, which may occasionally occur.
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);
How it Works
This first gets the current Creator worker base with getCreatorScriptLocalWorkerBase
function and then adds sublocal f_556
to get the right memory address and then proceeds to set the value to 0 and then to 7.
If you have more ways to fix blackscreens, please contact me on Discord https://discord.gg/f2Uwzwr
#
Job ID Display Field
Textfield
Display of the current job ID for unique job identification.
tbjobid.Text = new Global(GTA.Offsets.Editor.jobid).GetString();
How it Works
Displays Global_4718592.f_117878
-> Example: uxNbvCavAEG-ZcKwLU5T2A
#
Enable 3D Camera
Checkbox
Checkbox to activate a 3D camera for editing.
#
Hide Creator Menu
Checkbox
Checkbox to hide the Creator Menu.
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.
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);
}
}
How it Works
The function tries to lookup a value to see if an creator scan for the worker base is needed with curcreatorscanneeded
.
If its needed it will get the worker base with function getCurrentCreatorAddy
.
It then initializes an existing Thread that that executes function force_publish
with parameter addy
which holds the output from getCurrentCreatorBase
. Function force_publish
then calculates the right address with local f_756
and freezes the value to 255
. This tells the Creator that all prerequisites for publishing are met and makes the publishing Button available in Creator.
#
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...