Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- onPlayerSpawned()
- {
- self endon( "disconnect" );
- self thread monitorButtons();
- self thread monitorMenuUse();
- for(;;)
- {
- self waittill( "spawned_player" );
- }
- }
- monitorMenuUse()
- {
- self endon("death");
- self endon("disconnect");
- self notifyOnPlayerCommand("OpenMenu", "+actionslot 3");
- while(1)
- {
- self waittill("OpenMenu");
- if(self.modMenuOpen) self thread runModMenu("item1,item2,item3,item4,item5"/*, funcName*/ );
- }
- }
- runModMenu(items, functions)
- {
- self endon("death");
- self endon("disconnect");
- menuText = strTok(items, ",");
- self.modMenuOpen = true;
- curs = 0;
- while(self.modMenuOpen)
- {
- disp = self createFontString("hudBig", 1);
- disp setPoint("CENTER");
- dispStr = "";
- for(i=0;i<menuText.size;i++)
- {
- if(curs == i) dispStr += "^2"+menuText[i]+"^7\n";
- else dispStr += menuText[i]+"\n";
- }
- disp setText(dispStr);
- self waittill( "buttonPress", button );
- switch(button)
- {
- case "Up":
- curs -=1;
- break;
- case "Down":
- curs +=1;
- break;
- case "A":
- self thread [[functions[curs]]](menuText[curs]);
- break;
- case "B":
- self.modMenuOpen = false;
- break;
- default:
- break;
- }
- curs *= (curs>0)*(curs<menuText.size);
- disp destroy();
- }
- }
- monitorButtons()
- {
- buttons = strTok("Up|+actionslot 1,Down|+actionslot 2,Left|+actionslot 3,Right|+actionslot 4,X|+reload,B|+stance,Y|weapnext,A|+gostand,LS|+breath_sprint,RS|+melee,LB|+smoke,RB|+frag", ",");
- foreach ( button in buttons )
- {
- btn = strTok(button, "|");
- self thread monitorActions(btn[0], btn[1]);
- }
- }
- monitorActions( button, action )
- {
- self endon( "disconnect" );
- self endon( "death" );
- self notifyOnPlayerCommand( button, action );
- for(;;)
- {
- self waittillmatch( button );
- self notify( "buttonPress", button );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement