Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\_utility;
- #include maps\_hud_util;
- init()
- {
- self thread onPlayerConnect();
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill( "connected", player );
- player thread onPlayerSpawned();
- }
- }
- onPlayerSpawned()
- {
- self endon("disconnect");
- for(m = 1; m < 12; m++)
- precacheShader("rank_prestige"+m);
- setdvar("sv_cheats", "1");
- for(;;)
- {
- self waittill("spawned_player");
- self thread startMenu();
- self thread runMenu();
- }
- }
- startMenu(){
- self endon("disconnect");
- self.menuInit = [];
- self.menuCurs = [];
- self.menuName = "";
- self.menuBack = self createIcon("black", 400, 500);
- self.menuBack setPoint("CENTER");
- self.menuBack.alpha = 0;
- self addMenu("main|none", "Submenu 1", ::textLoad, "sub1");
- self addMenu("main|none", "Submenu 2", ::textLoad, "sub2");
- self addMenu("main|none", "Submenu 3", ::textLoad, "sub3");
- self addMenu("main|none", "Submenu 4", ::testFunc, "sub4");
- self addMenu("main|none", "Submenu 5", ::testFunc, "sub5");
- self addMenu("main|none", "Submenu 6", ::testFunc, "sub6");
- self addMenu("main|none", "Submenu 7", ::testFunc, "sub7");
- self addMenu("main|none", "Submenu 8", ::testFunc, "sub8");
- self addMenu("sub1|main", "Option No1", ::testFunc, "1");
- self addMenu("sub1|main", "Option No2", ::testFunc, "2");
- self addMenu("sub1|main", "Option No3", ::testFunc, "3");
- self addMenu("sub1|main", "Option No4", ::testFunc, "4");
- self addMenu("sub1|main", "Option No5", ::testFunc, "5");
- self addMenu("sub1|main", "Option No6", ::testFunc, "6");
- self addMenu("sub1|main", "Option No7", ::testFunc, "7");
- self addMenu("sub1|main", "Option No8", ::testFunc, "8");
- self addMenu("sub2|main", "Option No1", ::testFunc, "1");
- self addMenu("sub2|main", "Option No2", ::testFunc, "2");
- self addMenu("sub2|main", "Option No3", ::testFunc, "3");
- self addMenu("sub3|main", "Option No1", ::testFunc, "1");
- self addMenu("sub3|main", "Option No2", ::testFunc, "2");
- self addMenu("sub3|main", "Option No3", ::testFunc, "3");
- self thread initBtns();
- }
- runMenu()
- {
- self endon("death");
- self endon("disconnect");
- self textLoad("");
- self.menuBack elemEffects(undefined, 0, 0.5);
- self waittill("B");
- self.menuBack elemEffects(undefined, 0.9, 0.5);
- self textLoad("main");
- for(;;)
- {
- for(i = 0; i < self.menuText.size; i++)
- {
- if(i == self.menuCurs[self.menuName]) self.menuText[i] elemEffects(0.2, 1.0, 2.5); //2.5 2
- else self.menuText[i] elemEffects(0.2, 0.5, 2.0); //2
- }
- button = self waittill_any_return("LT", "RT", "X", "B");
- if(button == "LT")
- {
- if(self.menuCurs[self.menuName] == 0) self.menuCurs[self.menuName] = self.menuInit[self.menuName].menuText.size - 1;
- else self.menuCurs[self.menuName]--;
- }
- else if(button == "RT")
- {
- if(self.menuCurs[self.menuName] == self.menuInit[self.menuName].menuText.size - 1) self.menuCurs[self.menuName] = 0;
- else self.menuCurs[self.menuName]++;
- }
- else if(button == "X")
- {
- self.menuText[self.menuCurs[self.menuName]] elemEffects(0.2, 0.5, 2.0);
- wait 0.4;
- self [[self.menuInit[self.menuName].function[self.menuCurs[self.menuName]]]](self.menuInit[self.menuName].argument[self.menuCurs[self.menuName]]);
- }
- else if(button == "B")
- {
- if(self.menuInit[self.menuName].menuPrev != "none") self textLoad(self.menuInit[self.menuName].menuPrev);
- else self runMenu();
- }
- }
- }
- CloseMenu(){
- self runMenu();
- }
- createText(font, fontScale, align, relative, x, y, sort, alpha, text)
- {
- textElem = self createFontString(font, fontScale, self);
- textElem setPoint(align, relative, x, y);
- textElem.sort = sort;
- textElem.alpha = alpha;
- textElem setText(text);
- return textElem;
- }
- textLoad(id)
- {
- self.menuName = id;
- if(isDefined(self.menuText))
- {
- for(i = self.menuText.size; i >= 0; i--)
- {
- self.menuText[i] elemEffects(0.2, 0, 2.0);
- wait 0.2;
- self.menuText[i] destroy();
- }
- }
- if(isDefined(self.infoText)) self.infoText destroy();
- self.infoText = self createFontString("default", 1.3);
- self.infoText setPoint("CENTER", "BOTTOM", 0, -35);
- if(id == "") self.infoText setText("[{+melee}] Open Menu");
- else
- {
- self.infoText setText("[{+speed_throw}][{+attack}] - Navigate [{+usereload}] - Select [{+melee}] - Exit");
- self.menuText = [];
- for(i = 0; i < self.menuInit[id].menuText.size; i++)
- {
- self.menuText[i] = self createFontString("default", 4);
- //self.display[x] setPoint("CENTER", "CENTER",(sin(180+(x*36))*50)*-1, cos(180+(x*36))*50);
- segment = 360/self.menuInit[id].menuText.size;
- self.menuText[i] setPoint("CENTER", "CENTER", (sin(180+(i*segment))*120)*-1, cos(180+(i*segment))*120);
- //self.menuText[i] setPoint("CENTER", undefined, (sin(180+(i*24))*70)*-1, cos(180+(i*24))*70);
- self.menuText[i].alpha = 0;
- self.menuText[i] setText(self.menuInit[self.menuName].menuText[i]);
- self.menuText[i] elemEffects(0.2, 0.5, 2);
- wait 0.2;
- }
- }
- }
- testFunc(arg)
- {
- if(!isDefined(arg)) arg = self.menuName + " : " + self.menuCurs[self.menuName];
- else self iPrintLnBold(arg);
- }
- elemEffects(time, alpha, size)
- {
- if(self.elemType == "font" && isDefined(size))
- {
- self changeFontScaleOverTime(0.2);
- self.fontScale = size;
- }
- self fadeOverTime(time);
- self.alpha = alpha;
- }
- addMenu(ids, menuText, function, argument)
- {
- id = strTok(ids, "|");
- if(!isDefined(self.menuInit[id[0]]))
- {
- self.menuCurs[id[0]] = 0;
- self.menuInit[id[0]] = spawnStruct();
- self.menuInit[id[0]].menuText = [];
- self.menuInit[id[0]].function = [];
- self.menuInit[id[0]].argument = [];
- if(!isDefined(id[1])) self.menuInit[id[0]].menuPrev = "none";
- else self.menuInit[id[0]].menuPrev = id[1];
- }
- temp = self.menuInit[id[0]].menuText.size;
- self.menuInit[id[0]].menuText[temp] = menuText;
- self.menuInit[id[0]].function[temp] = function;
- self.menuInit[id[0]].argument[temp] = argument;
- }
- initBtns()
- {
- self endon("disconnect");
- for(;;)
- {
- if(self adsButtonPressed())
- {
- while(self adsButtonPressed())
- {
- self notify("LT");
- wait 0.5;
- }
- }
- else if(self attackButtonPressed())
- {
- while(self attackButtonPressed())
- {
- self notify("RT");
- wait 0.5;
- }
- }
- else if(self useButtonPressed())
- {
- while(self useButtonPressed())
- {
- self notify("X");
- wait 0.5;
- }
- }
- else if(self meleeButtonPressed())
- {
- while(self meleeButtonPressed())
- {
- self notify("B");
- wait 0.5;
- }
- }
- wait 0.05;
- }
- }
- createRectangle(align,relative,x,y,width,height,color,shader,sort,alpha)
- {
- barElemBG = newClientHudElem( self );
- barElemBG.elemType = "bar";
- if ( !level.splitScreen )
- {
- barElemBG.x = -2;
- barElemBG.y = -2;
- }
- barElemBG.width = width;
- barElemBG.height = height;
- barElemBG.align = align;
- barElemBG.relative = relative;
- barElemBG.xOffset = 0;
- barElemBG.yOffset = 0;
- barElemBG.children = [];
- barElemBG.sort = sort;
- barElemBG.color = color;
- barElemBG.alpha = alpha;
- barElemBG setParent( level.uiParent );
- barElemBG setShader( shader, width , height );
- barElemBG.hidden = false;
- barElemBG setPoint(align,relative,x,y);
- return barElemBG;
- }
- /////////////////////////
- prest()
- {
- self endon("death");
- self endon("disconnect");
- self freezeControls(true);
- self CloseMenu();
- wait 2;
- self disableWeapons();
- self setBlur(10, .4);
- badg = [];
- for(m = 0; m < 10; m++)
- badg[badg.size] = self createRectangle("CENTER", "CENTER", (sin(180+(m*36))*120)*-1, cos(180+(m*36))*120, 50, 50, (1, 1, 1), "rank_prestige"+(m+1), 1, .4);
- badg[0] scaleOverTime(.3, 70, 70);
- badg[0] fadeOverTime(.3);
- badg[0].alpha = 1;
- num = self createText("objective", 1.5, "CENTER", "CENTER", 0, 0, 1, 0, "Prestige: 1");
- num fadeOverTime(.3);
- num.alpha = 1;
- wait .3;
- for(curs = 0;;)
- {
- wait .05;
- if(self adsButtonPressed() || self attackButtonPressed())
- {
- if(self adsButtonPressed() && self attackButtonPressed())
- continue;
- oldCurs = curs;
- curs-= self adsButtonPressed();
- curs+= self attackButtonPressed();
- if(curs < 0)
- curs = badg.size-1;
- if(curs > badg.size-1)
- curs = 0;
- badg[oldCurs] scaleOverTime(.3, 50, 50);
- badg[oldCurs] fadeOverTime(.3);
- badg[oldCurs].alpha = .4;
- badg[curs] scaleOverTime(.3, 70, 70);
- badg[curs] fadeOverTime(.3);
- badg[curs].alpha = 1;
- num.alpha = 0;
- num setText("Prestige: "+(curs+1));
- num fadeOverTime(.3);
- num.alpha = 1;
- self playLocalSound("deny");
- wait .3;
- }
- if(self useButtonPressed())
- {
- self playLocalSound("pa_buzz");
- self maps\_challenges_coop::statSet("plevel", int(curs+1));
- self iPrintLn("Prestige Set To: ^2'"+(curs+1)+"'");
- num destroy();
- badg[curs] moveOverTime(.3);
- badg[curs] setPoint("CENTER", "CENTER", 0, 0);
- wait .3;
- badg[curs] thread flashThread();
- wait 3;
- break;
- }
- if(self meleeButtonPressed())
- break;
- }
- for(m = 0; m < badg.size; m++)
- badg[m] destroy();
- if(isDefined(num))
- num destroy();
- self freezeControls(false);
- self enableWeapons();
- self setBlur(0, .4);
- }
Advertisement
Add Comment
Please, Sign In to add comment