hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 242 felhasználó van jelen :: 1 regisztrált, 1 rejtett és 240 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ő


Új téma nyitása  Hozzászólás a témához  [ 20 hozzászólás ]  Oldal Előző 1 2
Szerző Üzenet
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.05.29. 16:21 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
terminator100 írta:
Köszi, de sajnos nem tudok így belépni. Az miatt írtam is! :)


90%-ban megoldottuk, ha esetleg valaki tudna abban segíteni hogy miért csúszik a tábla ha hosszabb a nevem mint az 1-iknek azt megköszönném!

Én esetemben ez lett:

Játékbeli nevem: Levii / The Peace "2017.05.29"
Akivel teszteltem neve: "Tomi [HUN] " 2017.05.29" azaz (terminator100)


És ezt a csúszást hogyan tudnám fixálni, hogy ne csússzon?


Ezt a kis kódocskát használom:
  1. get_time("  %Y.%m.%d", id, 63)  // így csúszattam is 2 space-el .
  2.  a srácnak rossz mert neki 6 space-t rak nekem tökéletes mert egyből írja.

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.05.29. 18:53 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.01.15. 19:04
Hozzászólások: 407
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 176 alkalommal
Szerintem ez így egyszerűbb:
Tábla:
CREATE TABLE IF NOT EXISTS `tabla` (`username` varchar(16) NOT NULL, `utoljara` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `id` int(11) NOT NULL);

Frissítés:
UPDATE `tabla` SET `utoljara` = CURRENT_TIMESTAMP WHERE `id` = %d;

utoljara oszlop típusa TIMESTAMP, melyben el tudod tárolni a pontos időt, az alapértelmezett értéke az aktuális idő, ha csak a dátum kell akkor használhatsz DATE típust.

INSERT-nél automatikusan az utoljara oszlop megkapja a pontos időt (2017-05-29 18:53:35).

Ők köszönték meg demon nek ezt a hozzászólást: regener (2017.05.29. 19:16)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.05.29. 19:37 
Offline
Fanatikus

Csatlakozott: 2017.02.14. 23:05
Hozzászólások: 193
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 18 alkalommal
Hali!

Köszi!

Így próbálom:

Len += format(szQuery[Len], 2048-Len, "utoljara = CURRENT_TIMESTAMP WHERE `id` = %d")

De sajnos nem fogadja el... nem tudok tőle belépni a szerverre...

Az első ilyen sor: Len += format(szQuery[Len], 2048, "UPDATE sqlnev SET ") tehát amit ez fölött ^írtam^ az ez a sor alatt van.

Tehát így:
Len += format(szQuery[Len], 2048, "UPDATE sqlnev SET ")
Len += format(szQuery[Len], 2048-Len, "utoljara = CURRENT_TIMESTAMP WHERE `id` = %d")

EZ szerint csináltam: Len += format(szQuery[Len], 2048-Len, "IT_10 = '%d', ", Kulcs[id])

Már beenged, de nem tudom updatelni... mert nem frissíti.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.05.29. 21:30 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.01.15. 19:04
Hozzászólások: 407
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 176 alkalommal
phpmyadminban az utoljara oszlop típusát szerkesztetted TIMESTAMP-re?

The Peace által posztolt képen az oszlop neve ez: Utoljara .
A te kódodban kis betűvel van.

  1. Len = format(szQuery[Len], 2048, "UPDATE sqlnev SET ")
  2. Len += format(szQuery[Len], 2048-Len, "utoljara = CURRENT_TIMESTAMP WHERE `id` = %d", /*itt nem adtad meg az id-t*/);


A hozzászólást 3 alkalommal szerkesztették, utoljára demon 2017.05.29. 21:37-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.05.29. 21:33 
Offline
Fanatikus

Csatlakozott: 2017.02.14. 23:05
Hozzászólások: 193
Megköszönt másnak: 6 alkalommal
Megköszönték neki: 18 alkalommal
Igen, mert kb 10mp átírni a kisbetűt nagyra és fordítva.:)

De sehogy sem volt jó. Nem úgy sem, hiába raktam oda az id-t.


Edit:

Éjjel nagynehezen össze hoztam működőképesre, viszont sajnos nem emlékszem, melyik .sma volt... és hát így nem tudok folytatni a módot. Esetleg nincs ötletetek, hogy mivel tudnám visszafejteni? vagy valami?:/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.05.31. 18:56 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
demon írta:
phpmyadminban az utoljara oszlop típusát szerkesztetted TIMESTAMP-re?

The Peace által posztolt képen az oszlop neve ez: Utoljara .
A te kódodban kis betűvel van.

  1. Len = format(szQuery[Len], 2048, "UPDATE sqlnev SET ")
  2. Len += format(szQuery[Len], 2048-Len, "utoljara = CURRENT_TIMESTAMP WHERE `id` = %d", /*itt nem adtad meg az id-t*/);



Én megoldottam neki valamelyik este, csak hát az a baja hogy ha hosszú valaki neve akkor vesz el belőle (-space) ha meg rövid akkor meg (+space)


Én megoldásom:
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <sqlx>
  5.  
  6. #define PLUGIN "New Plug-In"
  7. #define VERSION "1.0"
  8. #define AUTHOR "author"
  9.  
  10. new const SQL_INFO[][] ={
  11.     " ",    // HOST
  12.     " ",     // USERNAME
  13.     " ",     // PASSWORD
  14.     " "      // DATABASE
  15. }
  16.  
  17. new Handle:g_SqlTuple;
  18. new name[33][32];
  19.  
  20. new  utoljara[64]
  21.  
  22. public plugin_init() {
  23.     register_plugin(PLUGIN, VERSION, AUTHOR)
  24.     register_clcmd("say /t","Teszt") //Tesztet is futtatam
  25.    
  26. }
  27. public Teszt(id){
  28.     get_time("      %Y.%m.%d", utoljara, 63)
  29.     client_print(id, print_chat,"Utolso belepesed:   %s", utoljara)
  30. }
  31. public client_putinserver(id)
  32. {
  33.     if(!is_user_bot(id))
  34.     {
  35.         get_user_name(id, name[id], charsmax(name));
  36.         load(id);
  37.     }
  38. }
  39.  
  40. public client_disconnect(id)
  41. {
  42.     if(!is_user_bot(id))
  43.     {
  44.         update(id)
  45.     }
  46.     copy(name[id], charsmax(name[]), "")
  47. }
  48. public plugin_cfg()
  49. {
  50.     new Query[512];
  51.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  52.    
  53.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `Utoljarabelepve` (`username` varchar(32) NOT NULL,`Utoljara` varchar(32) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  54.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  55. }
  56.  
  57. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  58. {
  59.     if(FailState == TQUERY_CONNECT_FAILED)
  60.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  61.     else if(FailState == TQUERY_QUERY_FAILED)
  62.         set_fail_state("Query Error");
  63.     if(Errcode)
  64.         log_amx("Hibat dobtam: %s",Error);
  65. }
  66.  
  67. public load(id)
  68. {
  69.     new Query[512], Data[1]
  70.     Data[0] = id
  71.     formatex(Query, charsmax(Query), "SELECT * FROM `Utoljarabelepve` WHERE username = ^"%s^";", name[id])
  72.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  73. }
  74.  
  75. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  76. {
  77.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  78.     {
  79.         log_amx("%s", Error)
  80.         return
  81.     }
  82.     else
  83.     {
  84.         new id = Data[0];
  85.        
  86.         if(SQL_NumRows(Query) > 0)
  87.         {
  88.             get_time("  %Y.%m.%d", utoljara, 63)
  89.             utoljara[id]  = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Utoljara"))
  90.         }
  91.         else
  92.         {
  93.             save(id)
  94.         }
  95.     }
  96. }
  97. public save(id)
  98. {
  99.     new text[512];
  100.     get_time("  %Y.%m.%d", utoljara, 63)
  101.     formatex(text, charsmax(text), "INSERT INTO `Utoljarabelepve` (`username`, `Utoljara`) VALUES (^"%s^", ^"%s^");", name[id], utoljara[id])
  102.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  103. }
  104. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  105. {
  106.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  107.         log_amx("%s", Error)
  108.         return
  109.     }
  110. }
  111. public update(id)
  112. {
  113.     new text[512];
  114.     get_time("  %Y.%m.%d", utoljara, 63)
  115.     formatex(text, charsmax(text), "UPDATE `Utoljarabelepve` SET Utoljara = ^"%s^" WHERE username = ^"%s^";",  utoljara[id], name[id])
  116.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  117. }
  118. public plugin_end()
  119. {
  120.     SQL_FreeHandle(g_SqlTuple)
  121. }

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.06.01. 01:18 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.01.15. 19:04
Hozzászólások: 407
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 176 alkalommal
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <sqlx>
  5.  
  6. #define PLUGIN "New Plug-In"
  7. #define VERSION "1.0"
  8. #define AUTHOR "author"
  9.  
  10. new const SQL_INFO[][] ={
  11.     " ",    // HOST
  12.     " ",     // USERNAME
  13.     " ",     // PASSWORD
  14.     " "      // DATABASE
  15. }
  16.  
  17. new Handle:g_SqlTuple;
  18. new name[33][32];
  19.  
  20. new  utoljara[33][64]
  21.  
  22. public plugin_init() {
  23.     register_plugin(PLUGIN, VERSION, AUTHOR)
  24.     register_clcmd("say /t","Teszt") //Tesztet is futtatam
  25.    
  26. }
  27. public Teszt(id){
  28.     get_time("%Y.%m.%d", utoljara[id], 63)
  29.     client_print(id, print_chat,"Utolso belepesed: %s", utoljara[id])
  30. }
  31. public client_putinserver(id)
  32. {
  33.     if(!is_user_bot(id))
  34.     {
  35.         get_user_name(id, name[id], charsmax(name));
  36.         load(id);
  37.     }
  38. }
  39.  
  40. public client_disconnect(id)
  41. {
  42.     if(!is_user_bot(id))
  43.     {
  44.         update(id)
  45.     }
  46.     copy(name[id], charsmax(name[]), "")
  47. }
  48. public plugin_cfg()
  49. {
  50.     new Query[512];
  51.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  52.    
  53.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `Utoljarabelepve` (`username` varchar(32) NOT NULL,`Utoljara` varchar(32) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  54.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  55. }
  56.  
  57. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  58. {
  59.     if(FailState == TQUERY_CONNECT_FAILED)
  60.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  61.     else if(FailState == TQUERY_QUERY_FAILED)
  62.         set_fail_state("Query Error");
  63.     if(Errcode)
  64.         log_amx("Hibat dobtam: %s",Error);
  65. }
  66.  
  67. public load(id)
  68. {
  69.     new Query[512], Data[1]
  70.     Data[0] = id
  71.     formatex(Query, charsmax(Query), "SELECT * FROM `Utoljarabelepve` WHERE username = ^"%s^";", name[id])
  72.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  73. }
  74.  
  75. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  76. {
  77.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  78.     {
  79.         log_amx("%s", Error)
  80.         return
  81.     }
  82.     else
  83.     {
  84.         new id = Data[0];
  85.        
  86.         if(SQL_NumRows(Query) > 0)
  87.         {
  88.         SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Utoljara" ), utoljara[id], charsmax( utoljara[] ) );
  89.         }
  90.         else
  91.         {
  92.             save(id)
  93.         }
  94.     }
  95. }
  96. public save(id)
  97. {
  98.     new text[512];
  99.     get_time("%Y.%m.%d", utoljara[id], 63)
  100.     formatex(text, charsmax(text), "INSERT INTO `Utoljarabelepve` (`username`, `Utoljara`) VALUES (^"%s^", ^"%s^");", name[id], utoljara[id])
  101.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  102. }
  103. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  104. {
  105.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  106.         log_amx("%s", Error)
  107.         return
  108.     }
  109. }
  110. public update(id)
  111. {
  112.     new text[512];
  113.     get_time("%Y.%m.%d", utoljara[id], 63)
  114.     formatex(text, charsmax(text), "UPDATE `Utoljarabelepve` SET Utoljara = ^"%s^" WHERE username = ^"%s^";",  utoljara[id], name[id])
  115.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  116. }
  117. public plugin_end()
  118. {
  119.     SQL_FreeHandle(g_SqlTuple)
  120. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.06.01. 12:46 
Offline
Fórum Moderátor
Avatar

Csatlakozott: 2014.05.01. 13:18
Hozzászólások: 627
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 104 alkalommal
Én mindig az aktuális rendszeridő feltöltését választom, amit aztán 1-1 funkcióval másodpercről (1971.01.01 01:00:00 Óta) át lehet dátumra alakítani. Egyszerű és még több helyen is felhasználható. Pld, ennek tudatában az X időnél régebbi adatokat akár a plugin-al is törölni lehet.
-
Persze, ez azért egyszerűbb nekem, mert Sql-en, ha a rendes dátumot írná fogalmam sem lenne, hogy hogyan kell kezelni. ( Láttam már olyat, hogy a dátumnak szánt dolgokat kompletten egy kis naptárral lehetett módosítani a phpmyadmin-ban. )


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.06.01. 16:42 
Offline
Félisten
Avatar

Csatlakozott: 2016.03.06. 14:20
Hozzászólások: 964
Megköszönt másnak: 102 alkalommal
Megköszönték neki: 134 alkalommal
demon írta:
  1. /* Plugin generated by AMXX-Studio */
  2.  
  3. #include <amxmodx>
  4. #include <sqlx>
  5.  
  6. #define PLUGIN "New Plug-In"
  7. #define VERSION "1.0"
  8. #define AUTHOR "author"
  9.  
  10. new const SQL_INFO[][] ={
  11.     " ",    // HOST
  12.     " ",     // USERNAME
  13.     " ",     // PASSWORD
  14.     " "      // DATABASE
  15. }
  16.  
  17. new Handle:g_SqlTuple;
  18. new name[33][32];
  19.  
  20. new  utoljara[33][64]
  21.  
  22. public plugin_init() {
  23.     register_plugin(PLUGIN, VERSION, AUTHOR)
  24.     register_clcmd("say /t","Teszt") //Tesztet is futtatam
  25.    
  26. }
  27. public Teszt(id){
  28.     get_time("%Y.%m.%d", utoljara[id], 63)
  29.     client_print(id, print_chat,"Utolso belepesed: %s", utoljara[id])
  30. }
  31. public client_putinserver(id)
  32. {
  33.     if(!is_user_bot(id))
  34.     {
  35.         get_user_name(id, name[id], charsmax(name));
  36.         load(id);
  37.     }
  38. }
  39.  
  40. public client_disconnect(id)
  41. {
  42.     if(!is_user_bot(id))
  43.     {
  44.         update(id)
  45.     }
  46.     copy(name[id], charsmax(name[]), "")
  47. }
  48. public plugin_cfg()
  49. {
  50.     new Query[512];
  51.     g_SqlTuple = SQL_MakeDbTuple(SQL_INFO[0],SQL_INFO[1],SQL_INFO[2],SQL_INFO[3])
  52.    
  53.     formatex(Query, charsmax(Query), "CREATE TABLE IF NOT EXISTS `Utoljarabelepve` (`username` varchar(32) NOT NULL,`Utoljara` varchar(32) NOT NULL,`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)")
  54.     SQL_ThreadQuery(g_SqlTuple,"createTableThread", Query)
  55. }
  56.  
  57. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  58. {
  59.     if(FailState == TQUERY_CONNECT_FAILED)
  60.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  61.     else if(FailState == TQUERY_QUERY_FAILED)
  62.         set_fail_state("Query Error");
  63.     if(Errcode)
  64.         log_amx("Hibat dobtam: %s",Error);
  65. }
  66.  
  67. public load(id)
  68. {
  69.     new Query[512], Data[1]
  70.     Data[0] = id
  71.     formatex(Query, charsmax(Query), "SELECT * FROM `Utoljarabelepve` WHERE username = ^"%s^";", name[id])
  72.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1)
  73. }
  74.  
  75. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  76. {
  77.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
  78.     {
  79.         log_amx("%s", Error)
  80.         return
  81.     }
  82.     else
  83.     {
  84.         new id = Data[0];
  85.        
  86.         if(SQL_NumRows(Query) > 0)
  87.         {
  88.         SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "Utoljara" ), utoljara[id], charsmax( utoljara[] ) );
  89.         }
  90.         else
  91.         {
  92.             save(id)
  93.         }
  94.     }
  95. }
  96. public save(id)
  97. {
  98.     new text[512];
  99.     get_time("%Y.%m.%d", utoljara[id], 63)
  100.     formatex(text, charsmax(text), "INSERT INTO `Utoljarabelepve` (`username`, `Utoljara`) VALUES (^"%s^", ^"%s^");", name[id], utoljara[id])
  101.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  102. }
  103. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime)
  104. {
  105.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  106.         log_amx("%s", Error)
  107.         return
  108.     }
  109. }
  110. public update(id)
  111. {
  112.     new text[512];
  113.     get_time("%Y.%m.%d", utoljara[id], 63)
  114.     formatex(text, charsmax(text), "UPDATE `Utoljarabelepve` SET Utoljara = ^"%s^" WHERE username = ^"%s^";",  utoljara[id], name[id])
  115.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", text)
  116. }
  117. public plugin_end()
  118. {
  119.     SQL_FreeHandle(g_SqlTuple)
  120. }



Elsőre én is így csináltam!, és raktam még space-t hogy biztosra kiférjen mindenkinek!

_________________
 ! Moderátori megjegyzés (kiki):
Kérlek csekkold az aláírásra vonatkozó szabályokat!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: utoljára bejelentkezett - dátum
HozzászólásElküldve: 2017.06.01. 17:48 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.01.15. 19:04
Hozzászólások: 407
Megköszönt másnak: 17 alkalommal
Megköszönték neki: 176 alkalommal
  1. #include < amxmodx >
  2. #include < sqlx >
  3.  
  4. new const g_sSQL_INFOS[ ][ ] = {
  5.     "",     // HOST
  6.     "", // USERNAME
  7.     "", // PASSWORD
  8.     ""  // DATABASE
  9. };
  10.  
  11. new Handle: g_iSqlTuple;
  12. new g_sName[ MAX_PLAYERS ][ 32 ], g_sLastOnline[ MAX_PLAYERS ][ 32 ];
  13.  
  14. public plugin_init( )
  15. {
  16.     register_plugin( "", "1.0", "" );
  17.    
  18.     g_iSqlTuple = SQL_MakeDbTuple( g_sSQL_INFOS[ 0 ], g_sSQL_INFOS[ 1 ], g_sSQL_INFOS[ 2 ], g_sSQL_INFOS[ 3 ] );
  19.  
  20.     new sThread[ 256 ];
  21.     formatex( sThread, charsmax( sThread ), "CREATE TABLE IF NOT EXISTS `Utoljarabelepve` (`username` varchar( 32 ) NOT NULL, `utoljara` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);" );
  22.  
  23.     SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sThread, { 0 }, 1 );
  24.    
  25.     register_clcmd( "say /utoljara", "cmdLastOnline" );
  26. }
  27.  
  28. public cmdLastOnline( iPlayerId ) { client_print( iPlayerId, print_chat, "Utolso belepesed: %s", g_sLastOnline[ iPlayerId ] ); }
  29.  
  30. public client_putinserver( iPlayerId )
  31. {
  32.     if ( !is_user_bot( iPlayerId ) && !is_user_hltv( iPlayerId ) )
  33.     {
  34.         get_user_name( iPlayerId, g_sName[ iPlayerId ], charsmax( g_sName[ ] ) );
  35.        
  36.         Load( iPlayerId );
  37.     }
  38. }
  39.  
  40. public Save( iPlayerId, iMode )
  41. {
  42.     static sText[ 128 ];
  43.     if ( iMode == 1 ) formatex( sText, charsmax( sText ), "INSERT INTO `Utoljarabelepve` (`username`) VALUES (^"%s^");", g_sName[ iPlayerId ] );
  44.     else formatex( sText, charsmax( sText ), "UPDATE `Utoljarabelepve` SET `utoljara` = CURRENT_TIMESTAMP WHERE `username` = ^"%s^";", g_sName[ iPlayerId ] );
  45.    
  46.     SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sText, { 0 }, 1 );
  47. }
  48.  
  49. public Load( iPlayerId )
  50. {
  51.     static sText[ 128 ], iArray[ 1 ];
  52.    
  53.     iArray[ 0 ] = iPlayerId;
  54.    
  55.     formatex( sText, charsmax( sText ), "SELECT `utoljara` FROM `Utoljarabelepve` WHERE `username` = ^"%s^";", g_sName[ iPlayerId ] );
  56.    
  57.     SQL_ThreadQuery( g_iSqlTuple, "ThreadHandler", sText, iArray, sizeof( iArray ) );
  58. }
  59.  
  60. public ThreadHandler( iFailState, Handle:iQuery, const sErrorMsg[ ], iErrorCode, const iARRAY[ ], iArraySize, Float:fQueueTime )
  61. {
  62.     if ( iFailState == TQUERY_CONNECT_FAILED )
  63.     {
  64.         log_amx( "%i - %s", iErrorCode, sErrorMsg );
  65.         set_fail_state("Nem tudtam csatlakozni az adatbazishoz.");
  66.     }
  67.     else if ( iFailState == TQUERY_QUERY_FAILED )
  68.     {
  69.         log_amx( "%i - %s", iErrorCode, sErrorMsg );
  70.         set_fail_state("Query Error");
  71.     }
  72.    
  73.     new iPlayerId = iARRAY[ 0 ];
  74.     if ( iPlayerId )
  75.     {
  76.         if ( SQL_NumResults( iQuery ) > 0 )
  77.         {
  78.             SQL_ReadResult( iQuery, SQL_FieldNameToNum( iQuery, "utoljara" ), g_sLastOnline[ iPlayerId ], charsmax( g_sLastOnline[ ] ) );
  79.             Save( iPlayerId, 2 );
  80.         }
  81.         else
  82.         {
  83.             get_time( "%Y-%m-%d %H:%M:%S", g_sLastOnline[ iPlayerId ], charsmax( g_sLastOnline[ ] ) );
  84.             Save( iPlayerId, 1 );
  85.         }
  86.     }
  87.    
  88.     return;
  89. }


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  [ 20 hozzászólás ]  Oldal Előző 1 2


Ki van itt

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