Post: 1.15 CEX/DEX Hud Elem Menu Base
11-25-2013, 03:36 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); BO2 1.15 CEX & DEX Hud Element Menu Base C# Made by FeverDEX

I made this today since Enstone released CCAPI v2.0 which allows CEX users to RTM
I added 2 submenu's because people couldnt figure out how to do it them selves and i fixed RPC



How to use:

1. you need to have CCAPI installed on your PS3 tutorial You must login or register to view this content.
2. Extract .rar to somewhere
3. Open the .sln file with whatever you use for c#
4. Begin making your menu


How to connect to ps3:

simply install CCAPI You must login or register to view this content. onto your ps3, run it, then it click install, and your ps3 should reboot.
next open up the tool and enter your ps3's ip address, then your good to go Happy

Credits:
    
-Enstone
-iMCSx
-FeverDEX
-RTE-Make
-Raz0rMind
-Bad Luck Brian


    
it has 2 submenus and 10 options in each submenu and 8 other options in the main menu, but its very simple to add submenus and more options, but im not going to do everything for you, i made this so people can learn


You must login or register to view this content.

You must login or register to view this content.
(adsbygoogle = window.adsbygoogle || []).push({});

The following 17 users say thank you to John for this useful post:

{H} | Exception, Demon2Roxx, Esker, ItsMagiicsz, LaRip8, Mango_Knife, MegaMister, milky4444, MrBerrics, NSV, SnaY, SNMT| Havoc, ThePaaqoHD, Fatality, xPreeks
11-30-2013, 04:47 PM #20
Originally posted by goon View Post
BO2 1.15 CEX & DEX Hud Element Menu Base C# Made by FeverDEX

I made this today since Enstone released CCAPI v2.0 which allows CEX users to RTM
I cannot upload video today but theres no point of seeing it because its a base and an open source

How to use:

1. you need to have CCAPI installed on your PS3 tutorial You must login or register to view this content.

Source Text:
    using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using PS3Lib;
using System.Globalization;
using System.Reflection;

namespace FeverDEX_v2
{
public partial class MainForm : Form
{
public CCAPI PS3 = new CCAPI();

public MainForm()
{
InitializeComponent();
}

public bool Key_Down(int client, int buttonIndex) // Local Buttons Monitoring Function
{
if (buttonIndex < 0) return false;
byte[] key = new byte[4];
PS3.GetMemory((uint)(0xF0A74C + (buttonIndex << 4) + (client * 0x112Cool Man (aka Tustin)), key);
Array.Reverse(key);
return BitConverter.ToInt32(key, 0) == 1;
}

int ButtonUp = 0x14;
int ButtonDown = 0x15;
int ButtonLeft = 0x16;
int ButtonRight = 0x17;
int ButtonO = 0x02;
int ButtonX = 0x01;
int ButtonSquare = 0x03;
int ButtonTriangle = 0x04;
int StartButton = 0x0E;
int SelectButton = 0x0F;
int ButtonR1 = 0x06;
int ButtonR2 = 0x13;
int ButtonR3 = 0x11;
int ButtonL1 = 0x05;
int ButtonL2 = 0x12;
int ButtonL3 = 0x10;

public class Hudelem //Hud Elements
{
public static uint
type = 0x6D,
xOffset = 0x00,
yOffset = 0x04,
textOffset = 0x62,
sort = 32,
fontSizeOffset = 0x0C,
clientOffset = 0x7C,
colorOffset = 0x18,
GlowColor = 0x44,
widthOffset = 0x58,
heightOffset = 0x5A,
shaderOffset = 0x74,
Material = 0x71;
}

public byte[] SetText(string Text)
{
byte[] clean = new byte[250];
PS3.SetMemory(0x2000000, clean);
PS3.SetMemory(0x2000000, Encoding.ASCII.GetBytes(Text + "\0"));
byte[] Patch = new byte[] { 0x48, 0x44, 0xB3, 0x1D, 0x3C, 0x60, 0x00, 0xD8,

0x80, 0x63, 0xBC, 0xD8, 0x2C, 0x03, 0x00, 0x00, 0x40, 0x82, 0x00, 0x7C, 0x3C, 0x60, 0x02, 0x00,

0x30, 0x63, 0x00, 0x00, 0x4B, 0xED, 0xE4, 0xED, 0x3c, 0x80, 0x02, 0x00, 0x90, 0x64, 0x50, 0x00,

0x48, 0x00, 0x00, 0x68, 0x4B, 0xFD, 0x80, 0x61 };
byte[] Unpatch = new byte[] { 0x48, 0x44, 0xB3, 0x1D, 0x3C, 0x60, 0x00,

0xD8, 0x80, 0x63, 0xBC, 0xD8, 0x2C, 0x03, 0x00, 0x00, 0x41, 0x82, 0x00, 0x7C, 0x3C, 0x60, 0x00,

0x39, 0x38, 0x80, 0x00, 0x00, 0x3B, 0xE3, 0x70, 0xE4, 0x63, 0x43, 0x00, 0x00, 0xC3, 0xFF, 0x00,

0x08, 0xFC, 0x20, 0xF8, 0x90, 0x4B, 0xFD, 0x80, 0x61 };
PS3.SetMemory(0X03976DC, Patch);
Thread.Sleep(15);
PS3.SetMemory(0X03976DC, Unpatch);
byte[] GetX = new byte[4];
PS3.GetMemory(0x2005000, GetX);
return GetX;
}

public byte[] uintBytes(uint input)
{
byte[] data = BitConverter.GetBytes(input);
Array.Reverse(data);
return data;
}

private class MenuItems
{
public static uint Shader = 0, ScrollBarBackGround = 1;
}

public byte[] ReverseBytes(byte[] inArray)
{
Array.Reverse(inArray);
return inArray;
}

public byte[] ToHexFloat(float Axis)
{
byte[] bytes = BitConverter.GetBytes(Axis);
Array.Reverse(bytes);
return bytes;
}

public byte[] RGBA(decimal R, decimal G, decimal B, decimal A)
{
byte[] RGBA = new byte[4];
byte[] RVal = BitConverter.GetBytes(Convert.ToInt32(R));
byte[] GVal = BitConverter.GetBytes(Convert.ToInt32(G));
byte[] BVal = BitConverter.GetBytes(Convert.ToInt32(B));
byte[] AVal = BitConverter.GetBytes(Convert.ToInt32(A));
RGBA[0] = RVal[0];
RGBA[1] = GVal[0];
RGBA[2] = BVal[0];
RGBA[3] = AVal[0];
return RGBA;
}

public void StoreIcon1(int elemIndex, uint client, int shader, int width, int height, int x, int y, uint align, float sort, int r, int g, int b, int a)
{
byte[] Material_ = BitConverter.GetBytes(shader);
Array.Reverse(Material_);
byte[] Height_ = BitConverter.GetBytes(Convert.ToInt32(height));
Array.Resize(ref Height_, 2);
Array.Reverse(Height_);
byte[] width_ = BitConverter.GetBytes(Convert.ToInt32(width));
Array.Resize(ref width_, 2);
Array.Reverse(width_);
uint elem = 0x15D8400 + ((Convert.ToUInt32(elemIndex)) * 0x8Cool Man (aka Tustin);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(client));
PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + Hudelem.type, ReverseBytes(BitConverter.GetBytes(Cool Man (aka Tustin)));
PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + Hudelem.Material, Material_);
PS3.SetMemory(elem + Hudelem.heightOffset, Height_);
PS3.SetMemory(elem + Hudelem.widthOffset, width_);
PS3.SetMemory(elem + Hudelem.textOffset + 4, ReverseBytes(BitConverter.GetBytes(sort)));
PS3.SetMemory(elem + Hudelem.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + Hudelem.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + Hudelem.colorOffset, RGBA(r, g, b, a));
PS3.SetMemory(elem + Hudelem.clientOffset, ClientID);
Thread.Sleep(20);
}

public void StoreTextElem1(int elemIndex, int client, string text, int font, int fontScale, int x, int y, uint align, int sort, int R, int G, int B, int a)
{
string setText = text + "\0";
byte[] TextIndex = SetText(setText);
uint elem = 0x15D8400 + ((Convert.ToUInt32(elemIndex)) * 0x8Cool Man (aka Tustin);
byte[] ClientID = ReverseBytes(BitConverter.GetBytes(Convert.ToInt32(client)));

PS3.SetMemory(elem, new byte[0x88]);
PS3.SetMemory(elem + Hudelem.type, ReverseBytes(BitConverter.GetBytes(1)));


PS3.SetMemory(elem + 0x79, new byte[] { 0xFF });
PS3.SetMemory(elem + 0xC, new byte[] { 0x3f, 0xc0 });
PS3.SetMemory(elem + Hudelem.textOffset, TextIndex);
PS3.SetMemory(elem + Hudelem.fontSizeOffset, ReverseBytes(BitConverter.GetBytes(Convert.ToSingle(font))));
PS3.SetMemory(elem + Hudelem.xOffset, ToHexFloat(x));
PS3.SetMemory(elem + Hudelem.yOffset, ToHexFloat(y));
PS3.SetMemory(elem + Hudelem.colorOffset, RGBA(R, G, B, a));
PS3.SetMemory(elem + Hudelem.clientOffset, ClientID);
Thread.Sleep(20);
}

public void DestroyElem(int index)
{
uint elem = 0x15D8400 + ((Convert.ToUInt32(index)) * 0x8Cool Man (aka Tustin);
PS3.SetMemory(elem, new byte[0x88]);
}

public void ChangeHudIcon(int index, int shader)
{
uint elem = 0x15D8400 + ((Convert.ToUInt32(index)) * 0x8Cool Man (aka Tustin);
byte[] Material_ = BitConverter.GetBytes(shader);
Array.Reverse(Material_);
PS3.SetMemory(elem + Hudelem.Material, Material_);
}
public void ChangeHudColor(int index, int R, int G, int B, int a)
{
uint elem = 0x15D8400 + ((Convert.ToUInt32(index)) * 0x8Cool Man (aka Tustin);
PS3.SetMemory(elem + Hudelem.colorOffset, RGBA(R, G, B, a));
}

public void iPrintLn(int ClientNum, string Text)
{
BO2.RPC.Call(0x349edc, 0, 0, "; \""+ Text + "\"");
}

public void iPrintLnBold(int ClientNum, string Text)
{
BO2.RPC.Call(0x349edc, 0, 0, "< \""+ Text + "\"");
}

public void Scrolling(int index, int OptionNum)
{
int StartY = 77;
uint elem = 0x15D8400 + ((Convert.ToUInt32(index)) * 0x8Cool Man (aka Tustin);
int Y = StartY + (OptionNum*36);
PS3.SetMemory(elem + Hudelem.yOffset, ToHexFloat(Y));
}

void Button1Click(object sender, EventArgs e)
{
if (PS3.SUCCESS(PS3.ConnectTarget(textBox1.Text)))
{
PS3.Notify(CCAPI.NotifyIcon.PEN, "PS3 Connected");
}
else
{
MessageBox.Show("Cannot connect", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

void Button2Click(object sender, EventArgs e)
{
if(PS3.SUCCESS(PS3.AttachProcess()))
{
PS3.Notify(CCAPI.NotifyIcon.PROGRESS, "Menu Base Attached");
BO2.RPC.Init();
}
else
{
PS3.Notify(CCAPI.NotifyIcon.INFO, "Cannot Attach");
}
}

void Button3Click(object sender, EventArgs e)
{
Option = "Closed";
iPrintLn(Host, "^2Press [{+actionslot 1}] to open\n^0Made by FeverDEX\n^2Subscribe Youtube.com/JOHNDATGOONV2");
Menu.Start();
}

string Option;
int OptionNum;
int Host = 0;

void MenuTick(object sender, EventArgs e)
{
switch(Option )
{
case "Closed":
{
if(Key_Down(Host, ButtonUp))
{
StoreTextElem1(3, Host, "Base v1", 5, 1, 512, 10, 0, 0, 0, 50, 255, 255);
StoreIcon1(0, (uint)Host, 3, 200, 1000, 470, -50, 0, 0, 0, 0, 0, 190);
StoreIcon1(1, (uint)Host, 3, 200, 24, 470, 77, 0, 0, 255, 255, 255, 255);
StoreIcon1(2, (uint)Host, 3, 200, 2, 470, 68, 0, 0, 255, 255, 255, 255);
StoreIcon1(4, (uint)Host, 3, 3, 1000, 470, -50, 0, 0, 255, 255, 255, 255);
StoreIcon1(5, (uint)Host, 3, 3, 1000, 670, -50, 0, 0, 255, 255, 255, 255);
StoreTextElem1(6, Host, "Option 1\nOption 2\nOption 3\nOption 4\nOption 5\nOption 6\nOption 7\nOption 8\nOption 9\nOption 10", 3, 1, 528, 70, 0, 0, 0, 255, 0, 255);
Option = "Option 1";
break;
}
}
break;

case "Option 1":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 2";
Scrolling(1, 1);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 10";
Scrolling(1, 9);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^21");
break;
}
break;

case "Option 2":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 3";
Scrolling(1, 2);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 1";
Scrolling(1, 0);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^22");
break;
}
break;

case "Option 3":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 4";
Scrolling(1, 3);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 2";
Scrolling(1, 1);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^23");
break;
}
break;

case "Option 4":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 5";
Scrolling(1, 4);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 3";
Scrolling(1, 2);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^24");
break;
}
break;

case "Option 5":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 6";
Scrolling(1, 5);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 4";
Scrolling(1, 3);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^25");
break;
}
break;

case "Option 6":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 7";
Scrolling(1, 6);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 5";
Scrolling(1, 4);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^26");
break;
}
break;

case "Option 7":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 8";
Scrolling(1, 7);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 6";
Scrolling(1, 5);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^27");
break;
}
break;

case "Option 8":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 9";
Scrolling(1, Cool Man (aka Tustin);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 7";
Scrolling(1, 6);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^28");
break;
}
break;

case "Option 9":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 10";
Scrolling(1, 9);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 8";
Scrolling(1, 7);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^29");
break;
}
break;

case "Option 10":
if(Key_Down(Host, ButtonDown))
{
Option = "Option 1";
Scrolling(1, 0);
break;
}
if(Key_Down(Host, ButtonUp))
{
Option = "Option 9";
Scrolling(1, Cool Man (aka Tustin);
break;
}
if(Key_Down(Host, ButtonR3))
{
Option = "Closed";
DestroyElem(0);
DestroyElem(1);
DestroyElem(6);
DestroyElem(3);
DestroyElem(2);
DestroyElem(4);
DestroyElem(5);
break;
}
if(Key_Down(Host, ButtonX))
{
iPrintLn(Host, "Option ^210");
break;
}
break;
}
}

void Button4Click(object sender, EventArgs e)
{
if(textBox2.Text.Length != 32)
{
MessageBox.Show("You need 32 Characters", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
PS3.SetConsoleID(textBox2.Text);
}
}

void MainFormLoad(object sender, EventArgs e)
{
MessageBox.Show("Thanks to:\n\n-Enstone\n-iMCSx\n-FeverDEX\n-RTE-Make\n-Raz0rMind\n-Bad Luck Brian", "Credits");
}
}
}

Credits:
    
-Enstone
-iMCSx
-FeverDEX
-RTE-Make
-Raz0rMind
-Bad Luck Brian


    
it has 10 options and nothing more but its very simple to add submenus and more options, but im not going to do everything for you, i made this so people can learn

You must login or register to view this content.

You must login or register to view this content.


Video?
11-30-2013, 05:24 PM #21
Originally posted by ThugLifeChosen View Post
Video?

added Video Happy
12-01-2013, 06:18 AM #22
Good release man.
12-05-2013, 12:06 AM #23
{H} | Exception
Error… Cat invasion!
Originally posted by goon View Post
BO2 1.15 CEX & DEX Hud Element Menu Base C# Made by FeverDEX

I made this today since Enstone released CCAPI v2.0 which allows CEX users to RTM
I added 2 submenu's because people couldnt figure out how to do it them selves and i fixed RPC



How to use:

1. you need to have CCAPI installed on your PS3 tutorial You must login or register to view this content.
2. Extract .rar to somewhere
3. Open the .sln file with whatever you use for c#
4. Begin making your menu


How to connect to ps3:

simply install CCAPI You must login or register to view this content. onto your ps3, run it, then it click install, and your ps3 should reboot.
next open up the tool and enter your ps3's ip address, then your good to go Happy

Credits:
    
-Enstone
-iMCSx
-FeverDEX
-RTE-Make
-Raz0rMind
-Bad Luck Brian


    
it has 2 submenus and 10 options in each submenu and 8 other options in the main menu, but its very simple to add submenus and more options, but im not going to do everything for you, i made this so people can learn


You must login or register to view this content.

You must login or register to view this content.


I noticed that your Key_Down function is the old version forom 1.12...

public bool Key_Down(int client, int buttonIndex) // Local Buttons Monitoring Function
{
if (buttonIndex < 0) return false;
byte[] key = new byte[4];
PS3.GetMemory((uint)(0xF0A74C + (buttonIndex << 4) + (client * 0x112Cool Man (aka Tustin)), key);
Array.Reverse(key);
return BitConverter.ToInt32(key, 0) == 1;
}

If you could update this to 1.15 I would really appreciate it... I believe there is a problem with the client interval.. (Yes I tried 580Cool Man (aka Tustin). Of course it works for Client 0 because it is "ClientIndex * X" where X represents any number.. Any number multiplied by 0 is 0 (of course..) If someone could quote me with what the client interval should be or an update version of this (Not ButtonPressed because is doesn't detect DPAD presses) I would highly appreciate it.. :]
12-05-2013, 12:18 AM #24
Originally posted by xI2iley
Yes just put on your usb and then put it in the microwave and it will turn into JoKaMoDzv9989768676 Enzo


lmao hahahahahaha
12-05-2013, 10:54 PM #25
test34
Keeper
Hello, I find this code VERY interesting.

    		public int Call(uint func_address, params object[] parameters)
{
int num = parameters.Length;
uint num2 = 0u;
while ((ulong)num2 < (ulong)((long)num))
{
if (parameters[(int)((UIntPtr)num2)] is int)
{
byte[] bytes = BitConverter.GetBytes((int)parameters[(int)((UIntPtr)num2)]);
Array.Reverse(bytes);
PS3.SetMemory(268763144u + num2 * 4u, bytes);
}
else
{
if (parameters[(int)((UIntPtr)num2)] is uint)
{
byte[] bytes2 = BitConverter.GetBytes((uint)parameters[(int)((UIntPtr)num2)]);
Array.Reverse(bytes2);
PS3.SetMemory(268763144u + num2 * 4u, bytes2);
}
else
{
if (parameters[(int)((UIntPtr)num2)] is string)
{
byte[] bytes3 = Encoding.UTF8.GetBytes(Convert.ToString(parameters[(int)((UIntPtr)num2)]) + "\0");
PS3.SetMemory(268763180u + num2 * 336u, bytes3);
uint value = 268763180u + num2 * 336u;
byte[] bytes4 = BitConverter.GetBytes(value);
Array.Reverse(bytes4);
PS3.SetMemory(268763144u + num2 * 4u, bytes4);
}
}
}
num2 += 1u;
}
for (int i = 9 - num; i <= 9; i++)
{
PS3.SetMemory((uint)(268763144 + i * 4), new byte[4]);
}
byte[] bytes5 = BitConverter.GetBytes(func_address);
Array.Reverse(bytes5);
PS3.SetMemory(268763136u, bytes5);
Thread.Sleep(20);
byte[] memory = PS3.GetBytes(268763140u, 4);
Array.Reverse(memory);
return BitConverter.ToInt32(memory, 0);
}

Can you please explain what is going on here. Will this allow any function to be called given the correct function address that is found in IDA??? What would I have to do to get this to work in CoSad AwesomeGhosts?

I ask, because I would really like to call something like setViewAngles(...,...,...) to set the pitch,yaw, and roll of the client so I can attempt to create an aimbot. It would be really useful if you could call any dvar function...

EDIT:[\b] Alright I read a little bit more about Remote Procedure Calling and it doesn't look like this tool has been ported over to Ghosts.

Would it be possible to find the range where R_SetFrameFog is located change the rnage in Get_func_address???

for (uint num = 8031816u; num < 16777216u; num += 4u)

Or would I have to change the entire PPC payload in Enable_RPC (like you did to update to version 1.15).

I would REALLY like to get this ported over to Ghosts.
12-06-2013, 12:25 PM #26
Originally posted by H
I noticed that your Key_Down function is the old version forom 1.12...

public bool Key_Down(int client, int buttonIndex) // Local Buttons Monitoring Function
{
if (buttonIndex < 0) return false;
byte[] key = new byte[4];
PS3.GetMemory((uint)(0xF0A74C + (buttonIndex << 4) + (client * 0x112Cool Man (aka Tustin)), key);
Array.Reverse(key);
return BitConverter.ToInt32(key, 0) == 1;
}

If you could update this to 1.15 I would really appreciate it... I believe there is a problem with the client interval.. (Yes I tried 580Cool Man (aka Tustin). Of course it works for Client 0 because it is "ClientIndex * X" where X represents any number.. Any number multiplied by 0 is 0 (of course..) If someone could quote me with what the client interval should be or an update version of this (Not ButtonPressed because is doesn't detect DPAD presses) I would highly appreciate it.. :]

it does work for 1.15
12-13-2013, 05:42 PM #27
Originally posted by goon View Post
BO2 1.15 CEX & DEX Hud Element Menu Base C# Made by FeverDEX

I made this today since Enstone released CCAPI v2.0 which allows CEX users to RTM
I added 2 submenu's because people couldnt figure out how to do it them selves and i fixed RPC



How to use:

1. you need to have CCAPI installed on your PS3 tutorial You must login or register to view this content.
2. Extract .rar to somewhere
3. Open the .sln file with whatever you use for c#
4. Begin making your menu


How to connect to ps3:

simply install CCAPI You must login or register to view this content. onto your ps3, run it, then it click install, and your ps3 should reboot.
next open up the tool and enter your ps3's ip address, then your good to go Happy

Credits:
    
-Enstone
-iMCSx
-FeverDEX
-RTE-Make
-Raz0rMind
-Bad Luck Brian


    
it has 2 submenus and 10 options in each submenu and 8 other options in the main menu, but its very simple to add submenus and more options, but im not going to do everything for you, i made this so people can learn


You must login or register to view this content.

You must login or register to view this content.


Thanks for the Key_is_up&down function ! (Y)
01-04-2014, 01:48 PM #28
Thanks

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo