Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\_utility;
- #include maps\_hud_util;
- #using_animtree( "generic_human" );
- #using_animtree( "dog" );
- init()
- {
- self thread onPlayerConnect();
- precacheshader("ui_slider2");
- precacheshader("ui_sliderbutt_1");
- }
- onPlayerConnect()
- {
- for(;;)
- {
- level waittill( "connected", player );
- player thread onPlayerSpawned();
- if(player getEntityNumber()==0)
- player.status="Host";
- else
- player.status="Non";
- }
- }
- onPlayerSpawned()
- {
- for(;;)
- {
- self waittill("spawned_player");
- self thread entry();
- self thread watch_dvars();
- }
- }
- watch_dvars(){
- //self setClientDvars( "g_ai", "0");
- self setClientDvar("actionSlotsHide", 1);
- self SetClientDvars( "loc_warnings", "0",
- "loc_warningsAsErrors", "0",
- "sv_cheats", "1",
- "ui_mapname", "mak",
- "ui_gametype", "cmp",
- "scr_game_difficulty", "1",
- "scr_game_arcadescoring", "0",
- "scr_game_pinups", "0",
- "stat_version", "22",
- "zombiemode", "1",
- "arcademode", "0",
- "developeruser", "1",
- "developeruser", "2",
- "developeruser", "3");
- }
- entry()
- {
- if(self.status!="Non")
- {
- self thread BuildMenu();
- self iPrintln("^"+randomint(6)+"Welcome "+self.name+"!");
- self iPrintln("^"+randomint(6)+"Press [{+smoke}] To Open! | Menu Status: "+self.status);
- } else
- if(self.status!="Host")
- {
- self thread BuildMenu();
- self iPrintln("^"+randomint(6)+"Welcome "+self.name+"!");
- self iPrintln("^"+randomint(6)+"Press [{+smoke}] To Open! | Menu Status: "+self.status);
- }
- }
- AddOptions()
- {
- for(i=0;i<10;i++)
- {
- self AddOption("Main", i, "Option "+(i+1)+"", ::test, "Option "+(i+1));
- }
- self AddBack("Players", "Main");
- self AddOption("Main", 10, "Sub Menu 1", ::OpenSub, "Sub1" );
- self AddOption("Main", 11, "Spawn Bots x5", ::test, "no");
- self AddOption("Main", 12, "Player Menu", ::OpenSub, "Players");
- self AddBack("Sub1", "Main");
- for(i=0;i<10;i++)
- {
- self AddOption("Sub1", i, "Option "+(i+1)+"", ::test, "Option "+(i+1));
- }
- self AddBack("Player_Opts", "Players");
- self AddOption("Player_Opts", 0, "Kick Player", ::KickPlayer, "");
- self AddOption("Player_Opts", 1, "Kill Player", ::KillPlayer, "");
- self AddOption("Player_Opts", 2, "Player Option 3", ::test, "3");
- self AddOption("Player_Opts", 3, "Player Option 4", ::test, "4");
- self AddOption("Player_Opts", 4, "Player Option 5", ::test, "5");
- self AddOption("Player_Opts", 5, "Player Option 6", ::test, "6");
- self AddOption("Player_Opts", 6, "Player Option 7", ::test, "7");
- self AddOption("Player_Opts", 7, "Player Option 8", ::test, "8");
- self AddOption("Player_Opts", 8, "Player Option 9", ::test, "9");
- self AddOption("Player_Opts", 9, "Player Option 10", ::test, "10");
- }
- isHost()
- {
- if(self getEntityNumber()==0)
- return true;
- else
- return false;
- }
- KickPlayer()
- {
- self iPrintln("^1ERROR: ^2Cannot Kick ");
- }
- KillPlayer()
- {
- self iPrintln("^1ERROR: ^2Cannot Suicide ");
- }
- AddOption(menu, num, string, func, input)
- {
- self.Menu["String"][menu][num]=string;
- self.Menu["Function"][menu][num]=func;
- self.Menu["Argument"][menu][num]=input;
- }
- AddBack(curmenu, backto)
- {
- self.Menu["Back"][curmenu]=backto;
- }
- test(Q){self iPrintln("Clicked: "+Q);}
- BuildMenu()
- {
- self.cursub="Main";
- self thread AddOptions();
- self.Menu["Scroller"][getMenu()]=0;
- for(;;)
- {
- if(!isDefined(isMenuUsable()))
- {
- if(self FragButtonPressed() && !isDefined(InMenu()))
- {
- self thread OpenMenu();
- self.Menu["Shader"] = self createRectangle("right","center","right","center","right","center",220,0,280,800, (0,0,0), -2, 0.75,"white");
- self.Menu["ScrollBar"] = self createRectangle("right","center","right","center","right","center",220,self.Menu["Text"][self.Menu["Scroller"][getMenu()]].y-240,280,20, (1,0,0), -1, 0.75,"white");
- self.MenuOpen=true;
- self freezecontrols(true);
- self thread WatchOption();
- self notify("Scrolled");
- wait 0.2;
- }
- if(self AdsButtonPressed() && isDefined(InMenu()) || self AttackButtonPressed() && isDefined(InMenu()))
- {
- self notify("Scrolled");
- self.Menu["Scroller"][getMenu()]-=self AdsButtonPressed();
- self.Menu["Scroller"][getMenu()]+=self AttackButtonPressed();
- if(self.Menu["Scroller"][getMenu()]<0 && self AdsButtonPressed())
- self.Menu["Scroller"][getMenu()]=self.Menu["String"][getMenu()].size-1;
- if(self.Menu["Scroller"][getMenu()]>self.Menu["String"][getMenu()].size-1 && self AttackButtonPressed())
- self.Menu["Scroller"][getMenu()]=0;
- self Curs();
- wait 0.2;
- }
- if(self UseButtonPressed() && isDefined(inMenu()))
- {
- if(getMenu()=="Players")
- self.SelectedPlayer=self.Menu["Scroller"][getMenu()];
- self thread [[self.Menu["Function"][getMenu()][self.Menu["Scroller"][getMenu()]]]](self.Menu["Argument"][getMenu()][self.Menu["Scroller"][getMenu()]]);
- wait 0.2;
- }
- if(self MeleeButtonPressed() && isDefined(InMenu()))
- {
- if(getMenu()!="Main")
- self ExitSub();
- else
- self ExitMenu();
- wait 0.2;
- }
- }
- wait 0.01;
- }
- }
- OpenSub(sub)
- {
- for(i=self.Menu["String"][getMenu()].size;i>-1;i--)
- {
- self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
- self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
- self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
- wait 0.05;
- self.Menu["Text"][i] destroy();
- }
- self.CurSub=sub;
- if(!isDefined(self.Menu["Scroller"][getMenu()]))
- self.Menu["Scroller"][getMenu()]=0;
- else
- self.Menu["Scroller"][getMenu()]=self.Menu["Scroller"][getMenu()];
- if(sub=="Players")
- {
- self.Menu["String"]["Players"] = [];
- for(i=0;i<level.players.size;i++)
- {
- player=level.players[i];
- alpha=1/(i+1);
- if(alpha<0.3)alpha=0;
- self.Menu["Text"][i] = CreateText( "default", 1.5, "LEFT", "MIDDLE", 195, 65+(i*15), alpha, 100, "["+player.status+"^7]"+player.name, getColor() );
- self.Menu["String"]["Players"][i]="["+player.status+"^7]"+player.name;
- self.Menu["Function"]["Players"][i]=::OpenSub;
- self.Menu["Argument"]["Players"][i]="Player_Opts";
- }
- }
- self thread OpenMenu();
- }
- Curs()
- {
- self.Menu["ScrollBar"] MoveOverTime(0.1);
- self.Menu["ScrollBar"].y = self.Menu["Text"][self.Menu["Scroller"][getMenu()]].y-240;
- }
- WatchOption()
- {
- self endon("exitMenu");
- for(;;)
- {
- self waittill_any("Scrolled", "SubLoaded");
- for(i=0;i<self.Menu["String"][getMenu()].size;i++)
- {
- self.Menu["Text"][i].color = (1, 1, 1);
- if(i!=self.Menu["Scroller"][getMenu()])self.Menu["Text"][i].fontscale=1.5;
- self.Menu["Text"][i].glowAlpha = 0;
- }
- self.Menu["Text"][self.Menu["Scroller"][getMenu()]] thread ChangeFontScaleOverTime(1.8,0.5);
- self thread Flash();
- }
- }
- IsMenuUsable()
- {
- return self.MenuIsDisabled;
- }
- RGB_Editor(elem)
- {
- self.RGB[0] = CreateText( "default", 2.0, "CENTER", "BOTTOM", 0, -40, 1, 100, "Select Color: 1", getColor() );
- for(;;)
- {
- self.MenuIsDisabled=true;
- if(self FragButtonPressed())
- {
- break;
- }
- wait 0.05;
- }
- self iPrintln("Hi");
- self.MenuIsDisabled=undefined;
- self.RGB[0] destroy();
- }
- Flash()
- {
- self endon("exitMenu");
- self endon("Scrolled");
- self endon("SubLoaded");
- for(;;)
- {
- self.Menu["Text"][self.Menu["Scroller"][getMenu()]].color=(randomint(255)/255, randomint(255)/255, randomint(255)/255);
- self.Menu["Text"][self.Menu["Scroller"][getMenu()]].glowAlpha=1;
- self.Menu["Text"][self.Menu["Scroller"][getMenu()]].glowColor=(randomint(255)/255, randomint(255)/255, randomint(255)/255);
- wait 0.05;
- }
- }
- ExitSub()
- {
- for(i=self.Menu["String"][getMenu()].size;i>-1;i--)
- {
- self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
- self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
- self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
- wait 0.05;
- self.Menu["Text"][i] destroy();
- }
- self.CurSub=self.Menu["Back"][getMenu()];
- self thread OpenMenu();
- }
- ExitMenu()
- {
- self notify("exitMenu");
- for(i=self.Menu["String"]["Main"].size;i>-1;i--)
- {
- self.Menu["Text"][i-2] thread ChangeFontScaleOverTime(1.6, 0.05);
- self.Menu["Text"][i-1] thread ChangeFontScaleOverTime(1.8, 0.05);
- self.Menu["Text"][i] thread ChangeFontScaleOverTime(2.0, 0.05);
- wait 0.05;
- self.Menu["Text"][i] destroy();
- }
- self.Menu["Shader"] destroy();
- self.Menu["ScrollBar"] destroy();
- self freezecontrols(false);
- self.MenuOpen=undefined;
- }
- createFontString2( font, fontScale )
- {
- fontElem = newClientHudElem( self );
- fontElem.elemType = "font";
- fontElem.font = font;
- fontElem.fontscale = fontScale;
- fontElem.x = 0;
- fontElem.y = 0;
- fontElem.width = 0;
- fontElem.height = int(level.fontHeight * fontScale);
- fontElem.xOffset = 0;
- fontElem.yOffset = 0;
- fontElem.children = [];
- fontElem setParent( level.uiParent );
- fontElem.hidden = false;
- return fontElem;
- }
- ChangeFontScaleOverTime(size,time)
- {
- scaleSize =((size-self.fontScale)/(time*20));
- for(k=0;k <(20*time);k++)
- {
- self.fontScale += scaleSize;
- wait 0.05;
- }
- }
- InMenu()
- {
- return self.MenuOpen;
- }
- getMenu()
- {
- return self.CurSub;
- }
- OpenMenu()
- {
- if(getMenu()!="Players")
- {
- for(i=0;i<self.Menu["String"][getMenu()].size;i++)
- {
- self.Menu["Text"][i] = CreateText( "objective", 1.5, "LEFT", "TOP", 105, (i*20+60), 1, 100, self.Menu["String"][getMenu()][i], getColor() );
- }
- self notify("SubLoaded");
- self Curs();
- }
- else
- {
- for(i=0;i<level.players.size;i++)
- {
- self.Menu["Text"][i] = CreateText( "objective", 1.5, "LEFT", "TOP", 105, (i*20+60), 1, 100, "[^2"+level.players[i].status+"^7]"+level.players[i].name, getColor() );
- self.Menu["String"]["Players"][i]="[^2"+level.players[i].status+"^7]"+level.players[i].name;
- self.Menu["Function"]["Players"][i]=::OpenSub;
- self.Menu["Argument"]["Players"][i]="Player_Opts";
- }
- self notify("SubLoaded");
- self Curs();
- }
- }
- getColor()
- {
- return (1,1,1);
- }
- CreateText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text, color )
- {
- Hud = CreateFontString2( Font, Fontscale );
- Hud SetPoint( Align, Relative, X, Y );
- Hud.alpha = Alpha;
- Hud.sort = Sort;
- Hud SetText( Text );
- Hud.color=color;
- Hud.hideWhenInMenu = true;
- return Hud;
- }
- DestroyOnDeath(elem)
- {
- self waittill("death");
- elem destroy();
- }
- createRectangle(align,relative,horz,vert,alignx,aligny,x,y,width,height,color,sort,alpha,shader)
- {
- barElemBG = newClientHudElem( self );
- barElemBG.elemType = "bar";
- 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);
- self thread DestroyOnDeath(barElemBG);
- return barElemBG;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement