hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.20. 04:29



Jelenlévő felhasználók

Jelenleg 256 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 255 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Majestic-12 [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2016.07.26. 20:58 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2015.07.14. 14:30
Hozzászólások: 380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Hogyan tudném megoldani, hogy mikor valaki csapatot választ ennél a pluginnal ne azt írja ki ,hogy csak 1 csapatváltás engedélyezett 1 körben ,mivel az gungame-ra nem lenne előnyös :)
Hanem azt ,hogy csak xy perc után válthatsz csapatot! És ezt is funkcionálja ne ezt írja csak ,tehát időnként lehessen csapatot váltani egy adott időnként.

  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. new bool:ChooseTeam_Used[33];
  5. new bool:DetectVIPMap[33];
  6.  
  7. public plugin_init()
  8. {
  9.     register_plugin("xy" , "2.0" , "xy" );
  10.    
  11.     register_message(get_user_msgid("ShowMenu"), "MenuTeam");
  12.     register_message(get_user_msgid("VGUIMenu"), "VGUITeam");
  13.    
  14.     register_concmd( "say /team", "OpenMenu" );
  15.    
  16.     register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
  17.    
  18.     new entity = -1;
  19.     if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
  20.     {
  21.         DetectVIPMap[0] = true;
  22.     }
  23.     else
  24.     {
  25.         DetectVIPMap[0] = false;
  26.     }
  27. }
  28.  
  29. public Event_HLTV_New_Round(id)  
  30. {
  31.     arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used));
  32. }  
  33.  
  34. public client_authorized(id)
  35. {
  36.     ChooseTeam_Used[id] = false;
  37. }
  38.  
  39. public OpenMenu(id)
  40. {
  41.     if(DetectVIPMap[0] == false)
  42.     {
  43.         menu_cancel(id);
  44.         TeamMenu(id);
  45.         return PLUGIN_HANDLED;
  46.     }
  47.     return PLUGIN_CONTINUE;
  48. }
  49.  
  50. public MenuTeam(msg, des, rec)
  51. {
  52.     if(DetectVIPMap[0] == false)
  53.     {
  54.         static const TeamSelect[] = "#Team_Select";
  55.        
  56.         static sz_Menu[sizeof(TeamSelect)];
  57.        
  58.         get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));
  59.        
  60.         if(!equal( sz_Menu, TeamSelect))
  61.         {
  62.             return PLUGIN_CONTINUE;
  63.         }
  64.        
  65.         set_pdata_int(rec, 205, 0);
  66.        
  67.         TeamMenu(rec);
  68.        
  69.         return PLUGIN_HANDLED;
  70.     }
  71.     return PLUGIN_CONTINUE;
  72. }
  73.  
  74. public VGUITeam(msg, des, rec)
  75. {
  76.     if(get_msg_arg_int(1) != 2)
  77.     {
  78.         return PLUGIN_CONTINUE;
  79.     }
  80.    
  81.     TeamMenu(rec);
  82.    
  83.     return PLUGIN_HANDLED;
  84. }
  85.  
  86. public TeamMenu(id)
  87. {  
  88.     if(ChooseTeam_Used[id] == true)
  89.     {
  90.         client_print(id, print_center, "Csak 1 csapat valtas engedelyezett 1 korben.");
  91.         return PLUGIN_HANDLED;
  92.     }
  93.    
  94.     new iPlayers[32], iNumCT , iNumT;
  95.     get_players(iPlayers, iNumCT, "e", "CT" );
  96.     get_players(iPlayers, iNumT, "e", "TERRORIST");
  97.    
  98.     new menu = menu_create("\r-|MNK|-\y Válassz csapatot\r!", "TeamMenu_Handler");
  99.    
  100.     new szTittle[124];
  101.    
  102.     formatex(szTittle, charsmax(szTittle), "\r[\wTerrorista\r] \r[\y%d\r]", iNumT);
  103.     menu_additem(menu, szTittle, "1")
  104.    
  105.     formatex(szTittle, charsmax(szTittle), "\r[\wAnti-Terrorista\r] \r[\y%d\r]^n", iNumCT);
  106.     menu_additem(menu, szTittle, "2")
  107.      
  108.     menu_additem(menu, "\wAutomatikus választás^n", "3");
  109.     menu_additem(menu, "\r[\wNĂ©zĹ‘\r]", "4");
  110.    
  111.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  112.    
  113.     menu_display(id, menu, 0);
  114.    
  115.     return PLUGIN_CONTINUE;
  116. }
  117.  
  118. public TeamMenu_Handler(id, menu, item)
  119. {
  120.     if(item == MENU_EXIT)
  121.     {
  122.         return PLUGIN_HANDLED;
  123.     }
  124.    
  125.     new Name[64], Data[6], Access, Callback;
  126.    
  127.     menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback);
  128.    
  129.     static choose[4][2] = {"1","2","5","6"};
  130.     engclient_cmd(id, "jointeam", choose[Data[0] - '1']);  
  131.    
  132.     ChooseTeam_Used[id] = true;
  133.    
  134.     menu_destroy(menu);
  135.     return PLUGIN_HANDLED;
  136. }


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2016.07.27. 15:53 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2012.07.02. 17:41
Hozzászólások: 1641
Megköszönt másnak: 121 alkalommal
Megköszönték neki: 247 alkalommal
voga955 írta:
Valaki tudna segíteni?

 ! Moderátori megjegyzés (theglorious):
Ha tud valaki, akkor ír...

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2016.07.31. 10:45 
Offline
Tag
Avatar

Csatlakozott: 2016.05.28. 18:14
Hozzászólások: 34
Megköszönték neki: 1 alkalommal
voga955 írta:
Hogyan tudném megoldani, hogy mikor valaki csapatot választ ennél a pluginnal ne azt írja ki ,hogy csak 1 csapatváltás engedélyezett 1 körben ,mivel az gungame-ra nem lenne előnyös :)
Hanem azt ,hogy csak xy perc után válthatsz csapatot! És ezt is funkcionálja ne ezt írja csak ,tehát időnként lehessen csapatot váltani egy adott időnként.

  1. #include <amxmodx>
  2. #include <fakemeta>
  3.  
  4. new bool:ChooseTeam_Used[33];
  5. new bool:DetectVIPMap[33];
  6.  
  7. public plugin_init()
  8. {
  9.     register_plugin("xy" , "2.0" , "xy" );
  10.    
  11.     register_message(get_user_msgid("ShowMenu"), "MenuTeam");
  12.     register_message(get_user_msgid("VGUIMenu"), "VGUITeam");
  13.    
  14.     register_concmd( "say /team", "OpenMenu" );
  15.    
  16.     register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0");
  17.    
  18.     new entity = -1;
  19.     if((engfunc(EngFunc_FindEntityByString, entity, "classname", "info_vip_start")) > 0)
  20.     {
  21.         DetectVIPMap[0] = true;
  22.     }
  23.     else
  24.     {
  25.         DetectVIPMap[0] = false;
  26.     }
  27. }
  28.  
  29. public Event_HLTV_New_Round(id)  
  30. {
  31.     arrayset(ChooseTeam_Used, false, sizeof(ChooseTeam_Used));
  32. }  
  33.  
  34. public client_authorized(id)
  35. {
  36.     ChooseTeam_Used[id] = false;
  37. }
  38.  
  39. public OpenMenu(id)
  40. {
  41.     if(DetectVIPMap[0] == false)
  42.     {
  43.         menu_cancel(id);
  44.         TeamMenu(id);
  45.         return PLUGIN_HANDLED;
  46.     }
  47.     return PLUGIN_CONTINUE;
  48. }
  49.  
  50. public MenuTeam(msg, des, rec)
  51. {
  52.     if(DetectVIPMap[0] == false)
  53.     {
  54.         static const TeamSelect[] = "#Team_Select";
  55.        
  56.         static sz_Menu[sizeof(TeamSelect)];
  57.        
  58.         get_msg_arg_string(4, sz_Menu, charsmax(sz_Menu));
  59.        
  60.         if(!equal( sz_Menu, TeamSelect))
  61.         {
  62.             return PLUGIN_CONTINUE;
  63.         }
  64.        
  65.         set_pdata_int(rec, 205, 0);
  66.        
  67.         TeamMenu(rec);
  68.        
  69.         return PLUGIN_HANDLED;
  70.     }
  71.     return PLUGIN_CONTINUE;
  72. }
  73.  
  74. public VGUITeam(msg, des, rec)
  75. {
  76.     if(get_msg_arg_int(1) != 2)
  77.     {
  78.         return PLUGIN_CONTINUE;
  79.     }
  80.    
  81.     TeamMenu(rec);
  82.    
  83.     return PLUGIN_HANDLED;
  84. }
  85.  
  86. public TeamMenu(id)
  87. {  
  88.     if(ChooseTeam_Used[id] == true)
  89.     {
  90.         client_print(id, print_center, "Csak 1 csapat valtas engedelyezett 1 korben.");
  91.         return PLUGIN_HANDLED;
  92.     }
  93.    
  94.     new iPlayers[32], iNumCT , iNumT;
  95.     get_players(iPlayers, iNumCT, "e", "CT" );
  96.     get_players(iPlayers, iNumT, "e", "TERRORIST");
  97.    
  98.     new menu = menu_create("\r-|MNK|-\y Válassz csapatot\r!", "TeamMenu_Handler");
  99.    
  100.     new szTittle[124];
  101.    
  102.     formatex(szTittle, charsmax(szTittle), "\r[\wTerrorista\r] \r[\y%d\r]", iNumT);
  103.     menu_additem(menu, szTittle, "1")
  104.    
  105.     formatex(szTittle, charsmax(szTittle), "\r[\wAnti-Terrorista\r] \r[\y%d\r]^n", iNumCT);
  106.     menu_additem(menu, szTittle, "2")
  107.      
  108.     menu_additem(menu, "\wAutomatikus választás^n", "3");
  109.     menu_additem(menu, "\r[\wNĂ©zĹ‘\r]", "4");
  110.    
  111.     menu_setprop(menu, MPROP_EXITNAME, "\rKilĂ©pĂ©s");
  112.    
  113.     menu_display(id, menu, 0);
  114.    
  115.     return PLUGIN_CONTINUE;
  116. }
  117.  
  118. public TeamMenu_Handler(id, menu, item)
  119. {
  120.     if(item == MENU_EXIT)
  121.     {
  122.         return PLUGIN_HANDLED;
  123.     }
  124.    
  125.     new Name[64], Data[6], Access, Callback;
  126.    
  127.     menu_item_getinfo(menu, item, Access, Data, 5, Name, 63, Callback);
  128.    
  129.     static choose[4][2] = {"1","2","5","6"};
  130.     engclient_cmd(id, "jointeam", choose[Data[0] - '1']);  
  131.    
  132.     ChooseTeam_Used[id] = true;
  133.    
  134.     menu_destroy(menu);
  135.     return PLUGIN_HANDLED;
  136. }


Kiveszed a változót belőle, aztán az initbe raksz egy taskot, ami ellenőrzi, h lejárt-e az adott játékos csapatváltó ideje. Ha lejárt akkor válthat, ha még nm járt le, akk üzenetet dobsz neki. :)

Ők köszönték meg Ni[T]r0 nek ezt a hozzászólást: voga955 (2016.07.31. 14:09)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2016.07.31. 14:08 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2015.07.14. 14:30
Hozzászólások: 380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Bele tudnád írni légyszives.


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 19 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole