Hello all , since there seems to be lots of interest in XRPC tools again with COD: Ghosts being out now, I thought I would put up a VERY basic series of tutorials to help members who may want to try their hand at making some xrpc tools For this you will need: 1. My source attached below,or a new C# Form application project in Visual Studio 2. Xbox360 SDK installed on your PC with your console set as default 3. Your Jtag-RGH 360 with RPC.xex and XBDM.xex plugins installed http://www.youtube.com/watch?v=0pLZe9SfyrU sorry vids a bit laggy my PC is pretty weak Here is a single cheat tool that shows how to setup the app and connect, shows us some console info in the connected message box,,gives us 3 jump height levels plus default ,and shows a popup when level is set Code: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; //Add reference to XRPCLib using XRPCLib; namespace RT3ME { public partial class Form1 : Form { //Make an instance of our XRPC class XRPC x = new XRPC(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //Try to connect , dispay console info if success, error message if failed try { x.Connect(); MessageBox.Show("Connected To: " + x.xbCon.Name + "\n\nConsole Type: " + x.xbCon.ConsoleType + "\n\nMounted Drives: " + x.xbCon.Drives + "\n\nCurrently Running: " + x.xbCon.RunningProcessInfo.ProgramName, "Connected!"); } catch (System.Exception) { MessageBox.Show("No Console To Connect", "Error!"); } } private void dateTime_Tick(object sender, EventArgs e) { //date/time label just for fun dateTimeLbl.Text = System.DateTime.Now.ToString(); } private void XPG_Click(object sender, EventArgs e) { //Gotta rep XPG ^_^ System.Diagnostics.Process.Start("http://www.xpgamesaves.com"); } private void setJumpHt_Click(object sender, EventArgs e) { //Fix Fall Damage First x.SetMemory(0x8201B424, new byte[] { 0x4F, 0xFF, 0x00, 0x00 }); //Select jump height based on numerical up/down box, //we are giving 3 levels of jump here plus default if (jumpLvlNumBox.Value == 0) { x.SetMemory(0x820151F8, new byte[] { 0x42, 0x1c, 0x00, 0x00 }); x.Notify(XRPC.XNotiyLogo.FLASH_LOGO, "Default Jump Set"); } if (jumpLvlNumBox.Value == 1) { x.SetMemory(0x820151F8, new byte[] { 0x43, 0xFF, 0x00, 0x00 }); x.Notify(XRPC.XNotiyLogo.FLASH_LOGO, "Level 1 Jump Set"); } if (jumpLvlNumBox.Value == 2) { x.SetMemory(0x820151F8, new byte[] { 0x45, 0xFF, 0x00, 0x00 }); x.Notify(XRPC.XNotiyLogo.FLASH_LOGO, "Level 2 Jump Set"); } if (jumpLvlNumBox.Value == 3) { x.SetMemory(0x820151F8, new byte[] { 0x48, 0xFF, 0x00, 0x00 }); x.Notify(XRPC.XNotiyLogo.FLASH_LOGO, "Level 3 Jump Set"); } } } } have a browse through the code and my notes inside should get you heading in the right direction feel free to comment with questions or suggestions for Part2+ enjoy :begal:
i would personally use this for connection x.Connect(); if (x.activeConnection == true) { MessageBox.Show("Tool was succesfully connected to default console"); } else { MessageBox.Show("Connection to defaut console failed!"); } Also since its using XRPC and one of the major things why people use it is because it can call functions, you should show some sample on that too
Well now ya basically wiped out half of part 2 with checking the connection I'll have to add some more error handling stuff to that and a few extras and that will be part2 , and yea functions and all that will come in part3+ , thanks for the input coder
Ooh man this is awesome i wanted to know how to send pop ups with xnotify but was inputting the wrong name i believe I think I had Happy_Face or something similiar awesome tut
Seems pointless to do that. Using a try catch statement is much more efficient for error handling and logging. Also you don't need to compare a bool to true / false in a if..else statement. It will already evaluate it like if true then else this
Very nice Begal, but you could use a switch for the jump height? I'm a noob in C# but i think i read something about that.
yes it's possible, use x.SetMemory(0x8201B424, new byte[] { 0x4F, 0xFF, 0x00, 0x00 }); //This is Fall_Damage if (switchButton == true) { x.SetMemory(0x820151F8, new byte[] { 0x,46, 0x1C, 00, 00 }); //Jump x.Notify(XRPC.XNotiyLogo.FLASH_LOGO, "Modded Jump Set"); //XNotify } if (switchButton == false) { x.SetMemory(0x820151F8, new byte[] { 0x,42, 0x1C, 00, 00 }); x.Notify(XRPC.XNotiyLogo.FLASH_LOGO, "Default Jump Set"); } I'm sorry I can not edit my other post, is switchButton.Value == true please moderator add this post to my other post
Yes a switch case would work just fine for this as well , wrote this up and tested it just now, produces exact same results as the method in Part1,,I will add this as an alternate method for that function in part2 , thanks for pointing that out , options of use are good to have int jVal = Convert.ToInt32(jumpLvlNumBox.Value); switch (jVal) { case 0 : x.SetMemory(0x820151F8, new byte[] { 0x42, 0x1c, 0x00, 0x00 }); break; case 1: x.SetMemory(0x820151F8, new byte[] { 0x43, 0xFF, 0x00, 0x00 }); break; case 2: x.SetMemory(0x820151F8, new byte[] { 0x45, 0xFF, 0x00, 0x00 }); break; case 3: x.SetMemory(0x820151F8, new byte[] { 0x48, 0xFF, 0x00, 0x00 }); break; } I believe he was talking about what I have posted above Working on Part2 right now, should be up later today, just trying to be sure I make the most of each part of this series without overwhelming members who may be new to coding their own apps, also giving myself enough time to research my own info and use some of what others have shared as well (credits and thanks will be given to those who's open source mw tools I have looked at)
I keep getting this error? Error 1 The name 'x' does not exist in the current context EDIT: Fixed forgot to add //Make an instance of our XRPC class XRPC x = new XRPC();