Post: [GSC] "RTM" Tool Source
06-13-2016, 07:25 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hello NGU, I notice that in many of the menus posted on NGU, there is a lack of customization options. Most of the toggles that involve setting numbers usually only have 2 or 3 settable numbers or small range of toggleable options or preset options. I am here releasing some code for everyone to use, that can easily turn a boring 2 option speed adjustment that a coder made into a default and custom speed adjustment that the user can set. This can turn an entire submenu dedicated to providing customization into a single option with many thousands of additional options. The best part is you only need to put the big function in once, then add on to it for every function that uses numbers the tool creates. I have provided the code and an example of usage in a function from the GSC Script lists:

Enjoy Enzo

Here is a boring Double Speed function for the Host found in lots of menus. It requires a single boring toggle.
    
H2xspeed()
{
if (self.h2xspeed == false)
{
self setmovespeedscale(2);
self iPrintln("^52X Speed ^2Enabled);
self.h2xspeed = true;
}
else
{
self setmovespeedscale(1);
self iPrintln("^52X Speed ^1Disabled");
self.h2xspeed = false;
}
}


Here is the Fun code, user can go 2X, 1.91111X, 0.00001X, 9999X speed or whatever they want. There are millions of speed values that the user can go.
Only requires the toggle code and a second menu option to call the RTM tool with the Host Speed function argument.
If the user doesn't want to adjust it at all, it defaults to 2, like the original boring function. The user has far more choice, is that what modding is about?
    
init()
{
level.hostadjustedspeed9 = 2; //Sets default value to 2 when the map loads and gives the variable a value.
}
H2xspeed()
{
if (self.h2xspeed == false)
{
self setmovespeedscale(level.hostadjustedspeed9);
self iPrintln("^5Speed Set To ^2" + level.hostadjustedspeed9);
self.h2xspeed = true;
}
else
{
self setmovespeedscale(1);
self iPrintln("^5Adjusted Speed ^1Disabled");
self.h2xspeed = false;
}
}

The GSC RTM Tool Code
Controls are as follows:
Controls on the DPASad Awesome UP = add selected value, Down = subtract selected value, Left = subtract slider value, Right = add slider value
Controls else where: Melee = Applies number to variable and ends the function.

    
GenericNumberselectorRTMbase(selector) //Created by Nothingbutbread
{
self endon("toggledout1");
self endon("disconnect");
self endon("death");
level endon("game_ended");
self.genericnumbervalue = 0;
self.genericnumberslectornum1 = 1;
self iprintln("^5Welcome to the RTM Tool, Press DPAD UP and DOWN to adjust values. Press DPAD LEFT and RIGHT to chose what value you're adjusting.");
for(;Winky Winky
{
if (self MeleeButtonPressed()) //The selector tells the function what purpose the number that is created is to serve. Put output restrictions here.
{
if (selector == 1)
{
Unknownoption();
}
if (selector == 2) //Sample Usage straight from my code, goes with host speed function above.
{
level.hostadjustedspeed9 = self.genericnumbervalue; //Format [Value you want to set] = [Value set in In-game Editor];
}
if (selector == 3) //Sample Usage straight from my code
{
level.rapidkillerwinningkills = ceil(self.genericnumbervalue); //The last function rounds up numbers
wait .05;
if (level.rapidkillerwinningkills <= 0) //Makes sure the lowest value that is inserted is 1, the editor can insert as low as 0
{
level.rapidkillerwinningkills = 1;
}
self iprintln("^5Master Kill Lobby Winning Points set to ^2" + level.rapidkillerwinningkills);
}
if (selector == 4)
{
Unknownoption();
}
if (selector == 5)
{
Unknownoption();
}
if (selector == 6)
{
Unknownoption();
}
if (selector == 7)
{
Unknownoption();
}
wait .05;
self iprintlnbold("^5Exited Number Editor, ^2Number Saved for Use!");
wait .05;
self notify("toggledout1");
if (self actionSlotOneButtonPressed())
{
if (self.genericnumberslectornum1 == 1)
self.genericnumbervalue += 1000;
if (self.genericnumberslectornum1 == 2)
self.genericnumbervalue += 100;
if (self.genericnumberslectornum1 == 3)
self.genericnumbervalue += 10;
if (self.genericnumberslectornum1 == 4)
self.genericnumbervalue += 1;
if (self.genericnumberslectornum1 == 5)
self.genericnumbervalue += .1;
if (self.genericnumberslectornum1 == 6)
self.genericnumbervalue += .01;
if (self.genericnumberslectornum1 == 7)
self.genericnumbervalue += .001;
if (self.genericnumberslectornum1 == Cool Man (aka Tustin)
self.genericnumbervalue += .0001;
if (self.genericnumberslectornum1 == 9)
self.genericnumbervalue += .00001;
if (self.genericnumberslectornum1 == 10)
self.genericnumbervalue += .000001;
if (self.genericnumbervalue >= 10000 || self.genericnumbervalue < 0)
self.genericnumbervalue = 0;
self iprintlnbold("^7[ ^5" + self.genericnumbervalue + " ^7]");
}
if (self actionSlotTwoButtonPressed())
{
if (self.genericnumberslectornum1 == 1)
self.genericnumbervalue -= 1000;
if (self.genericnumberslectornum1 == 2)
self.genericnumbervalue -= 100;
if (self.genericnumberslectornum1 == 3)
self.genericnumbervalue -= 10;
if (self.genericnumberslectornum1 == 4)
self.genericnumbervalue -= 1;
if (self.genericnumberslectornum1 == 5)
self.genericnumbervalue -= .1;
if (self.genericnumberslectornum1 == 6)
self.genericnumbervalue -= .01;
if (self.genericnumberslectornum1 == 7)
self.genericnumbervalue -= .001;
if (self.genericnumberslectornum1 == Cool Man (aka Tustin)
self.genericnumbervalue -= .0001;
if (self.genericnumberslectornum1 == 9)
self.genericnumbervalue -= .00001;
if (self.genericnumberslectornum1 == 10)
self.genericnumbervalue -= .000001;
if (self.genericnumbervalue >= 10000 || self.genericnumbervalue < 0)
self.genericnumbervalue = 0;
self iprintlnbold("^7[ ^5" + self.genericnumbervalue + " ^7]");
}
if (self actionSlotThreeButtonPressed())
{
self.genericnumberslectornum1 -= 1;
if (self.genericnumberslectornum1 < 0)
self.genericnumberslectornum1 = 10;
if (self.genericnumberslectornum1 > 10)
self.genericnumberslectornum1 = 1;
if (self.genericnumberslectornum1 == 10)
self iprintln("^5.000001's ^2Place Selected");
if (self.genericnumberslectornum1 == 9)
self iprintln("^5.00001's ^2Place Selected");
if (self.genericnumberslectornum1 == Cool Man (aka Tustin)
self iprintln("^5.0001's ^2Place Selected");
if (self.genericnumberslectornum1 == 7)
self iprintln("^5.001's ^2Place Selected");
if (self.genericnumberslectornum1 == 6)
self iprintln("^5.01's ^2Place Selected");
if (self.genericnumberslectornum1 == 5)
self iprintln("^5.1's ^2Place Selected");
if (self.genericnumberslectornum1 == 4)
self iprintln("^51's ^2Place Selected");
if (self.genericnumberslectornum1 == 3)
self iprintln("^510's ^2Place Selected");
if (self.genericnumberslectornum1 == 2)
self iprintln("^5100's ^2Place Selected");
if (self.genericnumberslectornum1 == 1)
self iprintln("^51000's ^2Place Selected");
}
if (self actionSlotFourButtonPressed())
{
self.genericnumberslectornum1 += 1;
if (self.genericnumberslectornum1 < 0)
self.genericnumberslectornum1 = 10;
if (self.genericnumberslectornum1 > 10)
self.genericnumberslectornum1 = 1;
if (self.genericnumberslectornum1 == 10)
self iprintln("^5.000001's ^2Place Selected");
if (self.genericnumberslectornum1 == 9)
self iprintln("^5.00001's ^2Place Selected");
if (self.genericnumberslectornum1 == Cool Man (aka Tustin)
self iprintln("^5.0001's ^2Place Selected");
if (self.genericnumberslectornum1 == 7)
self iprintln("^5.001's ^2Place Selected");
if (self.genericnumberslectornum1 == 6)
self iprintln("^5.01's ^2Place Selected");
if (self.genericnumberslectornum1 == 5)
self iprintln("^5.1's ^2Place Selected");
if (self.genericnumberslectornum1 == 4)
self iprintln("^51's ^2Place Selected");
if (self.genericnumberslectornum1 == 3)
self iprintln("^510's ^2Place Selected");
if (self.genericnumberslectornum1 == 2)
self iprintln("^5100's ^2Place Selected");
if (self.genericnumberslectornum1 == 1)
self iprintln("^51000's ^2Place Selected");
}
wait .05;
}
}
//To flip any number to its negative counter part, place a "* -1" in the output where you set the your variable as the editors output number.
Unknownoption() //Because its called as a place holder, had to included it, get rid of this when you put in real functions.
{
self iprintln("^1No Function is bound to that option yet");
}

The Black ops 2 community deserves more options in our menus, this is the easy way to do this.
Last edited by Nothingbutbread ; 06-15-2016 at 12:25 AM. Reason: Improved Optimization of the Script

The following user thanked Nothingbutbread for this useful post:

sandro oliveira

The following user groaned Nothingbutbread for this awful post:

ProfoundModz
06-22-2016, 01:38 AM #11
Nate͍
Do a barrel roll!
Originally posted by Nothingbutbread View Post
I injected the compiled GSC with GSC Studio you had on the downloads folder then connected your tool with tmapi in pre-game lobby, then loaded up the game, the typed in some numbers. Didn't notice anything different about the game.


I must've fucked something up.. I don't have a way to test anything

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo