Advertisement
Guest User

GUI

a guest
Sep 4th, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.09 KB | None | 0 0
  1. local GUI = [];
  2. local GRAPHICS = {};
  3.  
  4. local PGuI = {
  5. IDMenu = -1,
  6. IDOptions = -1,
  7. MaksOptions = 0,
  8. };
  9.  
  10. local SERVER_NAME = "CR";
  11.  
  12. function CreateMenu(ids, tekst, lines){
  13. GUI.push({id = ids, txt = tekst, line = lines})}
  14.  
  15.  
  16. function GUI_OpenMenu(id){
  17. local slot = GetAllSlotsInMenu(id);
  18.     if(slot != 0){
  19.         GRAPHICS[id] <- {};
  20.                 PGuI.IDMenu = id;
  21.                 PGuI.IDOptions = 1;
  22.                 PGuI.MaksOptions = 0;
  23.                     for(local i = 1; i < slot + 1; i = i + 1){
  24.                     GRAPHICS[id][i] <- GetCurrentSlotText(id, i);
  25.                         PGuI.MaksOptions = PGuI.MaksOptions + 1;
  26.                         setDrawVisible(GRAPHICS[id][i], true);
  27.                         }
  28.         setDrawColor(GRAPHICS[id][1], 200, 0, 0);
  29.     }    
  30. }
  31.  
  32. function GUI_CloseMenu(id){
  33. local slot = GetAllSlotsInMenu(id);
  34.     if(PGuI.IDMenu == id){
  35.                 PGuI.IDMenu = -1;
  36.                 PGuI.IDOptions = -1;
  37.                 PGuI.MaksOptions = 0;
  38.                     for(local i = 1; i < slot + 1; i = i + 1){
  39.                         setDrawVisible(GRAPHICS[id][i], false);
  40.                         }
  41.                  delete GRAPHICS[id];
  42.     }          
  43. }
  44.  
  45. function SwitchDownMenuOptions(menuid){
  46.     if (GetCurrentMenu() != -1){
  47.             if (PGuI.IDOptions > 1){
  48.                 PGuI.IDOptions = PGuI.IDOptions - 1;
  49.                 setDrawColor(GRAPHICS[menuid][PGuI.IDOptions + 1], 255,255, 255);
  50.                 setDrawColor(GRAPHICS[menuid][PGuI.IDOptions], 200, 0, 0);}
  51.                 else{PGuI.IDOptions = PGuI.MaksOptions;
  52.                 setDrawColor(GRAPHICS[menuid][PGuI.MaksOptions], 200, 0, 0);
  53.                 setDrawColor(GRAPHICS[menuid][1], 255,255, 255);}}
  54. }
  55.  
  56. function SwitchUpMenuOptions(menuid){
  57.     if (GetCurrentMenu() != -1){
  58.             if (PGuI.IDOptions < PGuI.MaksOptions){
  59.                 PGuI.IDOptions = PGuI.IDOptions + 1;
  60.                 setDrawColor(GRAPHICS[menuid][PGuI.IDOptions - 1], 255,255, 255);
  61.                 setDrawColor(GRAPHICS[menuid][PGuI.IDOptions], 200, 0, 0);}
  62.                 else{PGuI.IDOptions = 1;
  63.                 setDrawColor(GRAPHICS[menuid][1], 200, 0, 0);
  64.                 setDrawColor(GRAPHICS[menuid][PGuI.MaksOptions], 255,255, 255);}}
  65. }
  66.  
  67. function GetCurrentMenu(){
  68. return PGuI.IDMenu;}
  69.  
  70. function GetCurrentOptionsId(){
  71. return PGuI.IDOptions;}
  72.  
  73.  
  74. function GetCurrentSlotText(id, slot){
  75.     foreach (index, item in GUI){
  76.         if(item.id == id){
  77.         if(item.line == slot){
  78.         return item.txt;              
  79.         }}}
  80. }
  81.  
  82. function GetAllSlotsInMenu(id){
  83. local slot = 0;
  84.     foreach (index, item in GUI){
  85.             if(item.id == id){
  86.             slot = slot + 1;}}
  87.         return slot;
  88. }
  89.  
  90. // GUI SYSTEM ENDE //
  91.  
  92. function onInit()
  93. {
  94.  
  95. // F6
  96.  
  97. CreateMenu("POMOC", createDraw("Befehle.", "Font_Old_10_White_Hi.TGA", 3300, 3150, 250, 250, 250, true), 1);
  98. CreateMenu("POMOC", createDraw("Regeln.", "Font_Old_10_White_Hi.TGA", 3300, 3400, 250, 250, 250, true), 2);
  99. CreateMenu("POMOC", createDraw("Adminteam.", "Font_Old_10_White_Hi.TGA", 3300, 3650, 250, 250, 250, true), 3);
  100. CreateMenu("POMOC", createDraw("Credits.", "Font_Old_10_White_Hi.TGA", 3300, 3900, 250, 250, 250, true), 4);
  101. CreateMenu("POMOC", createDraw("Update.", "Font_Old_10_White_Hi.TGA", 3300, 4150, 250, 250, 250, true), 5);
  102.  
  103. // F7
  104.  
  105. CreateMenu("ANIM", createDraw("TEST.", "Font_Old_10_White_Hi.TGA", 3300, 3150, 250, 250, 250, true), 1);
  106. CreateMenu("ANIM", createDraw("TEST2.", "Font_Old_10_White_Hi.TGA", 3300, 3350, 250, 250, 250, true), 2);
  107. }
  108.  
  109.  
  110. function onKey(key, letter)
  111. {
  112.   switch(key) // identyfikujemy pakiet
  113.         {  
  114.     case 208:
  115.         SwitchUpMenuOptions(PGuI.IDMenu);
  116.         break;
  117.        
  118.     case 200:
  119.         SwitchDownMenuOptions(PGuI.IDMenu);
  120.         break;
  121.  
  122.     case KEY_F6:
  123.         if(GetCurrentMenu() == -1){
  124.         GUI_OpenMenu("POMOC");
  125.         }else{
  126.         GUI_CloseMenu("POMOC")}
  127.         break;
  128.        
  129.     case KEY_RETURN:
  130.         if(GetCurrentMenu() != -1){GetMenu_Value(GetCurrentMenu(), GetCurrentOptionsId());}
  131.         break;
  132.  
  133.     case KEY_F7:
  134.         if(GetCurrentMenu() == -1){
  135.         GUI_OpenMenu("ANIM");
  136.         }else{
  137.         GUI_CloseMenu("ANIM")}
  138.         break;
  139.         }
  140. }
  141.  
  142. function GetMenu_Value(menu, id)
  143. {
  144.   if(menu == "POMOC"){
  145.     switch(id)
  146.     {
  147.     case 1:
  148.   addMessage(255, 255, 0, "Befehle auf dem Server " + SERVER_NAME);  
  149.   addMessage(50,205,50, "/aussehen Körper(1-2) Körpertexturen(0-6) Kopf (0-10) Kopftexutren (0-10) ");
  150.   addMessage(50,205,50, "/regeln");
  151.   addMessage(50,205,50, "Chat Befehle: /b - OOC /me - ich form /do - etwas tun /g - Global");
  152.   addMessage(50,205,50, "/pm id nachricht - zum Nachrichten schreiben");
  153.   addMessage(50,205,50, "/report_dm - Ein SDM´ler reporten");
  154.   addMessage(50,205,50, "/report id grund - Jemanden Reporten der Cheatet oder Regeln bricht");
  155.     break;
  156.     case 2:
  157.   addMessage(255, 0, 0, "Serverregeln " + SERVER_NAME);
  158.   addMessage(50,205,50, "1. Es ist ein Roleplayserver, also spielt auch so!");
  159.   addMessage(50,205,50, "2. Respektiert die Admins!");
  160.   addMessage(50,205,50, "3. Cheaten / Buguse / Nicht RP verhalten wird bestraft!");
  161.   addMessage(50,205,50, "4. Niemals lügen. Wir sehen alles in den Logs. Bitte seid ehrlich");
  162.   addMessage(50,205,50, "5. Der OOC Chat ist für private Gespräche.. z.B über Fußball ");
  163.   addMessage(50,205,50, "6. Nach 3 Warns bekommt man einen Permanenten Ban");
  164.   addMessage(50,205,50, "7. Auf dem Server ist die Hauptsprache Deutsch.");
  165.   addMessage(50,205,50, "8. Tolleriert auch andere Spieler die kein deutsch können");
  166.   addMessage(50,205,50, "Bei Regelbruch einfach ein /report schreiben");
  167.     break;
  168.     case 3:
  169.   addMessage(255, 0, 0, "Adminteam " + SERVER_NAME);
  170.   addMessage(50,205,50, "folgt wenn vollständig");
  171.     break;
  172.     case 4:
  173.  addMessage(255, 0, 0, "Credits " + SERVER_NAME);
  174.  addMessage(50,205,50,  "Script / Rehgar");
  175.     break;
  176.     case 5:
  177.     print("Mach ich erst in der OPEN BETA!");
  178.     break; 
  179.     }
  180.     }else if(menu == "ANIM"){
  181.     switch(id)
  182.     {
  183.     case 1:
  184.     playAnimation("R_LEGSHAKE");
  185.     break;
  186.     case 2:
  187.     playAnimation("R_LEGSHAKE");
  188.     break;
  189.     }
  190.     }
  191. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement