THREAD: [C#/VB/C++] Ultimate RTM Tool Programming Tutorial
  1. 05-26-2016, 11:05 PM
    S63's Avatar
    S63
    Space Ninja
    S63's Avatar
    S63
    Space Ninja
    841
    Posts
    6,215
    Reputation
    Jan 2016
    NextGenUpdate
    HI NGU,
    I made these tutorials because I don't see many people making stuff anymore and would like to see more
    people starting to code so the community can start to grow and become stronger Happy

    In this tutorial we will be making tools in the following languages:
    C#
    VB.NET
    C++

    Things Required (Green = Needed, Orange = Recommended):
    A Brain
    Computer (Not MAC)
    Control Console Or Target Manager API!
    Offsets for game your coding
    Access to a CFW PS3 system

    Find PS3Lib You must login or register to view this content.

    Definitions:
    Spoiler:

    Encoding:

    Encoding is a class (System.Text), we will be using ACSII (7 bit) which is part of the encoding class. What
    ACSII (7 bit) basically does this converts character sets, we will be using this so we can convert are
    name strings (for name changers) to bytes so the PS3 system is able to read them correctly.


    Bitconverter:

    Bitconverter is a class, we will be using GetBytes(Int32) which will return the
    specified 32-bit signed integer value as an array of bytes.



    C#
    Spoiler:

    Tutorial 1 (Setting up form)
    Spoiler:

    So first off you want to start by making a new project...
    You must login or register to view this content.

    after this you want to click on C# Projects, then click windows application form.
    You must login or register to view this content.

    after creating your windows application form you will get this...
    You must login or register to view this content.

    Now you can see the tool box on the side, click it and is should open all we need for this part is
    radionbutton and button. Now we can design our tool. Also to edit the properties just look and the
    bottom right hand corner and you'll see the properties windows everything you need to edit the
    properties of your button etc is there just use your brain
    You must login or register to view this content.

    Next we want to add the PS3Lib to are refrences you do this...
    You must login or register to view this content.

    Once done add using PS3Lib to are app and we need to define it like this...
    You must login or register to view this content.


    Tutorial 2 (Adding API options to the tool)
    Spoiler:

    So now what you want to do after completing tutorial 1 is double click your TMAPI button.
    You must login or register to view this content.

    Now you want to add our code for tmapi which is: PS3.ChangeAPI(SelectAPI.TargetManager); exactly how you see it.
    You must login or register to view this content.

    And just do the same for CCAPI button.
    You must login or register to view this content.

    Next we want to add our connect code which is like this.
    You must login or register to view this content.

    Just do this again for attach.
    You must login or register to view this content.

    now we want to add our disconnect function.
    You must login or register to view this content.

    Now for Power off we need to create a API checker which is done like this.
    You must login or register to view this content.


    Tutorial 3 (Stats Editor and Name Changing)
    Spoiler:

    So for stats editing we are going to be using converting functions and encoding functions (Read above in definations).

    So we are going to need a numericUpDown, label, button and a checkbox like so....
    You must login or register to view this content.

    First things first we want to edit our numericUpDown min value and max value to this just do.....
    You must login or register to view this content.

    Recommended Max and Min values:

    For Score, Killss etc...
    Max - 2147483647
    Min - -2147483647

    For Time played Editor
    Days
    Max - 199
    Min - 0

    Hours
    Max - 23
    Min - 0

    Minutes
    Max - 59
    Min - 0

    Seconds
    Max - 59
    Min - 0


    Next we want to make our button only set stats if the checkbox is checked, we will do this by using if statements and bools
    You must login or register to view this content.

    Now we want to add our set code functions which we will make now.
    You must login or register to view this content.

    Now we got our set stats function, we now need a Set Time Played Function!
    You must login or register to view this content.

    Finally we can make our stats editor.
    You must login or register to view this content.

    And last of all for stats edit we want to make checkall function!
    You must login or register to view this content.

    And now we can move to making a name changer!

    First you want to get your textbox, button, checkBox and a timer!
    You must login or register to view this content.

    Now we want to start by coding send name!
    You must login or register to view this content.

    Next we wanna set up our checkBox (Flashing Name)!
    You must login or register to view this content.

    Finally to finish of this tutorial we will add flashing name to our timer, you wanna add random
    function to the top of your project likes this!
    You must login or register to view this content.

    Then do this...
    You must login or register to view this content.


    Tutorial 4 (Adding Clients)
    Spoiler:

    In this tutorial we will be using dataGridView, buttons and contextmenustrip...

    First we want to get our buttons ready...
    You must login or register to view this content.

    We want to find our columns in properties for datagridview like this!
    You must login or register to view this content.

    Next we want to add columns...
    You must login or register to view this content.

    Now we want to add our contextmenustrip...
    You must login or register to view this content.

    Next we want to make our getclientname function using the function ReadSting, also we need
    client 0 name offset(MW2 - 0x014e5490) and client size (MW2 - 0x3700)
    You must login or register to view this content.

    Now we want to add this function to our datagridview like this...
    You must login or register to view this content.

    Finally we are going to make our godmode function and add to our contextmenustrip..
    You must login or register to view this content.

    Now we will make give godmode...
    You must login or register to view this content.

    Then we will remove godmode...
    You must login or register to view this content.


    If you guys want more tutorials posted on thread that is linked to C# just let me know below!
    What do you guys want me to make for my next tutorial here on NGU?
    Please post your ideas below and ill reply ASAP!
    [/CODE]


    VB.NET
    Spoiler:

    Tutorial 1 (Setting up Form)
    Spoiler:

    So first off you want to start by making a new project...
    You must login or register to view this content.

    after this you want to click on VB Projects, then click windows application form.
    You must login or register to view this content.

    after creating your windows application form you will get this...
    You must login or register to view this content.

    Now you can see the tool box on the side, click it and is should open all we need for this part is
    radionbutton and button. Now we can design our tool. Also to edit the properties just look and the
    bottom right hand corner and you'll see the properties windows everything you need to edit the
    properties of your button etc is there just use your brain
    You must login or register to view this content.

    Next we want to add the PS3Lib to are refrences you do this...
    You must login or register to view this content.

    Once done add using PS3Lib to are app and we need to define it like this...
    You must login or register to view this content.


    Tutorial 2 (Adding API options to the tool)
    Spoiler:

    So now what you want to do after completing tutorial 1 is double click your TMAPI button.
    You must login or register to view this content.

    Now you want to add our code for tmapi which is: PS3.ChangeAPI(SelectAPI.TargetManager) exactly how you see it.
    You must login or register to view this content.

    And just do the same for CCAPI button.
    You must login or register to view this content.

    Next we want to add our connect code which is like this.
    You must login or register to view this content.

    Just do this again for attach.
    You must login or register to view this content.

    now we want to add our disconnect function.
    You must login or register to view this content.

    Now for Power off we need to create a API checker which is done like this.
    You must login or register to view this content.


    Tutorial 3 (Stats Editor and Name Changing)
    Spoiler:

    So for stats editing we are going to be using converting functions and encoding functions (Read above in definations).

    So we are going to need a numericUpDown, label, button and a checkbox like so....
    You must login or register to view this content.

    First things first we want to edit our numericUpDown min value and max value to this just do.....
    You must login or register to view this content.

    Recommended Max and Min values:

    For Score, Killss etc...
    Max - 2147483647
    Min - -2147483647

    For Time played Editor
    Days
    Max - 199
    Min - 0

    Hours
    Max - 23
    Min - 0

    Minutes
    Max - 59
    Min - 0

    Seconds
    Max - 59
    Min - 0


    Next we want to make our button only set stats if the checkbox is checked, we will do this by using if statements and bools
    You must login or register to view this content.

    Now we want to add our set code functions which we will make now.
    You must login or register to view this content.

    Now we want to add are numerics for timeplayed etc..
    You must login or register to view this content.

    we now need a Set Time Played!
    You must login or register to view this content.

    And last of all for stats edit we want to make checkall function!
    You must login or register to view this content.

    And now we can move to making a name changer!

    First you want to get your textbox, button, checkBox and a timer!
    You must login or register to view this content.

    Now we need to add Imports System.Text as the top of are project so we can use encoding.
    You must login or register to view this content.

    Now we want to start by coding send name!
    You must login or register to view this content.

    Next we wanna set up our checkBox (Flashing Name)!
    You must login or register to view this content.

    Finally to finish of this tutorial we will add flashing name to our timer, you wanna add random
    function to the top of your project likes this!
    You must login or register to view this content.

    Then do this...
    You must login or register to view this content.


    If you guys want more tutorials posted on thread that is linked to VB.NET just let me know below!
    What do you guys want me to make for my next tutorial here on NGU?
    Please post your ideas below and ill reply ASAP!


    Q And A
    Spoiler:

    Where can i get offsets from?

    Modern Warfare 1 - You must login or register to view this content.
    World At War - You must login or register to view this content.
    Modern Warfare 2 - You must login or register to view this content.
    Black Ops 1 - You must login or register to view this content.
    Modern Warfare 3 - You must login or register to view this content.
    Black Ops 2 -
    Ghosts - You must login or register to view this content.
    Advanced Warfare -


    Are offsets the same for everygame?

    No They are different and they change if a new update for the game comes out!


    How do i find offsets?

    Easy use debugger or ida pro!


    How do i add other CCAPI Commands?

    C#

    Notify Modes!
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.ARROW, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.ARROWRIGHT, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.CAUTION, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.DIALOG, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.DIALOGSHADOW, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.FINGER, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.FRIEND, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.GRAB, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.HAND, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.INFO, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.PEN, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.POINTER, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.PROGRESS, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.SLIDER, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.TEXT, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.TROPHY1, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.TROPHY2, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.TROPHY3, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.TROPHY4, "");
    PS3.CCAPI.Notify(CCAPI.NotifyIcon.WRONGWAY, "");

    Shutdown Modes!
    PS3.CCAPI.ShutDown(CCAPI.RebootFlags.ShutDown);
    PS3.CCAPI.ShutDown(CCAPI.RebootFlags.SoftReboot);
    PS3.CCAPI.ShutDown(CCAPI.RebootFlags.HardReboot);

    Buzzer Modes!
    PS3.CCAPI.RingBuzzer(CCAPI.BuzzerMode.Single);
    PS3.CCAPI.RingBuzzer(CCAPI.BuzzerMode.Double);
    PS3.CCAPI.RingBuzzer(CCAPI.BuzzerMode.Continuous);

    LED Settings!
    Green:
    PS3.CCAPI.SetConsoleLed(CCAPI.LedColor.Green, CCAPI.LedMode.On);
    PS3.CCAPI.SetConsoleLed(CCAPI.LedColor.Green, CCAPI.LedMode.Off);
    PS3.CCAPI.SetConsoleLed(CCAPI.LedColor.Green, CCAPI.LedMode.Blink);

    Red:
    PS3.CCAPI.SetConsoleLed(CCAPI.LedColor.Red, CCAPI.LedMode.On);
    PS3.CCAPI.SetConsoleLed(CCAPI.LedColor.Red, CCAPI.LedMode.Off);
    PS3.CCAPI.SetConsoleLed(CCAPI.LedColor.Red, CCAPI.LedMode.Blink);

    PSID And IDPS Changers:
    IDPS Changer:
    PS3.CCAPI.Set*********("");

    PSID Changer:
    PS3.CCAPI.SetPSID("");

    PSID And IDPS Changer On PS3 Boot Up!
    PS3.CCAPI.SetBoot*********("", CCAPI.IdType.IDPS);
    PS3.CCAPI.SetBoot*********("", CCAPI.IdType.PSID);

    PSID And IDPS Reset:
    PS3.CCAPI.ResetBoot*********(CCAPI.IdType.IDPS);
    PS3.CCAPI.ResetBoot*********(CCAPI.IdType.PSID);



    Other Useful Resources

    C# - You must login or register to view this content.
    VB - You must login or register to view this content.
    C++ (Win32) - You must login or register to view this content.


    Credits

    S63 For The Tutorials
    Sony For Target Manager API
    iMCSx For PS3Lib
    Enstone For CCAPI
    And Whoever Found The Offsets I Used Happy
    Last edited by S63 ; 09-01-2016 at 04:45 PM.

  2. The Following 6 Users Say Thank You to S63 For This Useful Post:

    , , , , ,

  3. 06-05-2016, 09:39 PM
    S63's Avatar
    S63
    Space Ninja
    S63's Avatar
    S63
    Space Ninja
    841
    Posts
    6,215
    Reputation
    Jan 2016
    NextGenUpdate
    Originally Posted by DordeModz View Post
    Class namechanger Code?


    What game bro?

    public static void SetClass(uint Offset, int ClassNum, string name)
    {
    PS3.Extensions.WriteString(Offset + ((uint)ClassNum * class_size), name);
    }

    public static void SetAllClass(uint offset, string name)
    {
    for (int i = 0; i < 10; i++)
    {
    PS3.Extensions.WriteString(offset ((uint)i * class_size), name);
    }
    }
    Last edited by S63 ; 06-05-2016 at 09:54 PM.

  4. 06-07-2016, 04:39 PM
    59
    Posts
    70
    Reputation
    May 2016
    NextGenUpdate
    I have one...write me in private
  5. 06-07-2016, 07:01 PM
    S63's Avatar
    S63
    Space Ninja
    S63's Avatar
    S63
    Space Ninja
    841
    Posts
    6,215
    Reputation
    Jan 2016
    NextGenUpdate
    Originally Posted by R3ALYZED View Post
    I have one...write me in private


    Write to you about what?
  6. 06-08-2016, 02:32 PM
    59
    Posts
    70
    Reputation
    May 2016
    NextGenUpdate
    Ah sorry didn't see your message about the name changer for him Winky Winky
  7. 06-09-2016, 07:37 AM
    S63's Avatar
    S63
    Space Ninja
    S63's Avatar
    S63
    Space Ninja
    841
    Posts
    6,215
    Reputation
    Jan 2016
    NextGenUpdate
    Originally Posted by R3ALYZED View Post
    Ah sorry didn't see your message about the name changer for him Winky Winky


    Ah ok no worries :homer:
  8. 06-10-2016, 02:59 AM
    Freezee's Avatar
    Freezee
    Bounty hunter
    Freezee's Avatar
    Freezee
    Bounty hunter
    172
    Posts
    1,116
    Reputation
    Jan 2015
    NextGenUpdate
    Awesome tutorial, might even be better than my two, Good Job!
  9. The Following User Thanked Freezee For This Useful Post:


  10. 06-11-2016, 01:52 PM
    S63's Avatar
    S63
    Space Ninja
    S63's Avatar
    S63
    Space Ninja
    841
    Posts
    6,215
    Reputation
    Jan 2016
    NextGenUpdate
    Originally Posted by Freezee View Post
    Awesome tutorial, might even be better than my two, Good Job!



    Thanks :homer:
  11. 01-23-2018, 09:38 PM
    paitate56000's Avatar
    paitate56000
    Save Point
    paitate56000's Avatar
    paitate56000
    Save Point
    7
    Posts
    10
    Reputation
    Feb 2017
    NextGenUpdate
    And C++ tutoriel ?
  12. 07-24-2018, 01:20 AM
    S63's Avatar
    S63
    Space Ninja
    S63's Avatar
    S63
    Space Ninja
    841
    Posts
    6,215
    Reputation
    Jan 2016
    NextGenUpdate
    Originally Posted by paitate56000 View Post
    And C++ tutoriel ?


    i will try and add that for you soon buddy just been busy with stuff