Post: fix hud please
10-31-2017, 12:38 PM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hi,

This base: You must login or register to view this content. have bug with HUD and Text , after 1online game the HUD and TEXT disapear, anyone can fix it please ?

source of the base if you wont download it:
prx.cpp
    #include <wchar.h>
#include <sys/prx.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/syscall.h>
#include <sys/ppu_thread.h>
#include <string.h>
#include <sys/sys_time.h>
#include <sys/time_util.h>
#include <stdarg.h>
#include <assert.h>
#include <sys/process.h>
#include <sys/memory.h>
#include <sys/timer.h>
#include <sys/return_code.h>
#include <sys/prx.h>
#include <stddef.h>
#include <math.h>
#include <stdarg.h>
#include <cellstatus.h>
#include <typeinfo>
#include <vector>
#include <pthread.h>
#include <locale.h>
#include <cell/error.h>
#include <sys/paths.h>
#include <time.h>
#include <cellstatus.h>
#include <sys/prx.h>
#include <ppu_intrinsics.h>
#define Leveltime *(int*)(0xDB5D04 + 0x540)
#define TOC 0xA7F3C8
struct opd_s
{
*** uint32_t sub;
*** uint32_t toc;
};
typedef unsigned char byte;
typedef unsigned int uint;
typedef unsigned long long QWORD;
#include "Addresses.h"
#include "PS3.h"
#include "Variables.h"
#include "Buttons.h"
#include "TOC.h"
#include "Functions.h"
#include "Huds.h"
#include "Mods.h"
#include "Menu_Base.h"
void Menu_Thread(uint64_t Weed)
{
*** sleep(45);
*** for(;Winky Winky
*** {
** * ** sleep(45);
** * ** if(InGame())//Checks if in game
** * ** {
** * * * ** HostClientNumber = getHostClientNumber();//Gets host client number
** * * * ** if(!MenuLoaded)
** * * * ** {
** * * * * * ** for(int i = 0; i < 18; i++)
** * * * * * ** {
** * * * * * * * ** Store(i);//Stores the huds
** * * * * * * * ** isVer[HostClientNumber] = true;//Gives host menu access
** * * * * * ** }
** * * * * * ** MenuLoaded = true;
** * * * ** }
** * * * ** else
** * * * ** {
** * * * * * ** for(int i = 0; i < 18; i++)
** * * * * * ** {
** * * * * * * * ** if(DetectBtn(i, R3) && isVer[i] && !isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** OpenClose(i);
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(100);
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, Square) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** sleep(40);
** * * * * * * * * * ** if(Menu[i] == "Sub Menu 1") { LoadSub(i, "Main Menu"); Scroll[i] = 1; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 2") { LoadSub(i, "Main Menu"); Scroll[i] = 2; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 3") { LoadSub(i, "Main Menu"); Scroll[i] = 3; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 4") { LoadSub(i, "Main Menu"); Scroll[i] = 4; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 5") { LoadSub(i, "Main Menu"); Scroll[i] = 5; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 6") { LoadSub(i, "Main Menu"); Scroll[i] = 6; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 7") { LoadSub(i, "Main Menu"); Scroll[i] = 7; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 8") { LoadSub(i, "Main Menu"); Scroll[i] = 8; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 9") { LoadSub(i, "Main Menu"); Scroll[i] = 9; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Client List") { LoadSub(i, "Main Menu"); Scroll[i] = 10; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Client Options") { LoadSub(i, "Client List"); Scroll[i] = 1; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Client List Page 2") { LoadSub(i, "Client List"); Scroll[i] = 10; Update(i); }
** * * * * * * * * * ** else { OpenClose(i); }
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, X) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** Toggle(i, Menu[i], Scroll[i]);
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(200);
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, R1) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** Scroll[i]++;
** * * * * * * * * * ** if(Scroll[i] > MaxScroll[i])
** * * * * * * * * * ** {
** * * * * * * * * * * * ** Scroll[i] = 1;
** * * * * * * * * * ** }
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(150);
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, L1) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** Scroll[i]--;
** * * * * * * * * * ** if(Scroll[i] < 1)
** * * * * * * * * * ** {
** * * * * * * * * * * * ** Scroll[i] = MaxScroll[i];
** * * * * * * * * * ** }
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(150);
** * * * * * * * ** }
** * * * * * ** }
** * * * ** }
** * ** }
** * ** else
** * ** {
** * * * ** MenuLoaded = false;
** * * * ** for(int i = 0; i < 18; i++)
** * * * ** {
** * * * ** }
** * ** }
*** }
}
SYS_MODULE_INFO( GhostsMenuBase, 0, 1, 1);
SYS_MODULE_START( _GhostsMenuBase_prx_entry );
SYS_LIB_DECLARE_WITH_STUB( LIBNAME, SYS_LIB_AUTO_EXPORT, STUBNAME );
SYS_LIB_EXPORT( _GhostsMenuBase_export_function, LIBNAME );
sys_ppu_thread_t MenuBase;
sys_ppu_thread_t create_thread(void (*entry)(uint64_t), int priority, size_t stacksize, const char* threadname,sys_ppu_thread_t id)
{*
*** if(sys_ppu_thread_create(&id, entry, 0, priority , stacksize, 0, threadname) == CELL_OK)
*** {
** * *
*** }
** * *
*** return id;
}
extern "C" int _GhostsMenuBase_export_function(void)
{
*** return CELL_OK;
}
extern "C" int _GhostsMenuBase_prx_entry(void)
{
*** create_thread(Menu_Thread, 0x4AA, 0x7000, "oStankyModz Ghosts Base!", MenuBase);
*** return SYS_PRX_RESIDENT;
}

menu base.h
    //Call of Duty: Ghosts Menu Base || Developed By: oStankyModz
void Store(int client)//Stores the Menu Huds
{
*** WriteByte(0x34348 + 0x48, 0x41);
*** BG[client][1] = PrecacheElem(client);//Make sure you precache every Shader/Text you add!
*** BG[client][2] = PrecacheElem(client);
*** Scroller[client] = PrecacheElem(client);
*** Title[client] = PrecacheElem(client);
*** Options[client][1] = PrecacheElem(client);
*** Options[client][2] = PrecacheElem(client);
*** Options[client][3] = PrecacheElem(client);
*** Options[client][4] = PrecacheElem(client);
*** Options[client][5] = PrecacheElem(client);
*** Options[client][6] = PrecacheElem(client);
*** Options[client][7] = PrecacheElem(client);
*** Options[client][8] = PrecacheElem(client);
*** Options[client][9] = PrecacheElem(client);
*** Options[client][10] = PrecacheElem(client);
*** CreatedBy[client] = PrecacheElem(client);
*** Hud(BG[client][1]).setShader("white", 450, -1000, 180, 300, 0, 0, 0, 0, 0, 0, 180);
*** Hud(BG[client][2]).setShader("white", 455, -1000, 170, 290, 0, 0, 0, 0, 0, 255, 180);
*** Hud(Scroller[client]).setShader("white", 455, -1000, 170, 16, 0, 0, 0, 0, 0, 0, 180);
*** Hud(Title[client]).setText("Menu Base", 1, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(CreatedBy[client]).setText("Developed By: oStankyModz", 0, 0.6, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][1]).setText("Sub Menu 1", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][2]).setText("Sub Menu 2", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][3]).setText("Sub Menu 3", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][4]).setText("Sub Menu 4", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][5]).setText("Sub Menu 5", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][6]).setText("Sub Menu 6", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][7]).setText("Sub Menu 7", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][8]).setText("Sub Menu 8", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][9]).setText("Sub Menu 9", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][10]).setText("Client List", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
}
void LoadSub(int client, const char* Sub)//Loads a Sub Menu
{
*** if(Sub == "Main Menu")//This says if in main menu it changes the things below
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Sub Menu 1");
** * ** Hud(Options[client][2]).ChangeText("Sub Menu 2");
** * ** Hud(Options[client][3]).ChangeText("Sub Menu 3");
** * ** Hud(Options[client][4]).ChangeText("Sub Menu 4");
** * ** Hud(Options[client][5]).ChangeText("Sub Menu 5");
** * ** Hud(Options[client][6]).ChangeText("Sub Menu 6");
** * ** Hud(Options[client][7]).ChangeText("Sub Menu 7");
** * ** Hud(Options[client][8]).ChangeText("Sub Menu 8");
** * ** Hud(Options[client][9]).ChangeText("Sub Menu 9");
** * ** Hud(Options[client][10]).ChangeText("Client List");
*** }
*** else if(Sub == "Sub Menu 1")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("God Mode");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 2")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 3")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 4")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 5")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 6")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 7")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 8")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 9")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Client List")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText(getClientName(0));
** * ** Hud(Options[client][2]).ChangeText(getClientName(1));
** * ** Hud(Options[client][3]).ChangeText(getClientName(2));
** * ** Hud(Options[client][4]).ChangeText(getClientName(3));
** * ** Hud(Options[client][5]).ChangeText(getClientName(4));
** * ** Hud(Options[client][6]).ChangeText(getClientName(5));
** * ** Hud(Options[client][7]).ChangeText(getClientName(6));
** * ** Hud(Options[client][8]).ChangeText(getClientName(7));
** * ** Hud(Options[client][9]).ChangeText(getClientName(Cool Man (aka Tustin));
** * ** Hud(Options[client][10]).ChangeText("- Page 2 -");
*** }
*** else if(Sub == "Client List Page 2")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 3;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText(getClientName(9));
** * ** Hud(Options[client][2]).ChangeText(getClientName(10));
** * ** Hud(Options[client][3]).ChangeText(getClientName(11));
** * ** Hud(Options[client][4]).ChangeText("");
** * ** Hud(Options[client][5]).ChangeText("");
** * ** Hud(Options[client][6]).ChangeText("");
** * ** Hud(Options[client][7]).ChangeText("");
** * ** Hud(Options[client][8]).ChangeText("");
** * ** Hud(Options[client][9]).ChangeText("");
** * ** Hud(Options[client][10]).ChangeText("");
*** }
*** else if(Sub == "Client Options")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 3;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Give God Mode");
** * ** Hud(Options[client][2]).ChangeText("Give Menu Access");
** * ** Hud(Options[client][3]).ChangeText("Remove Menu Access");
** * ** Hud(Options[client][4]).ChangeText("");
** * ** Hud(Options[client][5]).ChangeText("");
** * ** Hud(Options[client][6]).ChangeText("");
** * ** Hud(Options[client][7]).ChangeText("");
** * ** Hud(Options[client][8]).ChangeText("");
** * ** Hud(Options[client][9]).ChangeText("");
** * ** Hud(Options[client][10]).ChangeText("");
*** }
}
void OpenClose(int client)//Open Menu & Close Menu Function
{
*** if(!isOpen[client])
*** {
** * ** LoadSub(client, "Main Menu");
** * ** Hud(BG[client][1]).MoveOverTime("Y", 70, 550);
** * ** Hud(BG[client][2]).MoveOverTime("Y", 75, 550);
** * ** Hud(Scroller[client]).MoveOverTime("Y", 90, 550);
** * ** Hud(Title[client]).MoveOverTime("Y", 88, 550);
** * ** Hud(CreatedBy[client]).MoveOverTime("Y", 350, 550);
** * ** Hud(Options[client][1]).MoveOverTime("Y", 110, 550);
** * ** Hud(Options[client][2]).MoveOverTime("Y", 130, 550);
** * ** Hud(Options[client][3]).MoveOverTime("Y", 150, 550);
** * ** Hud(Options[client][4]).MoveOverTime("Y", 170, 550);
** * ** Hud(Options[client][5]).MoveOverTime("Y", 190, 550);
** * ** Hud(Options[client][6]).MoveOverTime("Y", 210, 550);
** * ** Hud(Options[client][7]).MoveOverTime("Y", 230, 550);
** * ** Hud(Options[client][8]).MoveOverTime("Y", 250, 550);
** * ** Hud(Options[client][9]).MoveOverTime("Y", 270, 550);
** * ** Hud(Options[client][10]).MoveOverTime("Y", 290, 550);
** * ** isOpen[client] = true;
*** }
*** else if(isOpen[client])
*** {
** * ** Hud(BG[client][1]).MoveOverTime("Y", -1000, 550);
** * ** Hud(BG[client][2]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Scroller[client]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Title[client]).MoveOverTime("Y", -1000, 550);
** * ** Hud(CreatedBy[client]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][1]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][2]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][3]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][4]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][1]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][5]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][6]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][7]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][8]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][9]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][10]).MoveOverTime("Y", -1000, 550);
** * ** isOpen[client] = false;
*** }
}
void Update(int client)
{
*** for(int x = 1; x < 11; x++)//if more sub menus are added change the 13 to 1 above how many options u have || example: i have 10 options so i put 11
*** {
** * ** Options[client][x]->elem.fontScale = 1;
** * ** Hud(Options[client][x]).FadeOverTime(200, 255, 255, 255, 255);
*** }
*** Hud(Scroller[client]).MoveOverTime("Y", ((Scroll[client] * 20) + 82), 200);//moves scroller
*** Hud(Options[client][Scroll[client]]).FadeOverTime(0, 0, 0, 255, 255);//sets the hover colour to blue
*** Options[client][Scroll[client]]->elem.fontScale = 1.5;
}
//Verification:
void GiveMenuAccess(int client)
{
*** if(SelectedClient == HostClientNumber)
*** {
** * ** iPrintlnBold(client, "^1Error: ^7Cannot change the host's access level!");
*** }
*** else
*** {
** * ** isVer[client] = true;
** * ** iPrintlnBold(client, "Menu access level: [^1CO-HOST^7] Has been given");
** * ** sleep(200);
** * ** iPrintlnBold(client, "Press [{+melee}] to open!");
** * ** Status[client] = "CO-HOST";
** * ** iPrintlnBold(HostClientNumber, "^1CO-HOST: ^7Given to client!");
*** }
}
void RemoveMenuAccess(int client)
{
*** if(SelectedClient == HostClientNumber)
*** {
** * ** iPrintlnBold(client, "^1Error: ^7Cannot change the host's access level!");
*** }
*** else
*** {
** * ** isVer[client] = false;
** * ** if(isOpen[client]) OpenClose(client);
** * ** iPrintlnBold(client, "Menu access: [^1Removed^7]");
** * ** Status[client] = "CO-HOST";
** * ** iPrintlnBold(HostClientNumber, "Menu access: [^1Removed^7] from client!");
*** }
}
void Toggle(int i, const char* Sub, int scroll)//Toggle Options Here
{
*** if(Sub == "Main Menu")
*** {
** * ** if(scroll == 1) LoadSub(i, "Sub Menu 1");
** * ** if(scroll == 2) LoadSub(i, "Sub Menu 2");
** * ** if(scroll == 3) LoadSub(i, "Sub Menu 3");
** * ** if(scroll == 4) LoadSub(i, "Sub Menu 4");
** * ** if(scroll == 5) LoadSub(i, "Sub Menu 5");
** * ** if(scroll == 6) LoadSub(i, "Sub Menu 6");
** * ** if(scroll == 7) LoadSub(i, "Sub Menu 7");
** * ** if(scroll == Cool Man (aka Tustin) LoadSub(i, "Sub Menu 8");
** * ** if(scroll == 9) LoadSub(i, "Sub Menu 9");
** * ** if(scroll == 10) LoadSub(i, "Client List");
*** }
*** else if(Sub == "Sub Menu 1")
*** {
** * ** if(scroll == 1) GodMode(i);
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 2")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 3")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 4")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 5")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 6")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 7")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 8")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 9")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 10");
*** }
*** else if(Sub == "Client List")
*** {
** * ** if(scroll == 1) { SelectedClient = 0; LoadSub(i, "Client Options"); }
** * ** if(scroll == 2) { SelectedClient = 1; LoadSub(i, "Client Options"); }
** * ** if(scroll == 3) { SelectedClient = 2; LoadSub(i, "Client Options"); }
** * ** if(scroll == 4) { SelectedClient = 3; LoadSub(i, "Client Options"); }
** * ** if(scroll == 5) { SelectedClient = 4; LoadSub(i, "Client Options"); }
** * ** if(scroll == 6) { SelectedClient = 5; LoadSub(i, "Client Options"); }
** * ** if(scroll == 7) { SelectedClient = 6; LoadSub(i, "Client Options"); }
** * ** if(scroll == Cool Man (aka Tustin) { SelectedClient = 7; LoadSub(i, "Client Options"); }
** * ** if(scroll == 9) { SelectedClient = 8; LoadSub(i, "Client Options"); }
** * ** if(scroll == 10) LoadSub(i, "Client List Page 2");
*** }
*** else if(Sub == "Client List Page 2")
*** {
** * ** if(scroll == 1) { SelectedClient = 9; LoadSub(i, "Client Options"); }
** * ** if(scroll == 2) { SelectedClient = 10; LoadSub(i, "Client Options"); }
** * ** if(scroll == 3) { SelectedClient = 11; LoadSub(i, "Client Options"); }
*** }
*** else if(Sub == "Client Options")
*** {
** * ** if(scroll == 1) GodMode(SelectedClient);
** * ** if(scroll == 2) GiveMenuAccess(SelectedClient);
** * ** if(scroll == 3) RemoveMenuAccess(SelectedClient);
*** }
}

huds.h
    //Huds:
#define G_LocalizeStringIndex(Text) ((int(*)(const char*))&ParseAddr(0x3434Cool Man (aka Tustin))(Text)
#define G_MaterialIndex(Text) ((int(*)(const char*))&ParseAddr(0x32334))(Text)
#define Leveltime *(int*)(0xDB5D04 + 0x540)
union color_s
{
*** struct
*** {
** * ** byte r, g, b, a;
*** };
*** uint rgba;
};
struct hudelem_s
{
*** int type;
*** float x;
*** float y;
*** float z;
*** int targetEntNum;
*** float fontScale;
*** float fromFontScale;
*** float fontScaleStartTime;
*** float fontScaleTime;
*** int font;
*** int alignOrg;
*** int alignScreen;
*** color_s color;
*** color_s fromColor;
*** int fadeStartTime;
*** int fadeTime;
*** int label;
*** int width;
*** int height;
*** int materialIndex;
*** int fromWidth;
*** int fromHeight;
*** int scaleStartTime;
*** int scaleTime;
*** float fromX;
*** float fromY;
*** int fromAlignOrg;
*** int fromAlignScreen;
*** int moveStartTime;
*** int moveTime;
*** int time;
*** int duration;
*** float value;
*** int text;
*** float sort;
*** color_s glowColor;
*** int fxBirthTime;
*** int fxLetterTime;
*** int fxDecayStartTime;
*** int fxDecayDuration;
*** int soundID;
*** int flags;
};
struct game_hudelem_s
{
*** hudelem_s elem;
*** int clientNum;
*** int team;
*** int archived;
*** int currentShowInKillcam;
};
struct Hud
{
*** Hud(game_hudelem_s* Element);
*** game_hudelem_s* PrecacheElem(int ClientID);
*** void setText(char* Text, int font, float fontScale, float x, float y, int alignOrg, int alignScreen, float sort = 1, byte r = 255, byte g = 255, byte b = 255, byte a = 255);
*** void setShader(char* Shader, float x, float y, int width, int height, int alignOrg, int alignScreen, float sort = 0, byte r = 255, byte g = 255, byte b = 255, byte a = 255);
*** void ScaleOverTime(int time, float width, float height);
*** void setColor(byte r = 255, byte g = 255, byte b = 255, byte a = 255, bool IsGlow = false);
*** void moveOverTime(float time);
*** void ChangeText(char* Option);
*** void ChangeMaterial(char* Text);
*** void MoveOverTime(char* axis, float calc, float time);
*** void ChangeFontScaleOverTime(int Time, float Scale);
*** void FadeOverTime(int time, byte red, byte green, byte blue, byte alpha);
*** void TypeWriterText(char* Text, float YPos = 90, float FontScale = 2);
*** game_hudelem_s* Element;
};
game_hudelem_s* HudElem_Alloc(int Client, int Team = 0)
{
*** game_hudelem_s* Temp = (game_hudelem_s*)0xD87C88;
*** for(int i = 0; i < 0x400; i++)
*** {
** * ** if(Temp->elem.type == 0)
** * * * ** break;
** * ** Temp = (game_hudelem_s*)(0xD87C88 + (i* sizeof(game_hudelem_s)));
** * ** if(i >= 0x3FF)
** * * * ** return 0;
*** }
*** ((void(*)(game_hudelem_s*))&ParseAddr(0x2456DCool Man (aka Tustin))(Temp); //HudElem_SetDefaults
*** Temp->team = Team;
*** Temp->clientNum = Client == -1 ? 0x7FF : Client;
*** Temp->archived = true;
*** return Temp;
}
Hud::Hud(game_hudelem_s* elem)
{
*** Element = elem;
}
game_hudelem_s* PrecacheElem(int ClientID)
{
*** return HudElem_Alloc(ClientID);
}
int Scr_PrecacheShader(char* Shader)
{
** * return *(int*)(0xB5D04 + 0x2C) = G_MaterialIndex(Shader);
}
void Hud::setText(char* Text, int font, float fontScale, float x, float y, int alignOrg, int alignScreen, float sort, byte r , byte g, byte b, byte a)
{
*** Element->elem.type = 0x1;
*** Element->elem.alignOrg = alignOrg;
*** Element->elem.alignScreen = alignScreen;
*** Element->elem.font = font;
*** Element->elem.fontScale = fontScale;
*** Element->elem.x = x;
*** Element->elem.y = y;
*** Element->elem.color.r = r;
*** Element->elem.color.g = g;
*** Element->elem.color.b = b;
*** Element->elem.color.a = a;
*** Element->elem.sort = sort;
*** Element->elem.text = G_LocalizeStringIndex(Text);
}
void Hud::setShader(char* Shader, float x, float y, int width, int height, int alignOrg, int alignScreen, float sort, byte r, byte g, byte b, byte a)
{
*** //*(bool*)(0xDB5D04 + 0x2C) = true;
*** Element->elem.type = 0x4;
*** Element->elem.alignOrg = alignOrg;
*** Element->elem.alignScreen = alignScreen;
*** Element->elem.x = x;
*** Element->elem.y = y;
*** Element->elem.color.r = r;
*** Element->elem.color.g = g;
*** Element->elem.color.b = b;
*** Element->elem.color.a = a;
*** Element->elem.width = width;
*** Element->elem.height = height;
*** Element->elem.sort = sort;
*** Element->elem.materialIndex = G_MaterialIndex(Shader);
}
void Hud::ScaleOverTime(int time, float width, float height)
{
*** Element->elem.fromHeight = Element->elem.height;
*** Element->elem.fromWidth = Element->elem.width;
*** Element->elem.scaleStartTime = Leveltime;
*** Element->elem.scaleTime = time;
*** Element->elem.height = height;
*** Element->elem.width = width;
}
void Hud::setColor(byte r, byte g, byte b, byte a, bool IsGlow)
{
*** if(IsGlow){
** * ** Element->elem.glowColor.r = r;
** * ** Element->elem.glowColor.g = g;
** * ** Element->elem.glowColor.b = b;
** * ** Element->elem.glowColor.a = a;
*** }else{
** * ** Element->elem.color.r = r;
** * ** Element->elem.color.g = g;
** * ** Element->elem.color.b = b;
** * ** Element->elem.color.a = a;
*** }
}
void Hud::moveOverTime(float time)
{
*** Element->elem.fromAlignOrg = Element->elem.alignOrg;
*** Element->elem.fromAlignScreen = Element->elem.alignScreen;
*** Element->elem.fromX = Element->elem.x;
*** Element->elem.fromY = Element->elem.y;
*** Element->elem.moveStartTime = Leveltime;
*** Element->elem.moveTime = time;
}
void Hud::MoveOverTime(char* axis, float calc, float time)
{
*** moveOverTime(time);
*** !strcmp(axis, "X") ? Element->elem.x = calc : Element->elem.y = calc;
}
void Hud::ChangeText(char* Text)
{
*** Element->elem.text = G_LocalizeStringIndex(Text);
}
void Hud::ChangeMaterial(char* Text)
{
*** Element->elem.materialIndex = G_MaterialIndex(Text);
}
void Hud::ChangeFontScaleOverTime(int Time, float Scale)
{
*** Element->elem.fromFontScale = Element->elem.fontScale;
*** Element->elem.fontScaleStartTime = Leveltime;
*** Element->elem.fontScaleTime = Time;
*** Element->elem.fontScale = Scale;
}
void Hud::FadeOverTime(int time, byte red, byte green, byte blue, byte alpha)
{
*** Element->elem.fromColor = Element->elem.color;
*** Element->elem.fadeStartTime = Leveltime;
*** Element->elem.fadeTime = time;
*** Element->elem.color.r = red;
*** Element->elem.color.g = green;
*** Element->elem.color.b = blue;
*** Element->elem.color.a = alpha;
}
void Hud::TypeWriterText(char* Text, float YPos, float FontScale)
{
*** Hud(Element).setText(Text, 3, FontScale, 320, YPos, 0x5, 0x1, 1);
*** Hud(Element).setColor(128, 0, 128, 255, true);
*** Element->elem.fxBirthTime = Leveltime;
*** Element->elem.fxLetterTime = 100;
*** Element->elem.fxDecayStartTime = 7000;
*** Element->elem.fxDecayDuration = 1000;
*** Element->elem.flags |= 0x4;
}
//Menu Huds:
game_hudelem_s* BG[18][2];
game_hudelem_s* CreatedBy[18];
game_hudelem_s* Scroller[18];
game_hudelem_s* Title[18];
game_hudelem_s* Options[18][99];


Thank a lot
11-10-2017, 07:12 PM #2
S63
Space Ninja
Originally posted by uJJuDev View Post
Hi,

This base: You must login or register to view this content. have bug with HUD and Text , after 1online game the HUD and TEXT disapear, anyone can fix it please ?

source of the base if you wont download it:
prx.cpp
    #include <wchar.h>
#include <sys/prx.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/syscall.h>
#include <sys/ppu_thread.h>
#include <string.h>
#include <sys/sys_time.h>
#include <sys/time_util.h>
#include <stdarg.h>
#include <assert.h>
#include <sys/process.h>
#include <sys/memory.h>
#include <sys/timer.h>
#include <sys/return_code.h>
#include <sys/prx.h>
#include <stddef.h>
#include <math.h>
#include <stdarg.h>
#include <cellstatus.h>
#include <typeinfo>
#include <vector>
#include <pthread.h>
#include <locale.h>
#include <cell/error.h>
#include <sys/paths.h>
#include <time.h>
#include <cellstatus.h>
#include <sys/prx.h>
#include <ppu_intrinsics.h>
#define Leveltime *(int*)(0xDB5D04 + 0x540)
#define TOC 0xA7F3C8
struct opd_s
{
*** uint32_t sub;
*** uint32_t toc;
};
typedef unsigned char byte;
typedef unsigned int uint;
typedef unsigned long long QWORD;
#include "Addresses.h"
#include "PS3.h"
#include "Variables.h"
#include "Buttons.h"
#include "TOC.h"
#include "Functions.h"
#include "Huds.h"
#include "Mods.h"
#include "Menu_Base.h"
void Menu_Thread(uint64_t Weed)
{
*** sleep(45);
*** for(;Winky Winky
*** {
** * ** sleep(45);
** * ** if(InGame())//Checks if in game
** * ** {
** * * * ** HostClientNumber = getHostClientNumber();//Gets host client number
** * * * ** if(!MenuLoaded)
** * * * ** {
** * * * * * ** for(int i = 0; i < 18; i++)
** * * * * * ** {
** * * * * * * * ** Store(i);//Stores the huds
** * * * * * * * ** isVer[HostClientNumber] = true;//Gives host menu access
** * * * * * ** }
** * * * * * ** MenuLoaded = true;
** * * * ** }
** * * * ** else
** * * * ** {
** * * * * * ** for(int i = 0; i < 18; i++)
** * * * * * ** {
** * * * * * * * ** if(DetectBtn(i, R3) && isVer[i] && !isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** OpenClose(i);
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(100);
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, Square) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** sleep(40);
** * * * * * * * * * ** if(Menu[i] == "Sub Menu 1") { LoadSub(i, "Main Menu"); Scroll[i] = 1; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 2") { LoadSub(i, "Main Menu"); Scroll[i] = 2; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 3") { LoadSub(i, "Main Menu"); Scroll[i] = 3; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 4") { LoadSub(i, "Main Menu"); Scroll[i] = 4; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 5") { LoadSub(i, "Main Menu"); Scroll[i] = 5; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 6") { LoadSub(i, "Main Menu"); Scroll[i] = 6; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 7") { LoadSub(i, "Main Menu"); Scroll[i] = 7; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 8") { LoadSub(i, "Main Menu"); Scroll[i] = 8; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Sub Menu 9") { LoadSub(i, "Main Menu"); Scroll[i] = 9; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Client List") { LoadSub(i, "Main Menu"); Scroll[i] = 10; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Client Options") { LoadSub(i, "Client List"); Scroll[i] = 1; Update(i); }
** * * * * * * * * * ** else if(Menu[i] == "Client List Page 2") { LoadSub(i, "Client List"); Scroll[i] = 10; Update(i); }
** * * * * * * * * * ** else { OpenClose(i); }
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, X) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** Toggle(i, Menu[i], Scroll[i]);
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(200);
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, R1) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** Scroll[i]++;
** * * * * * * * * * ** if(Scroll[i] > MaxScroll[i])
** * * * * * * * * * ** {
** * * * * * * * * * * * ** Scroll[i] = 1;
** * * * * * * * * * ** }
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(150);
** * * * * * * * ** }
** * * * * * * * ** else if(DetectBtn(i, L1) && isVer[i] && isOpen[i])
** * * * * * * * ** {
** * * * * * * * * * ** Scroll[i]--;
** * * * * * * * * * ** if(Scroll[i] < 1)
** * * * * * * * * * ** {
** * * * * * * * * * * * ** Scroll[i] = MaxScroll[i];
** * * * * * * * * * ** }
** * * * * * * * * * ** Update(i);
** * * * * * * * * * ** sleep(150);
** * * * * * * * ** }
** * * * * * ** }
** * * * ** }
** * ** }
** * ** else
** * ** {
** * * * ** MenuLoaded = false;
** * * * ** for(int i = 0; i < 18; i++)
** * * * ** {
** * * * ** }
** * ** }
*** }
}
SYS_MODULE_INFO( GhostsMenuBase, 0, 1, 1);
SYS_MODULE_START( _GhostsMenuBase_prx_entry );
SYS_LIB_DECLARE_WITH_STUB( LIBNAME, SYS_LIB_AUTO_EXPORT, STUBNAME );
SYS_LIB_EXPORT( _GhostsMenuBase_export_function, LIBNAME );
sys_ppu_thread_t MenuBase;
sys_ppu_thread_t create_thread(void (*entry)(uint64_t), int priority, size_t stacksize, const char* threadname,sys_ppu_thread_t id)
{*
*** if(sys_ppu_thread_create(&id, entry, 0, priority , stacksize, 0, threadname) == CELL_OK)
*** {
** * *
*** }
** * *
*** return id;
}
extern "C" int _GhostsMenuBase_export_function(void)
{
*** return CELL_OK;
}
extern "C" int _GhostsMenuBase_prx_entry(void)
{
*** create_thread(Menu_Thread, 0x4AA, 0x7000, "oStankyModz Ghosts Base!", MenuBase);
*** return SYS_PRX_RESIDENT;
}

menu base.h
    //Call of Duty: Ghosts Menu Base || Developed By: oStankyModz
void Store(int client)//Stores the Menu Huds
{
*** WriteByte(0x34348 + 0x48, 0x41);
*** BG[client][1] = PrecacheElem(client);//Make sure you precache every Shader/Text you add!
*** BG[client][2] = PrecacheElem(client);
*** Scroller[client] = PrecacheElem(client);
*** Title[client] = PrecacheElem(client);
*** Options[client][1] = PrecacheElem(client);
*** Options[client][2] = PrecacheElem(client);
*** Options[client][3] = PrecacheElem(client);
*** Options[client][4] = PrecacheElem(client);
*** Options[client][5] = PrecacheElem(client);
*** Options[client][6] = PrecacheElem(client);
*** Options[client][7] = PrecacheElem(client);
*** Options[client][8] = PrecacheElem(client);
*** Options[client][9] = PrecacheElem(client);
*** Options[client][10] = PrecacheElem(client);
*** CreatedBy[client] = PrecacheElem(client);
*** Hud(BG[client][1]).setShader("white", 450, -1000, 180, 300, 0, 0, 0, 0, 0, 0, 180);
*** Hud(BG[client][2]).setShader("white", 455, -1000, 170, 290, 0, 0, 0, 0, 0, 255, 180);
*** Hud(Scroller[client]).setShader("white", 455, -1000, 170, 16, 0, 0, 0, 0, 0, 0, 180);
*** Hud(Title[client]).setText("Menu Base", 1, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(CreatedBy[client]).setText("Developed By: oStankyModz", 0, 0.6, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][1]).setText("Sub Menu 1", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][2]).setText("Sub Menu 2", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][3]).setText("Sub Menu 3", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][4]).setText("Sub Menu 4", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][5]).setText("Sub Menu 5", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][6]).setText("Sub Menu 6", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][7]).setText("Sub Menu 7", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][8]).setText("Sub Menu 8", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][9]).setText("Sub Menu 9", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
*** Hud(Options[client][10]).setText("Client List", 3, 1, 540, -1000, 5, 0, 0, 255, 255, 255, 255);
}
void LoadSub(int client, const char* Sub)//Loads a Sub Menu
{
*** if(Sub == "Main Menu")//This says if in main menu it changes the things below
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Sub Menu 1");
** * ** Hud(Options[client][2]).ChangeText("Sub Menu 2");
** * ** Hud(Options[client][3]).ChangeText("Sub Menu 3");
** * ** Hud(Options[client][4]).ChangeText("Sub Menu 4");
** * ** Hud(Options[client][5]).ChangeText("Sub Menu 5");
** * ** Hud(Options[client][6]).ChangeText("Sub Menu 6");
** * ** Hud(Options[client][7]).ChangeText("Sub Menu 7");
** * ** Hud(Options[client][8]).ChangeText("Sub Menu 8");
** * ** Hud(Options[client][9]).ChangeText("Sub Menu 9");
** * ** Hud(Options[client][10]).ChangeText("Client List");
*** }
*** else if(Sub == "Sub Menu 1")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("God Mode");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 2")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 3")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 4")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 5")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 6")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 7")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 8")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Sub Menu 9")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Option 1");
** * ** Hud(Options[client][2]).ChangeText("Option 2");
** * ** Hud(Options[client][3]).ChangeText("Option 3");
** * ** Hud(Options[client][4]).ChangeText("Option 4");
** * ** Hud(Options[client][5]).ChangeText("Option 5");
** * ** Hud(Options[client][6]).ChangeText("Option 6");
** * ** Hud(Options[client][7]).ChangeText("Option 7");
** * ** Hud(Options[client][8]).ChangeText("Option 8");
** * ** Hud(Options[client][9]).ChangeText("Option 9");
** * ** Hud(Options[client][10]).ChangeText("Option 10");
*** }
*** else if(Sub == "Client List")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 10;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText(getClientName(0));
** * ** Hud(Options[client][2]).ChangeText(getClientName(1));
** * ** Hud(Options[client][3]).ChangeText(getClientName(2));
** * ** Hud(Options[client][4]).ChangeText(getClientName(3));
** * ** Hud(Options[client][5]).ChangeText(getClientName(4));
** * ** Hud(Options[client][6]).ChangeText(getClientName(5));
** * ** Hud(Options[client][7]).ChangeText(getClientName(6));
** * ** Hud(Options[client][8]).ChangeText(getClientName(7));
** * ** Hud(Options[client][9]).ChangeText(getClientName(Cool Man (aka Tustin));
** * ** Hud(Options[client][10]).ChangeText("- Page 2 -");
*** }
*** else if(Sub == "Client List Page 2")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 3;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText(getClientName(9));
** * ** Hud(Options[client][2]).ChangeText(getClientName(10));
** * ** Hud(Options[client][3]).ChangeText(getClientName(11));
** * ** Hud(Options[client][4]).ChangeText("");
** * ** Hud(Options[client][5]).ChangeText("");
** * ** Hud(Options[client][6]).ChangeText("");
** * ** Hud(Options[client][7]).ChangeText("");
** * ** Hud(Options[client][8]).ChangeText("");
** * ** Hud(Options[client][9]).ChangeText("");
** * ** Hud(Options[client][10]).ChangeText("");
*** }
*** else if(Sub == "Client Options")
*** {
** * ** Scroll[client] = 1;
** * ** MaxScroll[client] = 3;
** * ** Menu[client] = Sub;
** * ** Hud(Options[client][1]).ChangeText("Give God Mode");
** * ** Hud(Options[client][2]).ChangeText("Give Menu Access");
** * ** Hud(Options[client][3]).ChangeText("Remove Menu Access");
** * ** Hud(Options[client][4]).ChangeText("");
** * ** Hud(Options[client][5]).ChangeText("");
** * ** Hud(Options[client][6]).ChangeText("");
** * ** Hud(Options[client][7]).ChangeText("");
** * ** Hud(Options[client][8]).ChangeText("");
** * ** Hud(Options[client][9]).ChangeText("");
** * ** Hud(Options[client][10]).ChangeText("");
*** }
}
void OpenClose(int client)//Open Menu & Close Menu Function
{
*** if(!isOpen[client])
*** {
** * ** LoadSub(client, "Main Menu");
** * ** Hud(BG[client][1]).MoveOverTime("Y", 70, 550);
** * ** Hud(BG[client][2]).MoveOverTime("Y", 75, 550);
** * ** Hud(Scroller[client]).MoveOverTime("Y", 90, 550);
** * ** Hud(Title[client]).MoveOverTime("Y", 88, 550);
** * ** Hud(CreatedBy[client]).MoveOverTime("Y", 350, 550);
** * ** Hud(Options[client][1]).MoveOverTime("Y", 110, 550);
** * ** Hud(Options[client][2]).MoveOverTime("Y", 130, 550);
** * ** Hud(Options[client][3]).MoveOverTime("Y", 150, 550);
** * ** Hud(Options[client][4]).MoveOverTime("Y", 170, 550);
** * ** Hud(Options[client][5]).MoveOverTime("Y", 190, 550);
** * ** Hud(Options[client][6]).MoveOverTime("Y", 210, 550);
** * ** Hud(Options[client][7]).MoveOverTime("Y", 230, 550);
** * ** Hud(Options[client][8]).MoveOverTime("Y", 250, 550);
** * ** Hud(Options[client][9]).MoveOverTime("Y", 270, 550);
** * ** Hud(Options[client][10]).MoveOverTime("Y", 290, 550);
** * ** isOpen[client] = true;
*** }
*** else if(isOpen[client])
*** {
** * ** Hud(BG[client][1]).MoveOverTime("Y", -1000, 550);
** * ** Hud(BG[client][2]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Scroller[client]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Title[client]).MoveOverTime("Y", -1000, 550);
** * ** Hud(CreatedBy[client]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][1]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][2]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][3]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][4]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][1]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][5]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][6]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][7]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][8]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][9]).MoveOverTime("Y", -1000, 550);
** * ** Hud(Options[client][10]).MoveOverTime("Y", -1000, 550);
** * ** isOpen[client] = false;
*** }
}
void Update(int client)
{
*** for(int x = 1; x < 11; x++)//if more sub menus are added change the 13 to 1 above how many options u have || example: i have 10 options so i put 11
*** {
** * ** Options[client][x]->elem.fontScale = 1;
** * ** Hud(Options[client][x]).FadeOverTime(200, 255, 255, 255, 255);
*** }
*** Hud(Scroller[client]).MoveOverTime("Y", ((Scroll[client] * 20) + 82), 200);//moves scroller
*** Hud(Options[client][Scroll[client]]).FadeOverTime(0, 0, 0, 255, 255);//sets the hover colour to blue
*** Options[client][Scroll[client]]->elem.fontScale = 1.5;
}
//Verification:
void GiveMenuAccess(int client)
{
*** if(SelectedClient == HostClientNumber)
*** {
** * ** iPrintlnBold(client, "^1Error: ^7Cannot change the host's access level!");
*** }
*** else
*** {
** * ** isVer[client] = true;
** * ** iPrintlnBold(client, "Menu access level: [^1CO-HOST^7] Has been given");
** * ** sleep(200);
** * ** iPrintlnBold(client, "Press [{+melee}] to open!");
** * ** Status[client] = "CO-HOST";
** * ** iPrintlnBold(HostClientNumber, "^1CO-HOST: ^7Given to client!");
*** }
}
void RemoveMenuAccess(int client)
{
*** if(SelectedClient == HostClientNumber)
*** {
** * ** iPrintlnBold(client, "^1Error: ^7Cannot change the host's access level!");
*** }
*** else
*** {
** * ** isVer[client] = false;
** * ** if(isOpen[client]) OpenClose(client);
** * ** iPrintlnBold(client, "Menu access: [^1Removed^7]");
** * ** Status[client] = "CO-HOST";
** * ** iPrintlnBold(HostClientNumber, "Menu access: [^1Removed^7] from client!");
*** }
}
void Toggle(int i, const char* Sub, int scroll)//Toggle Options Here
{
*** if(Sub == "Main Menu")
*** {
** * ** if(scroll == 1) LoadSub(i, "Sub Menu 1");
** * ** if(scroll == 2) LoadSub(i, "Sub Menu 2");
** * ** if(scroll == 3) LoadSub(i, "Sub Menu 3");
** * ** if(scroll == 4) LoadSub(i, "Sub Menu 4");
** * ** if(scroll == 5) LoadSub(i, "Sub Menu 5");
** * ** if(scroll == 6) LoadSub(i, "Sub Menu 6");
** * ** if(scroll == 7) LoadSub(i, "Sub Menu 7");
** * ** if(scroll == Cool Man (aka Tustin) LoadSub(i, "Sub Menu 8");
** * ** if(scroll == 9) LoadSub(i, "Sub Menu 9");
** * ** if(scroll == 10) LoadSub(i, "Client List");
*** }
*** else if(Sub == "Sub Menu 1")
*** {
** * ** if(scroll == 1) GodMode(i);
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 1: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 2")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 2: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 3")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 3: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 4")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 4: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 5")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 5: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 6")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 6: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 7")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 7: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 8")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 8: ^7Option 10");
*** }
*** else if(Sub == "Sub Menu 9")
*** {
** * ** if(scroll == 1) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 1");
** * ** if(scroll == 2) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 2");
** * ** if(scroll == 3) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 3");
** * ** if(scroll == 4) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 4");
** * ** if(scroll == 5) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 5");
** * ** if(scroll == 6) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 6");
** * ** if(scroll == 7) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 7");
** * ** if(scroll == Cool Man (aka Tustin) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 8");
** * ** if(scroll == 9) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 9");
** * ** if(scroll == 10) iPrintlnBold(i, "^5Sub Menu 9: ^7Option 10");
*** }
*** else if(Sub == "Client List")
*** {
** * ** if(scroll == 1) { SelectedClient = 0; LoadSub(i, "Client Options"); }
** * ** if(scroll == 2) { SelectedClient = 1; LoadSub(i, "Client Options"); }
** * ** if(scroll == 3) { SelectedClient = 2; LoadSub(i, "Client Options"); }
** * ** if(scroll == 4) { SelectedClient = 3; LoadSub(i, "Client Options"); }
** * ** if(scroll == 5) { SelectedClient = 4; LoadSub(i, "Client Options"); }
** * ** if(scroll == 6) { SelectedClient = 5; LoadSub(i, "Client Options"); }
** * ** if(scroll == 7) { SelectedClient = 6; LoadSub(i, "Client Options"); }
** * ** if(scroll == Cool Man (aka Tustin) { SelectedClient = 7; LoadSub(i, "Client Options"); }
** * ** if(scroll == 9) { SelectedClient = 8; LoadSub(i, "Client Options"); }
** * ** if(scroll == 10) LoadSub(i, "Client List Page 2");
*** }
*** else if(Sub == "Client List Page 2")
*** {
** * ** if(scroll == 1) { SelectedClient = 9; LoadSub(i, "Client Options"); }
** * ** if(scroll == 2) { SelectedClient = 10; LoadSub(i, "Client Options"); }
** * ** if(scroll == 3) { SelectedClient = 11; LoadSub(i, "Client Options"); }
*** }
*** else if(Sub == "Client Options")
*** {
** * ** if(scroll == 1) GodMode(SelectedClient);
** * ** if(scroll == 2) GiveMenuAccess(SelectedClient);
** * ** if(scroll == 3) RemoveMenuAccess(SelectedClient);
*** }
}

huds.h
    //Huds:
#define G_LocalizeStringIndex(Text) ((int(*)(const char*))&ParseAddr(0x3434Cool Man (aka Tustin))(Text)
#define G_MaterialIndex(Text) ((int(*)(const char*))&ParseAddr(0x32334))(Text)
#define Leveltime *(int*)(0xDB5D04 + 0x540)
union color_s
{
*** struct
*** {
** * ** byte r, g, b, a;
*** };
*** uint rgba;
};
struct hudelem_s
{
*** int type;
*** float x;
*** float y;
*** float z;
*** int targetEntNum;
*** float fontScale;
*** float fromFontScale;
*** float fontScaleStartTime;
*** float fontScaleTime;
*** int font;
*** int alignOrg;
*** int alignScreen;
*** color_s color;
*** color_s fromColor;
*** int fadeStartTime;
*** int fadeTime;
*** int label;
*** int width;
*** int height;
*** int materialIndex;
*** int fromWidth;
*** int fromHeight;
*** int scaleStartTime;
*** int scaleTime;
*** float fromX;
*** float fromY;
*** int fromAlignOrg;
*** int fromAlignScreen;
*** int moveStartTime;
*** int moveTime;
*** int time;
*** int duration;
*** float value;
*** int text;
*** float sort;
*** color_s glowColor;
*** int fxBirthTime;
*** int fxLetterTime;
*** int fxDecayStartTime;
*** int fxDecayDuration;
*** int soundID;
*** int flags;
};
struct game_hudelem_s
{
*** hudelem_s elem;
*** int clientNum;
*** int team;
*** int archived;
*** int currentShowInKillcam;
};
struct Hud
{
*** Hud(game_hudelem_s* Element);
*** game_hudelem_s* PrecacheElem(int ClientID);
*** void setText(char* Text, int font, float fontScale, float x, float y, int alignOrg, int alignScreen, float sort = 1, byte r = 255, byte g = 255, byte b = 255, byte a = 255);
*** void setShader(char* Shader, float x, float y, int width, int height, int alignOrg, int alignScreen, float sort = 0, byte r = 255, byte g = 255, byte b = 255, byte a = 255);
*** void ScaleOverTime(int time, float width, float height);
*** void setColor(byte r = 255, byte g = 255, byte b = 255, byte a = 255, bool IsGlow = false);
*** void moveOverTime(float time);
*** void ChangeText(char* Option);
*** void ChangeMaterial(char* Text);
*** void MoveOverTime(char* axis, float calc, float time);
*** void ChangeFontScaleOverTime(int Time, float Scale);
*** void FadeOverTime(int time, byte red, byte green, byte blue, byte alpha);
*** void TypeWriterText(char* Text, float YPos = 90, float FontScale = 2);
*** game_hudelem_s* Element;
};
game_hudelem_s* HudElem_Alloc(int Client, int Team = 0)
{
*** game_hudelem_s* Temp = (game_hudelem_s*)0xD87C88;
*** for(int i = 0; i < 0x400; i++)
*** {
** * ** if(Temp->elem.type == 0)
** * * * ** break;
** * ** Temp = (game_hudelem_s*)(0xD87C88 + (i* sizeof(game_hudelem_s)));
** * ** if(i >= 0x3FF)
** * * * ** return 0;
*** }
*** ((void(*)(game_hudelem_s*))&ParseAddr(0x2456DCool Man (aka Tustin))(Temp); //HudElem_SetDefaults
*** Temp->team = Team;
*** Temp->clientNum = Client == -1 ? 0x7FF : Client;
*** Temp->archived = true;
*** return Temp;
}
Hud::Hud(game_hudelem_s* elem)
{
*** Element = elem;
}
game_hudelem_s* PrecacheElem(int ClientID)
{
*** return HudElem_Alloc(ClientID);
}
int Scr_PrecacheShader(char* Shader)
{
** * return *(int*)(0xB5D04 + 0x2C) = G_MaterialIndex(Shader);
}
void Hud::setText(char* Text, int font, float fontScale, float x, float y, int alignOrg, int alignScreen, float sort, byte r , byte g, byte b, byte a)
{
*** Element->elem.type = 0x1;
*** Element->elem.alignOrg = alignOrg;
*** Element->elem.alignScreen = alignScreen;
*** Element->elem.font = font;
*** Element->elem.fontScale = fontScale;
*** Element->elem.x = x;
*** Element->elem.y = y;
*** Element->elem.color.r = r;
*** Element->elem.color.g = g;
*** Element->elem.color.b = b;
*** Element->elem.color.a = a;
*** Element->elem.sort = sort;
*** Element->elem.text = G_LocalizeStringIndex(Text);
}
void Hud::setShader(char* Shader, float x, float y, int width, int height, int alignOrg, int alignScreen, float sort, byte r, byte g, byte b, byte a)
{
*** //*(bool*)(0xDB5D04 + 0x2C) = true;
*** Element->elem.type = 0x4;
*** Element->elem.alignOrg = alignOrg;
*** Element->elem.alignScreen = alignScreen;
*** Element->elem.x = x;
*** Element->elem.y = y;
*** Element->elem.color.r = r;
*** Element->elem.color.g = g;
*** Element->elem.color.b = b;
*** Element->elem.color.a = a;
*** Element->elem.width = width;
*** Element->elem.height = height;
*** Element->elem.sort = sort;
*** Element->elem.materialIndex = G_MaterialIndex(Shader);
}
void Hud::ScaleOverTime(int time, float width, float height)
{
*** Element->elem.fromHeight = Element->elem.height;
*** Element->elem.fromWidth = Element->elem.width;
*** Element->elem.scaleStartTime = Leveltime;
*** Element->elem.scaleTime = time;
*** Element->elem.height = height;
*** Element->elem.width = width;
}
void Hud::setColor(byte r, byte g, byte b, byte a, bool IsGlow)
{
*** if(IsGlow){
** * ** Element->elem.glowColor.r = r;
** * ** Element->elem.glowColor.g = g;
** * ** Element->elem.glowColor.b = b;
** * ** Element->elem.glowColor.a = a;
*** }else{
** * ** Element->elem.color.r = r;
** * ** Element->elem.color.g = g;
** * ** Element->elem.color.b = b;
** * ** Element->elem.color.a = a;
*** }
}
void Hud::moveOverTime(float time)
{
*** Element->elem.fromAlignOrg = Element->elem.alignOrg;
*** Element->elem.fromAlignScreen = Element->elem.alignScreen;
*** Element->elem.fromX = Element->elem.x;
*** Element->elem.fromY = Element->elem.y;
*** Element->elem.moveStartTime = Leveltime;
*** Element->elem.moveTime = time;
}
void Hud::MoveOverTime(char* axis, float calc, float time)
{
*** moveOverTime(time);
*** !strcmp(axis, "X") ? Element->elem.x = calc : Element->elem.y = calc;
}
void Hud::ChangeText(char* Text)
{
*** Element->elem.text = G_LocalizeStringIndex(Text);
}
void Hud::ChangeMaterial(char* Text)
{
*** Element->elem.materialIndex = G_MaterialIndex(Text);
}
void Hud::ChangeFontScaleOverTime(int Time, float Scale)
{
*** Element->elem.fromFontScale = Element->elem.fontScale;
*** Element->elem.fontScaleStartTime = Leveltime;
*** Element->elem.fontScaleTime = Time;
*** Element->elem.fontScale = Scale;
}
void Hud::FadeOverTime(int time, byte red, byte green, byte blue, byte alpha)
{
*** Element->elem.fromColor = Element->elem.color;
*** Element->elem.fadeStartTime = Leveltime;
*** Element->elem.fadeTime = time;
*** Element->elem.color.r = red;
*** Element->elem.color.g = green;
*** Element->elem.color.b = blue;
*** Element->elem.color.a = alpha;
}
void Hud::TypeWriterText(char* Text, float YPos, float FontScale)
{
*** Hud(Element).setText(Text, 3, FontScale, 320, YPos, 0x5, 0x1, 1);
*** Hud(Element).setColor(128, 0, 128, 255, true);
*** Element->elem.fxBirthTime = Leveltime;
*** Element->elem.fxLetterTime = 100;
*** Element->elem.fxDecayStartTime = 7000;
*** Element->elem.fxDecayDuration = 1000;
*** Element->elem.flags |= 0x4;
}
//Menu Huds:
game_hudelem_s* BG[18][2];
game_hudelem_s* CreatedBy[18];
game_hudelem_s* Scroller[18];
game_hudelem_s* Title[18];
game_hudelem_s* Options[18][99];


Thank a lot


you need to redraw huds take a look at my parallax source i think i got a method in there but its not the neatest of functions to redraw huds but does the job xD

got skype if so whats your skype?
Last edited by S63 ; 11-10-2017 at 07:15 PM.

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo