hlmod.hu
https://hlmod.hu/

#ID rendszer beleirás
https://hlmod.hu/viewtopic.php?f=10&t=30666
Oldal: 1 / 1

Szerző:  Csabika20034 [ 2020.10.23. 12:57 ]
Hozzászólás témája:  #ID rendszer beleirás

Sziasztok nekem ebbe beletudná irni valaki
az ID-Rendszer?
  1. new Pont[33], Rang[33], CsPont[33], Oles[33], Masodpercek[33], Csomag[33], Vip[33]; //Kellékek
  2. new ujraeledes[33]=1, granyo[33]=1; //Bolt Kellékek
  3. new ajandek1, ajandek2, ajandek3 //Ajándékok
  4. new sebzok[32], sebzesek[32], sebzettek[32]; // Fragelsztó Kellékek
  5. new jumpnum[33] = 0, bool:dojump[33] = false; //Multijump Kellékek
  6. new CVAR_SPEED; // Gyorskés Kellék
  7. new cvar_afktime, cvar_afkimmunity, last_origins[33][3]; //AFK Kellékek
  8. new Temp[192], Handle:g_SqlTuple, Send[33], TempID; //AFK Kellékek
  9. static color[10];
  10. enum _:Rangs { Szint[32], Xp[8] }; //Rang Kellékek


  1. public AutoCheck()
  2. {
  3.     new p[32],n;
  4.     get_players(p,n,"ch");
  5.     for(new i=0;i<n;i++)
  6.     {
  7.         new id = p[i];
  8.         InfoHud(id);
  9.     }
  10. }
  11. public InfoHud(id)
  12. {  
  13.     if(is_user_alive(id))
  14.     {  
  15.         new iMasodperc, iPerc, iOra, Nev[32];
  16.         get_user_name(id, Nev, 31);
  17.         iMasodperc = Masodpercek[id] + get_user_time(id);
  18.         iPerc = iMasodperc / 60;
  19.         iOra = iPerc / 60;
  20.         iMasodperc = iMasodperc - iPerc * 60;
  21.         iPerc = iPerc - iOra * 60;
  22.        
  23.         set_hudmessage(127, 42, 255, -1.0, 0.0, 0, 6.0, 1.1, 0.0, 0.0, -1);
  24.         show_hudmessage(id, "WHX Pontod: %d | CsPont: %d | Rangod: %s^nJátszott idĹ‘d: %d:%d:%d", Pont[id], CsPont[id], Rangok[Rang[id]][Szint], iOra, iPerc, iMasodperc);
  25.     }
  26. }


  1. public plugin_cfg()
  2. {
  3.     g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
  4.    
  5.     static Query[10048];
  6.     new Len;
  7.    
  8.     Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `onlydll`");
  9.     Len += formatex(Query[Len], charsmax(Query)-Len, "(`Steamid` varchar(32) NOT NULL, ");
  10.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Pont` int(11) NOT NULL,");
  11.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Masodpercek` int(11) NOT NULL,");
  12.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Rang` int(11) NOT NULL,");
  13.     Len += formatex(Query[Len], charsmax(Query)-Len, "`CsPont` int(11) NOT NULL,");
  14.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Csomag` int(11) NOT NULL,");
  15.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,");
  16.     Len += formatex(Query[Len], charsmax(Query)-Len, "`Vip` int(11) NOT NULL,");
  17.    
  18.     Len += formatex(Query[Len], charsmax(Query)-Len, "`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
  19.    
  20.     SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
  21. }
  22. public Load(id) {
  23.     static Query[10048];
  24.     new Data[1], Steam[32];
  25.     get_user_authid(id, Steam, 31);
  26.     Data[0] = id;
  27.    
  28.     formatex(Query, charsmax(Query), "SELECT * FROM `onlydll` WHERE Steamid = ^"%s^";", Steam);
  29.     SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
  30. }
  31. public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  32.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  33.         log_amx("%s", Error);
  34.         return;
  35.     }
  36.     else {
  37.         new id = Data[0];
  38.     if(SQL_NumRows(Query) > 0)
  39.     {
  40.     Pont[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Pont"));
  41.     Masodpercek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Masodpercek"));
  42.     Rang[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Rang"));
  43.     CsPont[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "CsPont"));
  44.     Csomag[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Csomag"));
  45.     Oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
  46.     Vip[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Vip"));
  47.            
  48.         }
  49.         else
  50.         {
  51.             Save(id);
  52.         }
  53.     }
  54. }
  55. public Save(id)
  56. {
  57.     static Query[256];
  58.     new Steam[32]; get_user_authid(id, Steam, 31);
  59.    
  60.     formatex(Query, charsmax(Query), "INSERT INTO `onlydll` (`Steamid`) VALUES (^"%s^");", Steam);
  61.    
  62.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  63. }
  64. public Update(id)
  65. {
  66.     static Query[10048];
  67.     new Len;
  68.     new Steam[32]; get_user_authid(id, Steam, 31);
  69.    
  70.     Len += formatex(Query[Len], charsmax(Query), "UPDATE `onlydll` SET Pont = ^"%i^", ", Pont[id]);
  71.     Len += formatex(Query[Len], charsmax(Query)-Len, "Rang = ^"%i^", ", Rang[id]);
  72.     Len += formatex(Query[Len], charsmax(Query)-Len, "CsPont = ^"%i^", ", CsPont[id]);
  73.     Len += formatex(Query[Len], charsmax(Query)-Len, "Csomag = ^"%i^", ", Csomag[id]);
  74.     Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", Oles[id]);
  75.     Len += formatex(Query[Len], charsmax(Query)-Len, "Vip = ^"%i^", ", Vip[id]-get_user_time(id));
  76.    
  77.     Len += formatex(Query[Len], charsmax(Query)-Len, "Masodpercek = ^"%i^" WHERE Steamid = ^"%s^";", Masodpercek[id]+get_user_time(id), Steam);
  78.    
  79.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
  80. }
  81. public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  82.     if(FailState == TQUERY_CONNECT_FAILED)
  83.         set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
  84.     else if(FailState == TQUERY_QUERY_FAILED)
  85.         set_fail_state("Query Error");
  86.     if(Errcode)
  87.         log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
  88. }
  89. public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
  90.     if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
  91.         log_amx("%s", Error);
  92.         return;
  93.     }
  94. }
  95. public client_putinserver(id)
  96. {
  97.     Pont[id] = 0;
  98.     Masodpercek[id] = 0;
  99.     Rang[id] = 0;
  100.     Csomag[id] = 0;
  101.     Vip[id] = 0;
  102.     CsPont[id] = 0;
  103.     jumpnum[id] = 0;
  104.     dojump[id] = false;
  105.     Oles[id] = 0;

Köszönöm előre is.
UI: mármint szálomja pl aki feljön legyen neki ott a hudba hogy
(#ID10) ilyenre gondoltam.

Szerző:  HellEnergY [ 2020.10.23. 21:42 ]
Hozzászólás témája:  Re: #ID rendszer beleirás

public Load(id) thread részében kéred le, integer valtozoba.

Lekéred egy globális integer változóba a táblából az id-t(automatán növeli is).
Utána oda irod ahova akarod és jó lesz.
Elvileg tudnod kéne :?

Szerző:  Csabika20034 [ 2020.10.24. 12:31 ]
Hozzászólás témája:  Re: #ID rendszer beleirás

HellEnergY írta:
public Load(id) thread részében kéred le, integer valtozoba.

Lekéred egy globális integer változóba a táblából az id-t(automatán növeli is).
Utána oda irod ahova akarod és jó lesz.
Elvileg tudnod kéne :?

Sajnos nem tudom :(

Szerző:  ultraibolya [ 2020.10.24. 13:04 ]
Hozzászólás témája:  Re: #ID rendszer beleirás

Plugin eleje:

  1. new AccountId[33]


Ezt meg írd a public QuerySelectData-hez:

  1. AccountId[id]=SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "id"))


És tessék,be van töltve az acc id.
Kiírás:

  1. client_print(id,print_chat,"Account id-d (avagy hányadik regisztrált játékos vagy): %d",AccountId[id])


Szerk.:
Itt nem mentesz semmit ugye,mivel ez soha nem változik. (Kivéve ha te bűvészkedsz sqlben)
Annyit még hozzátennék,hogy nem tudom ha még nem regisztrált (nem volt fent még előtte) akkor mi lesz. Elvileg lefut a mentés ugye előtte amikor mindent nulláz,hogy benne legyen a játékos a rendszerben és megkapja egyből az id-t,viszont ezt még nem tudod beolvasni,mert ez amit most írtam nem fog lefutni.
Másodszorra mikor feljön viszont lesz egy kézzelfogható id-je.
(Bele tudtam volna azt is írni hogy egyből legyen,de csak egy fél forrást adtál,ahol nulláz új játékosnál azt pont nem mutattad meg nekünk)

Szerző:  Csabika20034 [ 2020.10.24. 14:06 ]
Hozzászólás témája:  Re: #ID rendszer beleirás

ultraibolya írta:
Plugin eleje:

  1. new AccountId[33]


Ezt meg írd a public QuerySelectData-hez:

  1. AccountId[id]=SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "id"))


És tessék,be van töltve az acc id.
Kiírás:

  1. client_print(id,print_chat,"Account id-d (avagy hányadik regisztrált játékos vagy): %d",AccountId[id])


Szerk.:
Itt nem mentesz semmit ugye,mivel ez soha nem változik. (Kivéve ha te bűvészkedsz sqlben)
Annyit még hozzátennék,hogy nem tudom ha még nem regisztrált (nem volt fent még előtte) akkor mi lesz. Elvileg lefut a mentés ugye előtte amikor mindent nulláz,hogy benne legyen a játékos a rendszerben és megkapja egyből az id-t,viszont ezt még nem tudod beolvasni,mert ez amit most írtam nem fog lefutni.
Másodszorra mikor feljön viszont lesz egy kézzelfogható id-je.
(Bele tudtam volna azt is írni hogy egyből legyen,de csak egy fél forrást adtál,ahol nulláz új játékosnál azt pont nem mutattad meg nekünk)

És az probléma ha nincs a skinrendszerbe regisztrációs rendszer?

Szerző:  ultraibolya [ 2020.10.24. 14:22 ]
Hozzászólás témája:  Re: #ID rendszer beleirás

Nem.
A 'regisztrációt' úgy értem hogy még nem volt fent szerveren,ergó még nincs a rendszerben.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/