hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.24. 09:49



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Lang szinezés
HozzászólásElküldve: 2016.03.08. 16:31 
Offline
Senior Tag
Avatar

Csatlakozott: 2013.11.12. 16:39
Hozzászólások: 258
Megköszönt másnak: 87 alkalommal
Megköszönték neki: 2 alkalommal
Sziasztok ! Ebbe a pluginba , hogy lehetne beleírni a színes írást ?

  1. /* Ct banner by Drekes.
  2.   *
  3.   * A plugin jailbreak szerverekre készült.
  4.   * A lényege: ha egy játékos CT-ben (őr) többszörös gyilkosságot követ el (fk) akkor őt tiltsák CT csapatból.
  5.   * Így nem lehet CT, csak ha unbannolják.
  6.   *
  7.   * Parancsok:  - amx_addctban      <játékos>     "ctből bannolás"
  8.   *             - amx_removectban   <játékos>     "unbannolás ctből"
  9.   *             - amx_ctbanmenu                 "CT Bannmenü"
  10.   *
  11.   * Cvarok:     - ctban_kill 1              Hány játékostól bannolja (alap: 1)
  12.   *             - ctban_connect_msg 1           Mutassa hud üzenetet ha egy ct játékos csatlakozik
  13.   *    
  14.   * Credits:
  15.   *             Drekes
  16.   *             Fysiks
  17.   *             Wrecked_
  18.   *             Bugsy
  19.   *             Crazyeffect
  20.   *
  21.   * Changelog:
  22.   *             v1.0:   - Initial Release
  23.   *             v1.1:   - Minor fix (tnx wrecked)
  24.   *             v1.2:   - Make banned ct's autojoin T (thanks VEN for auto join on connect plugin)
  25.   *             v1.3:   - Multilangual
  26.   *             v1.4:   - Added banmenu
  27.   *             v1.5:   - Fixed Admin only bug
  28.   *             v1.6:   - Added a ban/unban menu, added to amxmodmenu
  29.   *             v1.7:   - Added Kill cvar, Reorganized code to make more readable
  30.   *             v2.0:   - Completely Rewrote plugin.
  31.   *             v2.1:   - Improved menu functionality.
  32.   *             v2.2:   - Rewritten menu (Only 1 menu is used now.)
  33.   *                     - Renamed console commands.
  34.   *                     - Added connection message cvar.
  35.   *                     - Added reason & playername in .ini (Still works with old .ini files)
  36.   *             v2.2a:  - Minor bug fix
  37.   *             v2.2b:  - Terrorist players don't get killed when ct-banned.
  38.   *             v2.3:   - Added message when using amx_ctbanmenu with only yourself in the server.
  39.   *                     - Fixed ban list not saving.
  40.   *                     - Fixed auto-select option working on ct-banned players.
  41.   */
  42. #include <amxmodx>
  43. #include <amxmisc>
  44. #include <cstrike>
  45. #include <fun>
  46.  
  47. #pragma semicolon 1
  48. #define VERSION         "2.3"
  49.  
  50. #define SetCtBan(%1)      (g_iBanned |= (1<<(%1&31)))
  51. #define ClearCtBan(%1)    (g_iBanned &= ~(1 <<(%1&31)))
  52. #define CheckCtBan(%1)    (g_iBanned & (1<<(%1&31)))
  53.  
  54. #define set_user_messagemode(%1)    (client_cmd(%1,"messagemode %s", g_szReasonMessage))
  55.  
  56. #define TEAMMENU_ID     5
  57.  
  58. #define TEAM_CT     1
  59. #define TEAM_RANDOM 4
  60.  
  61. new const g_szReasonMessage[] = "Reason_for_ct-ban";
  62.  
  63.  
  64. enum Cvars
  65. {
  66.     KillBanned
  67.     , ConnectMsg
  68. };
  69.  
  70.  
  71. new Trie: g_tBannedSteamids
  72.     , g_iBanned
  73.     , g_iSelectedPlayer[33]
  74.     , g_szFile[64]
  75.     , g_pCvars[Cvars]
  76. ;
  77.  
  78.  
  79. public plugin_init()
  80. {
  81.     register_plugin("Ct Banner", VERSION, "Drekes");
  82.  
  83.     register_dictionary("ctbanner.txt");
  84.     register_dictionary("common.txt");
  85.  
  86.     register_concmd("amx_addctban", "Cmd_CtBan", ADMIN_BAN, "<jatekos> <indok> ^"CT jatekos bannolasa^"");
  87.     register_concmd("amx_removectban", "Cmd_CtUnBan", ADMIN_BAN, "<jatekos> ^"CT jatekos unbannolasa^"");
  88.  
  89.     register_clcmd("amx_ctbanmenu", "Menu_Main", ADMIN_BAN, "CT BanMenu megnyitasa");
  90.     register_clcmd("jointeam", "Cmd_JoinTeam");
  91.     register_clcmd(g_szReasonMessage, "CmdEnterReason");
  92.  
  93.     register_menucmd(register_menuid("Team_Select", 1), (1<<0)|(1<<1)|(1<<4)|(1<<5), "Menu_TeamSelect");
  94.  
  95.     register_cvar("ctban_version", VERSION, FCVAR_SPONLY | FCVAR_SERVER);
  96.  
  97.     new const szCvars[Cvars][][] =
  98.     {
  99.         { "ctban_kill", "1" },
  100.         { "ctban_connect_msg", "1" }
  101.     };
  102.  
  103.     for(new Cvars: i = Cvars: 0; i < Cvars; i++)
  104.         g_pCvars[i] = register_cvar(szCvars[i][0], szCvars[i][1]);
  105.  
  106.  
  107.     g_tBannedSteamids = TrieCreate();
  108.  
  109.     if(g_tBannedSteamids == Invalid_Trie)
  110.         set_fail_state("Nem sikerult letrehozni. Frissits AMXX-t!");
  111.  
  112.  
  113.     formatex(g_szFile[get_datadir(g_szFile, charsmax(g_szFile))], charsmax(g_szFile), "/ct-banlist.ini");
  114.  
  115.     new iFile = fopen(g_szFile, "rt")
  116.         , szSteamid[35]
  117.     ;
  118.  
  119.     if(iFile)
  120.     {
  121.         new szData[35];
  122.         while(!feof(iFile))
  123.         {
  124.             fgets(iFile, szData, charsmax(szData));
  125.             trim(szData);
  126.  
  127.             if(comment(szData))
  128.                 continue;
  129.  
  130.             parse(szData, szSteamid, charsmax(szSteamid))
  131.             TrieSetCell(g_tBannedSteamids, szSteamid, 1);
  132.         }
  133.  
  134.         fclose(iFile);
  135.  
  136.         log_amx("Ctban list loaded succesfully");
  137.     }
  138.  
  139.     else
  140.         log_amx("^"%s^" not found", g_szFile);
  141.  
  142. }
  143.  
  144.  
  145. public client_authorized(id)
  146. {  
  147.     new szSteamid[35], szName[35];
  148.     get_user_authid(id, szSteamid, charsmax(szSteamid));
  149.     get_user_name(id, szName, charsmax(szName));
  150.  
  151.     if(TrieKeyExists(g_tBannedSteamids, szSteamid))
  152.     {
  153.         if(get_pcvar_num(g_pCvars[ConnectMsg]))
  154.             client_print(0, print_chat, "* %L", LANG_PLAYER, "FOUND", szName);
  155.  
  156.         SetCtBan(id);
  157.     }
  158.  
  159.     else
  160.     {
  161.         if(get_pcvar_num(g_pCvars[ConnectMsg]))
  162.             client_print(0, print_chat, "* %L", LANG_PLAYER, "NOT_FOUND", szName);
  163.  
  164.         ClearCtBan(id);
  165.     }
  166. }
  167.  
  168.  
  169. public Cmd_CtBan(id, iLevel, iCid)
  170. {
  171.     if(!cmd_access(id, iLevel, iCid, 3))
  172.         return PLUGIN_HANDLED;
  173.  
  174.     new szArg[35];
  175.     read_argv(1, szArg, charsmax(szArg));
  176.  
  177.     new iPlayer = cmd_target(id, szArg, CMDTARGET_OBEY_IMMUNITY);
  178.  
  179.     if(iPlayer)
  180.     {
  181.         new szPlayerSteamid[35];
  182.         get_user_authid(iPlayer, szPlayerSteamid, charsmax(szPlayerSteamid));
  183.  
  184.         if(TrieKeyExists(g_tBannedSteamids, szPlayerSteamid))
  185.         {
  186.             console_print(id, "* %L", id, "ALREADY", szPlayerSteamid);
  187.  
  188.             return PLUGIN_HANDLED;
  189.         }
  190.  
  191.         new szReason[64];
  192.         read_argv(2, szReason, charsmax(szReason));
  193.  
  194.         AddCtBan(id, iPlayer, szReason);
  195.     }
  196.  
  197.     return PLUGIN_HANDLED;
  198. }
  199.  
  200.  
  201. public Cmd_CtUnBan(id, iLevel, iCid)
  202. {
  203.     if(!cmd_access(id, iLevel, iCid, 2))
  204.         return PLUGIN_HANDLED;
  205.  
  206.     new szArg[35];
  207.     read_argv(1, szArg, charsmax(szArg));
  208.  
  209.     new iPlayer = cmd_target(id, szArg, CMDTARGET_OBEY_IMMUNITY);
  210.  
  211.     if(iPlayer)
  212.     {
  213.         new szSteamid[34];
  214.         get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  215.  
  216.         if(!TrieKeyExists(g_tBannedSteamids, szSteamid))
  217.         {
  218.             console_print(id, "* %L", id, "NOT", szSteamid);
  219.  
  220.             return PLUGIN_HANDLED;
  221.         }
  222.  
  223.         RemoveCtBan(id, iPlayer);
  224.     }
  225.  
  226.     return PLUGIN_HANDLED;
  227. }
  228.  
  229.  
  230. public Cmd_JoinTeam(id)
  231. {  
  232.     if(CheckCtBan(id))
  233.     {
  234.         new szArg[4];
  235.         read_argv(1, szArg, charsmax(szArg));
  236.  
  237.         new iTeam = str_to_num(szArg) - 1;
  238.         if(iTeam == TEAM_CT || iTeam == TEAM_RANDOM)
  239.         {
  240.             engclient_cmd(id, "chooseteam");
  241.  
  242.             return PLUGIN_HANDLED;
  243.         }
  244.     }
  245.  
  246.     return PLUGIN_CONTINUE;
  247. }
  248.  
  249.  
  250. public CmdEnterReason(id)
  251. {
  252.     new iPlayer = g_iSelectedPlayer[id];
  253.  
  254.     if(!iPlayer)
  255.         return PLUGIN_HANDLED;
  256.  
  257.     new szReason[64];
  258.     read_argv(1, szReason, charsmax(szReason));
  259.  
  260.     if(!szReason[0])
  261.     {
  262.         client_print(id, print_chat, "* %L", id, "ENTER_REASON");
  263.  
  264.         set_user_messagemode(id);
  265.     }
  266.  
  267.     else
  268.     {
  269.         AddCtBan(id, iPlayer, szReason);
  270.         g_iSelectedPlayer[id] = 0;
  271.     }
  272.  
  273.     return PLUGIN_HANDLED;
  274. }
  275.  
  276. public Menu_TeamSelect(id, key)
  277. {
  278.     if(CheckCtBan(id) && key == TEAM_CT || key == TEAM_RANDOM)
  279.     {
  280.         engclient_cmd(id, "chooseteam");
  281.  
  282.         return PLUGIN_HANDLED;
  283.     }
  284.  
  285.     return PLUGIN_CONTINUE;
  286. }
  287.  
  288.  
  289. public Menu_Main(id, iLevel)
  290. {  
  291.     if(!(get_user_flags(id) & iLevel))
  292.         return PLUGIN_HANDLED;
  293.  
  294.     new iPlayers[32], iNum, iPlayer;
  295.     get_players(iPlayers, iNum, "ch");
  296.  
  297.     if(!iNum)
  298.         console_print(id, "%L", id, "NO_PLAYERS");
  299.  
  300.     else
  301.     {
  302.         new szData[64], iMenu;
  303.         formatex(szData, charsmax(szData), "\y%L", id, "MAINMENU_TITLE");
  304.         iMenu = menu_create(szData, "HandleMainMenu");
  305.  
  306.         for(new szSteamid[32], i = 0; i < iNum; i++)
  307.         {
  308.             iPlayer = iPlayers[i];
  309.  
  310.             if(iPlayer == id)
  311.                 continue;
  312.  
  313.             get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  314.             get_user_name(iPlayer, szData, charsmax(szData));
  315.  
  316.             format(szData, charsmax(szData), "%s (%L)", szData, id, TrieKeyExists(g_tBannedSteamids, szSteamid) ? "BANNED" : "NOT_BANNED");
  317.  
  318.             menu_additem(iMenu, szData, szSteamid);
  319.         }
  320.  
  321.         menu_display(id, iMenu);
  322.     }  
  323.  
  324.     return PLUGIN_HANDLED;
  325. }
  326.  
  327.  
  328. public HandleMainMenu(id, iMenu, iItem)
  329. {
  330.     if(iItem != MENU_EXIT)
  331.     {
  332.         new iAccess, szSteamid[32], iCallback;
  333.         menu_item_getinfo(iMenu, iItem, iAccess, szSteamid, charsmax(szSteamid), _, _, iCallback);
  334.  
  335.         new iPlayer = find_player("ch", szSteamid);
  336.  
  337.         if(iPlayer)
  338.         {
  339.             if(!TrieKeyExists(g_tBannedSteamids, szSteamid))
  340.             {
  341.                 g_iSelectedPlayer[id] = iPlayer;
  342.  
  343.                 set_user_messagemode(id);
  344.             }
  345.  
  346.             else
  347.                 RemoveCtBan(id, iPlayer);
  348.         }
  349.  
  350.         else
  351.             client_print(id, print_chat, "* %L", id, "CL_NOT_FOUND");
  352.     }
  353.  
  354.     menu_destroy(iMenu);
  355.  
  356.     return PLUGIN_HANDLED;
  357. }
  358.  
  359.  
  360. AddCtBan(id, iPlayer, const szReason[])
  361. {
  362.     if(cs_get_user_team(id) == CS_TEAM_CT)
  363.     {
  364.         if(get_pcvar_num(g_pCvars[KillBanned]))
  365.             user_kill(iPlayer);
  366.  
  367.         cs_set_user_team(iPlayer, CS_TEAM_T);
  368.     }
  369.  
  370.     new szBuffer[128], szSteamid[34], szPlayerName[32];
  371.     get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  372.     get_user_name(iPlayer, szPlayerName, charsmax(szPlayerName));
  373.  
  374.     formatex(szBuffer, charsmax(szBuffer), "%s %s ^"%s^"", szSteamid, szPlayerName, szReason);
  375.     write_file(g_szFile, szBuffer);
  376.  
  377.     TrieSetCell(g_tBannedSteamids, szSteamid, 1);
  378.     SetCtBan(iPlayer);
  379.  
  380.     new szAdminName[32], szAdminSteamid[34];
  381.     get_user_name(id, szAdminName, charsmax(szAdminName));
  382.     get_user_authid(id, szAdminSteamid, charsmax(szAdminSteamid));
  383.  
  384.     client_print(id, print_chat, "* %L", id, "ADDED", szSteamid);
  385.     show_activity_key("ACTIVITY_ADDED_CASE1", "ACTIVITY_ADDED_CASE2", szAdminName, szPlayerName);
  386.     log_amx("%L", LANG_SERVER, "LOG_ADDED", szAdminName, szAdminSteamid, szPlayerName, szSteamid);
  387. }
  388.  
  389.  
  390. RemoveCtBan(id, iPlayer)
  391. {  
  392.     new szData[128], Line;
  393.     new iFile = fopen(g_szFile, "rt");
  394.  
  395.     if(!iFile)
  396.         return;
  397.  
  398.     new szSteamid[34], szTempSteamid[34];
  399.     get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  400.  
  401.     while(!feof(iFile))
  402.     {
  403.         fgets(iFile, szData, charsmax(szData));
  404.         trim(szData);
  405.  
  406.         Line++;
  407.  
  408.         if(comment(szData))
  409.             continue;
  410.  
  411.         parse(szData, szTempSteamid, charsmax(szTempSteamid));
  412.  
  413.         if(equali(szSteamid, szTempSteamid))
  414.         {  
  415.             format(szData, charsmax(szData), "; %s", szData);
  416.             write_file(g_szFile, szData, Line - 1);
  417.  
  418.             break;
  419.         }
  420.     }
  421.  
  422.  
  423.     TrieDeleteKey(g_tBannedSteamids, szSteamid);
  424.     ClearCtBan(id);
  425.  
  426.     new szAdminName[32], szPlayerName[32], szAdminSteamid[32];
  427.     get_user_name(id, szAdminName, charsmax(szAdminName));
  428.     get_user_name(iPlayer, szPlayerName, charsmax(szPlayerName));
  429.     get_user_authid(id, szAdminSteamid, charsmax(szAdminSteamid));
  430.  
  431.     console_print(id, "* %L", id, "REMOVED", szSteamid);
  432.     show_activity_key("ACTIVITY_REMOVED_CASE1", "ACTIVITY_REMOVED_CASE2", szAdminName, szPlayerName);
  433.     log_amx("%L", LANG_SERVER, "LOG_REMOVED", szAdminName, szAdminSteamid, szPlayerName, szSteamid);
  434. }
  435.  
  436.  
  437. bool: comment(const szData[])
  438.     return (!szData[0] || szData[0] == ';' || (szData[0] == '/' && szData[1] == '/')) ? true : false;


Lang :

  1. [hu]
  2. FOUND = %s csatlakozott, és megtalálták CT bann listán!
  3. NOT_FOUND = %s csatlakozott, és nem találták meg CT bann listán!
  4. ADDED = SteamID ^"%s^" hozzáadvan bannlistához.
  5. ALREADY = SteamID ^"%s^" már létezik a bannlistán.
  6. NOT = SteamID ^"%s^" nem létezik bannlistán.
  7. REMOVED = SteamID ^"%s^" lekerült a bannlistáról.
  8. CANT = Nem tudsz csatlakozni CT csapatba, mert kitiltottak! Ezért átkerültél T csapatba.
  9. LOG_ADDED = %s <%s> bannolta játékost %s a CT csapathoz.
  10. LOG_REMOVED = %s <%s> eltávolította játékost %s bannlistáról.
  11. ACTIVITY_ADDED_CASE1 = ADMIN bannolta játékost %s Ct csapatból.
  12. ACTIVITY_ADDED_CASE2 = ADMIN %s bannolta játékost %s Ct csapatból
  13. ACTIVITY_REMOVED_CASE1 = ADMIN elválította játékost %s CT bannlistáról.
  14. ACTIVITY_REMOVED_CASE2 = ADMIN %s eltávolította játékost %s CT bannlistáról.
  15. MAINMENU_TITLE = CT BannerMenu
  16. BANNED = Bannolás
  17. NOT_BANNED = Nem bannolás

_________________
Nem szégyen megköszönni :)

'The dictator is coming' :D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Lang szinezés
HozzászólásElküldve: 2016.03.08. 17:23 
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
Pl:

  1. client_print(0, print_chat, "* %L", LANG_PLAYER, "FOUND", szName);
  2. ->
  3. print_color(0, "* %L", LANG_PLAYER, "FOUND", szName);
  4.  
  5. // ezt a plugin végére
  6. stock print_color(const id, const input[], any:...)
  7. {
  8.         new count = 1, players[32]
  9.         static msg[191]
  10.         vformat(msg, 190, input, 3)
  11.  
  12.         replace_all(msg, 190, "!g", "^4")
  13.         replace_all(msg, 190, "!y", "^1")
  14.         replace_all(msg, 190, "!t", "^3")    
  15.  
  16.         if (id) players[0] = id; else get_players(players, count, "ch")
  17.         {
  18.                 for (new i = 0; i < count; i++)
  19.                 {
  20.                         if (is_user_connected(players[i]))
  21.                         {
  22.                                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  23.                                 write_byte(players[i])
  24.                                 write_string(msg)
  25.                                 message_end()
  26.                         }
  27.                 }
  28.         }
  29.         return PLUGIN_HANDLED
  30. }


Kód:
FOUND = !g%s !tcsatlakozott, és megtalálták CT bann listán!


!g zöld
!t csapat szín
!y sárga (chat színe)

_________________
Kép

Ők köszönték meg theglorious nek ezt a hozzászólást: Charlie224 (2016.03.09. 07:28)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Lang szinezés
HozzászólásElküldve: 2016.03.20. 12:41 
Offline
Senior Tag
Avatar

Csatlakozott: 2013.11.12. 16:39
Hozzászólások: 258
Megköszönt másnak: 87 alkalommal
Megköszönték neki: 2 alkalommal
ennél a pluginnál nlam valamiért nem működik , valaki segítene bele írni ?

_________________
Nem szégyen megköszönni :)

'The dictator is coming' :D


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


Ki van itt

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