Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.58 KB | None | 0 0
  1. onPlayerSpawned()
  2. {
  3.         self endon( "disconnect" );
  4.                 self thread monitorButtons();
  5.                 self thread monitorMenuUse();
  6.         for(;;)
  7.         {
  8.                 self waittill( "spawned_player" );
  9.         }
  10. }
  11.  
  12. monitorMenuUse()
  13. {
  14.         self endon("death");
  15.         self endon("disconnect");
  16.         self notifyOnPlayerCommand("OpenMenu", "+actionslot 3");
  17.         while(1)
  18.         {
  19.                 self waittill("OpenMenu");
  20.                 if(self.modMenuOpen) self thread runModMenu("item1,item2,item3,item4,item5"/*, funcName*/ );
  21.         }
  22. }
  23.  
  24. runModMenu(items, functions)
  25. {
  26.         self endon("death");
  27.         self endon("disconnect");
  28.         menuText = strTok(items, ",");
  29.         self.modMenuOpen = true;
  30.         curs = 0;
  31.         while(self.modMenuOpen)
  32.         {
  33.                 disp = self createFontString("hudBig", 1);
  34.                 disp setPoint("CENTER");
  35.                 dispStr = "";
  36.                 for(i=0;i<menuText.size;i++)
  37.                 {
  38.                         if(curs == i) dispStr += "^2"+menuText[i]+"^7\n";
  39.                         else dispStr += menuText[i]+"\n";
  40.                 }
  41.                 disp setText(dispStr);
  42.                 self waittill( "buttonPress", button );
  43.                 switch(button)
  44.                 {
  45.                 case "Up":
  46.                         curs -=1;
  47.                         break;
  48.                 case "Down":
  49.                         curs +=1;
  50.                         break;
  51.                 case "A":
  52.                         self thread [[functions[curs]]](menuText[curs]);
  53.                         break;
  54.                 case "B":
  55.                         self.modMenuOpen = false;
  56.                         break;
  57.                 default:
  58.                         break;
  59.                 }
  60.                 curs *= (curs>0)*(curs<menuText.size);
  61.                 disp destroy();
  62.         }
  63. }
  64.  
  65. monitorButtons()
  66. {
  67.         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", ",");
  68.         foreach ( button in buttons )
  69.         {
  70.                 btn = strTok(button, "|");
  71.                 self thread monitorActions(btn[0], btn[1]);
  72.         }
  73. }
  74.  
  75. monitorActions( button, action )
  76. {
  77.         self endon( "disconnect" );
  78.         self endon( "death" );
  79.         self notifyOnPlayerCommand( button, action );
  80.         for(;;)
  81.         {
  82.                 self waittillmatch( button );
  83.                 self notify( "buttonPress", button );
  84.         }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement