hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.18. 23:07



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: siska15 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Játékos némító menü
HozzászólásElküldve: 2017.04.14. 20:59 
Offline
Senior Tag

Csatlakozott: 2015.08.11. 14:21
Hozzászólások: 215
Megköszönt másnak: 50 alkalommal
Megköszönték neki: 6 alkalommal
Sziasztok! Próbáltam már sok plugint, de egyik sem működik. Hiába rárakom a játékosra a némítást semmit nem csinál. Erre kérnék valakitől egy működő plugint


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Játékos némító menü
HozzászólásElküldve: 2017.04.14. 21:13 
Offline
Tud valamit
Avatar

Csatlakozott: 2016.11.08. 18:40
Hozzászólások: 127
Megköszönt másnak: 7 alkalommal
Megköszönték neki: 22 alkalommal
CoopCola írta:
Sziasztok! Próbáltam már sok plugint, de egyik sem működik. Hiába rárakom a játékosra a némítást semmit nem csinál. Erre kérnék valakitől egy működő plugint

Tessék..

  1. #include <amxmodx>
  2.     #include <amxmisc>
  3.     #include <fakemeta>
  4.      
  5.     #define PLUGIN  "mute menu"
  6.     #define VERSION "1.0"
  7.     #define AUTHOR  "cheap_suit"
  8.      
  9.     #define MAX_PLAYERS 32
  10.      
  11.     new bool:g_mute[MAX_PLAYERS+1][MAX_PLAYERS+1]
  12.     new g_menuposition[MAX_PLAYERS+1]
  13.     new g_menuplayers[MAX_PLAYERS+1][32]
  14.     new g_menuplayersnum[MAX_PLAYERS+1]
  15.      
  16.     new cvar_alltalk
  17.     new g_maxclients
  18.      
  19.     public plugin_init()
  20.     {
  21.         register_plugin(PLUGIN, VERSION, AUTHOR)
  22.         register_cvar(PLUGIN, VERSION, FCVAR_SPONLY|FCVAR_SERVER)
  23.        
  24.         register_clcmd("say /mute", "clcmd_say")
  25.         register_clcmd("say_team /mute", "clcmd_say")
  26.        
  27.         register_forward(FM_Voice_SetClientListening, "fwd_voice_setclientlistening")
  28.         register_menucmd(register_menuid("mute menu"), 1023, "action_mutemenu")
  29.        
  30.         cvar_alltalk = get_cvar_pointer("sv_alltalk")
  31.         g_maxclients = global_get(glb_maxClients)
  32.     }
  33.      
  34.     public client_putinserver(id)
  35.         clear_list(id)
  36.      
  37.     public client_disconnect(id)
  38.         clear_list(id)
  39.      
  40.     clear_list(id)
  41.     {
  42.     for(new i = 0; i <= g_maxclients; ++i)
  43.         g_mute[id][i] = false
  44.     }
  45.      
  46.     public clcmd_say(id)
  47.     {
  48.         static say_args[10]
  49.         read_args(say_args, 9)
  50.         remove_quotes(say_args)
  51.        
  52.         if(say_args[0] == '/' && containi(say_args, "mute") != -1)
  53.         {
  54.             display_mutemenu(id, g_menuposition[id] = 0)
  55.             return PLUGIN_HANDLED_MAIN
  56.         }
  57.         return PLUGIN_CONTINUE
  58.     }
  59.      
  60.     public fwd_voice_setclientlistening(receiver, sender, listen)
  61.     {
  62.         if(receiver == sender)
  63.             return FMRES_IGNORED
  64.        
  65.         if(g_mute[receiver][sender])
  66.         {
  67.             engfunc(EngFunc_SetClientListening, receiver, sender, 0)
  68.             return FMRES_SUPERCEDE
  69.         }
  70.         return FMRES_IGNORED
  71.     }
  72.      
  73.     display_mutemenu(id, pos)
  74.     {
  75.     if(pos < 0)  
  76.         return
  77.        
  78.         static team[11]
  79.         get_user_team(id, team, 10)
  80.        
  81.         new at = get_pcvar_num(cvar_alltalk)
  82.         get_players(g_menuplayers[id], g_menuplayersnum[id],
  83.         at ? "c" : "ce", at ? "" : team)
  84.        
  85.         new start = pos * 8
  86.         if(start >= g_menuplayersnum[id])
  87.             start = pos = g_menuposition[id]
  88.        
  89.         new end = start + 8
  90.         if(end > g_menuplayersnum[id])
  91.             end = g_menuplayersnum[id]
  92.        
  93.         static menubody[512]  
  94.         new len = format(menubody, 511, "\wNémítás Menü^n^n")
  95.        
  96.         static name[32]
  97.        
  98.         new b = 0, i
  99.         new keys = MENU_KEY_0
  100.        
  101.         for(new a = start; a < end; ++a)
  102.         {
  103.             i = g_menuplayers[id][a]
  104.             get_user_name(i, name, 31)
  105.            
  106.             if(i == id)
  107.             {
  108.                 ++b
  109.                 len += format(menubody[len], 511 - len, "\d#  %s %s\w^n", name, g_mute[id][i] ? "(Némítva)" : "")
  110.             }
  111.             else
  112.             {
  113.                 keys |= (1<<b)
  114.                 len += format(menubody[len], 511 - len, "%s%d. %s %s\w^n", g_mute[id][i] ? "\y" : "\w", ++b, name, g_mute[id][i] ? "(Némítva)" : "")
  115.             }
  116.         }
  117.        
  118.         if(end != g_menuplayersnum[id])
  119.         {
  120.             format(menubody[len], 511 - len, "^n9. %s...^n0. %s", "Tovább", pos ? "Vissza" : "Kilép")
  121.             keys |= MENU_KEY_9
  122.         }
  123.         else
  124.             format(menubody[len], 511-len, "^n0. %s", pos ? "Vissza" : "Kilép")
  125.        
  126.         show_menu(id, keys, menubody, -1, "mute menu")
  127.     }
  128.      
  129.      
  130.     public action_mutemenu(id, key)
  131.     {
  132.         switch(key)
  133.         {
  134.             case 8: display_mutemenu(id, ++g_menuposition[id])
  135.                 case 9: display_mutemenu(id, --g_menuposition[id])
  136.                 default:
  137.         {
  138.             new player = g_menuplayers[id][g_menuposition[id] * 8 + key]
  139.            
  140.             g_mute[id][player] = g_mute[id][player] ? false : true
  141.             display_mutemenu(id, g_menuposition[id])
  142.            
  143.             static name[32]
  144.             get_user_name(player, name, 31)
  145.             print_color(id, "!g[maxD2] !yTe most %s !t%s !y-t.", g_mute[id][player] ? "némítottad": "hallod", name)
  146.         }
  147.     }
  148.     return PLUGIN_HANDLED
  149.     }
  150.      
  151.     stock print_color(const id, const input[], any:...) {
  152.     new count = 1, players[32]
  153.     static msg[191]
  154.     vformat(msg, 190, input, 3)
  155.      
  156.     replace_all(msg, 190, "!g", "^4")
  157.     replace_all(msg, 190, "!y", "^1")
  158.     replace_all(msg, 190, "!t", "^3")    
  159.      
  160.     if (id) players[0] = id; else get_players(players, count, "ch")
  161.     {
  162.     for (new i = 0; i < count; i++)
  163.     {
  164.         if (is_user_connected(players[i]))
  165.         {
  166.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  167.             write_byte(players[i])
  168.             write_string(msg)
  169.             message_end()
  170.         }
  171.     }
  172.     }
  173.     return PLUGIN_HANDLED
  174.     }

_________________
Just* Szerverek hamarosan!

Ők köszönték meg Zoe nek ezt a hozzászólást: CoopCola (2017.04.14. 21:18)
  Népszerűség: 2.27%


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  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 3 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