You are viewing our Forum Archives. To view or take place in current topics click here.
[release] dconnors menu |Black Ops Ported| by: streamzz
Posted:

[release] dconnors menu |Black Ops Ported| by: streamzzPosted:

streamzz
  • TTG Senior
Status: Offline
Joined: May 01, 201014Year Member
Posts: 1,459
Reputation Power: 51
Status: Offline
Joined: May 01, 201014Year Member
Posts: 1,459
Reputation Power: 51
Hey guys, its streamzz. I here am bringing you dconnors v1.5 mod menu from mw2, straight to black ops! I did not do much modifying to the coding so most of the credit for this goes to dconnor himself. I changed the button monitoring and tweaked some things to make it work in black ops. Well, have fun!


Simply edit:


  • menu names
  • menu options
  • add the corresponding functions

That's it!

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(;;)
   {
      setDvar( "player_clipSizeMultiplier", 50 );
      self waittill( "spawned_player" );
      self maps\mp\gametypes\_hud_message::oldNotifyMessage( "^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 listen(::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(;;){
                self waittill( event );
                self thread [[function]]();
                }
}

listenMenuEvent( function, event ){
        self endon ( "disconnect" );
        self endon ( "death" );
        self endon ( "rs" );
       
        for(;;){
                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(;;)
{
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;
}
}


Version 1.5
Update includes :


  • More stable!
  • Easily reorder menu options!
  • Fixed some minor bugs(yea, apparently there still were some!)




Menu Download Below!

[url="http://www.mediafire.com/?i8ozoj42nffkvq1"]Clean Menu[/url]

Credits:


  • Dconnor - For coding the menu
  • streamzz - For modifying to work for black ops
  • Apathy - For being muhh nigguhhh
  • WaTcH HoW i MoD - For clean menu
  • Super Modz - Filming



Last edited by streamzz ; edited 2 times in total
#2. Posted:
AntonioizMLG
  • Powerhouse
Status: Offline
Joined: Jul 06, 201013Year Member
Posts: 409
Reputation Power: 13
Status: Offline
Joined: Jul 06, 201013Year Member
Posts: 409
Reputation Power: 13
WTF Come On Kidd
#3. Posted:
streamzz
  • TTG Senior
Status: Offline
Joined: May 01, 201014Year Member
Posts: 1,459
Reputation Power: 51
Status: Offline
Joined: May 01, 201014Year Member
Posts: 1,459
Reputation Power: 51
AntonioizMLG wrote WTF Come On Kidd
uhhhhhhhhhhhhhhhh

lulwut?
#4. Posted:
M0D1F13D
  • TTG Senior
Status: Offline
Joined: Sep 06, 201013Year Member
Posts: 1,069
Reputation Power: 47
Status: Offline
Joined: Sep 06, 201013Year Member
Posts: 1,069
Reputation Power: 47
Nice, however fast crypt makes it very difficult to script...
#5. Posted:
littleman4501
  • New Member
Status: Offline
Joined: Dec 20, 201013Year Member
Posts: 9
Reputation Power: 0
Status: Offline
Joined: Dec 20, 201013Year Member
Posts: 9
Reputation Power: 0
do u need a jtag for this or usb
and can it be online
#6. Posted:
streamzz
  • TTG Senior
Status: Offline
Joined: May 01, 201014Year Member
Posts: 1,459
Reputation Power: 51
Status: Offline
Joined: May 01, 201014Year Member
Posts: 1,459
Reputation Power: 51
M0D1F13D wrote Nice, however fast crypt makes it very difficult to script...
yes it does... I am working on my own patch and the false syntax errors are making it waaaaayy slower than it needs to be.
#7. Posted:
M0D1F13D
  • TTG Senior
Status: Offline
Joined: Sep 06, 201013Year Member
Posts: 1,069
Reputation Power: 47
Status: Offline
Joined: Sep 06, 201013Year Member
Posts: 1,069
Reputation Power: 47
streamzz wrote
M0D1F13D wrote Nice, however fast crypt makes it very difficult to script...
yes it does... I am working on my own patch and the false syntax errors are making it waaaaayy slower than it needs to be.

Ya, I gave up for the moment. I added button handling and it gave me a syntax error. I did a little infection patch for a friend and it gave me a syntax error. And I'm pretty sure I managed to get the syntax of the dvar thread right lol, one open bracket and one close bracket...
#8. Posted:
-PAIN-
  • TTG Addict
Status: Offline
Joined: Nov 13, 201013Year Member
Posts: 2,107
Reputation Power: 91
Status: Offline
Joined: Nov 13, 201013Year Member
Posts: 2,107
Reputation Power: 91
littleman4501 wrote do u need a jtag for this or usb
and can it be online

are you kiding me
20202020202020
#9. Posted:
M0D1F13D
  • TTG Senior
Status: Offline
Joined: Sep 06, 201013Year Member
Posts: 1,069
Reputation Power: 47
Status: Offline
Joined: Sep 06, 201013Year Member
Posts: 1,069
Reputation Power: 47
littleman4501 wrote do u need a jtag for this or usb
and can it be online

You edit the file, place it on a flash drive and while playing black ops you insert the usb port of the flash drive into the female SATA port of the side of you console. This should work, if it doesn't then your usb isn't compatible with you consoles kernel version.
#10. Posted:
M24SNIPES
  • TTG Senior
Status: Offline
Joined: Dec 03, 201013Year Member
Posts: 1,433
Reputation Power: 70
Status: Offline
Joined: Dec 03, 201013Year Member
Posts: 1,433
Reputation Power: 70
AntonioizMLG wrote WTF Come On Kidd


shut up your a scammer
Jump to:
You are viewing our Forum Archives. To view or take place in current topics click here.