hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.25. 00:46



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: CT kéken ír a T meg pirosan
HozzászólásElküldve: 2022.11.04. 17:38 
Offline
Jómunkásember

Csatlakozott: 2020.06.14. 17:59
Hozzászólások: 368
Megköszönt másnak: 64 alkalommal
Megköszönték neki: 10 alkalommal
Tisztelt Fórum tagok!

hogyan tudom megoldani hogy a tulaj,főadmin,vip admin zölden írjon?

  1. #define MAXPLAYERS 33 // player id-k lesznek
  2.     #define MAXLVL 50 // max szint
  3.     #define MAXRANK 11 // maximum rang
  4.     #pragma semicolon 1 // mindenhova ahova lehet tegyék ; jelet
  5.     #define ChatColor print_team_default // -1 csak szürke a ^3 -2 csak piros, -3 csak kék, print_team_default az alap
  6.     #define Tablename "Hlmodra_tabla"
  7.      
  8.     #define OWNER ADMIN_IMMUNITY // OWnerben taroljuk az immunitas jogot
  9.     #define FOADMIN ADMIN_LEVEL_E //foadminban meg a o jogot
  10.     #define ADMIN ADMIN_MAP // adminban a mapvaltas jogot
  11.     #define VIP ADMIN_LEVEL_H  //vipben meg egy h jogot
  12.      
  13.     //(valamelyik előtt mindenképpen legyen // jel!)
  14.     #define RANK_ON // ha latni akarsz rangokat chatben (tulaj admin vip)
  15.     //#define RANK_OFF // ha nem akarsz latni rangokat chatben (tulaj admin vip)
  16.     //(valamelyik előtt mindenképpen legyen // jel!)
  17.      
  18.     enum _:ePlayer{eXp,eLvl,eRank,eRankCounter,};
  19.     new g_ePlayer[ePlayer][MAXPLAYERS], cvarPrefix, gSyncHud, Handle:g_SqlTuple;
  20.      
  21.     enum _:eRanks{eRankName[64], eRankLvl,};
  22.     new const cRanks[MAXRANK][eRanks] = {
  23.         {"Valaki új", 0}, //rang neve, szint
  24.         {"Kezdő", 10},
  25.         {"Szereti a tejet", 20},
  26.         {"Szereti a cukrot", 30},
  27.         {"Cukros bácsi/néni", 40},
  28.         {"Loli", 50},
  29.         {"Elismert cukros bácsi/néni", 60},
  30.         {"Újféle cukor", 70},
  31.         {"Gyűjtögető", 80},
  32.         {"Gyerekrabló", 90},
  33.         {"Rabszolgatartó", MAXLVL} //bővíteni ? MAXLVLt írd át a max szintre és mindenképpen legalulra kerüljön! | a szinteket ötösével adjad meg ha lehet! mert ha nem elfog csúszni a rang.
  34.     };
  35.     public plugin_init()
  36.     {
  37.         register_plugin("Hlmodra", "valamiverziosiskell?", "szeretjükatejetazbiztos!");
  38.        
  39.         register_clcmd("say /info", "info_p");
  40.         //register_clcmd("say /rs", "statreset_p");
  41.        
  42.         register_event("DeathMsg", "ev_deathmsg", "a");
  43.        
  44.         cvarPrefix = register_cvar("Prefix", "^4[.:*[Night*_*Warrior]*:.]^3 »");
  45.        
  46.         ////////////////////////////////////////
  47.         register_clcmd("say", "sayhook");      //Maradjon alul!
  48.         register_clcmd("say_team", "saythook"); //Maradjon alul!
  49.         ////////////////////////////////////////
  50.        
  51.         gSyncHud = CreateHudSyncObj();
  52.     }
  53.     get_cprefix(){
  54.         new sPrefix[32];
  55.         get_pcvar_string(cvarPrefix, sPrefix, charsmax(sPrefix));
  56.         return sPrefix;
  57.     }
  58.     public info_p(id)
  59.     {
  60.         new Xp, Xp2;
  61.         Xp = 15+g_ePlayer[eLvl][id];
  62.         Xp2 = 15*30+g_ePlayer[eLvl][id]*Xp;
  63.         client_print_color(id, ChatColor, "%s^1 Rangod: %s | Szinted/Xpd: %d/%d | Következő rang: %s", get_cprefix(), cRanks[g_ePlayer[eRank][id]][eRankName],
  64.         g_ePlayer[eXp][id], Xp2, cRanks[g_ePlayer[eRank][id]+1][eRankName]);
  65.     }
  66.     public client_PreThink(id)
  67.         LvlCheck(id);
  68.      
  69.     public LvlCheck(id)
  70.     {
  71.         if(g_ePlayer[eLvl][id] == MAXLVL || g_ePlayer[eRank][id] == MAXRANK)
  72.             return PLUGIN_HANDLED;
  73.        
  74.         new Xp, Xp2, sName[64];
  75.         Xp = 15+g_ePlayer[eLvl][id];
  76.         Xp2 = 15*30+g_ePlayer[eLvl][id]*Xp;
  77.        
  78.         if(g_ePlayer[eXp][id] >= Xp2)
  79.         {
  80.             g_ePlayer[eLvl][id]++;
  81.             g_ePlayer[eXp][id] = 0;
  82.             g_ePlayer[eRankCounter][id]++;
  83.            
  84.             if(g_ePlayer[eRankCounter][id] == 5)
  85.             {
  86.                 g_ePlayer[eRank][id]++;
  87.                 g_ePlayer[eRankCounter][id] = 0;
  88.             }
  89.             get_user_name(id, sName, charsmax(sName));
  90.             client_print_color(0, ChatColor, "^4%s^3 %s^1 szintet lépett, szintje: %d.", get_cprefix(), sName, g_ePlayer[eLvl][id]);
  91.         }
  92.         return PLUGIN_HANDLED;
  93.     }
  94.     public ev_deathmsg()
  95.     {
  96.         new iKiller = read_data(1);
  97.         new iVictim = read_data(2);
  98.         new iHs = read_data(3);
  99.         new iRnd, sName[64];
  100.        
  101.         if(!iKiller || !iVictim || iVictim == iKiller)
  102.             return PLUGIN_HANDLED;
  103.        
  104.         get_user_name(iVictim, sName, charsmax(sName));
  105.        
  106.         if(iHs)
  107.         {
  108.             iRnd = random_num(5, 10);
  109.             g_ePlayer[eXp][iKiller] += iRnd;
  110.             client_print_color(iKiller, ChatColor, "%s^1 Kaptál^3 %d^1 Xp-t^3 %s^1 fejbelövéséért!", get_cprefix(), iRnd, sName);
  111.         }
  112.         else
  113.         {
  114.             iRnd = random_num(1, 5);
  115.             g_ePlayer[eXp][iKiller] += iRnd;
  116.             client_print_color(iKiller, ChatColor, "%s^1 Kaptál^3 %d^1 Xp-t^3 %s^1 megöléséért!", get_cprefix(), iRnd, sName);
  117.         }
  118.         return PLUGIN_HANDLED_MAIN;
  119.     }
  120.     public sayhook(id)
  121.     {
  122.         new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  123.         read_args(sMessage, charsmax(sMessage));
  124.         remove_quotes(sMessage);
  125.        
  126.         if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  127.             return PLUGIN_HANDLED_MAIN;
  128.        
  129.         new iTeam, iColor;
  130.         iTeam = get_user_team(id);
  131.        
  132.         switch(iTeam) //itt lehet elvalasztani hogy ha ctk irnak a tk kéken lássák, és fordítva, ha specek akkor szürkén látják.
  133.         {
  134.             case CS_TEAM_CT: iColor = -3; //kék
  135.                 case CS_TEAM_T: iColor = -2;//piros
  136.                 case CS_TEAM_SPECTATOR: iColor = -1;//szürke
  137.             }
  138.        
  139.         format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  140.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  141.         #if defined RANK_ON
  142.         if(get_user_flags(id) & OWNER)
  143.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Tulajdonos^3]^1");
  144.         else if(get_user_flags(id) & ADMIN)
  145.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4FőAdmin^3]^1");
  146.         else if(get_user_flags(id) & FOADMIN)
  147.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Admin^3]^1");
  148.         else if(get_user_flags(id) & VIP)
  149.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4VIP^3]^1");
  150.         else
  151.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Játékos^3]^1");
  152.        
  153.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Szint: %d^3]", g_ePlayer[eLvl][id]);
  154.         #endif
  155.        
  156.         #if defined RANK_OFF
  157.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Szint: %d^3]", g_ePlayer[eLvl][id]);
  158.         #endif
  159.        
  160.         get_user_name(id, sName, charsmax(sName));
  161.         format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  162.        
  163.         for(new i; i < get_maxplayers(); i++)
  164.         {
  165.             if(!is_user_connected(i))
  166.                 continue;
  167.            
  168.             client_print_color(i, iColor, sMessage);
  169.         }
  170.         return PLUGIN_HANDLED_MAIN;
  171.     }
  172.     public saythook(id)
  173.     {
  174.         new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  175.         read_args(sMessage, charsmax(sMessage));
  176.         remove_quotes(sMessage);
  177.        
  178.         if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  179.             return PLUGIN_HANDLED_MAIN;
  180.        
  181.         new iTeam, sTeam[32], iColor;
  182.         iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  183.        
  184.         switch(iTeam) //itt lehet elvalasztani hogy ha ctk irnak a tk kéken lássák, és fordítva, ha specek akkor szürkén látják!
  185.         {
  186.             case CS_TEAM_CT: {sTeam = "Terrorelhárító"; iColor = -3;} //kék
  187.             case CS_TEAM_T: {sTeam = "Terrorista"; iColor = -2;} //piros
  188.             case CS_TEAM_SPECTATOR: {sTeam = "Nézelődő"; iColor = -1;} //szürke
  189.         }
  190.        
  191.         format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  192.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3(%s)", sTeam);
  193.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  194.        
  195.         #if defined RANK_ON
  196.         if(get_user_flags(id) & OWNER)
  197.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Tulajdonos^3]^1");
  198.         else if(get_user_flags(id) & FOADMIN)
  199.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4FőAdmin^3]^1");
  200.         else if(get_user_flags(id) & ADMIN)
  201.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Admin^3]^1");
  202.         else if(get_user_flags(id) & VIP)
  203.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4VIP^3]^1");
  204.         else
  205.             iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Játékos^3]^1");
  206.        
  207.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Szint: %d^3]^1", g_ePlayer[eLvl][id]);
  208.         #endif
  209.        
  210.         #if defined RANK_OFF
  211.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Szint: %d^3]", g_ePlayer[eLvl][id]);
  212.         #endif
  213.        
  214.         get_user_name(id, sName, charsmax(sName));
  215.         format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  216.        
  217.         for(new i; i < get_maxplayers(); i++)
  218.         {
  219.             if(!is_user_connected(i))
  220.                 continue;
  221.            
  222.             if(cs_get_user_team(id) == CS_TEAM_CT)
  223.                 client_print_color(i, iColor, sMessage);
  224.             else if(cs_get_user_team(id) == CS_TEAM_T)
  225.                 client_print_color(i, iColor, sMessage);
  226.             else
  227.                 client_print_color(i, iColor, sMessage);
  228.         }
  229.         return PLUGIN_HANDLED_MAIN;
  230.     }
  231.     public hudshow_p(id)
  232.     {
  233.         if(!is_user_connected(id))
  234.             return PLUGIN_HANDLED_MAIN;
  235.        
  236.         new sText[256], iLen, idT;
  237.         new Target = pev(id, pev_iuser1) == 4 ? pev(id, pev_iuser2) : id;
  238.         idT = is_user_alive(id) ? id:Target;
  239.        
  240.         new Xp, Xp2;
  241.         Xp = 15+g_ePlayer[eLvl][idT];
  242.         Xp2 = 15*30+g_ePlayer[eLvl][idT]*Xp;
  243.        
  244.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "Szint: [ %d --> %d ]^n", g_ePlayer[eLvl][idT], MAXLVL);
  245.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "Rang: -- %s --^n", cRanks[g_ePlayer[eRank][idT]][eRankName]);
  246.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "XP: [ %d --> %d ]", g_ePlayer[eXp][idT], Xp2);
  247.        
  248.         set_hudmessage(0, 255, 0, -1.0, 0.85, 0, 6.0, 1.0, 0.1, 0.2, -1);
  249.         ShowSyncHudMsg(id, gSyncHud, "%s", sText);
  250.        
  251.         set_task(1.0, "hudshow_p", id);
  252.        
  253.         return PLUGIN_HANDLED;
  254.     }
  255.     public client_authorized(id)
  256.     {
  257.         if(is_user_bot(id))
  258.             return;
  259.        
  260.         set_task(5.0, "hudshow_p", id);
  261.        
  262.         g_ePlayer[eXp][id] = 0;
  263.         g_ePlayer[eLvl][id] = 0;
  264.         g_ePlayer[eRank][id] = 0;
  265.         g_ePlayer[eRankCounter][id] = 0;
  266.        
  267.         SelectDataTable(id);
  268.     }
  269.     public client_disconnected(id)
  270.     {
  271.         if(is_user_bot(id))
  272.             return;
  273.        
  274.         TableUpdate(id);
  275.        
  276.         if(task_exists(id))
  277.             remove_task(id);
  278.     }
  279.     public plugin_cfg()
  280.     {
  281.         //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  282.        
  283.         g_SqlTuple = SQL_MakeDbTuple("maria.srkhost.eu", "", "", "s17878_newszerver");
  284.         CreateTable();
  285.     }
  286.     public CreateTable(){
  287.         new iLen;
  288.         static sQuery[2048];
  289.        
  290.         iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `%s` ", Tablename);
  291.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "( ");
  292.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  293.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`SteamId` varchar(64) NOT NULL,");
  294.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qSzint` int(11) NOT NULL,");
  295.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qXp` int(11) NOT NULL,");
  296.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qRank` int(11) NOT NULL,");
  297.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qRankCounter` int(11) NOT NULL)");
  298.        
  299.         SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery);
  300.     }
  301.     public TableUpdate(id)
  302.     {
  303.         static sQuery[2048];
  304.         new iLen, sSteamID[64];
  305.         get_user_authid(id, sSteamID, charsmax(sSteamID));
  306.        
  307.         iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `%s` SET ", Tablename);
  308.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qSzint = ^"%i^",", g_ePlayer[eLvl][id]);
  309.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qXp = ^"%i^",", g_ePlayer[eXp][id]);
  310.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qRank = ^"%i^",", g_ePlayer[eRank][id]);
  311.        
  312.         iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qRankCounter = ^"%i^" WHERE `SteamId` = ^"%s^";", g_ePlayer[eRankCounter][id], sSteamID);
  313.         SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  314.     }
  315.     public TableCreateThread(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  316.     {
  317.         if(iFailState == TQUERY_CONNECT_FAILED)
  318.             set_fail_state("[Create] Nem lehet csatlakozni az adatbazishoz!");
  319.         else if(iFailState == TQUERY_QUERY_FAILED)
  320.             set_fail_state("[Create] Lekerdezesi hiba");
  321.         if(iErrcode)
  322.             log_amx("[Create] Hiba:**!! %s !!**", sError);
  323.     }
  324.     public TableInsert(id)
  325.     {
  326.         static sQuery[2048], sSteamID[64];
  327.        
  328.         get_user_authid(id, sSteamID, charsmax(sSteamID));
  329.         formatex(sQuery, charsmax(sQuery), "INSERT INTO `%s` (`SteamId`) VALUES (^"%s^");", Tablename, sSteamID);
  330.         SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  331.     }
  332.     public SelectDataTable(id)
  333.     {
  334.         static sQuery[2048];
  335.         new sData[1], sSteamID[64];
  336.         sData[0] = id;
  337.        
  338.         get_user_authid(id, sSteamID, charsmax(sSteamID));
  339.        
  340.         formatex(sQuery, charsmax(sQuery), "SELECT * FROM `%s` WHERE SteamId = ^"%s^";", Tablename, sSteamID);
  341.         SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1);
  342.     }
  343.     public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  344.     {
  345.         if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  346.         {
  347.             log_amx("[Insert] Hiba:**!! %s !!**", sError);
  348.             return;
  349.         }
  350.         else
  351.         {
  352.             new id = sData[0];
  353.            
  354.             if(SQL_NumRows(sQuery) > 0)
  355.             {
  356.                 g_ePlayer[eLvl][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qSzint"));
  357.                 g_ePlayer[eXp][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qXp"));
  358.                 g_ePlayer[eRank][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qRank"));
  359.                 g_ePlayer[eRankCounter][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qRankCounter"));
  360.             }
  361.             else
  362.                 TableInsert(id);
  363.         }
  364.     }
  365.     public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  366.     {
  367.         if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  368.         {
  369.             log_amx("[SetData] Hiba:**!! %s !!**", sError);
  370.             return;
  371.         }
  372.     }
  373. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  374. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs18 \n\\ par }
  375. */


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: CT kéken ír a T meg pirosan
HozzászólásElküldve: 2022.11.04. 17:59 
  1. #if defined RANK_ON
  2.             if(get_user_flags(id) & OWNER)
  3.                 iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Tulajdonos^3]^4");
  4.             else if(get_user_flags(id) & FOADMIN)
  5.                 iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4FőAdmin^3]^4");
  6.             else if(get_user_flags(id) & ADMIN)
  7.                 iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Admin^3]^4");
  8.             else if(get_user_flags(id) & VIP)
  9.                 iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4VIP^3]^4");
  10.             else
  11.                 iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3[^4Játékos^3]^1");



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


Ki van itt

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