hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 15:10



Jelenlévő felhasználók

Jelenleg 525 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 524 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: ColorChatbe írás
HozzászólásElküldve: 2016.04.04. 20:40 
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 ! Ezt valaki megtudná írni nekem , hogy ColorChatbe legyen a plugin , mert hiába próbálkoztam , nem nagyon jön össze sajnos

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>
  5.  
  6. #pragma semicolon 1
  7. #define VERSION         "2.3"
  8.  
  9. #define SetCtBan(%1)      (g_iBanned |= (1<<(%1&31)))
  10. #define ClearCtBan(%1)    (g_iBanned &= ~(1 <<(%1&31)))
  11. #define CheckCtBan(%1)    (g_iBanned & (1<<(%1&31)))
  12.  
  13. #define set_user_messagemode(%1)    (client_cmd(%1,"messagemode %s", g_szReasonMessage))
  14.  
  15. #define TEAMMENU_ID     5
  16.  
  17. #define TEAM_CT     1
  18. #define TEAM_RANDOM 4
  19.  
  20. new const g_szReasonMessage[] = "Reason_for_ct-ban";
  21.  
  22.  
  23. enum Cvars
  24. {
  25.     KillBanned
  26.     , ConnectMsg
  27. };
  28.  
  29.  
  30. new Trie: g_tBannedSteamids
  31.     , g_iBanned
  32.     , g_iSelectedPlayer[33]
  33.     , g_szFile[64]
  34.     , g_pCvars[Cvars]
  35. ;
  36.  
  37.  
  38. public plugin_init()
  39. {
  40.     register_plugin("Ct Banner", VERSION, "Drekes");
  41.  
  42.     register_dictionary("ctbanner.txt");
  43.     register_dictionary("common.txt");
  44.  
  45.     register_concmd("amx_addctban", "Cmd_CtBan", ADMIN_BAN, "<jatekos> <indok> ^"CT jatekos bannolasa^"");
  46.     register_concmd("amx_removectban", "Cmd_CtUnBan", ADMIN_BAN, "<jatekos> ^"CT jatekos unbannolasa^"");
  47.  
  48.     register_clcmd("amx_ctbanmenu", "Menu_Main", ADMIN_BAN, "CT BanMenu megnyitasa");
  49.     register_clcmd("jointeam", "Cmd_JoinTeam");
  50.     register_clcmd(g_szReasonMessage, "CmdEnterReason");
  51.  
  52.     register_menucmd(register_menuid("Team_Select", 1), (1<<0)|(1<<1)|(1<<4)|(1<<5), "Menu_TeamSelect");
  53.  
  54.     register_cvar("ctban_version", VERSION, FCVAR_SPONLY | FCVAR_SERVER);
  55.  
  56.     new const szCvars[Cvars][][] =
  57.     {
  58.         { "ctban_kill", "1" },
  59.         { "ctban_connect_msg", "1" }
  60.     };
  61.  
  62.     for(new Cvars: i = Cvars: 0; i < Cvars; i++)
  63.         g_pCvars[i] = register_cvar(szCvars[i][0], szCvars[i][1]);
  64.  
  65.  
  66.     g_tBannedSteamids = TrieCreate();
  67.  
  68.     if(g_tBannedSteamids == Invalid_Trie)
  69.         set_fail_state("Nem sikerult letrehozni. Frissits AMXX-t!");
  70.  
  71.  
  72.     formatex(g_szFile[get_datadir(g_szFile, charsmax(g_szFile))], charsmax(g_szFile), "/ct-banlist.ini");
  73.  
  74.     new iFile = fopen(g_szFile, "rt")
  75.         , szSteamid[35]
  76.     ;
  77.  
  78.     if(iFile)
  79.     {
  80.         new szData[35];
  81.         while(!feof(iFile))
  82.         {
  83.             fgets(iFile, szData, charsmax(szData));
  84.             trim(szData);
  85.  
  86.             if(comment(szData))
  87.                 continue;
  88.  
  89.             parse(szData, szSteamid, charsmax(szSteamid))
  90.             TrieSetCell(g_tBannedSteamids, szSteamid, 1);
  91.         }
  92.  
  93.         fclose(iFile);
  94.  
  95.         log_amx("Ctban list loaded succesfully");
  96.     }
  97.  
  98.     else
  99.         log_amx("^"%s^" not found", g_szFile);
  100.  
  101. }
  102.  
  103.  
  104. public client_authorized(id)
  105. {  
  106.     new szSteamid[35], szName[35];
  107.     get_user_authid(id, szSteamid, charsmax(szSteamid));
  108.     get_user_name(id, szName, charsmax(szName));
  109.  
  110.     if(TrieKeyExists(g_tBannedSteamids, szSteamid))
  111.     {
  112.         if(get_pcvar_num(g_pCvars[ConnectMsg]))
  113.             client_print(0, print_chat, "* %L", LANG_PLAYER, "FOUND", szName);
  114.  
  115.         SetCtBan(id);
  116.     }
  117.  
  118.     else
  119.     {
  120.         if(get_pcvar_num(g_pCvars[ConnectMsg]))
  121.             client_print(0, print_chat, "* %L", LANG_PLAYER, "NOT_FOUND", szName);
  122.  
  123.         ClearCtBan(id);
  124.     }
  125. }
  126.  
  127.  
  128. public Cmd_CtBan(id, iLevel, iCid)
  129. {
  130.     if(!cmd_access(id, iLevel, iCid, 3))
  131.         return PLUGIN_HANDLED;
  132.  
  133.     new szArg[35];
  134.     read_argv(1, szArg, charsmax(szArg));
  135.  
  136.     new iPlayer = cmd_target(id, szArg, CMDTARGET_OBEY_IMMUNITY);
  137.  
  138.     if(iPlayer)
  139.     {
  140.         new szPlayerSteamid[35];
  141.         get_user_authid(iPlayer, szPlayerSteamid, charsmax(szPlayerSteamid));
  142.  
  143.         if(TrieKeyExists(g_tBannedSteamids, szPlayerSteamid))
  144.         {
  145.             console_print(id, "* %L", id, "ALREADY", szPlayerSteamid);
  146.  
  147.             return PLUGIN_HANDLED;
  148.         }
  149.  
  150.         new szReason[64];
  151.         read_argv(2, szReason, charsmax(szReason));
  152.  
  153.         AddCtBan(id, iPlayer, szReason);
  154.     }
  155.  
  156.     return PLUGIN_HANDLED;
  157. }
  158.  
  159.  
  160. public Cmd_CtUnBan(id, iLevel, iCid)
  161. {
  162.     if(!cmd_access(id, iLevel, iCid, 2))
  163.         return PLUGIN_HANDLED;
  164.  
  165.     new szArg[35];
  166.     read_argv(1, szArg, charsmax(szArg));
  167.  
  168.     new iPlayer = cmd_target(id, szArg, CMDTARGET_OBEY_IMMUNITY);
  169.  
  170.     if(iPlayer)
  171.     {
  172.         new szSteamid[34];
  173.         get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  174.  
  175.         if(!TrieKeyExists(g_tBannedSteamids, szSteamid))
  176.         {
  177.             console_print(id, "* %L", id, "NOT", szSteamid);
  178.  
  179.             return PLUGIN_HANDLED;
  180.         }
  181.  
  182.         RemoveCtBan(id, iPlayer);
  183.     }
  184.  
  185.     return PLUGIN_HANDLED;
  186. }
  187.  
  188.  
  189. public Cmd_JoinTeam(id)
  190. {  
  191.     if(CheckCtBan(id))
  192.     {
  193.         new szArg[4];
  194.         read_argv(1, szArg, charsmax(szArg));
  195.  
  196.         new iTeam = str_to_num(szArg) - 1;
  197.         if(iTeam == TEAM_CT || iTeam == TEAM_RANDOM)
  198.         {
  199.             engclient_cmd(id, "chooseteam");
  200.  
  201.             return PLUGIN_HANDLED;
  202.         }
  203.     }
  204.  
  205.     return PLUGIN_CONTINUE;
  206. }
  207.  
  208.  
  209. public CmdEnterReason(id)
  210. {
  211.     new iPlayer = g_iSelectedPlayer[id];
  212.  
  213.     if(!iPlayer)
  214.         return PLUGIN_HANDLED;
  215.  
  216.     new szReason[64];
  217.     read_argv(1, szReason, charsmax(szReason));
  218.  
  219.     if(!szReason[0])
  220.     {
  221.         client_print(id, print_chat, "* %L", id, "ENTER_REASON");
  222.  
  223.         set_user_messagemode(id);
  224.     }
  225.  
  226.     else
  227.     {
  228.         AddCtBan(id, iPlayer, szReason);
  229.         g_iSelectedPlayer[id] = 0;
  230.     }
  231.  
  232.     return PLUGIN_HANDLED;
  233. }
  234.  
  235. public Menu_TeamSelect(id, key)
  236. {
  237.     if(CheckCtBan(id) && key == TEAM_CT || key == TEAM_RANDOM)
  238.     {
  239.         engclient_cmd(id, "chooseteam");
  240.  
  241.         return PLUGIN_HANDLED;
  242.     }
  243.  
  244.     return PLUGIN_CONTINUE;
  245. }
  246.  
  247.  
  248. public Menu_Main(id, iLevel)
  249. {  
  250.     if(!(get_user_flags(id) & iLevel))
  251.         return PLUGIN_HANDLED;
  252.  
  253.     new iPlayers[32], iNum, iPlayer;
  254.     get_players(iPlayers, iNum, "ch");
  255.  
  256.     if(!iNum)
  257.         console_print(id, "%L", id, "NO_PLAYERS");
  258.  
  259.     else
  260.     {
  261.         new szData[64], iMenu;
  262.         formatex(szData, charsmax(szData), "\y%L", id, "MAINMENU_TITLE");
  263.         iMenu = menu_create(szData, "HandleMainMenu");
  264.  
  265.         for(new szSteamid[32], i = 0; i < iNum; i++)
  266.         {
  267.             iPlayer = iPlayers[i];
  268.  
  269.             if(iPlayer == id)
  270.                 continue;
  271.  
  272.             get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  273.             get_user_name(iPlayer, szData, charsmax(szData));
  274.  
  275.             format(szData, charsmax(szData), "%s (%L)", szData, id, TrieKeyExists(g_tBannedSteamids, szSteamid) ? "BANNED" : "NOT_BANNED");
  276.  
  277.             menu_additem(iMenu, szData, szSteamid);
  278.         }
  279.  
  280.         menu_display(id, iMenu);
  281.     }  
  282.  
  283.     return PLUGIN_HANDLED;
  284. }
  285.  
  286.  
  287. public HandleMainMenu(id, iMenu, iItem)
  288. {
  289.     if(iItem != MENU_EXIT)
  290.     {
  291.         new iAccess, szSteamid[32], iCallback;
  292.         menu_item_getinfo(iMenu, iItem, iAccess, szSteamid, charsmax(szSteamid), _, _, iCallback);
  293.  
  294.         new iPlayer = find_player("ch", szSteamid);
  295.  
  296.         if(iPlayer)
  297.         {
  298.             if(!TrieKeyExists(g_tBannedSteamids, szSteamid))
  299.             {
  300.                 g_iSelectedPlayer[id] = iPlayer;
  301.  
  302.                 set_user_messagemode(id);
  303.             }
  304.  
  305.             else
  306.                 RemoveCtBan(id, iPlayer);
  307.         }
  308.  
  309.         else
  310.             client_print(id, print_chat, "* %L", id, "CL_NOT_FOUND");
  311.     }
  312.  
  313.     menu_destroy(iMenu);
  314.  
  315.     return PLUGIN_HANDLED;
  316. }
  317.  
  318.  
  319. AddCtBan(id, iPlayer, const szReason[])
  320. {
  321.     if(cs_get_user_team(id) == CS_TEAM_CT)
  322.     {
  323.         if(get_pcvar_num(g_pCvars[KillBanned]))
  324.             user_kill(iPlayer);
  325.  
  326.         cs_set_user_team(iPlayer, CS_TEAM_T);
  327.     }
  328.  
  329.     new szBuffer[128], szSteamid[34], szPlayerName[32];
  330.     get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  331.     get_user_name(iPlayer, szPlayerName, charsmax(szPlayerName));
  332.  
  333.     formatex(szBuffer, charsmax(szBuffer), "%s %s ^"%s^"", szSteamid, szPlayerName, szReason);
  334.     write_file(g_szFile, szBuffer);
  335.  
  336.     TrieSetCell(g_tBannedSteamids, szSteamid, 1);
  337.     SetCtBan(iPlayer);
  338.  
  339.     new szAdminName[32], szAdminSteamid[34];
  340.     get_user_name(id, szAdminName, charsmax(szAdminName));
  341.     get_user_authid(id, szAdminSteamid, charsmax(szAdminSteamid));
  342.  
  343.     client_print(id, print_chat, "* %L", id, "ADDED", szSteamid);
  344.     show_activity_key("ACTIVITY_ADDED_CASE1", "ACTIVITY_ADDED_CASE2", szAdminName, szPlayerName);
  345.     log_amx("%L", LANG_SERVER, "LOG_ADDED", szAdminName, szAdminSteamid, szPlayerName, szSteamid);
  346. }
  347.  
  348.  
  349. RemoveCtBan(id, iPlayer)
  350. {  
  351.     new szData[128], Line;
  352.     new iFile = fopen(g_szFile, "rt");
  353.  
  354.     if(!iFile)
  355.         return;
  356.  
  357.     new szSteamid[34], szTempSteamid[34];
  358.     get_user_authid(iPlayer, szSteamid, charsmax(szSteamid));
  359.  
  360.     while(!feof(iFile))
  361.     {
  362.         fgets(iFile, szData, charsmax(szData));
  363.         trim(szData);
  364.  
  365.         Line++;
  366.  
  367.         if(comment(szData))
  368.             continue;
  369.  
  370.         parse(szData, szTempSteamid, charsmax(szTempSteamid));
  371.  
  372.         if(equali(szSteamid, szTempSteamid))
  373.         {  
  374.             format(szData, charsmax(szData), "; %s", szData);
  375.             write_file(g_szFile, szData, Line - 1);
  376.  
  377.             break;
  378.         }
  379.     }
  380.  
  381.  
  382.     TrieDeleteKey(g_tBannedSteamids, szSteamid);
  383.     ClearCtBan(id);
  384.  
  385.     new szAdminName[32], szPlayerName[32], szAdminSteamid[32];
  386.     get_user_name(id, szAdminName, charsmax(szAdminName));
  387.     get_user_name(iPlayer, szPlayerName, charsmax(szPlayerName));
  388.     get_user_authid(id, szAdminSteamid, charsmax(szAdminSteamid));
  389.  
  390.     console_print(id, "* %L", id, "REMOVED", szSteamid);
  391.     show_activity_key("ACTIVITY_REMOVED_CASE1", "ACTIVITY_REMOVED_CASE2", szAdminName, szPlayerName);
  392.     log_amx("%L", LANG_SERVER, "LOG_REMOVED", szAdminName, szAdminSteamid, szPlayerName, szSteamid);
  393. }
  394.  
  395.  
  396. bool: comment(const szData[])
  397.     return (!szData[0] || szData[0] == ';' || (szData[0] == '/' && szData[1] == '/')) ? true : false;


Langja :

  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ások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 1 hozzászólás ] 


Ki van itt

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