hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 19:30



Jelenlévő felhasználók

Jelenleg 201 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 200 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  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Viprendszer lementése
HozzászólásElküldve: 2020.04.12. 18:05 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
Sziasztok találtam itt egy forrást, s ebből vip rendszert akarok csinálni.

Annyi dolog lenne, hogy hogyan tudnám lementeni SQL-el a időt?
Tehát a g_iTime -t kellene, de nem tudom, hogy hogyan lehetne azt lementeni.

Esetleg?
Len += formatex(Query[Len], charsmax(Query)-Len, "VipTime = ^"%i^", ", g_iTime [id]-get_user_time(id));


  1. public ido_levon(iId)
  2. {
  3.     if(g_iTime != 0)
  4.     {
  5.         g_iTime --;
  6.         g_Vip[iId] -= 1;
  7.         set_task(1.0, "ido_levon", iId);
  8.     }
  9.     else
  10.     {
  11.         if(task_exists(iId))
  12.             remove_task(iId);
  13.     }
  14. }
  15. public Idoprobaadd(iId)
  16. {  
  17. if(PremiumP[iId] >= 450)
  18. {
  19. PremiumP[iId] -= 450;
  20. g_Vip[iId] += 1;
  21. g_iTime += get_pcvar_num(g_cTime);
  22. ColorChat(iId, GREY, "Sikeresen megvásároltad a V.I.P Tagságot! (7 Nap-ra)");
  23. set_task(1.0, "ido_levon", iId);
  24. }
  25. else
  26. {
  27. ColorChat(iId, GREEN, "[Információ] ^1Nincs elég ^4PP-d!");
  28. }
  29. }
  30. public Idoproba(iId)
  31. {
  32.     if(g_iTime != 0)
  33.     {
  34.        
  35.         new iTimes[4];// iTimes[0] - sec, iTimes[1] - min, iTimes[2] - hr, iTimes[3] - d
  36.         iTimes[0] = g_iTime;
  37.         iTimes[1] = iTimes[0] / 60;
  38.         iTimes[2] = iTimes[1] / 60;
  39.         iTimes[3] = iTimes[2] / 24;
  40.         iTimes[0] = iTimes[0] - iTimes[1] * 60;
  41.         iTimes[1] = iTimes[1] - iTimes[2] * 60;
  42.         iTimes[2] = iTimes[2] - iTimes[3] * 24;
  43.         ColorChat(iId, GREY, "V.I.P Tagság lejárata: %i NNap %i Ora %i Perc %i Masodperc", iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  44.     }
  45.     else if(g_iTime == 0)
  46.     {
  47.         ColorChat(iId, GREY, "Nincs V.I.P Tagságod!");
  48.     }
  49. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Viprendszer lementése
HozzászólásElküldve: 2020.04.12. 20:11 
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
Alekvar írta:
Sziasztok találtam itt egy forrást, s ebből vip rendszert akarok csinálni.

Annyi dolog lenne, hogy hogyan tudnám lementeni SQL-el a időt?
Tehát a g_iTime -t kellene, de nem tudom, hogy hogyan lehetne azt lementeni.

Esetleg?
Len += formatex(Query[Len], charsmax(Query)-Len, "VipTime = ^"%i^", ", g_iTime [id]-get_user_time(id));


  1. public ido_levon(iId)
  2. {
  3.     if(g_iTime != 0)
  4.     {
  5.         g_iTime --;
  6.         g_Vip[iId] -= 1;
  7.         set_task(1.0, "ido_levon", iId);
  8.     }
  9.     else
  10.     {
  11.         if(task_exists(iId))
  12.             remove_task(iId);
  13.     }
  14. }
  15. public Idoprobaadd(iId)
  16. {  
  17. if(PremiumP[iId] >= 450)
  18. {
  19. PremiumP[iId] -= 450;
  20. g_Vip[iId] += 1;
  21. g_iTime += get_pcvar_num(g_cTime);
  22. ColorChat(iId, GREY, "Sikeresen megvásároltad a V.I.P Tagságot! (7 Nap-ra)");
  23. set_task(1.0, "ido_levon", iId);
  24. }
  25. else
  26. {
  27. ColorChat(iId, GREEN, "[Információ] ^1Nincs elég ^4PP-d!");
  28. }
  29. }
  30. public Idoproba(iId)
  31. {
  32.     if(g_iTime != 0)
  33.     {
  34.        
  35.         new iTimes[4];// iTimes[0] - sec, iTimes[1] - min, iTimes[2] - hr, iTimes[3] - d
  36.         iTimes[0] = g_iTime;
  37.         iTimes[1] = iTimes[0] / 60;
  38.         iTimes[2] = iTimes[1] / 60;
  39.         iTimes[3] = iTimes[2] / 24;
  40.         iTimes[0] = iTimes[0] - iTimes[1] * 60;
  41.         iTimes[1] = iTimes[1] - iTimes[2] * 60;
  42.         iTimes[2] = iTimes[2] - iTimes[3] * 24;
  43.         ColorChat(iId, GREY, "V.I.P Tagság lejárata: %i NNap %i Ora %i Perc %i Masodperc", iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  44.     }
  45.     else if(g_iTime == 0)
  46.     {
  47.         ColorChat(iId, GREY, "Nincs V.I.P Tagságod!");
  48.     }
  49. }


Ezt már leírtam hogyan kell lol
Mikor lelép a játékos töröld a taskot utána ments, nem kell lekerni a get_user_timeot :lol:.
Felesleges kivonnod plusz még a játékos fent töltött idejét a get_user_timeal mert taskolva van igyis vonja másodpercenként, amit meg lementesz az már nem a teljes 7 nap.


Mivel a g_iTime int tipusú:
plugin cfgbe:
  1. sLen += formatex(Query[sLen], charsmax(Query)-sLen, "`VIPido` int(11) NOT NULL,");


betoltes(load_thr) thrnel:
  1. g_iTime = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "VIPido"));


lecsatlakozasnal pedig(updatenal):
  1. sLen += formatex(Query[sLen], charsmax(Query)-sLen, "VIPido = ^"%i^", ", g_iTime);


lecsatlakozasnal:
  1. public client_disconnected(iId)
  2. {
  3.     if(!is_user_bot(iId))
  4.     {
  5.         //itt is nulalzod ami kell
  6.         if(task_exists(iId))
  7.             remove_task(iId);
  8.        
  9.         sql_save(iId);
  10.     }
  11. }


fellepesnel pedig betoltod:
  1. public client_connect(iId)
  2. {
  3.     if(!is_user_bot(iId))
  4.     {
  5.         //lenullazod amit le kell
  6.         sql_load(iId); betoltes utan pedig taskeolod ujra.. vagyis meghivod ido_levon(iId) publicot
  7.     }
  8. }


Elvileg igy kell. :/

_________________
"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: Viprendszer lementése
HozzászólásElküldve: 2020.04.13. 08:41 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
HellEnergY írta:
Alekvar írta:
Sziasztok találtam itt egy forrást, s ebből vip rendszert akarok csinálni.

Annyi dolog lenne, hogy hogyan tudnám lementeni SQL-el a időt?
Tehát a g_iTime -t kellene, de nem tudom, hogy hogyan lehetne azt lementeni.

Esetleg?
Len += formatex(Query[Len], charsmax(Query)-Len, "VipTime = ^"%i^", ", g_iTime [id]-get_user_time(id));


  1. public ido_levon(iId)
  2. {
  3.     if(g_iTime != 0)
  4.     {
  5.         g_iTime --;
  6.         g_Vip[iId] -= 1;
  7.         set_task(1.0, "ido_levon", iId);
  8.     }
  9.     else
  10.     {
  11.         if(task_exists(iId))
  12.             remove_task(iId);
  13.     }
  14. }
  15. public Idoprobaadd(iId)
  16. {  
  17. if(PremiumP[iId] >= 450)
  18. {
  19. PremiumP[iId] -= 450;
  20. g_Vip[iId] += 1;
  21. g_iTime += get_pcvar_num(g_cTime);
  22. ColorChat(iId, GREY, "Sikeresen megvásároltad a V.I.P Tagságot! (7 Nap-ra)");
  23. set_task(1.0, "ido_levon", iId);
  24. }
  25. else
  26. {
  27. ColorChat(iId, GREEN, "[Információ] ^1Nincs elég ^4PP-d!");
  28. }
  29. }
  30. public Idoproba(iId)
  31. {
  32.     if(g_iTime != 0)
  33.     {
  34.        
  35.         new iTimes[4];// iTimes[0] - sec, iTimes[1] - min, iTimes[2] - hr, iTimes[3] - d
  36.         iTimes[0] = g_iTime;
  37.         iTimes[1] = iTimes[0] / 60;
  38.         iTimes[2] = iTimes[1] / 60;
  39.         iTimes[3] = iTimes[2] / 24;
  40.         iTimes[0] = iTimes[0] - iTimes[1] * 60;
  41.         iTimes[1] = iTimes[1] - iTimes[2] * 60;
  42.         iTimes[2] = iTimes[2] - iTimes[3] * 24;
  43.         ColorChat(iId, GREY, "V.I.P Tagság lejárata: %i NNap %i Ora %i Perc %i Masodperc", iTimes[3], iTimes[2], iTimes[1], iTimes[0]);
  44.     }
  45.     else if(g_iTime == 0)
  46.     {
  47.         ColorChat(iId, GREY, "Nincs V.I.P Tagságod!");
  48.     }
  49. }


Ezt már leírtam hogyan kell lol
Mikor lelép a játékos töröld a taskot utána ments, nem kell lekerni a get_user_timeot :lol:.
Felesleges kivonnod plusz még a játékos fent töltött idejét a get_user_timeal mert taskolva van igyis vonja másodpercenként, amit meg lementesz az már nem a teljes 7 nap.


Mivel a g_iTime int tipusú:
plugin cfgbe:
  1. sLen += formatex(Query[sLen], charsmax(Query)-sLen, "`VIPido` int(11) NOT NULL,");


betoltes(load_thr) thrnel:
  1. g_iTime = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "VIPido"));


lecsatlakozasnal pedig(updatenal):
  1. sLen += formatex(Query[sLen], charsmax(Query)-sLen, "VIPido = ^"%i^", ", g_iTime);


lecsatlakozasnal:
  1. public client_disconnected(iId)
  2. {
  3.     if(!is_user_bot(iId))
  4.     {
  5.         //itt is nulalzod ami kell
  6.         if(task_exists(iId))
  7.             remove_task(iId);
  8.        
  9.         sql_save(iId);
  10.     }
  11. }


fellepesnel pedig betoltod:
  1. public client_connect(iId)
  2. {
  3.     if(!is_user_bot(iId))
  4.     {
  5.         //lenullazod amit le kell
  6.         sql_load(iId); betoltes utan pedig taskeolod ujra.. vagyis meghivod ido_levon(iId) publicot
  7.     }
  8. }


Elvileg igy kell. :/


client_connect-hez mit írjak, hogy meghívja a ido_levon publicot, mert most lementi és jó is, viszont ha lecsatlakozok nem vonja tovább az időt.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Viprendszer lementése
HozzászólásElküldve: 2020.04.13. 11:10 
Offline
Őskövület
Avatar

Csatlakozott: 2012.03.22. 18:22
Hozzászólások: 2978
Megköszönt másnak: 115 alkalommal
Megköszönték neki: 368 alkalommal
Nem hát. Így online megy csak. Offlinehoz get_systime kell.

_________________
Blasenkampfwagen

https://discord.gg/uBYnNnZP
GTA:PURSUIT MTA

Ők köszönték meg ultraibolya nek ezt a hozzászólást: HellEnergY (2020.04.13. 15:22)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Viprendszer lementése
HozzászólásElküldve: 2020.04.13. 11:24 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
ultraibolya írta:
Nem hát. Így online megy csak. Offlinehoz get_systime kell.


Es azt hogyan oldjam meg, mert így amikor le csatlakozok nem von semmit és amikor fellepek újra és beírom a parancsot nem von továbbra se semmit megall az idő, tehát nem vonja le.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Viprendszer lementése
HozzászólásElküldve: 2020.04.13. 11:48 
Offline
Őskövület
Avatar

Csatlakozott: 2012.03.22. 18:22
Hozzászólások: 2978
Megköszönt másnak: 115 alkalommal
Megköszönték neki: 368 alkalommal
De most mi a hiba?
Azt akarod hogy offline is levonja az időt vagy ha a szerveren van csak akkor és az nem működik?

_________________
Blasenkampfwagen

https://discord.gg/uBYnNnZP
GTA:PURSUIT MTA


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Viprendszer lementése
HozzászólásElküldve: 2020.04.13. 11:53 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
ultraibolya írta:
De most mi a hiba?
Azt akarod hogy offline is levonja az időt vagy ha a szerveren van csak akkor és az nem működik?

Igen azt akarom, ha nincs is fent akkor is teljen az idő.

Es ezzel az a baj, hogy nem vonja az időt ha nem vagyok fent, és amikor újra fellepek megall az idő, tehát 23 nap 58 perc 45 másodperc. (nem vonja le akkor se ha fent vagyok, ha újra csatlakozok azután nem vonja)


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


Ki van itt

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