hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.07. 05:53



Jelenlévő felhasználók

Jelenleg 236 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 235 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  [ 8 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.12. 21:08 
Offline
Beavatott

Csatlakozott: 2016.09.27. 20:08
Hozzászólások: 66
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 1 alkalommal
Sziasztok.
Valaki ismer vagy tudna ilyen plugint kreálni?

Arra gondoltam, hogy a szerveren eltöltött x idő után rangot kapna a játékos. gondolok ilyenre pl:
100. perc - Kezdő prefixet kapja.
500. perc - Haladó prefix
1000.perc Mester prefix

ez csak egy példa de ilyesmire gondoltam, hogy minél több idő eltöltése után rangot kap.
köszi


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.13. 07:48 
Offline
Senior Tag
Avatar

Csatlakozott: 2017.08.09. 17:01
Hozzászólások: 266
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 72 alkalommal
kornyiktamass írta:
Sziasztok.
Valaki ismer vagy tudna ilyen plugint kreálni?

Arra gondoltam, hogy a szerveren eltöltött x idő után rangot kapna a játékos. gondolok ilyenre pl:
100. perc - Kezdő prefixet kapja.
500. perc - Haladó prefix
1000.perc Mester prefix

ez csak egy példa de ilyesmire gondoltam, hogy minél több idő eltöltése után rangot kap.
köszi


Szeva:

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <sqlx>
  5. #include <cstrike>
  6.  
  7. #pragma semicolon 1
  8. #define MAXPLAYERS 33
  9. #define MAXRANK 5 //maximum rang
  10. #define Tablename "tablaaaaaa" //tabla neve
  11.  
  12. #define OWNER ADMIN_IMMUNITY
  13. #define ADMIN ADMIN_MAP
  14. #define VIP ADMIN_LEVEL_H
  15.  
  16. new const cPrefix[] = "PREFIX";
  17.  
  18. enum _:eRank{eRankNum, eRankName[64], eRankTime,};
  19. new const cRanks[MAXRANK][eRank] ={
  20.     {0, "Újonc", 0},//(rang száma), (rang neve), (rang ideje mpben. [30 perc = 1800mp | 60 perc = 3600mp] ..stb)
  21.     {1, "Valamit tud", 3600},//60perc
  22.     {2, "Kiezte", 7200},//120perc
  23.     {3, "Profi", 14400},//240perc
  24.     {4, "Veterán", 28800},//480perc
  25. };
  26.  
  27. enum _:ePlayer{eTime, eRanks,};
  28. new g_ePlayer[ePlayer][MAXPLAYERS];
  29. new Handle:g_SqlTuple;
  30.  
  31. public plugin_init(){
  32.     register_plugin("TimeRank", "1.0", "asdasd!!");
  33.    
  34.     register_clcmd("say /ji", "time_p");//jatek ido chatre jeleniti meg
  35.     register_clcmd("say /rangom", "rank_p");//rangod
  36.     register_clcmd("say /rangok", "ranks_p");//rangok
  37.    
  38.     register_clcmd("say", "sayhook");
  39.     register_clcmd("say_team", "saythook");
  40.    
  41.     register_forward (FM_PlayerPreThink, "fm_prethink");
  42. }
  43. public ranks_p(id)
  44. {
  45.     new sText[1024], iTimes[4];
  46.     format(sText, charsmax(sText), "\r%s \d| \w Ranglista", cPrefix);
  47.     new iMenu = menu_create(sText, "ranks_p_h");
  48.    
  49.     for(new i = 1; i < sizeof(cRanks); i++)
  50.     {
  51.         iTimes[0] = cRanks[i][eRankTime];
  52.         iTimes[1] = iTimes[0] / 60;
  53.         iTimes[2] = iTimes[1] / 60;
  54.         iTimes[3] = iTimes[2] / 24;
  55.         iTimes[0] = iTimes[0] - iTimes[1] * 60;
  56.         iTimes[1] = iTimes[1] - iTimes[2] * 60;
  57.         iTimes[2] = iTimes[2] - iTimes[3] * 24;
  58.         format(sText, charsmax(sText), "\y%d. \w%s\w -\r %d\w nap\r %d\w óra\r %d\w perc\r %d\w mp", i, cRanks[i][eRankName], iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  59.         menu_addtext2(iMenu, sText);
  60.     }
  61.    
  62.     menu_setprop(iMenu, MPROP_BACKNAME, "\wVissza");
  63.     menu_setprop(iMenu, MPROP_NEXTNAME, "\wKövetkező");
  64.     menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
  65.     menu_display(id, iMenu, 0);
  66. }
  67. public ranks_p_h(id, iMenu, iItem){if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}}
  68. public fm_prethink(id)
  69. {
  70.     if(is_user_connected(id))
  71.         CheckRank_p(id);
  72. }
  73. public CheckRank_p(id)
  74. {
  75.     if(g_ePlayer[eRanks][id] == MAXRANK)
  76.         return FMRES_IGNORED;
  77.    
  78.     new sName[64], iTime;
  79.    
  80.     iTime = g_ePlayer[eTime][id] + get_user_time(id);
  81.     get_user_name(id, sName, charsmax(sName));
  82.    
  83.     if(iTime >= cRanks[g_ePlayer[eRanks][id]+1][eRankTime])
  84.     {
  85.         g_ePlayer[eRanks][id]++;
  86.         client_print_color(id, print_team_default, "^4[%s]^3 %s^4 %s^1 rangba lépett!", cPrefix, sName, cRanks[g_ePlayer[eRanks][id]][eRankName]);
  87.         return FMRES_SUPERCEDE;
  88.     }
  89.     return FMRES_SUPERCEDE;
  90. }
  91. public time_p(id)
  92. {
  93.     new iTimes[4];
  94.     iTimes[0] = g_ePlayer[eTime][id] + get_user_time(id);
  95.     iTimes[1] = iTimes[0] / 60;
  96.     iTimes[2] = iTimes[1] / 60;
  97.     iTimes[3] = iTimes[2] / 24;
  98.     iTimes[0] = iTimes[0] - iTimes[1] * 60;
  99.     iTimes[1] = iTimes[1] - iTimes[2] * 60;
  100.     iTimes[2] = iTimes[2] - iTimes[3] * 24;
  101.    
  102.     client_print_color(id, print_team_default, "^4[%s]^1 A szerveren töltött időd:^3 %d^1 nap,^3 %d^1 óra,^3 %d^1 perc,^3 %d^1 másodperc.", cPrefix, iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  103. }
  104. public rank_p(id)
  105. {
  106.     new sMax[32];
  107.     format(sMax, charsmax(sMax), g_ePlayer[eRanks][id] == MAXRANK ? "Nincs következő rang":"%s", cRanks[g_ePlayer[eRanks][id]+1][eRankName]);
  108.     client_print_color(id, print_team_default, "^4[%s]^1 Rangod:^3 %s^4 |^1 Következő rangod:^3 %s", cPrefix, cRanks[g_ePlayer[eRanks][id]][eRankName], sMax);
  109. }
  110. public sayhook(id)
  111. {
  112.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  113.     read_args(sMessage, charsmax(sMessage));
  114.     remove_quotes(sMessage);
  115.    
  116.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  117.         return PLUGIN_HANDLED;
  118.    
  119.     new iTeam, iColor;
  120.     iTeam = get_user_team(id);
  121.    
  122.     switch(iTeam)
  123.     {
  124.         case CS_TEAM_CT: iColor = -3;
  125.             case CS_TEAM_T: iColor = -2;
  126.             case CS_TEAM_SPECTATOR: iColor = -1;
  127.         }
  128.    
  129.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  130.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  131.     if(get_user_flags(id) & OWNER)
  132.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  133.     else if(get_user_flags(id) & ADMIN)
  134.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  135.     else if(get_user_flags(id) & VIP)
  136.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  137.     else
  138.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  139.    
  140.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  141.    
  142.     get_user_name(id, sName, charsmax(sName));
  143.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  144.    
  145.     for(new i; i < get_maxplayers(); i++)
  146.     {
  147.         if(!is_user_connected(i))
  148.             continue;
  149.        
  150.         client_print_color(i, iColor, sMessage);
  151.     }
  152.     return PLUGIN_HANDLED;
  153. }
  154. public saythook(id)
  155. {
  156.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  157.     read_args(sMessage, charsmax(sMessage));
  158.     remove_quotes(sMessage);
  159.    
  160.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  161.         return PLUGIN_HANDLED;
  162.    
  163.     new iTeam, sTeam[32], iColor;
  164.     iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  165.    
  166.     switch(iTeam)
  167.     {
  168.         case CS_TEAM_CT: {sTeam = "Terrorelhárító"; iColor = -3;}
  169.         case CS_TEAM_T: {sTeam = "Terrorista"; iColor = -2;}
  170.         case CS_TEAM_SPECTATOR: {sTeam = "Nézelődő"; iColor = -1;}
  171.     }
  172.    
  173.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  174.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3(%s)", sTeam);
  175.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  176.    
  177.     if(get_user_flags(id) & OWNER)
  178.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  179.     else if(get_user_flags(id) & ADMIN)
  180.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  181.     else if(get_user_flags(id) & VIP)
  182.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  183.     else
  184.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  185.    
  186.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  187.    
  188.     get_user_name(id, sName, charsmax(sName));
  189.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  190.    
  191.     for(new i; i < get_maxplayers(); i++)
  192.     {
  193.         if(!is_user_connected(i))
  194.             continue;
  195.        
  196.         if(cs_get_user_team(id) == CS_TEAM_CT)
  197.             client_print_color(i, iColor, sMessage);
  198.         else if(cs_get_user_team(id) == CS_TEAM_T)
  199.             client_print_color(i, iColor, sMessage);
  200.         else
  201.             client_print_color(i, iColor, sMessage);
  202.     }
  203.     return PLUGIN_HANDLED;
  204. }
  205. public client_authorized(id)
  206. {
  207.     if(is_user_bot(id))
  208.         return PLUGIN_HANDLED;
  209.    
  210.     g_ePlayer[eTime][id] = 0;
  211.     g_ePlayer[eRanks][id] = 0;
  212.    
  213.     SelectDataTable(id);
  214.    
  215.     return PLUGIN_HANDLED;
  216. }
  217. public client_disconnect(id)
  218. {
  219.     if(is_user_bot(id))
  220.         return PLUGIN_HANDLED;
  221.    
  222.     TableUpdate(id);
  223.    
  224.     return PLUGIN_HANDLED;
  225. }
  226. public plugin_cfg()
  227. {
  228.     //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  229.    
  230.     g_SqlTuple = SQL_MakeDbTuple("", "", "", "");
  231.     CreateTable();
  232. }
  233. public CreateTable(){
  234.     new iLen;
  235.     static sQuery[2048];
  236.    
  237.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `%s` ", Tablename);
  238.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "( ");
  239.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  240.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`SteamId` varchar(64) NOT NULL,");
  241.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qTime` int(11) NOT NULL,");
  242.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qRanks` int(11) NOT NULL)");
  243.    
  244.     SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery);
  245. }
  246. public TableUpdate(id)
  247. {
  248.     static sQuery[2048];
  249.     new iLen, sSteamID[64];
  250.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  251.    
  252.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `%s` SET ", Tablename);
  253.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qTime = ^"%i^",", g_ePlayer[eTime][id] + get_user_time(id));
  254.    
  255.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qRanks = ^"%i^" WHERE `SteamId` = ^"%s^";", g_ePlayer[eRanks][id], sSteamID);
  256.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  257. }
  258. public TableCreateThread(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  259. {
  260.     if(iFailState == TQUERY_CONNECT_FAILED)
  261.         set_fail_state("[Create] Nem lehet csatlakozni az adatbazishoz!");
  262.     else if(iFailState == TQUERY_QUERY_FAILED)
  263.         set_fail_state("[Create] Lekerdezesi hiba");
  264.     if(iErrcode)
  265.         log_amx("[Create] Hiba:**!! %s !!**", sError);
  266. }
  267. public TableInsert(id)
  268. {
  269.     static sQuery[2048], sSteamID[64];
  270.    
  271.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  272.     formatex(sQuery, charsmax(sQuery), "INSERT INTO `%s` (`SteamId`) VALUES (^"%s^");", Tablename, sSteamID);
  273.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  274. }
  275. public SelectDataTable(id)
  276. {
  277.     static sQuery[2048];
  278.     new sData[1], sSteamID[64];
  279.     sData[0] = id;
  280.    
  281.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  282.    
  283.     formatex(sQuery, charsmax(sQuery), "SELECT * FROM `%s` WHERE SteamId = ^"%s^";", Tablename, sSteamID);
  284.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1);
  285. }
  286. public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  287. {
  288.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  289.     {
  290.         log_amx("[Insert] Hiba:**!! %s !!**", sError);
  291.         return;
  292.     }
  293.     else
  294.     {
  295.         new id = sData[0];
  296.        
  297.         if(SQL_NumRows(sQuery) > 0)
  298.         {
  299.             g_ePlayer[eTime][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qTime"));
  300.             g_ePlayer[eRanks][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qRanks"));
  301.         }
  302.         else
  303.             TableInsert(id);
  304.     }
  305. }
  306. public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  307. {
  308.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  309.     {
  310.         log_amx("[SetData] Hiba:**!! %s !!**", sError);
  311.         return;
  312.     }
  313. }

_________________
"Szeretek aludni... mert az álmaim szebbek, mint a valóság."


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.13. 21:25 
Offline
Beavatott

Csatlakozott: 2016.09.27. 20:08
Hozzászólások: 66
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 1 alkalommal
köszi.
viszont nem tudtam lefordíani amxxre
van benne pár hiba elvileg.


HellEnergY írta:
kornyiktamass írta:
Sziasztok.
Valaki ismer vagy tudna ilyen plugint kreálni?

Arra gondoltam, hogy a szerveren eltöltött x idő után rangot kapna a játékos. gondolok ilyenre pl:
100. perc - Kezdő prefixet kapja.
500. perc - Haladó prefix
1000.perc Mester prefix

ez csak egy példa de ilyesmire gondoltam, hogy minél több idő eltöltése után rangot kap.
köszi


Szeva:

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <sqlx>
  5. #include <cstrike>
  6.  
  7. #pragma semicolon 1
  8. #define MAXPLAYERS 33
  9. #define MAXRANK 5 //maximum rang
  10. #define Tablename "tablaaaaaa" //tabla neve
  11.  
  12. #define OWNER ADMIN_IMMUNITY
  13. #define ADMIN ADMIN_MAP
  14. #define VIP ADMIN_LEVEL_H
  15.  
  16. new const cPrefix[] = "PREFIX";
  17.  
  18. enum _:eRank{eRankNum, eRankName[64], eRankTime,};
  19. new const cRanks[MAXRANK][eRank] ={
  20.     {0, "Újonc", 0},//(rang száma), (rang neve), (rang ideje mpben. [30 perc = 1800mp | 60 perc = 3600mp] ..stb)
  21.     {1, "Valamit tud", 3600},//60perc
  22.     {2, "Kiezte", 7200},//120perc
  23.     {3, "Profi", 14400},//240perc
  24.     {4, "Veterán", 28800},//480perc
  25. };
  26.  
  27. enum _:ePlayer{eTime, eRanks,};
  28. new g_ePlayer[ePlayer][MAXPLAYERS];
  29. new Handle:g_SqlTuple;
  30.  
  31. public plugin_init(){
  32.     register_plugin("TimeRank", "1.0", "asdasd!!");
  33.    
  34.     register_clcmd("say /ji", "time_p");//jatek ido chatre jeleniti meg
  35.     register_clcmd("say /rangom", "rank_p");//rangod
  36.     register_clcmd("say /rangok", "ranks_p");//rangok
  37.    
  38.     register_clcmd("say", "sayhook");
  39.     register_clcmd("say_team", "saythook");
  40.    
  41.     register_forward (FM_PlayerPreThink, "fm_prethink");
  42. }
  43. public ranks_p(id)
  44. {
  45.     new sText[1024], iTimes[4];
  46.     format(sText, charsmax(sText), "\r%s \d| \w Ranglista", cPrefix);
  47.     new iMenu = menu_create(sText, "ranks_p_h");
  48.    
  49.     for(new i = 1; i < sizeof(cRanks); i++)
  50.     {
  51.         iTimes[0] = cRanks[i][eRankTime];
  52.         iTimes[1] = iTimes[0] / 60;
  53.         iTimes[2] = iTimes[1] / 60;
  54.         iTimes[3] = iTimes[2] / 24;
  55.         iTimes[0] = iTimes[0] - iTimes[1] * 60;
  56.         iTimes[1] = iTimes[1] - iTimes[2] * 60;
  57.         iTimes[2] = iTimes[2] - iTimes[3] * 24;
  58.         format(sText, charsmax(sText), "\y%d. \w%s\w -\r %d\w nap\r %d\w óra\r %d\w perc\r %d\w mp", i, cRanks[i][eRankName], iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  59.         menu_addtext2(iMenu, sText);
  60.     }
  61.    
  62.     menu_setprop(iMenu, MPROP_BACKNAME, "\wVissza");
  63.     menu_setprop(iMenu, MPROP_NEXTNAME, "\wKövetkező");
  64.     menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
  65.     menu_display(id, iMenu, 0);
  66. }
  67. public ranks_p_h(id, iMenu, iItem){if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}}
  68. public fm_prethink(id)
  69. {
  70.     if(is_user_connected(id))
  71.         CheckRank_p(id);
  72. }
  73. public CheckRank_p(id)
  74. {
  75.     if(g_ePlayer[eRanks][id] == MAXRANK)
  76.         return FMRES_IGNORED;
  77.    
  78.     new sName[64], iTime;
  79.    
  80.     iTime = g_ePlayer[eTime][id] + get_user_time(id);
  81.     get_user_name(id, sName, charsmax(sName));
  82.    
  83.     if(iTime >= cRanks[g_ePlayer[eRanks][id]+1][eRankTime])
  84.     {
  85.         g_ePlayer[eRanks][id]++;
  86.         client_print_color(id, print_team_default, "^4[%s]^3 %s^4 %s^1 rangba lépett!", cPrefix, sName, cRanks[g_ePlayer[eRanks][id]][eRankName]);
  87.         return FMRES_SUPERCEDE;
  88.     }
  89.     return FMRES_SUPERCEDE;
  90. }
  91. public time_p(id)
  92. {
  93.     new iTimes[4];
  94.     iTimes[0] = g_ePlayer[eTime][id] + get_user_time(id);
  95.     iTimes[1] = iTimes[0] / 60;
  96.     iTimes[2] = iTimes[1] / 60;
  97.     iTimes[3] = iTimes[2] / 24;
  98.     iTimes[0] = iTimes[0] - iTimes[1] * 60;
  99.     iTimes[1] = iTimes[1] - iTimes[2] * 60;
  100.     iTimes[2] = iTimes[2] - iTimes[3] * 24;
  101.    
  102.     client_print_color(id, print_team_default, "^4[%s]^1 A szerveren töltött időd:^3 %d^1 nap,^3 %d^1 óra,^3 %d^1 perc,^3 %d^1 másodperc.", cPrefix, iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  103. }
  104. public rank_p(id)
  105. {
  106.     new sMax[32];
  107.     format(sMax, charsmax(sMax), g_ePlayer[eRanks][id] == MAXRANK ? "Nincs következő rang":"%s", cRanks[g_ePlayer[eRanks][id]+1][eRankName]);
  108.     client_print_color(id, print_team_default, "^4[%s]^1 Rangod:^3 %s^4 |^1 Következő rangod:^3 %s", cPrefix, cRanks[g_ePlayer[eRanks][id]][eRankName], sMax);
  109. }
  110. public sayhook(id)
  111. {
  112.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  113.     read_args(sMessage, charsmax(sMessage));
  114.     remove_quotes(sMessage);
  115.    
  116.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  117.         return PLUGIN_HANDLED;
  118.    
  119.     new iTeam, iColor;
  120.     iTeam = get_user_team(id);
  121.    
  122.     switch(iTeam)
  123.     {
  124.         case CS_TEAM_CT: iColor = -3;
  125.             case CS_TEAM_T: iColor = -2;
  126.             case CS_TEAM_SPECTATOR: iColor = -1;
  127.         }
  128.    
  129.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  130.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  131.     if(get_user_flags(id) & OWNER)
  132.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  133.     else if(get_user_flags(id) & ADMIN)
  134.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  135.     else if(get_user_flags(id) & VIP)
  136.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  137.     else
  138.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  139.    
  140.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  141.    
  142.     get_user_name(id, sName, charsmax(sName));
  143.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  144.    
  145.     for(new i; i < get_maxplayers(); i++)
  146.     {
  147.         if(!is_user_connected(i))
  148.             continue;
  149.        
  150.         client_print_color(i, iColor, sMessage);
  151.     }
  152.     return PLUGIN_HANDLED;
  153. }
  154. public saythook(id)
  155. {
  156.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  157.     read_args(sMessage, charsmax(sMessage));
  158.     remove_quotes(sMessage);
  159.    
  160.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  161.         return PLUGIN_HANDLED;
  162.    
  163.     new iTeam, sTeam[32], iColor;
  164.     iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  165.    
  166.     switch(iTeam)
  167.     {
  168.         case CS_TEAM_CT: {sTeam = "Terrorelhárító"; iColor = -3;}
  169.         case CS_TEAM_T: {sTeam = "Terrorista"; iColor = -2;}
  170.         case CS_TEAM_SPECTATOR: {sTeam = "Nézelődő"; iColor = -1;}
  171.     }
  172.    
  173.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  174.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3(%s)", sTeam);
  175.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  176.    
  177.     if(get_user_flags(id) & OWNER)
  178.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  179.     else if(get_user_flags(id) & ADMIN)
  180.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  181.     else if(get_user_flags(id) & VIP)
  182.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  183.     else
  184.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  185.    
  186.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  187.    
  188.     get_user_name(id, sName, charsmax(sName));
  189.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  190.    
  191.     for(new i; i < get_maxplayers(); i++)
  192.     {
  193.         if(!is_user_connected(i))
  194.             continue;
  195.        
  196.         if(cs_get_user_team(id) == CS_TEAM_CT)
  197.             client_print_color(i, iColor, sMessage);
  198.         else if(cs_get_user_team(id) == CS_TEAM_T)
  199.             client_print_color(i, iColor, sMessage);
  200.         else
  201.             client_print_color(i, iColor, sMessage);
  202.     }
  203.     return PLUGIN_HANDLED;
  204. }
  205. public client_authorized(id)
  206. {
  207.     if(is_user_bot(id))
  208.         return PLUGIN_HANDLED;
  209.    
  210.     g_ePlayer[eTime][id] = 0;
  211.     g_ePlayer[eRanks][id] = 0;
  212.    
  213.     SelectDataTable(id);
  214.    
  215.     return PLUGIN_HANDLED;
  216. }
  217. public client_disconnect(id)
  218. {
  219.     if(is_user_bot(id))
  220.         return PLUGIN_HANDLED;
  221.    
  222.     TableUpdate(id);
  223.    
  224.     return PLUGIN_HANDLED;
  225. }
  226. public plugin_cfg()
  227. {
  228.     //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  229.    
  230.     g_SqlTuple = SQL_MakeDbTuple("", "", "", "");
  231.     CreateTable();
  232. }
  233. public CreateTable(){
  234.     new iLen;
  235.     static sQuery[2048];
  236.    
  237.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `%s` ", Tablename);
  238.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "( ");
  239.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  240.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`SteamId` varchar(64) NOT NULL,");
  241.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qTime` int(11) NOT NULL,");
  242.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qRanks` int(11) NOT NULL)");
  243.    
  244.     SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery);
  245. }
  246. public TableUpdate(id)
  247. {
  248.     static sQuery[2048];
  249.     new iLen, sSteamID[64];
  250.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  251.    
  252.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `%s` SET ", Tablename);
  253.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qTime = ^"%i^",", g_ePlayer[eTime][id] + get_user_time(id));
  254.    
  255.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qRanks = ^"%i^" WHERE `SteamId` = ^"%s^";", g_ePlayer[eRanks][id], sSteamID);
  256.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  257. }
  258. public TableCreateThread(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  259. {
  260.     if(iFailState == TQUERY_CONNECT_FAILED)
  261.         set_fail_state("[Create] Nem lehet csatlakozni az adatbazishoz!");
  262.     else if(iFailState == TQUERY_QUERY_FAILED)
  263.         set_fail_state("[Create] Lekerdezesi hiba");
  264.     if(iErrcode)
  265.         log_amx("[Create] Hiba:**!! %s !!**", sError);
  266. }
  267. public TableInsert(id)
  268. {
  269.     static sQuery[2048], sSteamID[64];
  270.    
  271.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  272.     formatex(sQuery, charsmax(sQuery), "INSERT INTO `%s` (`SteamId`) VALUES (^"%s^");", Tablename, sSteamID);
  273.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  274. }
  275. public SelectDataTable(id)
  276. {
  277.     static sQuery[2048];
  278.     new sData[1], sSteamID[64];
  279.     sData[0] = id;
  280.    
  281.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  282.    
  283.     formatex(sQuery, charsmax(sQuery), "SELECT * FROM `%s` WHERE SteamId = ^"%s^";", Tablename, sSteamID);
  284.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1);
  285. }
  286. public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  287. {
  288.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  289.     {
  290.         log_amx("[Insert] Hiba:**!! %s !!**", sError);
  291.         return;
  292.     }
  293.     else
  294.     {
  295.         new id = sData[0];
  296.        
  297.         if(SQL_NumRows(sQuery) > 0)
  298.         {
  299.             g_ePlayer[eTime][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qTime"));
  300.             g_ePlayer[eRanks][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qRanks"));
  301.         }
  302.         else
  303.             TableInsert(id);
  304.     }
  305. }
  306. public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  307. {
  308.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  309.     {
  310.         log_amx("[SetData] Hiba:**!! %s !!**", sError);
  311.         return;
  312.     }
  313. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.14. 10:10 
Offline
Őstag
Avatar

Csatlakozott: 2017.08.21. 15:51
Hozzászólások: 1109
Megköszönt másnak: 36 alkalommal
Megköszönték neki: 195 alkalommal
Ennyit ír a fordító program?

Sajnos nem sikerült lefordítani a forráskódot amxx-re, mivel van benne pár hiba, de az is csak elvileg tehát nem biztos. Hibakód nincs, egyszerűen csak hibás a forráskód.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.14. 16:34 
Offline
Senior Tag
Avatar

Csatlakozott: 2017.08.09. 17:01
Hozzászólások: 266
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 72 alkalommal
kornyiktamass írta:
köszi.
viszont nem tudtam lefordíani amxxre
van benne pár hiba elvileg.


HellEnergY írta:
kornyiktamass írta:
Sziasztok.
Valaki ismer vagy tudna ilyen plugint kreálni?

Arra gondoltam, hogy a szerveren eltöltött x idő után rangot kapna a játékos. gondolok ilyenre pl:
100. perc - Kezdő prefixet kapja.
500. perc - Haladó prefix
1000.perc Mester prefix


Nekem amit ide raktam lefordul, semmi baja nincs.. sőt próbáltam 1.8ra törekedni, hátha az van neked.
Emellett teszteltem is.
Ment, betölt úgy ahogy kell, szintet léptet, megáll amikor a maxon van, stb.

Starting amxxpc: C:\Users\Kornél\Desktop\addons\amxmodx\scripting\amxxpc.exe c:\Users\Kornél\Downloads\hlmodra.sma -iC:\Users\Kornél\Desktop\addons\amxmodx\scripting\include -oC:\Users\Kornél\Desktop\asdasd\hlmodra.amxx

Success
Output:

===== c:\Users\Korn�l\Downloads\hlmodra.sma =====
WARNING [218]: symbol "client_disconnect" is marked as deprecated: Use client_disconnected() instead.


amxxpc exited with code 0.

_________________
"Szeretek aludni... mert az álmaim szebbek, mint a valóság."


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.14. 19:48 
Offline
Beavatott

Csatlakozott: 2016.09.27. 20:08
Hozzászólások: 66
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 1 alkalommal
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Error: Initialization data exceeds declared size on line 24
Error: Undefined symbol "menu_addtext2" on line 59
Error: Undefined symbol "client_print_color" on line 86
Warning: Expression has no effect on line 86
Warning: Expression has no effect on line 86
Warning: Expression has no effect on line 86
Warning: Expression has no effect on line 86
Error: Expected token: ";", but found ")" on line 86
Error: Invalid expression, assumed zero on line 86
Error: Too many error messages on one line on line 86

Compilation aborted.
6 Errors.
Could not locate output file C:\Users\makra\Desktop\sda\AMX Mod X\amxxstudio\Untitled.amx (compile failed).


ezt írja nekem. 1.9 amxmodx van








HellEnergY írta:
kornyiktamass írta:
köszi.
viszont nem tudtam lefordíani amxxre
van benne pár hiba elvileg.


HellEnergY írta:


Nekem amit ide raktam lefordul, semmi baja nincs.. sőt próbáltam 1.8ra törekedni, hátha az van neked.
Emellett teszteltem is.
Ment, betölt úgy ahogy kell, szintet léptet, megáll amikor a maxon van, stb.

Starting amxxpc: C:\Users\Kornél\Desktop\addons\amxmodx\scripting\amxxpc.exe c:\Users\Kornél\Downloads\hlmodra.sma -iC:\Users\Kornél\Desktop\addons\amxmodx\scripting\include -oC:\Users\Kornél\Desktop\asdasd\hlmodra.amxx

Success
Output:

===== c:\Users\Korn�l\Downloads\hlmodra.sma =====
WARNING [218]: symbol "client_disconnect" is marked as deprecated: Use client_disconnected() instead.


amxxpc exited with code 0.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.15. 17:51 
Offline
Senior Tag
Avatar

Csatlakozott: 2017.08.09. 17:01
Hozzászólások: 266
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 72 alkalommal
kornyiktamass írta:
ezt írja nekem. 1.9 amxmodx van


Ha 1.9 lenne nem ezt írná szerintem:
Welcome to the AMX Mod X 1.8.1-300 Compiler.

Hanem ilyesmit:
AMX Mod X Compiler 1.9.0.5271

Kicseréltem ezt:
client_print_color
és ezt:
menu_addtext2

Javaslom beszerezni az 1.9es vagy annál nagyobb fordítót itt: https://www.amxmodx.org/downloads-new.php

mindenképpen írjad be az adatokat ide(224.sor):
  1. //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  2. g_SqlTuple = SQL_MakeDbTuple("", "", "", "");



  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <sqlx>
  5. #include <cstrike>
  6.  
  7. #define MAXPLAYERS 33
  8. #define MAXRANK 5 //maximum rang
  9. #define Tablename "tablaaaaaa" //tabla neve
  10.  
  11. #define OWNER ADMIN_IMMUNITY
  12. #define ADMIN ADMIN_MAP
  13. #define VIP ADMIN_LEVEL_H
  14.  
  15. new const cPrefix[] = "PREFIX";
  16.  
  17. enum _:eRank{eRankNum, eRankName[64], eRankTime,};
  18. new const cRanks[MAXRANK][eRank] ={
  19.     {0, "Újonc", 0},//(rang száma), (rang neve), (rang ideje mpben. [30 perc = 1800mp | 60 perc = 3600mp] ..stb)
  20.     {1, "Valamit tud", 3600},//60perc
  21.     {2, "Kiezte", 7200},//120perc
  22.     {3, "Profi", 14400},//240perc
  23.     {4, "Veterán", 28800}//480perc
  24. }
  25.  
  26. new SayText;
  27.  
  28. enum _:ePlayer{eTime, eRanks,};
  29. new g_ePlayer[ePlayer][MAXPLAYERS];
  30. new Handle:g_SqlTuple;
  31.  
  32. public plugin_init(){
  33.     register_plugin("TimeRank", "1.0", "asdasd!!");
  34.    
  35.     register_clcmd("say /ji", "time_p");//jatek ido chatre jeleniti meg
  36.     register_clcmd("say /rangom", "rank_p");//rangod
  37.     register_clcmd("say /rangok", "ranks_p");//rangok
  38.    
  39.     SayText = get_user_msgid("SayText");
  40.    
  41.     register_clcmd("say", "sayhook");
  42.     register_clcmd("say_team", "saythook");
  43.    
  44.     register_forward (FM_PlayerPreThink, "fm_prethink");
  45. }
  46. public ranks_p(id)
  47. {
  48.     new sText[1024], iTimes[4], iRow[8];
  49.     format(sText, charsmax(sText), "\r%s \d| \w Ranglista", cPrefix);
  50.     new iMenu = menu_create(sText, "ranks_p_h");
  51.    
  52.     for(new i = 1; i < sizeof(cRanks); i++)
  53.     {
  54.         iTimes[0] = cRanks[i][eRankTime];
  55.         iTimes[1] = iTimes[0] / 60;
  56.         iTimes[2] = iTimes[1] / 60;
  57.         iTimes[3] = iTimes[2] / 24;
  58.         iTimes[0] = iTimes[0] - iTimes[1] * 60;
  59.         iTimes[1] = iTimes[1] - iTimes[2] * 60;
  60.         iTimes[2] = iTimes[2] - iTimes[3] * 24;
  61.         num_to_str(i, iRow, charsmax(iRow));
  62.         format(sText, charsmax(sText), "\y%d. \w%s\w -\r %d\w nap\r %d\w óra\r %d\w perc\r %d\w mp", i, cRanks[i][eRankName], iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  63.         menu_additem(iMenu, sText, iRow);
  64.     }
  65.    
  66.     menu_setprop(iMenu, MPROP_BACKNAME, "\wVissza");
  67.     menu_setprop(iMenu, MPROP_NEXTNAME, "\wKövetkező");
  68.     menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
  69.     menu_display(id, iMenu, 0);
  70. }
  71. public ranks_p_h(id, iMenu, iItem){if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}}
  72. public fm_prethink(id)
  73. {
  74.     if(is_user_connected(id))
  75.         CheckRank_p(id);
  76. }
  77. public CheckRank_p(id)
  78. {
  79.     if(g_ePlayer[eRanks][id] == MAXRANK)
  80.         return FMRES_IGNORED;
  81.    
  82.     new sName[64], iTime;
  83.    
  84.     iTime = g_ePlayer[eTime][id] + get_user_time(id);
  85.     get_user_name(id, sName, charsmax(sName));
  86.    
  87.     if(iTime >= cRanks[g_ePlayer[eRanks][id]+1][eRankTime])
  88.     {
  89.         g_ePlayer[eRanks][id]++;
  90.         client_printcolor(id, "^4[%s]^3 %s^4 %s^1 rangba lépett!", cPrefix, sName, cRanks[g_ePlayer[eRanks][id]][eRankName]);
  91.         return FMRES_SUPERCEDE;
  92.     }
  93.     return FMRES_SUPERCEDE;
  94. }
  95. public time_p(id)
  96. {
  97.     new iTimes[4];
  98.     iTimes[0] = g_ePlayer[eTime][id] + get_user_time(id);
  99.     iTimes[1] = iTimes[0] / 60;
  100.     iTimes[2] = iTimes[1] / 60;
  101.     iTimes[3] = iTimes[2] / 24;
  102.     iTimes[0] = iTimes[0] - iTimes[1] * 60;
  103.     iTimes[1] = iTimes[1] - iTimes[2] * 60;
  104.     iTimes[2] = iTimes[2] - iTimes[3] * 24;
  105.    
  106.     client_printcolor(id, "^4[%s]^1 A szerveren töltött időd:^3 %d^1 nap,^3 %d^1 óra,^3 %d^1 perc,^3 %d^1 másodperc.", cPrefix, iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  107. }
  108. public rank_p(id)
  109. {
  110.     new sMax[32];
  111.     format(sMax, charsmax(sMax), g_ePlayer[eRanks][id] == MAXRANK ? "Nincs következő rang":"%s", cRanks[g_ePlayer[eRanks][id]+1][eRankName]);
  112.     client_printcolor(id, "^4[%s]^1 Rangod:^3 %s^4 |^1 Következő rangod:^3 %s", cPrefix, cRanks[g_ePlayer[eRanks][id]][eRankName], sMax);
  113. }
  114. public sayhook(id)
  115. {
  116.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  117.     read_args(sMessage, charsmax(sMessage));
  118.     remove_quotes(sMessage);
  119.    
  120.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  121.         return PLUGIN_HANDLED;
  122.    
  123.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  124.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  125.     if(get_user_flags(id) & OWNER)
  126.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  127.     else if(get_user_flags(id) & ADMIN)
  128.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  129.     else if(get_user_flags(id) & VIP)
  130.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  131.     else
  132.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  133.    
  134.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  135.    
  136.     get_user_name(id, sName, charsmax(sName));
  137.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  138.    
  139.     for(new i; i < get_maxplayers(); i++)
  140.     {
  141.         if(!is_user_connected(i))
  142.             continue;
  143.        
  144.         client_printcolor(i, sMessage);
  145.     }
  146.     return PLUGIN_HANDLED;
  147. }
  148. public saythook(id)
  149. {
  150.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  151.     read_args(sMessage, charsmax(sMessage));
  152.     remove_quotes(sMessage);
  153.    
  154.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  155.         return PLUGIN_HANDLED;
  156.    
  157.     new iTeam, sTeam[32];
  158.     iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  159.    
  160.     switch(iTeam)
  161.     {
  162.         case CS_TEAM_CT: {sTeam = "Terrorelhárító";}
  163.         case CS_TEAM_T: {sTeam = "Terrorista";}
  164.         case CS_TEAM_SPECTATOR: {sTeam = "Nézelődő";}
  165.     }
  166.    
  167.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  168.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3(%s)", sTeam);
  169.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  170.    
  171.     if(get_user_flags(id) & OWNER)
  172.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  173.     else if(get_user_flags(id) & ADMIN)
  174.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  175.     else if(get_user_flags(id) & VIP)
  176.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  177.     else
  178.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  179.    
  180.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  181.    
  182.     get_user_name(id, sName, charsmax(sName));
  183.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  184.    
  185.     for(new i; i < get_maxplayers(); i++)
  186.     {
  187.         if(!is_user_connected(i))
  188.             continue;
  189.        
  190.         if(cs_get_user_team(id) == CS_TEAM_CT)
  191.             client_printcolor(i, sMessage);
  192.         else if(cs_get_user_team(id) == CS_TEAM_T)
  193.             client_printcolor(i,sMessage);
  194.         else
  195.             client_printcolor(i, sMessage);
  196.     }
  197.     return PLUGIN_HANDLED;
  198. }
  199. public client_authorized(id)
  200. {
  201.     if(is_user_bot(id))
  202.         return PLUGIN_HANDLED;
  203.    
  204.     g_ePlayer[eTime][id] = 0;
  205.     g_ePlayer[eRanks][id] = 0;
  206.    
  207.     SelectDataTable(id);
  208.    
  209.     return PLUGIN_HANDLED;
  210. }
  211. public client_disconnect(id)
  212. {
  213.     if(is_user_bot(id))
  214.         return PLUGIN_HANDLED;
  215.    
  216.     TableUpdate(id);
  217.    
  218.     return PLUGIN_HANDLED;
  219. }
  220. public plugin_cfg()
  221. {
  222.     //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  223.    
  224.     g_SqlTuple = SQL_MakeDbTuple("", "", "", "");
  225.     CreateTable();
  226. }
  227. public CreateTable(){
  228.     new iLen;
  229.     static sQuery[2048];
  230.    
  231.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `%s` ", Tablename);
  232.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "( ");
  233.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  234.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`SteamId` varchar(64) NOT NULL,");
  235.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qTime` int(11) NOT NULL,");
  236.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qRanks` int(11) NOT NULL)");
  237.    
  238.     SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery);
  239. }
  240. public TableUpdate(id)
  241. {
  242.     static sQuery[2048];
  243.     new iLen, sSteamID[64];
  244.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  245.    
  246.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `%s` SET ", Tablename);
  247.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qTime = ^"%i^",", g_ePlayer[eTime][id] + get_user_time(id));
  248.    
  249.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qRanks = ^"%i^" WHERE `SteamId` = ^"%s^";", g_ePlayer[eRanks][id], sSteamID);
  250.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  251. }
  252. public TableCreateThread(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  253. {
  254.     if(iFailState == TQUERY_CONNECT_FAILED)
  255.         set_fail_state("[Create] Nem lehet csatlakozni az adatbazishoz!");
  256.     else if(iFailState == TQUERY_QUERY_FAILED)
  257.         set_fail_state("[Create] Lekerdezesi hiba");
  258.     if(iErrcode)
  259.         log_amx("[Create] Hiba:**!! %s !!**", sError);
  260. }
  261. public TableInsert(id)
  262. {
  263.     static sQuery[2048], sSteamID[64];
  264.    
  265.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  266.     formatex(sQuery, charsmax(sQuery), "INSERT INTO `%s` (`SteamId`) VALUES (^"%s^");", Tablename, sSteamID);
  267.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  268. }
  269. public SelectDataTable(id)
  270. {
  271.     static sQuery[2048];
  272.     new sData[1], sSteamID[64];
  273.     sData[0] = id;
  274.    
  275.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  276.    
  277.     formatex(sQuery, charsmax(sQuery), "SELECT * FROM `%s` WHERE SteamId = ^"%s^";", Tablename, sSteamID);
  278.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1);
  279. }
  280. public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  281. {
  282.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  283.     {
  284.         log_amx("[Insert] Hiba:**!! %s !!**", sError);
  285.         return;
  286.     }
  287.     else
  288.     {
  289.         new id = sData[0];
  290.        
  291.         if(SQL_NumRows(sQuery) > 0)
  292.         {
  293.             g_ePlayer[eTime][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qTime"));
  294.             g_ePlayer[eRanks][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qRanks"));
  295.         }
  296.         else
  297.             TableInsert(id);
  298.     }
  299. }
  300. public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  301. {
  302.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  303.     {
  304.         log_amx("[SetData] Hiba:**!! %s !!**", sError);
  305.         return;
  306.     }
  307. }
  308. stock client_printcolor(const id, const input[], any:...)
  309. {
  310.     new count = 1, players[32];
  311.     static msg[256];
  312.     vformat(msg, charsmax(msg), input, 3);
  313.    
  314.     replace_all(msg, charsmax(msg), "!g", "^4");
  315.     replace_all(msg, charsmax(msg), "!y", "^1");
  316.     replace_all(msg, charsmax(msg), "!t", "^3");
  317.    
  318.     if (id) players[0] = id; else get_players(players, count, "ch");{
  319.     for ( new i = 0; i < count; i++ )
  320.     {
  321.         if ( is_user_connected(players[i]) )
  322.         {
  323.             message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]);
  324.             write_byte(players[i]);
  325.             write_string(msg);
  326.             message_end();
  327.         }
  328.     }
  329. }
  330. }


Offline 1.9:
Starting amxxpc: C:\Users\Kornél\Desktop\addons\amxmodx\scripting\amxxpc.exe c:\Users\Kornél\Downloads\hlmodra.sma -iC:\Users\Kornél\Desktop\addons\amxmodx\scripting\include -oC:\Users\Kornél\Desktop\asdasd\hlmodra.amxx

Success
Output:

===== c:\Users\Korn�l\Downloads\hlmodra.sma =====
WARNING [212]: symbol "client_disconnect" is marked as deprecated: Use client_disconnected() instead.
amxxpc exited with code 0.


Online 1.8.x:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Header size: 1428 bytes
Code size: 13340 bytes
Data size: 40756 bytes
Stack/heap size: 16384 bytes; estimated max. usage=1058 cells (4232 bytes)
Total requirements: 71908 bytes
Done.

_________________
"Szeretek aludni... mert az álmaim szebbek, mint a valóság."


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Prefix rang x idő után?
HozzászólásElküldve: 2021.03.16. 00:26 
Offline
Beavatott

Csatlakozott: 2016.09.27. 20:08
Hozzászólások: 66
Megköszönt másnak: 9 alkalommal
Megköszönték neki: 1 alkalommal
hú tényleg bocsi:D ezer éve nem használtam, úgy emlékeztem 1.9 van :D

HellEnergY írta:
kornyiktamass írta:
ezt írja nekem. 1.9 amxmodx van


Ha 1.9 lenne nem ezt írná szerintem:
Welcome to the AMX Mod X 1.8.1-300 Compiler.

Hanem ilyesmit:
AMX Mod X Compiler 1.9.0.5271

Kicseréltem ezt:
client_print_color
és ezt:
menu_addtext2

Javaslom beszerezni az 1.9es vagy annál nagyobb fordítót itt: https://www.amxmodx.org/downloads-new.php

mindenképpen írjad be az adatokat ide(224.sor):
  1. //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  2. g_SqlTuple = SQL_MakeDbTuple("", "", "", "");



  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <sqlx>
  5. #include <cstrike>
  6.  
  7. #define MAXPLAYERS 33
  8. #define MAXRANK 5 //maximum rang
  9. #define Tablename "tablaaaaaa" //tabla neve
  10.  
  11. #define OWNER ADMIN_IMMUNITY
  12. #define ADMIN ADMIN_MAP
  13. #define VIP ADMIN_LEVEL_H
  14.  
  15. new const cPrefix[] = "PREFIX";
  16.  
  17. enum _:eRank{eRankNum, eRankName[64], eRankTime,};
  18. new const cRanks[MAXRANK][eRank] ={
  19.     {0, "Újonc", 0},//(rang száma), (rang neve), (rang ideje mpben. [30 perc = 1800mp | 60 perc = 3600mp] ..stb)
  20.     {1, "Valamit tud", 3600},//60perc
  21.     {2, "Kiezte", 7200},//120perc
  22.     {3, "Profi", 14400},//240perc
  23.     {4, "Veterán", 28800}//480perc
  24. }
  25.  
  26. new SayText;
  27.  
  28. enum _:ePlayer{eTime, eRanks,};
  29. new g_ePlayer[ePlayer][MAXPLAYERS];
  30. new Handle:g_SqlTuple;
  31.  
  32. public plugin_init(){
  33.     register_plugin("TimeRank", "1.0", "asdasd!!");
  34.    
  35.     register_clcmd("say /ji", "time_p");//jatek ido chatre jeleniti meg
  36.     register_clcmd("say /rangom", "rank_p");//rangod
  37.     register_clcmd("say /rangok", "ranks_p");//rangok
  38.    
  39.     SayText = get_user_msgid("SayText");
  40.    
  41.     register_clcmd("say", "sayhook");
  42.     register_clcmd("say_team", "saythook");
  43.    
  44.     register_forward (FM_PlayerPreThink, "fm_prethink");
  45. }
  46. public ranks_p(id)
  47. {
  48.     new sText[1024], iTimes[4], iRow[8];
  49.     format(sText, charsmax(sText), "\r%s \d| \w Ranglista", cPrefix);
  50.     new iMenu = menu_create(sText, "ranks_p_h");
  51.    
  52.     for(new i = 1; i < sizeof(cRanks); i++)
  53.     {
  54.         iTimes[0] = cRanks[i][eRankTime];
  55.         iTimes[1] = iTimes[0] / 60;
  56.         iTimes[2] = iTimes[1] / 60;
  57.         iTimes[3] = iTimes[2] / 24;
  58.         iTimes[0] = iTimes[0] - iTimes[1] * 60;
  59.         iTimes[1] = iTimes[1] - iTimes[2] * 60;
  60.         iTimes[2] = iTimes[2] - iTimes[3] * 24;
  61.         num_to_str(i, iRow, charsmax(iRow));
  62.         format(sText, charsmax(sText), "\y%d. \w%s\w -\r %d\w nap\r %d\w óra\r %d\w perc\r %d\w mp", i, cRanks[i][eRankName], iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  63.         menu_additem(iMenu, sText, iRow);
  64.     }
  65.    
  66.     menu_setprop(iMenu, MPROP_BACKNAME, "\wVissza");
  67.     menu_setprop(iMenu, MPROP_NEXTNAME, "\wKövetkező");
  68.     menu_setprop(iMenu, MPROP_EXITNAME, "Kilépés");
  69.     menu_display(id, iMenu, 0);
  70. }
  71. public ranks_p_h(id, iMenu, iItem){if(iItem == MENU_EXIT){menu_destroy(iMenu);return;}}
  72. public fm_prethink(id)
  73. {
  74.     if(is_user_connected(id))
  75.         CheckRank_p(id);
  76. }
  77. public CheckRank_p(id)
  78. {
  79.     if(g_ePlayer[eRanks][id] == MAXRANK)
  80.         return FMRES_IGNORED;
  81.    
  82.     new sName[64], iTime;
  83.    
  84.     iTime = g_ePlayer[eTime][id] + get_user_time(id);
  85.     get_user_name(id, sName, charsmax(sName));
  86.    
  87.     if(iTime >= cRanks[g_ePlayer[eRanks][id]+1][eRankTime])
  88.     {
  89.         g_ePlayer[eRanks][id]++;
  90.         client_printcolor(id, "^4[%s]^3 %s^4 %s^1 rangba lépett!", cPrefix, sName, cRanks[g_ePlayer[eRanks][id]][eRankName]);
  91.         return FMRES_SUPERCEDE;
  92.     }
  93.     return FMRES_SUPERCEDE;
  94. }
  95. public time_p(id)
  96. {
  97.     new iTimes[4];
  98.     iTimes[0] = g_ePlayer[eTime][id] + get_user_time(id);
  99.     iTimes[1] = iTimes[0] / 60;
  100.     iTimes[2] = iTimes[1] / 60;
  101.     iTimes[3] = iTimes[2] / 24;
  102.     iTimes[0] = iTimes[0] - iTimes[1] * 60;
  103.     iTimes[1] = iTimes[1] - iTimes[2] * 60;
  104.     iTimes[2] = iTimes[2] - iTimes[3] * 24;
  105.    
  106.     client_printcolor(id, "^4[%s]^1 A szerveren töltött időd:^3 %d^1 nap,^3 %d^1 óra,^3 %d^1 perc,^3 %d^1 másodperc.", cPrefix, iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  107. }
  108. public rank_p(id)
  109. {
  110.     new sMax[32];
  111.     format(sMax, charsmax(sMax), g_ePlayer[eRanks][id] == MAXRANK ? "Nincs következő rang":"%s", cRanks[g_ePlayer[eRanks][id]+1][eRankName]);
  112.     client_printcolor(id, "^4[%s]^1 Rangod:^3 %s^4 |^1 Következő rangod:^3 %s", cPrefix, cRanks[g_ePlayer[eRanks][id]][eRankName], sMax);
  113. }
  114. public sayhook(id)
  115. {
  116.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  117.     read_args(sMessage, charsmax(sMessage));
  118.     remove_quotes(sMessage);
  119.    
  120.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  121.         return PLUGIN_HANDLED;
  122.    
  123.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  124.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  125.     if(get_user_flags(id) & OWNER)
  126.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  127.     else if(get_user_flags(id) & ADMIN)
  128.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  129.     else if(get_user_flags(id) & VIP)
  130.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  131.     else
  132.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  133.    
  134.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  135.    
  136.     get_user_name(id, sName, charsmax(sName));
  137.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  138.    
  139.     for(new i; i < get_maxplayers(); i++)
  140.     {
  141.         if(!is_user_connected(i))
  142.             continue;
  143.        
  144.         client_printcolor(i, sMessage);
  145.     }
  146.     return PLUGIN_HANDLED;
  147. }
  148. public saythook(id)
  149. {
  150.     new sMessage[512], sText[128], sDeath[16], iLen, sName[64];
  151.     read_args(sMessage, charsmax(sMessage));
  152.     remove_quotes(sMessage);
  153.    
  154.     if(strlen(sMessage) == 0 || sMessage[0] == '/' || sMessage[0] == '@')
  155.         return PLUGIN_HANDLED;
  156.    
  157.     new iTeam, sTeam[32];
  158.     iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  159.    
  160.     switch(iTeam)
  161.     {
  162.         case CS_TEAM_CT: {sTeam = "Terrorelhárító";}
  163.         case CS_TEAM_T: {sTeam = "Terrorista";}
  164.         case CS_TEAM_SPECTATOR: {sTeam = "Nézelődő";}
  165.     }
  166.    
  167.     format(sDeath, charsmax(sDeath), is_user_alive(id) ? "":"*Halott*");
  168.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^3(%s)", sTeam);
  169.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^1%s", sDeath);
  170.    
  171.     if(get_user_flags(id) & OWNER)
  172.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Tulajdonos]");
  173.     else if(get_user_flags(id) & ADMIN)
  174.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Admin^3]");
  175.     else if(get_user_flags(id) & VIP)
  176.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[4VIP^3]");
  177.     else
  178.         iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[Játékos^3]");
  179.    
  180.     iLen += formatex(sText[iLen], charsmax(sText)-iLen, "^4[%s]", cRanks[g_ePlayer[eRanks][id]][eRankName]);
  181.    
  182.     get_user_name(id, sName, charsmax(sName));
  183.     format(sMessage, charsmax(sMessage), "%s ^1%s ^3»^3 %s", sText, sName, sMessage);
  184.    
  185.     for(new i; i < get_maxplayers(); i++)
  186.     {
  187.         if(!is_user_connected(i))
  188.             continue;
  189.        
  190.         if(cs_get_user_team(id) == CS_TEAM_CT)
  191.             client_printcolor(i, sMessage);
  192.         else if(cs_get_user_team(id) == CS_TEAM_T)
  193.             client_printcolor(i,sMessage);
  194.         else
  195.             client_printcolor(i, sMessage);
  196.     }
  197.     return PLUGIN_HANDLED;
  198. }
  199. public client_authorized(id)
  200. {
  201.     if(is_user_bot(id))
  202.         return PLUGIN_HANDLED;
  203.    
  204.     g_ePlayer[eTime][id] = 0;
  205.     g_ePlayer[eRanks][id] = 0;
  206.    
  207.     SelectDataTable(id);
  208.    
  209.     return PLUGIN_HANDLED;
  210. }
  211. public client_disconnect(id)
  212. {
  213.     if(is_user_bot(id))
  214.         return PLUGIN_HANDLED;
  215.    
  216.     TableUpdate(id);
  217.    
  218.     return PLUGIN_HANDLED;
  219. }
  220. public plugin_cfg()
  221. {
  222.     //Kiszolgáló | Felhasználó | Jelszó | Adatbázis
  223.    
  224.     g_SqlTuple = SQL_MakeDbTuple("", "", "", "");
  225.     CreateTable();
  226. }
  227. public CreateTable(){
  228.     new iLen;
  229.     static sQuery[2048];
  230.    
  231.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "CREATE TABLE IF NOT EXISTS `%s` ", Tablename);
  232.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "( ");
  233.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`Id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,");
  234.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`SteamId` varchar(64) NOT NULL,");
  235.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qTime` int(11) NOT NULL,");
  236.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "`qRanks` int(11) NOT NULL)");
  237.    
  238.     SQL_ThreadQuery(g_SqlTuple, "TableCreateThread", sQuery);
  239. }
  240. public TableUpdate(id)
  241. {
  242.     static sQuery[2048];
  243.     new iLen, sSteamID[64];
  244.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  245.    
  246.     iLen += formatex(sQuery[iLen], charsmax(sQuery), "UPDATE `%s` SET ", Tablename);
  247.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qTime = ^"%i^",", g_ePlayer[eTime][id] + get_user_time(id));
  248.    
  249.     iLen += formatex(sQuery[iLen], charsmax(sQuery)-iLen, "qRanks = ^"%i^" WHERE `SteamId` = ^"%s^";", g_ePlayer[eRanks][id], sSteamID);
  250.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  251. }
  252. public TableCreateThread(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  253. {
  254.     if(iFailState == TQUERY_CONNECT_FAILED)
  255.         set_fail_state("[Create] Nem lehet csatlakozni az adatbazishoz!");
  256.     else if(iFailState == TQUERY_QUERY_FAILED)
  257.         set_fail_state("[Create] Lekerdezesi hiba");
  258.     if(iErrcode)
  259.         log_amx("[Create] Hiba:**!! %s !!**", sError);
  260. }
  261. public TableInsert(id)
  262. {
  263.     static sQuery[2048], sSteamID[64];
  264.    
  265.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  266.     formatex(sQuery, charsmax(sQuery), "INSERT INTO `%s` (`SteamId`) VALUES (^"%s^");", Tablename, sSteamID);
  267.     SQL_ThreadQuery(g_SqlTuple, "QuerySetDataTable", sQuery);
  268. }
  269. public SelectDataTable(id)
  270. {
  271.     static sQuery[2048];
  272.     new sData[1], sSteamID[64];
  273.     sData[0] = id;
  274.    
  275.     get_user_authid(id, sSteamID, charsmax(sSteamID));
  276.    
  277.     formatex(sQuery, charsmax(sQuery), "SELECT * FROM `%s` WHERE SteamId = ^"%s^";", Tablename, sSteamID);
  278.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectDataTable", sQuery, sData, 1);
  279. }
  280. public QuerySelectDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  281. {
  282.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  283.     {
  284.         log_amx("[Insert] Hiba:**!! %s !!**", sError);
  285.         return;
  286.     }
  287.     else
  288.     {
  289.         new id = sData[0];
  290.        
  291.         if(SQL_NumRows(sQuery) > 0)
  292.         {
  293.             g_ePlayer[eTime][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qTime"));
  294.             g_ePlayer[eRanks][id] = SQL_ReadResult(sQuery, SQL_FieldNameToNum(sQuery, "qRanks"));
  295.         }
  296.         else
  297.             TableInsert(id);
  298.     }
  299. }
  300. public QuerySetDataTable(iFailState, Handle:sQuery, sError[], iErrcode, sData[], iDataSize, Float:fQueuetime)
  301. {
  302.     if(iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED)
  303.     {
  304.         log_amx("[SetData] Hiba:**!! %s !!**", sError);
  305.         return;
  306.     }
  307. }
  308. stock client_printcolor(const id, const input[], any:...)
  309. {
  310.     new count = 1, players[32];
  311.     static msg[256];
  312.     vformat(msg, charsmax(msg), input, 3);
  313.    
  314.     replace_all(msg, charsmax(msg), "!g", "^4");
  315.     replace_all(msg, charsmax(msg), "!y", "^1");
  316.     replace_all(msg, charsmax(msg), "!t", "^3");
  317.    
  318.     if (id) players[0] = id; else get_players(players, count, "ch");{
  319.     for ( new i = 0; i < count; i++ )
  320.     {
  321.         if ( is_user_connected(players[i]) )
  322.         {
  323.             message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]);
  324.             write_byte(players[i]);
  325.             write_string(msg);
  326.             message_end();
  327.         }
  328.     }
  329. }
  330. }


Offline 1.9:
Starting amxxpc: C:\Users\Kornél\Desktop\addons\amxmodx\scripting\amxxpc.exe c:\Users\Kornél\Downloads\hlmodra.sma -iC:\Users\Kornél\Desktop\addons\amxmodx\scripting\include -oC:\Users\Kornél\Desktop\asdasd\hlmodra.amxx

Success
Output:

===== c:\Users\Korn�l\Downloads\hlmodra.sma =====
WARNING [212]: symbol "client_disconnect" is marked as deprecated: Use client_disconnected() instead.
amxxpc exited with code 0.


Online 1.8.x:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

Header size: 1428 bytes
Code size: 13340 bytes
Data size: 40756 bytes
Stack/heap size: 16384 bytes; estimated max. usage=1058 cells (4232 bytes)
Total requirements: 71908 bytes
Done.


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


Ki van itt

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