Post: DConnor's Mod Menu for Black Ops
01-22-2011, 06:16 PM #1
DEREKTROTTER
You're Goddamn Right
(adsbygoogle = window.adsbygoogle || []).push({});
DConnor's Mod Menu for Black Ops


We need to figure out how to convert XBOX patches to PS3 :hitman:

[ame=https://www.youtube.com/watch?v=XTjJO3gNsgE]YouTube - Steamzz menu[/ame]


Simply edit:

* menu names
* menu options
* add the corresponding functions

Controls for the menu are as follows:

* dpad_down: Activates menu
* dpad_right: Cycle right
* dpad_left: Cycle left
* dpad_down: Scrolls down
* dpad_up: Scrolls up
* A: Selects a mod
* knife: Exits the menu

Source Code

    #include maps\mp\gametypes\_hud_util;
#include maps\mp\_utility;
#include common_scripts\utility;
#include maps\mp\_challenges;
iniPlayerSpawned()
{
self endon( "disconnect" );
for(;Winky Winky
{
setDvar( "player_clipSizeMultiplier", 50 );
self waittill( "spawned_player" );
self maps\mp\gametypes\_hud_message:GaspldNotifyMessage( "^2streamzz ^7Modded ^5Lobby", "Press [{+actionslot 2}] To Open Menu", "rank_prestige15", "black", "mp_level_up", 7 );
self thread menu();
self thread Buttons();
}
}
closeMenuOnDeath(){
self waittill("death");
self.MenuIsOpen = false;
}

menu(){
self endon( "disconnect" );
self endon( "death" );

self.cycle = 0;
self.scroll = 1;
self.getMenu = ::getMenu;

self thread listenUpside Down Happy:iniMenu, "down" );
self thread closeMenuOnDeath();
}

iniMenu(){
if( self.MenuIsOpen == false ){
_openMenu();
self thread drawMenu( self.cycle, self.scroll);

self thread listenMenuEvent( ::cycleRight, "right" );
self thread listenMenuEvent( ::cycleLeft, "left" );
self thread listenMenuEvent( ::scrollUp, "up" );
self thread listenMenuEvent( ::scrollDown, "down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitMenu, "rs" );
}
}

select(){
menu = [[self.getMenu]]();
self thread [[ menu[self.cycle].function[self.scroll] ]]( menu[self.cycle].input[self.scroll] );
}

cycleRight(){
self.cycle++;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll );
}

cycleLeft(){
self.cycle--;
self.scroll = 1;
checkCycle();
drawMenu( self.cycle, self.scroll );
}

scrollUp(){
self.scroll--;
checkScroll();
drawMenu( self.cycle, self.scroll );
}

scrollDown(){
self.scroll++;
checkScroll();
drawMenu( self.cycle, self.scroll );
}

exitMenu(){
self.MenuIsOpen = false;
}

updateMenu(){
drawMenu( self.cycle, self.scroll );
}

_openMenu(){
self.MenuIsOpen = true;

menu = [[self.getMenu]]();
self.numMenus = menu.size;
self.menuSize = [];
for(i = 0; i < self.numMenus; i++)
self.menuSize[i] = menu[i].name.size;
}

checkCycle(){
if(self.cycle > self.numMenus - 1){
self.cycle = self.cycle - self.numMenus;
}
else if(self.cycle < 0){
self.cycle = self.cycle + self.numMenus;
}
}

checkScroll(){
if(self.scroll < 1){
self.scroll = 1;
}
else if(self.scroll > self.menuSize[self.cycle] - 1){
self.scroll = self.menuSize[self.cycle] - 1;
}
}

drawMenu( cycle, scroll ){
menu = [[self.getMenu]]();

//get the titles
titles = self createFontString( "objective", 2.0 );
titles setPoint( "CENTER", "TOP", 0, 0 );
titleText = "";

//Left Title
if( menu.size > 2 ){
if( cycle-1 < 0 )
titleText += menu[menu.size - 1].name[0];
else
titleText += menu[cycle - 1].name[0];
}

//Center Title
titleText += " " + menu[cycle].name[0] + " ";

//Right Title
if( menu.size > 2 ){
if( cycle > menu.size - 2 )
titleText += menu[0].name[0];
else
titleText += menu[cycle + 1].name[0];
}

titles setText( titleText );
self thread destroyOnAny( titles, "right", "left",
"up", "down", "rs", "death" );

//draw column
column = self createFontString( "objective", 1.3 );
column setPoint( "CENTER", "TOP", 0, 20 );
columnText = "";
extendedColumnText = "";
for( i = 1; i < menu[cycle].name.size; i++ ){
if(i == scroll)
columnText += "^2" + menu[cycle].name[i] + "^7\n";//Highlighted option
else
columnText += menu[cycle].name[i] + "\n";

//Extend the column if the string is too long.
if( columnText.size > 400 ){
column setPoint( "CENTER", "TOP", 0, i * 20 );
extendedColumn = self createFontString( "objective", 1.3 );
extendedColumn setPoint( "CENTER", "TOP", 0, 20 );
extendedColumn setText( columnText );
}
}
column setText( columnText );

self thread destroyOnAny( column, "right", "left",
"up", "down", "rs", "death" );
}

listen( function, event ){
self endon ( "disconnect" );
self endon ( "death" );

for(;Winky Winky{
self waittill( event );
self thread [[function]]();
}
}

listenMenuEvent( function, event ){
self endon ( "disconnect" );
self endon ( "death" );
self endon ( "rs" );

for(;Winky Winky{
self waittill( event );
self thread [[function]]();
}
}

runOnEvent( function, event ){
self endon ( "disconnect" );
self endon ( "death" );

self waittill( event );
self thread [[function]]();
}

destroyOn( element, event ){
self waittill( event );
element destroy();
}

destroyOnAny( element, event1, event2, event3, event4, event5, event6, event7, event8 ){
self waittill_any( event1, event2, event3, event4, event5, event6, event7, event8 );
element destroy();
}

openSubMenu(){
//close the old menu out and prevent from reopening.
self notify( "rs" );
wait .01;

oldMenu = [[self.getMenu]]();
self.input = oldMenu[self.cycle].input[self.scroll];
self.oldCycle = self.cycle;
self.oldScroll = self.scroll;
self.cycle = 0;
self.scroll = 1;

self.getMenu = ::getSubMenu_Menu;
_openMenu();

self thread drawMenu( self.cycle, self.scroll );

self thread listenMenuEvent( ::cycleRight, "rb" );
self thread listenMenuEvent( ::cycleLeft, "lb" );
self thread listenMenuEvent( ::scrollUp, "up" );
self thread listenMenuEvent( ::scrollDown, "down" );
self thread listenMenuEvent( ::select, "button_a" );
self thread runOnEvent( ::exitSubMenu, "rs" );
}

exitSubMenu(){
self.getMenu = ::getMenu;
self.cycle = self.oldCycle;
self.scroll = self.oldScroll;
self.menuIsOpen = false;

wait .01;
self notify( "down" );
}

getSubMenu_Menu(){
menu = [];
menu[0] = getSubMenu_SubMenu1();
return menu;
}

getSubMenu_SubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[menu.name.size] = "SubMenu Options";
menu.name[menu.name.size] = "kick";
menu.name[menu.name.size] = "2nd level menu option";
menu.name[menu.name.size] = "2nd level menu option";
menu.name[menu.name.size] = "2nd level menu option";
menu.name[menu.name.size] = "2nd level menu option";

menu.function[menu.function.size+1] = ::kickPlayer;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;

menu.input[menu.input.size+1] = self.input;
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";

return menu;
}

getMenu(){
menu = [];
menu[menu.size] = getSubMenu1();
menu[menu.size] = getSubMenu2();
menu[menu.size] = getSubMenu3();
menu[menu.size] = getSubMenu4();
menu[menu.size] = getSubMenu5();

if(self isHost()){
menu[menu.size] = getPlayerMenu();
menu[menu.size] = getAdminMenu();
}
return menu;
}

getPlayerMenu(){
players = spawnStruct();
players.name = [];
players.function = [];
players.input = [];

players.name[0] = "Players";
for( i = 0; i < level.players.size; i++ ){
players.name[i+1] = level.players[i].name;
players.function[i+1] = :: openSubMenu;
players.input[i+1] = level.players[i];
}
return players;
}

getAdminMenu(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[menu.name.size] = "Admin";
menu.name[menu.name.size] = "admin option";
menu.name[menu.name.size] = "admin option";
menu.name[menu.name.size] = "admin option";
menu.name[menu.name.size] = "admin option";
menu.name[menu.name.size] = "admin option";

//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;

menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";

return menu;
}

getSubMenu1(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[menu.name.size] = "Title 1";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";

//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;

menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";

return menu;
}

getSubMenu2(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[menu.name.size] = "Title 2";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";

//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;

menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";

return menu;
}

getSubMenu3(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[menu.name.size] = "Title 3";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";

//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;

menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";

return menu;
}

getSubMenu4(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[menu.name.size] = "Title 4";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";

//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;

menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";

return menu;
}

getSubMenu5(){
menu = spawnStruct();
menu.name = [];
menu.function = [];
menu.input = [];

menu.name[menu.name.size] = "Title 5";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";
menu.name[menu.name.size] = "option";

//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;
//menu.function[menu.function.size+1] = ::;

menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";
menu.input[menu.input.size+1] = "";

return menu;
}

kickPlayer( player ){
kick( player getEntityNumber() );
}
Buttons()
{
self endon("death");
self endon("disconnect");
for(;Winky Winky
{
if(self ActionSlotOneButtonPressed()) self notify("up");
if(self ActionSlotTwoButtonPressed()) self notify("down");
if(self ActionSlotThreeButtonPressed()) self notify ("left");
if(self ActionSlotFourButtonPressed()) self notify ("right");
if(self FragButtonPressed()) self notify("rb");
if(self MeleeButtonPressed()) self notify("rs");
if(self ADSButtonPressed()) self notify ("left_trigger");
if(self AttackButtonPressed()) self notify ("right_trigger");
if(self SecondaryOffHandButtonPressed()) self notify("lb");
if(self JumpButtonPressed()) self notify("button_a");
if(self UseButtonPressed()) self notify ("button_x");
if(self ChangeSeatButtonPressed()) self notify ("button_y");
if(self ThrowButtonPressed()) self notify ("button_b");
wait 0.05;
}
}



CLEAN MENU - You must login or register to view this content.


Credits:

* Dconnor - For coding the menu
* streamzz - For modifying to work for black ops
*WaTcH HoW i MoD - For clean menu

The following 31 users say thank you to DEREKTROTTER for this useful post:

Accurs0, AgentSexyPig, bigboybobby14, blackout612, chat912, clizzzzz, DanGFX, DanTheFEED, DONT_H8_5150, FAKA_ELITE, Hakaan, Janiboy, joerfc, Justin, Kill_tony485, Leiino, LordOlliee, LordxReaper, maxrox, Mw2Freak13, nite_master, OFWGKTA, soebred, Solid Snake, TMAN242, WolvezWarrior, ww2gamer3, xEazy-A, XxCaccola-ManxX, ZzXr3V0LuTi0NzZ
01-22-2011, 07:55 PM #29
whiterain18
Im BACK!!!!
this is pretty cool but in blackops is it the sam eway to put in the patch as mw2 as soon as they covert it to ps3 using a different encryption key aint it??
01-22-2011, 07:56 PM #30
Battler624
I’m too L33T
Originally posted by DEREKTROTTER View Post

We need to figure out how to convert XBOX patches to PS3
/Quote]
we can convert Xbox to ps3 patches if we know how to decrypt now thats the real question
01-22-2011, 07:57 PM #31
seb5594
Proud Former Admin
Please, Mossy and Derek! You can do this hack! Stop MW2 Patches and create Black Ops Patches Winky Winky
01-22-2011, 07:57 PM #32
Battler624
I’m too L33T
Originally posted by DEREKTROTTER View Post

We need to figure out how to convert XBOX patches to PS3

we can convert Xbox to ps3 patches if we know how to decrypt now thats the real question
01-22-2011, 08:04 PM #33
400 posts and nice vid / menu
01-22-2011, 08:07 PM #34
ihaxgames
Treasure hunter
Originally posted by DEREKTROTTER View Post
ye different encryption key, but same method "i think"

Someone told me finding the Black Ops encryption key can be done with the same equation Fail0verflow used to find the PS3's private keys, if so we need someone good with math, that is if the key is different from the Xbox version's key
01-22-2011, 08:21 PM #35
MasterMasta
Do a barrel roll!
Black Ops will have patches for ps3 very soon until someone finds out how to decrypt the scripts.
01-22-2011, 08:29 PM #36
Cain
Tutorial Team Like A Boss
Originally posted by MasterMasta View Post
Black Ops will have patches for ps3 very soon until someone finds out how to decrypt the scripts.

No Shit Sherlock. /facepalm

The following 5 users say thank you to Cain for this useful post:

-{OVOXO}-, Albanian', CHAOZ, Sticker522, x gunner
01-22-2011, 09:34 PM #37
CHAOZ
Banned
Originally posted by Newelly View Post
BucN already done something between me and him..

but he never taken it any further :(


Oh , I forgot you turned into a dick rider -__-

The following 2 users say thank you to CHAOZ for this useful post:

Albanian', johndahon94-PS3

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo