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-13-2016, 07:39 AM #2
anthonything
Space Ninja
Originally posted by Nothingbutbread View Post
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;
}
wait .05;
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;
}
wait .05;
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.


Look dude, i dont want to be a dick about it because you are pretty supportive and it looks like you tried, but this doesnt really do much.
Heres a couple things you may want to note:
1: Anything that is a type of interval can be done mathematically. For example:
    
//You used if statements. Why would you do this, when... (By the way, it's obviously psuedo code)
desiredvalue = 0;
self.placevalue = 0;
if( self actionslotonebuttonpressed() )
self.placevalue++;
if( self actionslottwobuttonpressed() )
self.placevalue--;

if( self.placevalue < 0 )
desiredvalue += 1/(pow(10,self.placevalue * -1);
else
desiredvalue += pow(10,self.placevalue);


//If you want to subtract, simply have a different button do the same thing.
//Essentially, this does exactly what yours does, but in much less code. Im not sure if GSC includes a Math.pow function or not, if not, just define one.

2: The entire idea behind this is that users cannot customize as much as you think should be possible.
-The issue with this argument, is that most users are not what i like to call "power users". Simplicity is normally better for most users.

Just trying to help man, i like the idea, not the implementation. Hope this helps.

The following user groaned anthonything for this awful post:

MrMoan
06-13-2016, 08:36 AM #3
Originally posted by anthonything View Post
Look dude, i dont want to be a dick about it because you are pretty supportive and it looks like you tried, but this doesnt really do much.
Heres a couple things you may want to note:
1: Anything that is a type of interval can be done mathematically. For example:
    
//You used if statements. Why would you do this, when... (By the way, it's obviously psuedo code)
desiredvalue = 0;
self.placevalue = 0;
if( self actionslotonebuttonpressed() )
self.placevalue++;
if( self actionslottwobuttonpressed() )
self.placevalue--;

if( self.placevalue < 0 )
desiredvalue += 1/(pow(10,self.placevalue * -1);
else
desiredvalue += pow(10,self.placevalue);


//If you want to subtract, simply have a different button do the same thing.
//Essentially, this does exactly what yours does, but in much less code. Im not sure if GSC includes a Math.pow function or not, if not, just define one.

2: The entire idea behind this is that users cannot customize as much as you think should be possible.
-The issue with this argument, is that most users are not what i like to call "power users". Simplicity is normally better for most users.

Just trying to help man, i like the idea, not the implementation. Hope this helps.


Well I understand what you mean, but at the end of the day, I'm just trying to help the community. Even if my efforts or trivial and/or misguided. I coded it simply as a base, the concept can be used by anyone and adapted for a particular menu. With how little I have seen the concept, I though it was worth try to bring it to the community. The code might be lengthy ... but it works like a charm and does exactly what I say it does.
However I strongly disagree at your point that this concept removes simplicity. Merging this concept with relative applications of it would maintain existing simplicity. The user doesn't have mess around with number creator and applier to edit his speed (in the example). He can use the init value set by creator of the menu by default. All the menu creators needs to do to implement is add section to place the edit function in the menu and define the valid parameters of the output of the number creator. What you have is the simple options along with a single button for every other possibility. Basic users are happy with simplicity, advanced users are happy with being able to define values the way they want them set.
If can't see what I trying to point out, the theme menu and theme menu creator menus of my XP lobby demonstrate this concept with a very similar function perfectly.
06-13-2016, 08:42 AM #4
anthonything
Space Ninja
Originally posted by Nothingbutbread View Post
Well I understand what you mean, but at the end of the day, I'm just trying to help the community. Even if my efforts or trivial and/or misguided. I coded it simply as a base, the concept can be used by anyone and adapted for a particular menu. With how little I have seen the concept, I though it was worth try to bring it to the community. The code might be lengthy ... but it works like a charm and does exactly what I say it does.
However I strongly disagree at your point that this concept removes simplicity. Merging this concept with relative applications of it would maintain existing simplicity. The user doesn't have mess around with number creator and applier to edit his speed (in the example). He can use the init value set by creator of the menu by default. All the menu creators needs to do to implement is add section to place the edit function in the menu and define the valid parameters of the output of the number creator. What you have is the simple options along with a single button for every other possibility. Basic users are happy with simplicity, advanced users are happy with being able to define values the way they want them set.
If can't see what I trying to point out, the theme menu and theme menu creator menus of my XP lobby demonstrate this concept with a very similar function perfectly.


The issue is, when you release code, you cant think of it as "Well it works, just use it", because you have to remember that other users are going to want to utilize your code. This is something you learn through experience, and im trying to help you understand that if there is a better way to do something, do it. There's never an excuse not to optimize code, especially when readability comes into play. This is one of those things that make you a better coder; learn from it, use it to your advantage. It may be a bit more challenging for you, but in the end, it makes you better at what you do.

And im not sure if you will even bother, but here is a clean version of your idea: You must login or register to view this content.
Last edited by anthonything ; 06-13-2016 at 09:03 AM. Reason: Added clean version of your code
06-13-2016, 09:11 AM #5
Originally posted by anthonything View Post
The issue is, when you release code, you cant think of it as "Well it works, just use it", because you have to remember that other users are going to want to utilize your code. This is something you learn through experience, and im trying to help you understand that if there is a better way to do something, do it. There's never an excuse not to optimize code, especially when readability comes into play. This is one of those things that make you a better coder; learn from it, use it to your advantage. It may be a bit more challenging for you, but in the end, it makes you better at what you do.


This was the most optimized I was able to make the code before releasing this. Given you have suggested a different way of further reducing it, I will be looking into it and refining hard code to make the concept easier to implement. Nonetheless I still stand by my own work and look to make it even better and with it, everyone else. I appreciate the criticism though. I still think NGU is better off with this concept being known by more coders.
06-13-2016, 10:03 AM #6
wow gr8 moves keep it up proud of you
06-16-2016, 03:21 PM #7
Nate͍
Do a barrel roll!
Why not make something like this? Where the gsc and rtm work together :P

Download: You must login or register to view this content.

Virus scan: You must login or register to view this content.
06-20-2016, 04:39 AM #8
Originally posted by personnumber1 View Post
Why not make something like this? Where the gsc and rtm work together :P

Download: You must login or register to view this content.

Virus scan: You must login or register to view this content.


I could see this idea working well with this concept. I could see this being implemented quite nicely given everyone who chooses to use this concept uses the same function name and dynamic value names.
However ... I have no knowledge in coding computer based RTM tools at this time ... and I couldn't get your proof of concept tool and GSC thing working thus far ...
06-20-2016, 05:36 AM #9
Nate͍
Do a barrel roll!
Originally posted by Nothingbutbread View Post
I could see this idea working well with this concept. I could see this being implemented quite nicely given everyone who chooses to use this concept uses the same function name and dynamic value names.
However ... I have no knowledge in coding computer based RTM tools at this time ... and I couldn't get your proof of concept tool and GSC thing working thus far ...


How couldn't you get it working?
06-21-2016, 03:59 PM #10
Originally posted by personnumber1 View Post
How couldn't you get it working?


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.

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo