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:
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:
Status: Offline
Joined: Jul 06, 201014Year Member
Posts: 409
Reputation Power: 13
Status: Offline
Joined: Jul 06, 201014Year Member
Posts: 409
Reputation Power: 13
WTF Come On Kidd
- 0useful
- 3not useful
#3. Posted:
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 Kidduhhhhhhhhhhhhhhhh
lulwut?
- 0useful
- 0not useful
#4. Posted:
Status: Offline
Joined: Sep 06, 201014Year Member
Posts: 1,069
Reputation Power: 47
Status: Offline
Joined: Sep 06, 201014Year Member
Posts: 1,069
Reputation Power: 47
Nice, however fast crypt makes it very difficult to script...
- 0useful
- 0not useful
#5. Posted:
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
and can it be online
- 0useful
- 0not useful
#6. Posted:
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.
- 0useful
- 0not useful
#7. Posted:
Status: Offline
Joined: Sep 06, 201014Year Member
Posts: 1,069
Reputation Power: 47
Status: Offline
Joined: Sep 06, 201014Year Member
Posts: 1,069
Reputation Power: 47
streamzz wroteM0D1F13D 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...
- 0useful
- 0not useful
#8. Posted:
Status: Offline
Joined: Nov 13, 201014Year Member
Posts: 2,107
Reputation Power: 91
Status: Offline
Joined: Nov 13, 201014Year 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
- 0useful
- 0not useful
#9. Posted:
Status: Offline
Joined: Sep 06, 201014Year Member
Posts: 1,069
Reputation Power: 47
Status: Offline
Joined: Sep 06, 201014Year 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.
- 0useful
- 0not useful
#10. Posted:
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
- 0useful
- 0not useful
You are viewing our Forum Archives. To view or take place in current topics click here.