hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 353 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 351 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [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  [18 hozzászólás ]  OldalElőző12
Szerző Üzenet
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.04.30. 11:28 
Offline
Őstag
Avatar

Csatlakozott:2010.04.16. 16:50
Hozzászólások:1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
Most csinál képet csak nem mutat hud üzenetet !!
Kód:
  1. #include <amxmodx>

  2.  

  3. #include <amxmisc>

  4.  

  5. #include <dhudmessage>

  6.  

  7. /** skip autoloading since it's optional */

  8.  

  9. #define AMXMODX_NOAUTOLOAD

  10.  

  11. #include <cstrike>

  12.  

  13.  

  14.  

  15. new g_menuPosition[33]

  16.  

  17. new g_menuPlayers[33][32]

  18.  

  19. new g_menuPlayersNum[33]

  20.  

  21. new g_menuOption[33]

  22.  

  23. new g_menuSettings[33]

  24.  

  25.  

  26.  

  27. new g_menuSelect[33][64]

  28.  

  29. new g_menuSelectNum[33]

  30.  

  31.  

  32.  

  33. #define MAX_CLCMDS 24

  34.  

  35.  

  36.  

  37. new g_clcmdName[MAX_CLCMDS][32]

  38.  

  39. new g_clcmdCmd[MAX_CLCMDS][64]

  40.  

  41. new g_clcmdMisc[MAX_CLCMDS][2]

  42.  

  43. new g_clcmdNum

  44.  

  45.  

  46.  

  47. new g_coloredMenus

  48.  

  49. new g_cstrike = 0

  50.  

  51.  

  52.  

  53. new Array:g_bantimes;

  54.  

  55. new Array:g_slapsettings;

  56.  

  57.  

  58.  

  59. new g_CSTeamNames[3][] = {

  60.  

  61.         "TERRORIST",

  62.  

  63.         "CT",

  64.  

  65.         "SPECTATOR"

  66.  

  67. }

  68.  

  69. new g_CSTeamNumbers[3][] = {

  70.  

  71.         "1",

  72.  

  73.         "2",

  74.  

  75.         "6"

  76.  

  77. }

  78.  

  79. new g_CSTeamiNumbers[3] = {

  80.  

  81.         1,

  82.  

  83.         2,

  84.  

  85.         6

  86.  

  87. }

  88.  

  89.  

  90.  

  91. new g_ban_player[33];

  92.  

  93.  

  94.  

  95.  

  96.  

  97. public plugin_natives()

  98.  

  99. {

  100.  

  101.         set_module_filter("module_filter")

  102.  

  103.         set_native_filter("native_filter")

  104.  

  105. }

  106.  

  107.  

  108.  

  109. public plugin_init()

  110.  

  111. {

  112.  

  113.         register_plugin("Players Menu", AMXX_VERSION_STR, "AMXX Dev Team")

  114.  

  115.         register_dictionary("common.txt")

  116.  

  117.         register_dictionary("admincmd.txt")

  118.  

  119.         register_dictionary("plmenu.txt")

  120.  

  121.  

  122.  

  123.         register_clcmd("amx_kickmenu", "cmdKickMenu", ADMIN_KICK, "- displays kick menu")

  124.  

  125.         register_clcmd("amx_banmenu", "cmdBanMenu", ADMIN_BAN, "- displays ban menu")

  126.  

  127.         register_clcmd("amx_slapmenu", "cmdSlapMenu", ADMIN_SLAY, "- displays slap/slay menu")

  128.  

  129.         register_clcmd("amx_teammenu", "cmdTeamMenu", ADMIN_LEVEL_A, "- displays team menu")

  130.  

  131.         register_clcmd("amx_clcmdmenu", "cmdClcmdMenu", ADMIN_LEVEL_A, "- displays client cmds menu")

  132.  

  133.         register_clcmd("amx_banreason", "CmdBanReason", ADMIN_BAN, "<reason>");

  134.  

  135.  

  136.  

  137.         register_menucmd(register_menuid("Ban Menu"), 1023, "actionBanMenu")

  138.  

  139.         register_menucmd(register_menuid("Kick Menu"), 1023, "actionKickMenu")

  140.  

  141.         register_menucmd(register_menuid("Slap/Slay Menu"), 1023, "actionSlapMenu")

  142.  

  143.         register_menucmd(register_menuid("Team Menu"), 1023, "actionTeamMenu")

  144.  

  145.         register_menucmd(register_menuid("Client Cmds Menu"), 1023, "actionClcmdMenu")

  146.  

  147.        

  148.  

  149.        

  150.  

  151.         g_bantimes = ArrayCreate();

  152.  

  153.         // Load up the old default values

  154.  

  155.         ArrayPushCell(g_bantimes, 0);

  156.  

  157.         ArrayPushCell(g_bantimes, 5);

  158.  

  159.         ArrayPushCell(g_bantimes, 10);

  160.  

  161.         ArrayPushCell(g_bantimes, 15);

  162.  

  163.         ArrayPushCell(g_bantimes, 30);

  164.  

  165.         ArrayPushCell(g_bantimes, 45);

  166.  

  167.         ArrayPushCell(g_bantimes, 60);

  168.  

  169.        

  170.  

  171.        

  172.  

  173.         g_slapsettings = ArrayCreate();

  174.  

  175.         // Old default values

  176.  

  177.         ArrayPushCell(g_slapsettings, 0); // First option is ignored - it is slay

  178.  

  179.         ArrayPushCell(g_slapsettings, 0); // slap 0 damage

  180.  

  181.         ArrayPushCell(g_slapsettings, 1);

  182.  

  183.         ArrayPushCell(g_slapsettings, 5);

  184.  

  185.        

  186.  

  187.        

  188.  

  189.         register_srvcmd("amx_plmenu_bantimes", "plmenu_setbantimes");

  190.  

  191.         register_srvcmd("amx_plmenu_slapdmg", "plmenu_setslapdmg");

  192.  

  193.  

  194.  

  195.         g_coloredMenus = colored_menus()

  196.  

  197.  

  198.  

  199.         new clcmds_ini_file[64]

  200.  

  201.         get_configsdir(clcmds_ini_file, 63)

  202.  

  203.         format(clcmds_ini_file, 63, "%s/clcmds.ini", clcmds_ini_file)

  204.  

  205.         load_settings(clcmds_ini_file)

  206.  

  207.  

  208.  

  209.         if (module_exists("cstrike"))

  210.  

  211.                 g_cstrike = 1

  212.  

  213. }

  214.  

  215. public plmenu_setbantimes()

  216.  

  217. {

  218.  

  219.         new buff[32];

  220.  

  221.         new args = read_argc();

  222.  

  223.        

  224.  

  225.         if (args <= 1)

  226.  

  227.         {

  228.  

  229.                 server_print("usage: amx_plmenu_bantimes <time1> [time2] [time3] ...");

  230.  

  231.                 server_print("   use time of 0 for permanent.");

  232.  

  233.                

  234.  

  235.                 return;

  236.  

  237.         }

  238.  

  239.        

  240.  

  241.         ArrayClear(g_bantimes);

  242.  

  243.        

  244.  

  245.         for (new i = 1; i < args; i++)

  246.  

  247.         {

  248.  

  249.                 read_argv(i, buff, charsmax(buff));

  250.  

  251.                

  252.  

  253.                 ArrayPushCell(g_bantimes, str_to_num(buff));

  254.  

  255.                

  256.  

  257.         }

  258.  

  259.        

  260.  

  261. }

  262.  

  263. public plmenu_setslapdmg()

  264.  

  265. {

  266.  

  267.         new buff[32];

  268.  

  269.         new args = read_argc();

  270.  

  271.        

  272.  

  273.         if (args <= 1)

  274.  

  275.         {

  276.  

  277.                 server_print("usage: amx_plmenu_slapdmg <dmg1> [dmg2] [dmg3] ...");

  278.  

  279.                 server_print("   slay is automatically set for the first value.");

  280.  

  281.                

  282.  

  283.                 return;

  284.  

  285.         }

  286.  

  287.        

  288.  

  289.         ArrayClear(g_slapsettings);

  290.  

  291.        

  292.  

  293.         ArrayPushCell(g_slapsettings, 0); // compensate for slay

  294.  

  295.        

  296.  

  297.         for (new i = 1; i < args; i++)

  298.  

  299.         {

  300.  

  301.                 read_argv(i, buff, charsmax(buff));

  302.  

  303.                

  304.  

  305.                 ArrayPushCell(g_slapsettings, str_to_num(buff));

  306.  

  307.                

  308.  

  309.         }

  310.  

  311.        

  312.  

  313. }

  314.  

  315. public module_filter(const module[])

  316.  

  317. {

  318.  

  319.         if (equali(module, "cstrike"))

  320.  

  321.                 return PLUGIN_HANDLED

  322.  

  323.        

  324.  

  325.         return PLUGIN_CONTINUE

  326.  

  327. }

  328.  

  329.  

  330.  

  331. public native_filter(const name[], index, trap)

  332.  

  333. {

  334.  

  335.         if (!trap)

  336.  

  337.                 return PLUGIN_HANDLED

  338.  

  339.                

  340.  

  341.         return PLUGIN_CONTINUE

  342.  

  343. }

  344.  

  345.  

  346.  

  347. /* Ban menu */

  348.  

  349.  

  350.  

  351. public client_disconnect(id)

  352.  

  353. {

  354.  

  355.         g_ban_player[id] = 0;

  356.  

  357. }

  358.  

  359.  

  360.  

  361.  

  362.  

  363. public CmdBanReason(id)

  364.  

  365. {

  366.  

  367.     new player = g_ban_player[id];

  368.  

  369.     if( !player ) return PLUGIN_HANDLED;

  370.  

  371.     new name[32], name2[32], authid[32], authid2[32], ip[36]

  372.  

  373.    

  374.  

  375.     get_user_ip(player, ip, 36, 0);

  376.  

  377.    

  378.  

  379.     new reason[128];

  380.  

  381.     read_args(reason, sizeof(reason) - 1);

  382.  

  383.     remove_quotes(reason);

  384.  

  385.      

  386.     new CurrentTime[9], hostname[64]

  387.  

  388.     get_user_name(player, name2, 31)

  389.  

  390.     get_user_authid(id, authid, 31)

  391.  

  392.     get_user_authid(player, authid2, 31)

  393.  

  394.     get_user_name(id, name, 31)

  395.  

  396.     new userid2 = get_user_userid(player)

  397.  

  398.     get_cvar_string("hostname",hostname,63)

  399.    

  400.         if (equal("STEAM_0:", authid2, 8))

  401.         {

  402.  

  403.             set_dhudmessage(0, 255, 255, 0.01, 0.36, 2, 6.0, 4.0)

  404.  

  405.             show_dhudmessage(id, "Szerver: %s^n Admin neve: %s^n Neved: %s^n Steam: %s^nIdo:%s^n", hostname, name, name2, authid2, CurrentTime)

  406.  

  407.             client_cmd(player, "wait;wait;snapshot;wait;snapshot");

  408.  

  409.         }

  410.  

  411.         else

  412.  

  413.         {

  414.             set_dhudmessage(0, 255, 255, 0.01, 0.36, 2, 6.0, 4.0)          

  415.             show_dhudmessage(id, "Szerver: %s^n Admin neve: %s^n Neved: %s^n IP: %s^n Ido:%s^n", hostname, name, name2, ip, CurrentTime )

  416.  

  417.             client_cmd(player, "wait;wait;snapshot;wait;snapshot");

  418.  

  419.         }

  420.  

  421.         if ( equal("STEAM_0:", authid2, 8))

  422.  

  423.         {

  424.  

  425.             client_cmd(id, "amx_baniptql #%i %i ^"%s^"", userid2, g_menuSettings[id], reason);

  426.  

  427.         }

  428.  

  429.         else

  430.  

  431.         {

  432.  

  433.             client_cmd(id, "amx_bantql #%i %i ^"%s^"", userid2, g_menuSettings[id], reason);

  434.  

  435.         }

  436.  

  437.         server_exec()

  438.  

  439.         g_ban_player[id] = 0;

  440.  

  441.         displayBanMenu(id, g_menuPosition[id])

  442.  

  443.    return PLUGIN_CONTINUE;

  444. }

  445.  

  446.  

  447.  

  448. public actionBanMenu(id, key)

  449.  

  450. {

  451.  

  452.         switch (key)

  453.  

  454.         {

  455.  

  456.                 case 7:

  457.  

  458.                 {

  459.  

  460.                         /* BEGIN OF CHANGES BY MISTAGEE ADDED A FEW MORE OPTIONS */

  461.  

  462.                        

  463.  

  464.                         ++g_menuOption[id]

  465.  

  466.                         g_menuOption[id] %= ArraySize(g_bantimes);

  467.  

  468.  

  469.  

  470.                         g_menuSettings[id] = ArrayGetCell(g_bantimes, g_menuOption[id]);

  471.  

  472.  

  473.  

  474.                         displayBanMenu(id, g_menuPosition[id])

  475.  

  476.                 }

  477.  

  478.                 case 8: displayBanMenu(id, ++g_menuPosition[id])

  479.  

  480.                 case 9: displayBanMenu(id, --g_menuPosition[id])

  481.  

  482.                 default:

  483.  

  484.                 {

  485.  

  486.                         g_ban_player[id] = g_menuPlayers[id][g_menuPosition[id] * 7 + key]

  487.  

  488.                        

  489.  

  490.                         client_cmd(id, "messagemode amx_banreason");

  491.  

  492.                        

  493.  

  494.                         client_print(id, print_chat, "[AMXX] Type in the reason for banning this player.");

  495.  

  496.                        

  497.  

  498.                        

  499.  

  500.                         /*new name[32], name2[32], authid[32], authid2[32]

  501.  

  502.                

  503.  

  504.                         get_user_name(player, name2, 31)

  505.  

  506.                         get_user_authid(id, authid, 31)

  507.  

  508.                         get_user_authid(player, authid2, 31)

  509.  

  510.                         get_user_name(id, name, 31)

  511.  

  512.                        

  513.  

  514.                         new userid2 = get_user_userid(player)

  515.  

  516.  

  517.  

  518.                         log_amx("Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%d^")", name, get_user_userid(id), authid, name2, userid2, authid2, g_menuSettings[id])

  519.  

  520.  

  521.  

  522.                         if (g_menuSettings[id]==0) // permanent

  523.  

  524.                         {

  525.  

  526.                                 new maxpl = get_maxplayers();

  527.  

  528.                                 for (new i = 1; i <= maxpl; i++)

  529.  

  530.                                 {

  531.  

  532.                                         show_activity_id(i, id, name, "%L %s %L", i, "BAN", name2, i, "PERM");

  533.  

  534.                                 }

  535.  

  536.                         }

  537.  

  538.                         else

  539.  

  540.                         {

  541.  

  542.                                 new tempTime[32];

  543.  

  544.                                 formatex(tempTime,sizeof(tempTime)-1,"%d",g_menuSettings[id]);

  545.  

  546.                                 new maxpl = get_maxplayers();

  547.  

  548.                                 for (new i = 1; i <= maxpl; i++)

  549.  

  550.                                 {

  551.  

  552.                                         show_activity_id(i, id, name, "%L %s %L", i, "BAN", name2, i, "FOR_MIN", tempTime);

  553.  

  554.                                 }

  555.  

  556.                         }

  557.  

  558.                         // ---------- check for Steam ID added by MistaGee --------------------

  559.  

  560.                         // IF AUTHID == 4294967295 OR VALVE_ID_LAN OR HLTV, BAN PER IP TO NOT BAN EVERYONE

  561.  

  562.                        

  563.  

  564.                         if (equal("4294967295", authid2)

  565.  

  566.                                 || equal("HLTV", authid2)

  567.  

  568.                                 || equal("STEAM_ID_LAN", authid2)

  569.  

  570.                                 || equali("VALVE_ID_LAN", authid2))

  571.  

  572.                         {

  573.  

  574.                                 // END OF MODIFICATIONS BY MISTAGEE

  575.  

  576.                                 server_cmd("amx_banip #%i %i ^"Banned From Menu^"", userid2, g_menuSettings[id]);

  577.  

  578.                         }

  579.  

  580.                         else

  581.  

  582.                         {

  583.  

  584.                                 server_cmd("amx_ban #%i %i ^"Banned From Menu^"", userid2, g_menuSettings[id]);

  585.  

  586.                         }

  587.  

  588.  

  589.  

  590.                         server_exec()

  591.  

  592.  

  593.  

  594.                         displayBanMenu(id, g_menuPosition[id])*/

  595.  

  596.                 }

  597.  

  598.         }

  599.  

  600.        

  601.  

  602.         return PLUGIN_HANDLED

  603.  

  604. }

  605.  

  606.  

  607.  

  608. displayBanMenu(id, pos)

  609.  

  610. {

  611.  

  612.         if (pos < 0)

  613.  

  614.                 return

  615.  

  616.  

  617.  

  618.         get_players(g_menuPlayers[id], g_menuPlayersNum[id])

  619.  

  620.  

  621.  

  622.         new menuBody[512]

  623.  

  624.         new b = 0

  625.  

  626.         new i

  627.  

  628.         new name[32]

  629.  

  630.         new start = pos * 7

  631.  

  632.  

  633.  

  634.         if (start >= g_menuPlayersNum[id])

  635.  

  636.                 start = pos = g_menuPosition[id] = 0

  637.  

  638.  

  639.  

  640.         new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "BAN_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))

  641.  

  642.         new end = start + 7

  643.  

  644.         new keys = MENU_KEY_0|MENU_KEY_8

  645.  

  646.  

  647.  

  648.         if (end > g_menuPlayersNum[id])

  649.  

  650.                 end = g_menuPlayersNum[id]

  651.  

  652.  

  653.  

  654.         for (new a = start; a < end; ++a)

  655.  

  656.         {

  657.  

  658.                 i = g_menuPlayers[id][a]

  659.  

  660.                 get_user_name(i, name, 31)

  661.  

  662.  

  663.  

  664.                 if (is_user_bot(i) || (access(i, ADMIN_IMMUNITY) && i != id))

  665.  

  666.                 {

  667.  

  668.                         ++b

  669.  

  670.                        

  671.  

  672.                         if (g_coloredMenus)

  673.  

  674.                                 len += format(menuBody[len], 511-len, "\d%d. %s^n\w", b, name)

  675.  

  676.                         else

  677.  

  678.                                 len += format(menuBody[len], 511-len, "#. %s^n", name)

  679.  

  680.                 } else {

  681.  

  682.                         keys |= (1<<b)

  683.  

  684.                                

  685.  

  686.                         if (is_user_admin(i))

  687.  

  688.                                 len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*^n\w" : "%d. %s *^n", ++b, name)

  689.  

  690.                         else

  691.  

  692.                                 len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)

  693.  

  694.                 }

  695.  

  696.         }

  697.  

  698.  

  699.  

  700.         if (g_menuSettings[id])

  701.  

  702.         {

  703.  

  704.                 new banLength[32]

  705.  

  706.                 if (timeToString(g_menuSettings[id], banLength, 31))

  707.  

  708.                         len += format(menuBody[len], 511-len, "^n8. Ban for %s^n", banLength)

  709.  

  710.                 else

  711.  

  712.                         len += format(menuBody[len], 511-len, "^n8. %L^n", id, "BAN_FOR_MIN", g_menuSettings[id])

  713.  

  714.         }

  715.  

  716.         else

  717.  

  718.                 len += format(menuBody[len], 511-len, "^n8. %L^n", id, "BAN_PERM")

  719.  

  720.  

  721.  

  722.         if (end != g_menuPlayersNum[id])

  723.  

  724.         {

  725.  

  726.                 format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")

  727.  

  728.                 keys |= MENU_KEY_9

  729.  

  730.         }

  731.  

  732.         else

  733.  

  734.                 format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

  735.  

  736.  

  737.  

  738.         show_menu(id, keys, menuBody, -1, "Ban Menu")

  739.  

  740. }

  741.  

  742.  

  743.  

  744. timeToString(minutes, output[], len)

  745.  

  746. {

  747.  

  748.         new hours = minutes / 60;

  749.  

  750.         minutes %= 60;

  751.  

  752.        

  753.  

  754.         new days = hours / 24;

  755.  

  756.         hours %= 24;

  757.  

  758.        

  759.  

  760.         new ret

  761.  

  762.        

  763.  

  764.         if (days)

  765.  

  766.                 ret += formatex(output[ret], len-ret, "%s%d day%s", ret ? ", " : "", days, (days == 1) ? "" : "s")

  767.  

  768.        

  769.  

  770.         if (hours)

  771.  

  772.                 ret += formatex(output[ret], len-ret, "%s%d hour%s", ret ? ", " : "", hours, (hours == 1) ? "" : "s")

  773.  

  774.        

  775.  

  776.         if (minutes)

  777.  

  778.                 ret += formatex(output[ret], len-ret, "%s%d minute%s", ret ? ", " : "", minutes, (minutes == 1) ? "" : "s")

  779.  

  780.        

  781.  

  782.         return ret

  783.  

  784. }

  785.  

  786.  

  787.  

  788. public cmdBanMenu(id, level, cid)

  789.  

  790. {

  791.  

  792.         if (!cmd_access(id, level, cid, 1))

  793.  

  794.                 return PLUGIN_HANDLED

  795.  

  796.  

  797.  

  798.         g_menuOption[id] = 0

  799.  

  800.        

  801.  

  802.         if (ArraySize(g_bantimes) > 0)

  803.  

  804.         {

  805.  

  806.                 g_menuSettings[id] = ArrayGetCell(g_bantimes, g_menuOption[id]);

  807.  

  808.         }

  809.  

  810.         else

  811.  

  812.         {

  813.  

  814.                 // should never happen, but failsafe

  815.  

  816.                 g_menuSettings[id] = 0

  817.  

  818.         }

  819.  

  820.         displayBanMenu(id, g_menuPosition[id] = 0)

  821.  

  822.  

  823.  

  824.         return PLUGIN_HANDLED

  825.  

  826. }

  827.  

  828.  

  829.  

  830. /* Slap/Slay */

  831.  

  832.  

  833.  

  834. public actionSlapMenu(id, key)

  835.  

  836. {

  837.  

  838.         switch (key)

  839.  

  840.         {

  841.  

  842.                 case 7:

  843.  

  844.                 {

  845.  

  846.                         ++g_menuOption[id]

  847.  

  848.                        

  849.  

  850.                         g_menuOption[id] %= ArraySize(g_slapsettings);

  851.  

  852.                        

  853.  

  854.                         g_menuSettings[id] = ArrayGetCell(g_slapsettings, g_menuOption[id]);

  855.  

  856.                        

  857.  

  858.                         displaySlapMenu(id, g_menuPosition[id]);

  859.  

  860.                 }

  861.  

  862.                 case 8: displaySlapMenu(id, ++g_menuPosition[id])

  863.  

  864.                 case 9: displaySlapMenu(id, --g_menuPosition[id])

  865.  

  866.                 default:

  867.  

  868.                 {

  869.  

  870.                         new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]

  871.  

  872.                         new name2[32]

  873.  

  874.                        

  875.  

  876.                         get_user_name(player, name2, 31)

  877.  

  878.  

  879.  

  880.                         if (!is_user_alive(player))

  881.  

  882.                         {

  883.  

  884.                                 client_print(id, print_chat, "%L", id, "CANT_PERF_DEAD", name2)

  885.  

  886.                                 displaySlapMenu(id, g_menuPosition[id])

  887.  

  888.                                 return PLUGIN_HANDLED

  889.  

  890.                         }

  891.  

  892.  

  893.  

  894.                         new authid[32], authid2[32], name[32]

  895.  

  896.  

  897.  

  898.                         get_user_authid(id, authid, 31)

  899.  

  900.                         get_user_authid(player, authid2, 31)

  901.  

  902.                         get_user_name(id, name, 31)

  903.  

  904.  

  905.  

  906.                         if (g_menuOption[id])

  907.  

  908.                         {

  909.  

  910.                                 log_amx("Cmd: ^"%s<%d><%s><>^" slap with %d damage ^"%s<%d><%s><>^"", name, get_user_userid(id), authid, g_menuSettings[id], name2, get_user_userid(player), authid2)

  911.  

  912.  

  913.  

  914.                                 show_activity_key("ADMIN_SLAP_1", "ADMIN_SLAP_2", name, name2, g_menuSettings[id]);

  915.  

  916.                         } else {

  917.  

  918.                                 log_amx("Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^"", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2)

  919.  

  920.                                

  921.  

  922.                                 show_activity_key("ADMIN_SLAY_1", "ADMIN_SLAY_2", name, name2);

  923.  

  924.                         }

  925.  

  926.  

  927.  

  928.                         if (g_menuOption[id])

  929.  

  930.                                 user_slap(player, (get_user_health(player) > g_menuSettings[id]) ? g_menuSettings[id] : 0)

  931.  

  932.                         else

  933.  

  934.                                 user_kill(player)

  935.  

  936.  

  937.  

  938.                         displaySlapMenu(id, g_menuPosition[id])

  939.  

  940.                 }

  941.  

  942.         }

  943.  

  944.        

  945.  

  946.         return PLUGIN_HANDLED

  947.  

  948. }

  949.  

  950.  

  951.  

  952. displaySlapMenu(id, pos)

  953.  

  954. {

  955.  

  956.         if (pos < 0)

  957.  

  958.                 return

  959.  

  960.  

  961.  

  962.         get_players(g_menuPlayers[id], g_menuPlayersNum[id])

  963.  

  964.  

  965.  

  966.         new menuBody[512]

  967.  

  968.         new b = 0

  969.  

  970.         new i

  971.  

  972.         new name[32], team[4]

  973.  

  974.         new start = pos * 7

  975.  

  976.  

  977.  

  978.         if (start >= g_menuPlayersNum[id])

  979.  

  980.                 start = pos = g_menuPosition[id] = 0

  981.  

  982.  

  983.  

  984.         new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "SLAP_SLAY_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))

  985.  

  986.         new end = start + 7

  987.  

  988.         new keys = MENU_KEY_0|MENU_KEY_8

  989.  

  990.  

  991.  

  992.         if (end > g_menuPlayersNum[id])

  993.  

  994.                 end = g_menuPlayersNum[id]

  995.  

  996.  

  997.  

  998.         for (new a = start; a < end; ++a)

  999.  

  1000.         {

  1001.  

  1002.                 i = g_menuPlayers[id][a]

  1003.  

  1004.                 get_user_name(i, name, 31)

  1005.  

  1006.                

  1007.  

  1008.                 if (g_cstrike)

  1009.  

  1010.                 {

  1011.  

  1012.                         if (cs_get_user_team(i) == CS_TEAM_T)

  1013.  

  1014.                         {

  1015.  

  1016.                                 copy(team, 3, "TE")

  1017.  

  1018.                         }

  1019.  

  1020.                         else if (cs_get_user_team(i) == CS_TEAM_CT)

  1021.  

  1022.                         {

  1023.  

  1024.                                 copy(team, 3, "CT")

  1025.  

  1026.                         } else {

  1027.  

  1028.                                 get_user_team(i, team, 3)

  1029.  

  1030.                         }

  1031.  

  1032.                 } else {

  1033.  

  1034.                         get_user_team(i, team, 3)

  1035.  

  1036.                 }

  1037.  

  1038.  

  1039.  

  1040.                 if (!is_user_alive(i) || (access(i, ADMIN_IMMUNITY) && i != id))

  1041.  

  1042.                 {

  1043.  

  1044.                         ++b

  1045.  

  1046.                

  1047.  

  1048.                         if (g_coloredMenus)

  1049.  

  1050.                                 len += format(menuBody[len], 511-len, "\d%d. %s\R%s^n\w", b, name, team)

  1051.  

  1052.                         else

  1053.  

  1054.                                 len += format(menuBody[len], 511-len, "#. %s   %s^n", name, team)              

  1055.  

  1056.                 } else {

  1057.  

  1058.                         keys |= (1<<b)

  1059.  

  1060.                                

  1061.  

  1062.                         if (is_user_admin(i))

  1063.  

  1064.                                 len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*\y\R%s^n\w" : "%d. %s *   %s^n", ++b, name, team)

  1065.  

  1066.                         else

  1067.  

  1068.                                 len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s\y\R%s^n\w" : "%d. %s   %s^n", ++b, name, team)

  1069.  

  1070.                 }

  1071.  

  1072.         }

  1073.  

  1074.  

  1075.  

  1076.         if (g_menuOption[id])

  1077.  

  1078.                 len += format(menuBody[len], 511-len, "^n8. %L^n", id, "SLAP_WITH_DMG", g_menuSettings[id])

  1079.  

  1080.         else

  1081.  

  1082.                 len += format(menuBody[len], 511-len, "^n8. %L^n", id, "SLAY")

  1083.  

  1084.  

  1085.  

  1086.         if (end != g_menuPlayersNum[id])

  1087.  

  1088.         {

  1089.  

  1090.                 format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")

  1091.  

  1092.                 keys |= MENU_KEY_9

  1093.  

  1094.         }

  1095.  

  1096.         else

  1097.  

  1098.                 format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

  1099.  

  1100.  

  1101.  

  1102.         show_menu(id, keys, menuBody, -1, "Slap/Slay Menu")

  1103.  

  1104. }

  1105.  

  1106.  

  1107.  

  1108. public cmdSlapMenu(id, level, cid)

  1109.  

  1110. {

  1111.  

  1112.         if (!cmd_access(id, level, cid, 1))

  1113.  

  1114.                 return PLUGIN_HANDLED

  1115.  

  1116.  

  1117.  

  1118.         g_menuOption[id] = 0

  1119.  

  1120.         if (ArraySize(g_slapsettings) > 0)

  1121.  

  1122.         {

  1123.  

  1124.                 g_menuSettings[id] = ArrayGetCell(g_slapsettings, g_menuOption[id]);

  1125.  

  1126.         }

  1127.  

  1128.         else

  1129.  

  1130.         {

  1131.  

  1132.                 // should never happen, but failsafe

  1133.  

  1134.                 g_menuSettings[id] = 0

  1135.  

  1136.         }

  1137.  

  1138.  

  1139.  

  1140.         displaySlapMenu(id, g_menuPosition[id] = 0)

  1141.  

  1142.  

  1143.  

  1144.         return PLUGIN_HANDLED

  1145.  

  1146. }

  1147.  

  1148.  

  1149.  

  1150. /* Kick */

  1151.  

  1152.  

  1153.  

  1154. public actionKickMenu(id, key)

  1155.  

  1156. {

  1157.  

  1158.         switch (key)

  1159.  

  1160.         {

  1161.  

  1162.                 case 8: displayKickMenu(id, ++g_menuPosition[id])

  1163.  

  1164.                 case 9: displayKickMenu(id, --g_menuPosition[id])

  1165.  

  1166.                 default:

  1167.  

  1168.                 {

  1169.  

  1170.                         new player = g_menuPlayers[id][g_menuPosition[id] * 8 + key]

  1171.  

  1172.                         new authid[32], authid2[32], name[32], name2[32]

  1173.  

  1174.                        

  1175.  

  1176.                         get_user_authid(id, authid, 31)

  1177.  

  1178.                         get_user_authid(player, authid2, 31)

  1179.  

  1180.                         get_user_name(id, name, 31)

  1181.  

  1182.                         get_user_name(player, name2, 31)

  1183.  

  1184.                        

  1185.  

  1186.                         new userid2 = get_user_userid(player)

  1187.  

  1188.  

  1189.  

  1190.                         log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^"", name, get_user_userid(id), authid, name2, userid2, authid2)

  1191.  

  1192.  

  1193.  

  1194.                         show_activity_key("ADMIN_KICK_1", "ADMIN_KICK_2", name, name2);

  1195.  

  1196.  

  1197.  

  1198.                        

  1199.  

  1200.                         server_cmd("kick #%d", userid2)

  1201.  

  1202.                         server_exec()

  1203.  

  1204.  

  1205.  

  1206.                         displayKickMenu(id, g_menuPosition[id])

  1207.  

  1208.                 }

  1209.  

  1210.         }

  1211.  

  1212.  

  1213.  

  1214.         return PLUGIN_HANDLED

  1215.  

  1216. }

  1217.  

  1218.  

  1219.  

  1220. displayKickMenu(id, pos)

  1221.  

  1222. {

  1223.  

  1224.         if (pos < 0)

  1225.  

  1226.                 return

  1227.  

  1228.  

  1229.  

  1230.         get_players(g_menuPlayers[id], g_menuPlayersNum[id])

  1231.  

  1232.  

  1233.  

  1234.         new menuBody[512]

  1235.  

  1236.         new b = 0

  1237.  

  1238.         new i

  1239.  

  1240.         new name[32]

  1241.  

  1242.         new start = pos * 8

  1243.  

  1244.  

  1245.  

  1246.         if (start >= g_menuPlayersNum[id])

  1247.  

  1248.                 start = pos = g_menuPosition[id] = 0

  1249.  

  1250.  

  1251.  

  1252.         new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "KICK_MENU", pos + 1, (g_menuPlayersNum[id] / 8 + ((g_menuPlayersNum[id] % 8) ? 1 : 0)))

  1253.  

  1254.         new end = start + 8

  1255.  

  1256.         new keys = MENU_KEY_0

  1257.  

  1258.  

  1259.  

  1260.         if (end > g_menuPlayersNum[id])

  1261.  

  1262.                 end = g_menuPlayersNum[id]

  1263.  

  1264.  

  1265.  

  1266.         for (new a = start; a < end; ++a)

  1267.  

  1268.         {

  1269.  

  1270.                 i = g_menuPlayers[id][a]

  1271.  

  1272.                 get_user_name(i, name, 31)

  1273.  

  1274.  

  1275.  

  1276.                 if (access(i, ADMIN_IMMUNITY) && i != id)

  1277.  

  1278.                 {

  1279.  

  1280.                         ++b

  1281.  

  1282.                

  1283.  

  1284.                         if (g_coloredMenus)

  1285.  

  1286.                                 len += format(menuBody[len], 511-len, "\d%d. %s^n\w", b, name)

  1287.  

  1288.                         else

  1289.  

  1290.                                 len += format(menuBody[len], 511-len, "#. %s^n", name)

  1291.  

  1292.                 } else {

  1293.  

  1294.                         keys |= (1<<b)

  1295.  

  1296.                                

  1297.  

  1298.                         if (is_user_admin(i))

  1299.  

  1300.                                 len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*^n\w" : "%d. %s *^n", ++b, name)

  1301.  

  1302.                         else

  1303.  

  1304.                                 len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)

  1305.  

  1306.                 }

  1307.  

  1308.         }

  1309.  

  1310.  

  1311.  

  1312.         if (end != g_menuPlayersNum[id])

  1313.  

  1314.         {

  1315.  

  1316.                 format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")

  1317.  

  1318.                 keys |= MENU_KEY_9

  1319.  

  1320.         }

  1321.  

  1322.         else

  1323.  

  1324.                 format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

  1325.  

  1326.  

  1327.  

  1328.         show_menu(id, keys, menuBody, -1, "Kick Menu")

  1329.  

  1330. }

  1331.  

  1332.  

  1333.  

  1334. public cmdKickMenu(id, level, cid)

  1335.  

  1336. {

  1337.  

  1338.         if (cmd_access(id, level, cid, 1))

  1339.  

  1340.                 displayKickMenu(id, g_menuPosition[id] = 0)

  1341.  

  1342.  

  1343.  

  1344.         return PLUGIN_HANDLED

  1345.  

  1346. }

  1347.  

  1348.  

  1349.  

  1350. /* Team menu */

  1351.  

  1352.  

  1353.  

  1354. public actionTeamMenu(id, key)

  1355.  

  1356. {

  1357.  

  1358.         switch (key)

  1359.  

  1360.         {

  1361.  

  1362.                 case 7:

  1363.  

  1364.                 {

  1365.  

  1366.                         g_menuOption[id] = (g_menuOption[id] + 1) % (g_cstrike ? 3 : 2);

  1367.  

  1368.                         displayTeamMenu(id, g_menuPosition[id])

  1369.  

  1370.                 }

  1371.  

  1372.                 case 8: displayTeamMenu(id, ++g_menuPosition[id])

  1373.  

  1374.                 case 9: displayTeamMenu(id, --g_menuPosition[id])

  1375.  

  1376.                 default:

  1377.  

  1378.                 {

  1379.  

  1380.                         new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]

  1381.  

  1382.                         new authid[32], authid2[32], name[32], name2[32]

  1383.  

  1384.  

  1385.  

  1386.                         get_user_name(player, name2, 31)

  1387.  

  1388.                         get_user_authid(id, authid, 31)

  1389.  

  1390.                         get_user_authid(player, authid2, 31)

  1391.  

  1392.                         get_user_name(id, name, 31)

  1393.  

  1394.                                

  1395.  

  1396.                         log_amx("Cmd: ^"%s<%d><%s><>^" transfer ^"%s<%d><%s><>^" (team ^"%s^")", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2, g_menuOption[id] ? "TERRORIST" : "CT")

  1397.  

  1398.  

  1399.  

  1400.                         show_activity_key("ADMIN_TRANSF_1", "ADMIN_TRANSF_2", name, name2, g_CSTeamNames[g_menuOption[id] % 3]);

  1401.  

  1402.  

  1403.  

  1404.                         if (g_cstrike)

  1405.  

  1406.                         {

  1407.  

  1408.                                 if (is_user_alive(player))

  1409.  

  1410.                                 {

  1411.  

  1412.                                         new deaths = cs_get_user_deaths(player)

  1413.  

  1414.                                         user_kill(player, 1)

  1415.  

  1416.                                         cs_set_user_deaths(player, deaths)

  1417.  

  1418.                                 }

  1419.  

  1420.                                 // This modulo math just aligns the option to the CsTeams-corresponding number

  1421.  

  1422.                                 cs_set_user_team(player, (g_menuOption[id] % 3) + 1)

  1423.  

  1424.                                 cs_reset_user_model(player)

  1425.  

  1426.                         } else {

  1427.  

  1428.                                 new limit_setting = get_cvar_num("mp_limitteams")

  1429.  

  1430.                                

  1431.  

  1432.                                 set_cvar_num("mp_limitteams", 0)

  1433.  

  1434.                                 engclient_cmd(player, "jointeam", g_CSTeamNumbers[g_menuOption[id] % 2])

  1435.  

  1436.                                 engclient_cmd(player, "joinclass", "1")

  1437.  

  1438.                                 set_cvar_num("mp_limitteams", limit_setting)

  1439.  

  1440.                         }

  1441.  

  1442.  

  1443.  

  1444.                         displayTeamMenu(id, g_menuPosition[id])

  1445.  

  1446.                 }

  1447.  

  1448.         }

  1449.  

  1450.        

  1451.  

  1452.         return PLUGIN_HANDLED

  1453.  

  1454. }

  1455.  

  1456.  

  1457.  

  1458. displayTeamMenu(id, pos)

  1459.  

  1460. {

  1461.  

  1462.         if (pos < 0)

  1463.  

  1464.                 return

  1465.  

  1466.  

  1467.  

  1468.         get_players(g_menuPlayers[id], g_menuPlayersNum[id])

  1469.  

  1470.  

  1471.  

  1472.         new menuBody[512]

  1473.  

  1474.         new b = 0

  1475.  

  1476.         new i, iteam

  1477.  

  1478.         new name[32], team[4]

  1479.  

  1480.         new start = pos * 7

  1481.  

  1482.  

  1483.  

  1484.         if (start >= g_menuPlayersNum[id])

  1485.  

  1486.                 start = pos = g_menuPosition[id] = 0

  1487.  

  1488.  

  1489.  

  1490.         new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "TEAM_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))

  1491.  

  1492.         new end = start + 7

  1493.  

  1494.         new keys = MENU_KEY_0|MENU_KEY_8

  1495.  

  1496.  

  1497.  

  1498.         if (end > g_menuPlayersNum[id])

  1499.  

  1500.                 end = g_menuPlayersNum[id]

  1501.  

  1502.  

  1503.  

  1504.         for (new a = start; a < end; ++a)

  1505.  

  1506.         {

  1507.  

  1508.                 i = g_menuPlayers[id][a]

  1509.  

  1510.                 get_user_name(i, name, 31)

  1511.  

  1512.                

  1513.  

  1514.                 if (g_cstrike)

  1515.  

  1516.                 {

  1517.  

  1518.                         iteam = _:cs_get_user_team(i)

  1519.  

  1520.                        

  1521.  

  1522.                         if (iteam == 1)

  1523.  

  1524.                         {

  1525.  

  1526.                                 copy(team, 3, "TE")

  1527.  

  1528.                         }

  1529.  

  1530.                         else if (iteam == 2)

  1531.  

  1532.                         {

  1533.  

  1534.                                 copy(team, 3, "CT")

  1535.  

  1536.                         }

  1537.  

  1538.                         else if (iteam == 3)

  1539.  

  1540.                         {

  1541.  

  1542.                                 copy(team, 3, "SPE");

  1543.  

  1544.                                 iteam = 6;

  1545.  

  1546.                         } else {

  1547.  

  1548.                                 iteam = get_user_team(i, team, 3)

  1549.  

  1550.                         }

  1551.  

  1552.                 } else {

  1553.  

  1554.                         iteam = get_user_team(i, team, 3)

  1555.  

  1556.                 }

  1557.  

  1558.  

  1559.  

  1560.                 if ((iteam == g_CSTeamiNumbers[g_menuOption[id] % (g_cstrike ? 3 : 2)]) || (access(i, ADMIN_IMMUNITY) && i != id))

  1561.  

  1562.                 {

  1563.  

  1564.                         ++b

  1565.  

  1566.                        

  1567.  

  1568.                         if (g_coloredMenus)

  1569.  

  1570.                                 len += format(menuBody[len], 511-len, "\d%d. %s\R%s^n\w", b, name, team)

  1571.  

  1572.                         else

  1573.  

  1574.                                 len += format(menuBody[len], 511-len, "#. %s   %s^n", name, team)              

  1575.  

  1576.                 } else {

  1577.  

  1578.                         keys |= (1<<b)

  1579.  

  1580.                                

  1581.  

  1582.                         if (is_user_admin(i))

  1583.  

  1584.                                 len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*\y\R%s^n\w" : "%d. %s *   %s^n", ++b, name, team)

  1585.  

  1586.                         else

  1587.  

  1588.                                 len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s\y\R%s^n\w" : "%d. %s   %s^n", ++b, name, team)

  1589.  

  1590.                 }

  1591.  

  1592.         }

  1593.  

  1594.  

  1595.  

  1596.         len += format(menuBody[len], 511-len, "^n8. %L^n", id, "TRANSF_TO", g_CSTeamNames[g_menuOption[id] % (g_cstrike ? 3 : 2)])

  1597.  

  1598.  

  1599.  

  1600.         if (end != g_menuPlayersNum[id])

  1601.  

  1602.         {

  1603.  

  1604.                 format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")

  1605.  

  1606.                 keys |= MENU_KEY_9

  1607.  

  1608.         }

  1609.  

  1610.         else

  1611.  

  1612.                 format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

  1613.  

  1614.  

  1615.  

  1616.         show_menu(id, keys, menuBody, -1, "Team Menu")

  1617.  

  1618. }

  1619.  

  1620.  

  1621.  

  1622. public cmdTeamMenu(id, level, cid)

  1623.  

  1624. {

  1625.  

  1626.         if (!cmd_access(id, level, cid, 1))

  1627.  

  1628.                 return PLUGIN_HANDLED

  1629.  

  1630.  

  1631.  

  1632.         g_menuOption[id] = 0

  1633.  

  1634.  

  1635.  

  1636.         displayTeamMenu(id, g_menuPosition[id] = 0)

  1637.  

  1638.  

  1639.  

  1640.         return PLUGIN_HANDLED

  1641.  

  1642. }

  1643.  

  1644.  

  1645.  

  1646. /* Client cmds menu */

  1647.  

  1648.  

  1649.  

  1650. public actionClcmdMenu(id, key)

  1651.  

  1652. {

  1653.  

  1654.         switch (key)

  1655.  

  1656.         {

  1657.  

  1658.                 case 7:

  1659.  

  1660.                 {

  1661.  

  1662.                         ++g_menuOption[id]

  1663.  

  1664.                         g_menuOption[id] %= g_menuSelectNum[id]

  1665.  

  1666.                         displayClcmdMenu(id, g_menuPosition[id])

  1667.  

  1668.                 }

  1669.  

  1670.                 case 8: displayClcmdMenu(id, ++g_menuPosition[id])

  1671.  

  1672.                 case 9: displayClcmdMenu(id, --g_menuPosition[id])

  1673.  

  1674.                 default:

  1675.  

  1676.                 {

  1677.  

  1678.                         new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]

  1679.  

  1680.                         new flags = g_clcmdMisc[g_menuSelect[id][g_menuOption[id]]][1]

  1681.  

  1682.                        

  1683.  

  1684.                         if (is_user_connected(player))

  1685.  

  1686.                         {

  1687.  

  1688.                                 new command[512], authid[32], name[32], userid[32]

  1689.  

  1690.                                

  1691.  

  1692.                                 copy(command, charsmax(command), g_clcmdCmd[g_menuSelect[id][g_menuOption[id]]])

  1693.  

  1694.                                 get_user_authid(player, authid, 31)

  1695.  

  1696.                                 get_user_name(player, name, 31)

  1697.  

  1698.                                 num_to_str(get_user_userid(player), userid, 31)

  1699.  

  1700.                                

  1701.  

  1702.                                 replace(command, charsmax(command), "%userid%", userid)

  1703.  

  1704.                                 replace(command, charsmax(command), "%authid%", authid)

  1705.  

  1706.                                 replace(command, charsmax(command), "%name%", name)

  1707.  

  1708.                                

  1709.  

  1710.                                 if (flags & 1)

  1711.  

  1712.                                 {

  1713.  

  1714.                                         server_cmd("%s", command)

  1715.  

  1716.                                         server_exec()

  1717.  

  1718.                                 } else if (flags & 2)

  1719.  

  1720.                                         client_cmd(id, "%s", command)

  1721.  

  1722.                                 else if (flags & 4)

  1723.  

  1724.                                         client_cmd(player, "%s", command)

  1725.  

  1726.                         }

  1727.  

  1728.                        

  1729.  

  1730.                         if (flags & 8)

  1731.  

  1732.                                 displayClcmdMenu(id, g_menuPosition[id])

  1733.  

  1734.                 }

  1735.  

  1736.         }

  1737.  

  1738.        

  1739.  

  1740.         return PLUGIN_HANDLED

  1741.  

  1742. }

  1743.  

  1744.  

  1745.  

  1746. displayClcmdMenu(id, pos)

  1747.  

  1748. {

  1749.  

  1750.         if (pos < 0)

  1751.  

  1752.                 return

  1753.  

  1754.  

  1755.  

  1756.         get_players(g_menuPlayers[id], g_menuPlayersNum[id])

  1757.  

  1758.  

  1759.  

  1760.         new menuBody[512]

  1761.  

  1762.         new b = 0

  1763.  

  1764.         new i

  1765.  

  1766.         new name[32]

  1767.  

  1768.         new start = pos * 7

  1769.  

  1770.  

  1771.  

  1772.         if (start >= g_menuPlayersNum[id])

  1773.  

  1774.                 start = pos = g_menuPosition[id] = 0

  1775.  

  1776.  

  1777.  

  1778.         new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "CL_CMD_MENU", pos + 1, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0)))

  1779.  

  1780.         new end = start + 7

  1781.  

  1782.         new keys = MENU_KEY_0|MENU_KEY_8

  1783.  

  1784.  

  1785.  

  1786.         if (end > g_menuPlayersNum[id])

  1787.  

  1788.                 end = g_menuPlayersNum[id]

  1789.  

  1790.  

  1791.  

  1792.         for (new a = start; a < end; ++a)

  1793.  

  1794.         {

  1795.  

  1796.                 i = g_menuPlayers[id][a]

  1797.  

  1798.                 get_user_name(i, name, 31)

  1799.  

  1800.  

  1801.  

  1802.                 if (!g_menuSelectNum[id] || (access(i, ADMIN_IMMUNITY) && i != id))

  1803.  

  1804.                 {

  1805.  

  1806.                         ++b

  1807.  

  1808.                        

  1809.  

  1810.                         if (g_coloredMenus)

  1811.  

  1812.                                 len += format(menuBody[len], 511-len, "\d%d. %s^n\w", b, name)

  1813.  

  1814.                         else

  1815.  

  1816.                                 len += format(menuBody[len], 511-len, "#. %s^n", name)          

  1817.  

  1818.                 } else {

  1819.  

  1820.                         keys |= (1<<b)

  1821.  

  1822.                                

  1823.  

  1824.                         if (is_user_admin(i))

  1825.  

  1826.                                 len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*^n\w" : "%d. %s *^n", ++b, name)

  1827.  

  1828.                         else

  1829.  

  1830.                                 len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)

  1831.  

  1832.                 }

  1833.  

  1834.         }

  1835.  

  1836.  

  1837.  

  1838.         if (g_menuSelectNum[id])

  1839.  

  1840.                 len += format(menuBody[len], 511-len, "^n8. %s^n", g_clcmdName[g_menuSelect[id][g_menuOption[id]]])

  1841.  

  1842.         else

  1843.  

  1844.                 len += format(menuBody[len], 511-len, "^n8. %L^n", id, "NO_CMDS")

  1845.  

  1846.  

  1847.  

  1848.         if (end != g_menuPlayersNum[id])

  1849.  

  1850.         {

  1851.  

  1852.                 format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")

  1853.  

  1854.                 keys |= MENU_KEY_9

  1855.  

  1856.         }

  1857.  

  1858.         else

  1859.  

  1860.                 format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

  1861.  

  1862.  

  1863.  

  1864.         show_menu(id, keys, menuBody, -1, "Client Cmds Menu")

  1865.  

  1866. }

  1867.  

  1868.  

  1869.  

  1870. public cmdClcmdMenu(id, level, cid)

  1871.  

  1872. {

  1873.  

  1874.         if (!cmd_access(id, level, cid, 1))

  1875.  

  1876.                 return PLUGIN_HANDLED

  1877.  

  1878.  

  1879.  

  1880.         g_menuSelectNum[id] = 0

  1881.  

  1882.  

  1883.  

  1884.         for (new a = 0; a < g_clcmdNum; ++a)

  1885.  

  1886.                 if (access(id, g_clcmdMisc[a][0]))

  1887.  

  1888.                         g_menuSelect[id][g_menuSelectNum[id]++] = a

  1889.  

  1890.  

  1891.  

  1892.         g_menuOption[id] = 0

  1893.  

  1894.  

  1895.  

  1896.         displayClcmdMenu(id, g_menuPosition[id] = 0)

  1897.  

  1898.  

  1899.  

  1900.         return PLUGIN_HANDLED

  1901.  

  1902. }

  1903.  

  1904.  

  1905.  

  1906. load_settings(szFilename[])

  1907.  

  1908. {

  1909.  

  1910.         if (!file_exists(szFilename))

  1911.  

  1912.                 return 0

  1913.  

  1914.  

  1915.  

  1916.         new text[256], szFlags[32], szAccess[32]

  1917.  

  1918.         new a, pos = 0

  1919.  

  1920.  

  1921.  

  1922.         while (g_clcmdNum < MAX_CLCMDS && read_file(szFilename, pos++, text, 255, a))

  1923.  

  1924.         {

  1925.  

  1926.                 if (text[0] == ';') continue

  1927.  

  1928.  

  1929.  

  1930.                 if (parse(text, g_clcmdName[g_clcmdNum], 31, g_clcmdCmd[g_clcmdNum], 63, szFlags, 31, szAccess, 31) > 3)

  1931.  

  1932.                 {

  1933.  

  1934.                         while (replace(g_clcmdCmd[g_clcmdNum], 63, "\'", "^""))

  1935.  

  1936.                        {

  1937.  

  1938.                                // do nothing

  1939.  

  1940.                        }

  1941.  

  1942.  

  1943.  

  1944.                        g_clcmdMisc[g_clcmdNum][1] = read_flags(szFlags)

  1945.  

  1946.                        g_clcmdMisc[g_clcmdNum][0] = read_flags(szAccess)

  1947.  

  1948.                        g_clcmdNum++

  1949.  

  1950.                }

  1951.  

  1952.        }

  1953.  

  1954.  

  1955.  

  1956.        return 1

  1957.  

  1958. }

  1959.  

  1960.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.04.30. 11:34 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
A képet playernek a hudot idnek csinnálja!

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.04.30. 11:42 
Offline
Őstag
Avatar

Csatlakozott:2010.04.16. 16:50
Hozzászólások:1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
kiki írta:
A képet playernek a hudot idnek csinnálja!

Akkor hogy kéne hogy jó is legyen ???
A képet megcsinálja a banolt játékosnak csak az üzenet nincs sehol !!
De am egybe raktam a banoláshoz mert sztem felesleges az "else" elötte amit silent csinált !
Kód:
  1. public CmdBanReason(id)

  2.  

  3. {

  4.  

  5.     new player = g_ban_player[id];

  6.  

  7.     if( !player ) return PLUGIN_HANDLED;

  8.  

  9.     new name[32], name2[32], authid[32], authid2[32], ip[36]

  10.  

  11.    

  12.  

  13.     get_user_ip(player, ip, 36, 0);

  14.  

  15.    

  16.  

  17.     new reason[128];

  18.  

  19.     read_args(reason, sizeof(reason) - 1);

  20.  

  21.     remove_quotes(reason);

  22.  

  23.      

  24.     new CurrentTime[9], hostname[64]

  25.  

  26.     get_user_name(player, name2, 31)

  27.  

  28.     get_user_authid(id, authid, 31)

  29.  

  30.     get_user_authid(player, authid2, 31)

  31.  

  32.     get_user_name(id, name, 31)

  33.  

  34.     new userid2 = get_user_userid(player)

  35.  

  36.     get_cvar_string("hostname",hostname,63)

  37.  

  38.         if ( equal("STEAM_0:", authid2, 8))

  39.  

  40.         {

  41.             set_dhudmessage(0, 255, 255, 0.01, 0.36, 2, 6.0, 4.0)

  42.             show_dhudmessage(id, "Szerver: %s^n Admin neve: %s^n Neved: %s^n Steam: %s^nIdo:%s^n", hostname, name, name2, authid2, CurrentTime)

  43.             client_cmd(player, "wait;wait;snapshot;wait;snapshot");

  44.  

  45.             client_cmd(id, "amx_baniptql #%i %i ^"%s^"", userid2, g_menuSettings[id], reason);

  46.  

  47.         }

  48.  

  49.         else

  50.  

  51.         {

  52.             set_dhudmessage(0, 255, 255, 0.01, 0.36, 2, 6.0, 4.0)

  53.             show_dhudmessage(id, "Szerver: %s^n Admin neve: %s^n Neved: %s^n Steam: %s^nIdo:%s^n", hostname, name, name2, authid2, CurrentTime)

  54.             client_cmd(player, "wait;wait;snapshot;wait;snapshot");

  55.  

  56.             client_cmd(id, "amx_bantql #%i %i ^"%s^"", userid2, g_menuSettings[id], reason);

  57.  

  58.         }

  59.  

  60.         server_exec()

  61.  

  62.         g_ban_player[id] = 0;

  63.  

  64.         displayBanMenu(id, g_menuPosition[id])

  65.  

  66.    return PLUGIN_CONTINUE;

  67. }

  68.  

  69.  

  70.  

  71.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.04.30. 11:53 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
A hudot is a playernek mutasd! Illetve erdemes meg konzol üzenetet is létrehozni!

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.04.30. 12:17 
Offline
Őstag
Avatar

Csatlakozott:2010.04.16. 16:50
Hozzászólások:1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
Kód:
set_dhudmessage(0, 255, 255, 0.01, 0.36, 2, 6.0, 4.0)
            show_dhudmessage(player, "Szerver: %s^n Admin neve: %s^n Neved: %s^n Steam: %s^nIdo:%s^n", hostname, name, name2, authid2, CurrentTime)
            client_cmd(player, "wait;wait;snapshot;wait;snapshot");


Így gondoltad kiki ??

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.04.30. 14:18 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
HA annak akarod mutatni akit kitiltasz akkor igen!

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.04.30. 20:06 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
szerintem mindenkinek akarja, írj 0-t

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: screenshot készitése banoláskor
HozzászólásElküldve:2012.05.01. 21:10 
Offline
Őstag
Avatar

Csatlakozott:2010.04.16. 16:50
Hozzászólások:1342
Megköszönt másnak: 42 alkalommal
Megköszönték neki: 58 alkalommal
Valamiért még most se mutatja a hud üzenetet !!
Kód:
public CmdBanReason(id)
 
{
 
    new 
player g_ban_player[id];
 
    if( !
player ) return PLUGIN_HANDLED;
 
    new 
name[32], name2[32], authid[32], authid2[32], ip[36]
 
   
 
    
get_user_ip(playerip360);
 
   
 
    new 
reason[128];
 
    
read_args(reasonsizeof(reason) - 1);
 
    
remove_quotes(reason);
 
     
    new 
CurrentTime[9], hostname[64]
 
    
get_user_name(playername231)
 
    
get_user_authid(idauthid31)
 
    
get_user_authid(playerauthid231)
 
    
get_user_name(idname31)
 
    new 
userid2 get_user_userid(player)
 
    
get_cvar_string("hostname",hostname,63)
 
        if ( 
equal("STEAM_0:"authid28))
 
        {
            
set_dhudmessage(02552550.010.3626.04.0)
            
show_dhudmessage(player"Szerver: %s^n Admin neve: %s^n Neved: %s^n Steam: %s^nIdo:%s^n"hostnamenamename2authid2CurrentTime)
            
client_cmd(player"wait;wait;snapshot;wait;snapshot");
            
client_cmd(id"amx_baniptql #%i %i ^"%s^""userid2g_menuSettings[id], reason);
        }
 
        else
 
        {
            
set_dhudmessage(02552550.010.3626.04.0)
            
show_dhudmessage(player"Szerver: %s^n Admin neve: %s^n Neved: %s^n Steam: %s^nIdo:%s^n"hostnamenamename2authid2CurrentTime)
            
client_cmd(player"wait;wait;snapshot;wait;snapshot");
            
client_cmd(id"amx_bantql #%i %i ^"%s^""userid2g_menuSettings[id], reason);
        }
 
        
server_exec()
 
        
g_ban_player[id] = 0;
 
        
displayBanMenu(idg_menuPosition[id])
 
   return 
PLUGIN_CONTINUE;

_________________
Kép


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  [18 hozzászólás ]  OldalElőző12


Ki van itt

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