hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.24. 22:38



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: 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ő


Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 1 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve: 2016.07.11. 22:33 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2015.07.14. 14:30
Hozzászólások: 380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Ebből a pluginból kéne kiszedni a csapat prefixeket tehát Admin meg ezeket írja a nevek előtt,de azt ne hogy T meg CT se azt hogy Halott se azt hogy Spec se semmit cska az admin prefixek

  1. HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  2. #include <amxmodx>
  3.  
  4. /*  Ami előtt // van az le van tiltva, ami előtt nincs, az aktív. Itt tudsz mindent módosítani. */
  5.  
  6. #define PREFIXEK                // Alap prefixek engedélyezése.
  7. #if defined PREFIXEK
  8.     //#define EGYEDI_PREFIXEK       // Egyedi prefixek engedélyezése "addons/amxmodx/configs/egyedi_prefixek.ini"
  9. #endif
  10. //#define STEAM_PREFIX              // Steam prefix engedélyezése.
  11. #define ZOLD_IRAS           // Zöld írás az Adminoknak és a VIP-nek.
  12. #define TULAJ_JOG   ADMIN_RCON  // Tulaj jog a Tulaj prefixhez. (alap: "l")
  13. #define ADMIN_JOG       ADMIN_BAN   // Admin jog az Admin prefixhez. (alap: "d")
  14. #define VIP_JOG     ADMIN_LEVEL_H   // VIP jog a VIP prefixhez. (alap: "t")
  15. //#define ANTI_FLOOD            // Anti-flood bekapcsolása (ki kell törölni a plugins.ini-ből az alap "antiflood.amxx"-et.)
  16. #define IDOKOZ      0.75        // Flood időköz
  17. #define ADMIN_LAT           // Az Admin látja az élő és a halott, és a két csapat írását egyaránt.
  18. //#define ALAP_CHAT     // Élő nem látja a halott írását, kivéve az Admin,ha az ADMIN_LAT aktív. (alap: mindenki látja a halottat is.)
  19.  
  20. #if defined STEAM_PREFIX
  21. new bool:steames[33];
  22. #endif
  23. #if defined EGYEDI_PREFIXEK
  24. enum _:ADATOK
  25. {
  26.     TIPUS[2],
  27.     ELLENORZES[32],
  28.     PREFIX[64]
  29. };
  30. new Array:adat, jatekosadat[ADATOK];
  31. new prefix[33][64];
  32. #endif
  33.  
  34. #define GetBit(%1,%2)       (%1 & (1 << (%2 & 31)))
  35. #define SetBit(%1,%2)       %1 |= (1 << (%2 & 31))
  36. #define ResetBit(%1,%2)     %1 &= ~(1 << (%2 & 31))
  37. #if defined ADMIN_LAT
  38. new bitadmin;
  39. #endif
  40. new bitelo;
  41.  
  42. public plugin_init()
  43. {
  44.     #define AUTHOR "neygomon, mforce"
  45.     register_plugin("Lite Chat", "1.0", AUTHOR);
  46.     register_cvar("lite_chat", AUTHOR, FCVAR_SERVER | FCVAR_SPONLY);
  47.  
  48.     register_clcmd("say", "HandlerSay");
  49.     register_clcmd("say_team", "HandlerSayTeam");
  50.  
  51.     register_event("ResetHUD", "eResetHUD", "be");
  52.     register_event("DeathMsg", "eDeathMsg", "a", "1>0");
  53. }
  54.  
  55. #if defined EGYEDI_PREFIXEK
  56. public plugin_cfg()
  57. {
  58.     adat = ArrayCreate(ADATOK);
  59.  
  60.     new betolt[256], fp = fopen("addons/amxmodx/configs/egyedi_prefixek.ini", "rt");
  61.     if(!fp) return set_fail_state("A fajlt ^"addons/amxmodx/configs/egyedi_prefixek.ini^" nem talaltuk");
  62.  
  63.     while(!feof(fp))
  64.     {
  65.         fgets(fp, betolt, charsmax(betolt));
  66.         if(betolt[0] && betolt[0] != ';' && parse(betolt, jatekosadat[TIPUS], charsmax(jatekosadat[TIPUS]), jatekosadat[ELLENORZES], charsmax(jatekosadat[ELLENORZES]), jatekosadat[PREFIX], charsmax(jatekosadat[PREFIX])))
  67.             ArrayPushArray(adat, jatekosadat);
  68.     }
  69.     return fclose(fp);
  70. }
  71. #endif
  72. public client_putinserver(id)
  73. {
  74. #if defined EGYEDI_PREFIXEK
  75.     kereses(id);
  76. #endif 
  77. #if defined STEAM_PREFIX
  78.     steames[id] = is_user_steam(id) ? true : false;
  79. #endif
  80. #if defined ADMIN_LAT
  81.     if(get_user_flags(id) & ADMIN_CHAT) SetBit(bitadmin, id);
  82.     else ResetBit(bitadmin, id);
  83. #endif
  84. }
  85.  
  86. public client_disconnect(id)    ResetBit(bitelo, id);
  87. public eResetHUD(id)        SetBit(bitelo, id);
  88. public eDeathMsg()      ResetBit(bitelo, read_data(2));
  89.  
  90. public HandlerSay(id) return uzenetformazas(id, false);
  91. public HandlerSayTeam(id) return uzenetformazas(id, true);
  92.  
  93. uzenetformazas(id, bool:csapat)
  94. {
  95. #define MAX_BIT 180
  96.     static uzenet[MAX_BIT], stringkonvertalas[charsmax(uzenet) * 2 + 1];
  97.     read_args(uzenet, charsmax(uzenet));
  98.     remove_quotes(uzenet);
  99.  
  100.     if(uzenet[0] == EOS || uzenet[0] == '/' || equal(uzenet, " "))
  101.         return PLUGIN_HANDLED_MAIN;
  102. #if defined ANTI_FLOOD
  103.     static Float:floodido[33], Float:jatekido, figyelmeztetes[33];
  104.  
  105.     if(floodido[id] > (jatekido = get_gametime()))
  106.     {
  107.         if(++figyelmeztetes[id] > 2)
  108.         {          
  109.             client_print(id, print_chat, "NE FLOODOLJ!");
  110.             floodido[id] = jatekido + IDOKOZ + 3.0;
  111.             return PLUGIN_HANDLED;
  112.         }
  113.     }
  114.     else if(figyelmeztetes[id]) figyelmeztetes[id]--;
  115.     floodido[id] = jatekido + IDOKOZ;
  116. #endif
  117.     static fullos, tagek[MAX_BIT], team_lekeres, sTeam[16];
  118.     team_lekeres  = get_user_team(id, sTeam, charsmax(sTeam));
  119.  
  120.     switch(team_lekeres)
  121.     {
  122.         case 1: fullos = formatex(tagek, charsmax(tagek), "%s%s", GetBit(bitelo, id) ? "^1" : "^1*Halott* ", csapat ? "^1[T] " : "");
  123.         case 2: fullos = formatex(tagek, charsmax(tagek), "%s%s", GetBit(bitelo, id) ? "^1" : "^1*Halott* ", csapat ? "^1[CT] " : "");
  124.         default:fullos = formatex(tagek, charsmax(tagek), "^1*Spec* ");
  125.     }
  126. #if defined ZOLD_IRAS || (defined PREFIXEK && !defined EGYEDI_PREFIXEK)
  127.     static hozzaferes; hozzaferes = jogellenorzes(id);
  128. #endif 
  129. #if defined STEAM_PREFIX
  130.     if(steames[id])
  131.         fullos += formatex(tagek[fullos], charsmax(tagek) - fullos, "^1[^4Steam^1] ");
  132. #endif
  133. #if defined PREFIXEK   
  134.     #if defined EGYEDI_PREFIXEK
  135.     if(prefix[id][0])
  136.     {
  137.         replace_all(prefix[id], charsmax(prefix[]), "!n", "^1");
  138.         replace_all(prefix[id], charsmax(prefix[]), "!t", "^3");
  139.         replace_all(prefix[id], charsmax(prefix[]), "!g", "^4");
  140.         fullos += formatex(tagek[fullos], charsmax(tagek) - fullos, "%s ", prefix[id]);
  141.     }  
  142.     #else
  143.     static const adminprefixek[][] = { "", "^4[Tulaj] ", "^4[Admin] ", "^4[VIP] " };
  144.     fullos += formatex(tagek[fullos], charsmax(tagek) - fullos, "%s", adminprefixek[hozzaferes]);
  145.     #endif
  146. #endif 
  147. #if defined ZOLD_IRAS
  148.     switch(hozzaferes)
  149.     {
  150.         case 0: fullos += formatex(tagek[fullos], charsmax(tagek) - fullos, "^3%%s1^1 :  %%s2");
  151.         default:fullos += formatex(tagek[fullos], charsmax(tagek) - fullos, "^3%%s1^1 :  ^4%%s2");
  152.     }
  153. #else
  154.     fullos += formatex(tagek[fullos], charsmax(tagek) - fullos, "^3%%s1^1 :  %%s2");
  155. #endif
  156.     stringkonvertalas = uzenet;
  157.     replace_all( stringkonvertalas, charsmax( stringkonvertalas ), "", " " );
  158.     replace_all( stringkonvertalas, charsmax( stringkonvertalas ), "", " " );
  159.  
  160.     static bitlimit; bitlimit = MAX_BIT;
  161.     while(fullos + strlen(stringkonvertalas) > MAX_BIT) stringkonvertalas[bitlimit -= 10] = 0;
  162.  
  163.     static players[32], pcount; get_players(players, pcount, "c");
  164.     switch(csapat)
  165.     {
  166.         case true:
  167.         {
  168.             for(new i; i < pcount; i++)
  169.             {
  170. #if defined ADMIN_LAT              
  171.                 if(GetBit(bitadmin, players[i]) || (GetBit(bitelo, id) == GetBit(bitelo, players[i]) && team_lekeres == get_user_team(players[i])))
  172. #else
  173.                 if(GetBit(bitelo, id) == GetBit(bitelo, players[i]) && team_lekeres == get_user_team(players[i]))
  174. #endif
  175.                     PrintChat(players[i], id, tagek, stringkonvertalas);
  176.             }                              
  177.         }
  178.         case false:
  179.         {  
  180.             for(new i; i < pcount; i++)
  181. #if defined ALAP_CHAT          
  182.     #if defined ADMIN_LAT          
  183.                 if(GetBit(bitadmin, players[i]) || GetBit(bitelo, id) == GetBit(bitelo, players[i]))
  184.     #else
  185.                 if(GetBit(bitelo, id) == GetBit(bitelo, players[i]))
  186.     #endif             
  187.                     PrintChat(players[i], id, tagek, stringkonvertalas);
  188. #else
  189.                 PrintChat(players[i], id, tagek, stringkonvertalas);
  190. #endif 
  191.         }
  192.     }
  193.     static sAuthId[25], sName[32];
  194.     get_user_name(id, sName, charsmax(sName));
  195.     get_user_authid(id, sAuthId, charsmax(sAuthId));
  196.     log_message("^"%s<%d><%s><%s>^" %s ^"%s^"", sName, get_user_userid(id), sAuthId, sTeam, csapat ? "say_team" : "say" , stringkonvertalas);  
  197.     return PLUGIN_HANDLED;
  198. }
  199.  
  200. PrintChat(iReceiver, iSender, const tagek[], const uzenet[])
  201. {
  202.     message_begin(MSG_ONE, 76, .player=iReceiver);
  203.     write_byte(iSender);
  204.     write_string(tagek);
  205.     write_string("");
  206.     write_string(uzenet);
  207.     message_end();
  208. }
  209.  
  210. stock kereses(const id)
  211. {
  212.     for(new i; i < ArraySize(adat); i++)
  213.     {
  214.         ArrayGetArray(adat, i, jatekosadat);
  215.         switch(jatekosadat[TIPUS])
  216.         {
  217.             case 'j':
  218.             {
  219.                 if(get_user_flags(id) & read_flags(jatekosadat[ELLENORZES]))
  220.                     return copy(prefix[id], charsmax(prefix[]), jatekosadat[PREFIX]);
  221.             }  
  222.             case 'i':
  223.             {
  224.                 static sIP[16]; get_user_ip(id, sIP, charsmax(sIP), 1);
  225.                 if(!strcmp(jatekosadat[ELLENORZES], sIP))
  226.                     return copy(prefix[id], charsmax(prefix[]), jatekosadat[PREFIX]);
  227.             }      
  228.             case 's':
  229.             {
  230.                 static sAuthid[25]; get_user_authid(id, sAuthid, charsmax(sAuthid));
  231.                 if(!strcmp(jatekosadat[ELLENORZES], sAuthid))
  232.                     return copy(prefix[id], charsmax(prefix[]), jatekosadat[PREFIX]);
  233.             }      
  234.         }
  235.     }
  236.     return prefix[id][0] = 0;
  237. }
  238.  
  239. stock jogellenorzes(id)
  240. {
  241.     static flagek; flagek = get_user_flags(id);
  242.     if(flagek & TULAJ_JOG)  return 1;
  243.     else if(flagek & ADMIN_JOG) return 2;
  244.     else if(flagek & VIP_JOG)   return 3;
  245.     return 0;
  246. }
  247.  
  248. stock bool:is_user_steam(id)
  249. {
  250.     static dp_pointer;
  251.     if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
  252.     {
  253.         server_cmd("dp_clientinfo %d", id);
  254.         server_exec();
  255.         return (get_pcvar_num(dp_pointer) == 2) ? true : false;
  256.     }
  257.     return false;
  258. }


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése:  Rendezés  
Lezárt fórum  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 1 hozzászólás ] 


Ki van itt

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


Nem nyithatsz témákat ebben a fórumban.
Nem 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