hlmod.hu
https://hlmod.hu/

Az idő akkor is teljen ha nem vagyok fent
https://hlmod.hu/viewtopic.php?f=9&t=30463
Oldal: 2 / 3

Szerző:  Alekvar [ 2020.06.27. 17:17 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Vieni írta:
Alekvar írta:
Vieni írta:
Valamit elírtál valszeg xd

  1. Vipideje[id] = get_systime() + 60*60*24*2 // Így adom hozzá.


Mit irtam el ?


Ellenörzés, mentés vagy beolvasás?


Mentésben szimplán levan mentve a Vipideje[id] - nincs semmi más.

Ellenörzés:

  1. public vipCheck(id)
  2. {
  3.  if(Vipideje[id] >= get_systime())
  4.     VanVip[id] = 1;
  5.  else
  6.     VanVip[id] = 0;
  7. }

Szerző:  Vieni [ 2020.06.28. 13:03 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Alekvar írta:
Mentésben szimplán levan mentve a Vipideje[id] - nincs semmi más.

Ellenörzés:

  1. public vipCheck(id)
  2. {
  3.  if(Vipideje[id] >= get_systime())
  4.     VanVip[id] = 1;
  5.  else
  6.     VanVip[id] = 0;
  7. }


vipCheck mikor fut le?

Szerző:  Alekvar [ 2020.06.28. 17:01 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Vieni írta:
Alekvar írta:
Mentésben szimplán levan mentve a Vipideje[id] - nincs semmi más.

Ellenörzés:

  1. public vipCheck(id)
  2. {
  3.  if(Vipideje[id] >= get_systime())
  4.     VanVip[id] = 1;
  5.  else
  6.     VanVip[id] = 0;
  7. }


vipCheck mikor fut le?


Másodpercenként ellenőrzöm.

  1. set_task(1.0, "AutoEllenorzes",_,_,_,"b");

Szerző:  Vieni [ 2020.06.28. 17:23 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Szerintem magában a visszafejtésben van a hiba, hogyan hívod le azt, hogy mennyi idő van belőle hátra?

Kód:
if(userHasVip(id))
   // Van vip
else
   // Nincs vip

userHasVip(id)
{
   if(gVipTime[id] >= get_systime())
      return true
   
   return false
}


Én valahogy így oldanám meg az ellenőrzését egyébként

Szerző:  Alekvar [ 2020.06.30. 12:08 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Vieni írta:
Szerintem magában a visszafejtésben van a hiba, hogyan hívod le azt, hogy mennyi idő van belőle hátra?

Kód:
if(userHasVip(id))
   // Van vip
else
   // Nincs vip

userHasVip(id)
{
   if(gVipTime[id] >= get_systime())
      return true
   
   return false
}


Én valahogy így oldanám meg az ellenőrzését egyébként


Tudnál egy konkrétumot mutatni, mert sajnos nekem sehogy se jön össze. :/

Szerző:  HellEnergY [ 2020.06.30. 12:46 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Alekvar írta:
Vieni írta:
Valamit elírtál valszeg xd

  1. Vipideje[id] = get_systime() + 60*60*24*2 // Így adom hozzá.


Mit irtam el ?


Addig oké hogy így adod hozzá, de hogyan formatálod az időt ? Talááááán az a hiba.

Szerző:  Alekvar [ 2020.06.30. 15:04 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

HellEnergY írta:
Alekvar írta:
Vieni írta:
Valamit elírtál valszeg xd

  1. Vipideje[id] = get_systime() + 60*60*24*2 // Így adom hozzá.


Mit irtam el ?


Addig oké hogy így adod hozzá, de hogyan formatálod az időt ? Talááááán az a hiba.


  1. format_time(sTime , charsmax(sTime), "%d -%H:%M:%S", g_VipTime[id]);
  2. if(g_VipTime[id] >= get_systime())
  3. formatex(String, charsmax(String), "\wVip^n\w Aktivitás: (\r%s)",  sTime);
  4. else
  5. formatex(String, charsmax(String), "\wVip:\y Nincs^n\d");
  6. menu_additem(menu, String, "1",0);


Szerintem nem jól van megformálva, de így nem vonja az időt, így irja ki: 02-14:57:21 -Amikor megvettem és nem vonja.
Ellenőrzés-e pedig:
  1. vipCheck(id)
  2. {
  3.    if(g_VipTime[id] >= get_systime())
  4.       return true;
  5.    
  6.    return false;
  7. }

Szerző:  Vieni [ 2020.06.30. 17:49 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Idézet:
  1. Pl. pontosan egy óra múlva lekérjük:
  2.  viptime[id] - get_systime() = 60*60*23
  3.  
  4.  Még öt óra múlva..
  5.  viptime[id] - get_systime() = 60*60*18

Szóval ha visszaszámlálva szeretnéd, csak szimplán lekell vonni a vipTime[id]-ből a get_systime()-ot. Ha mínusz érték lesz, nincs vip, azaz a mínusz értékre érdemes egy if-et írni, ami ha igaz, 0-át íratsz ki. Valamint ez ügye másodpercben adja vissza!

Amit te használsz formátum, az konkrét időt kér le, mármint, hogy melyik évben, hányadik hónapban, hányadikán, hány órakor, perckor és másodperckor jár le.

  1. format_time(sTime , charsmax(sTime), "%Y/%m/%d - %H:%M:%S", g_VipTime[id]);
  2. // Év/Hónap/Nap - Óra:Perc:Másodperc


Ügye ezekből levehető, hogy:
  • %Y = Év
  • %m = Hónap
  • %d = Nap
  • %H = Óra
  • %M = Perc
  • %S = Másodperc

Ref: https://www.amxmodx.org/api/amxmodx/format_time

Szerző:  Alekvar [ 2020.06.30. 18:46 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

Vieni írta:
Idézet:
  1. Pl. pontosan egy óra múlva lekérjük:
  2.  viptime[id] - get_systime() = 60*60*23
  3.  
  4.  Még öt óra múlva..
  5.  viptime[id] - get_systime() = 60*60*18

Szóval ha visszaszámlálva szeretnéd, csak szimplán lekell vonni a vipTime[id]-ből a get_systime()-ot. Ha mínusz érték lesz, nincs vip, azaz a mínusz értékre érdemes egy if-et írni, ami ha igaz, 0-át íratsz ki. Valamint ez ügye másodpercben adja vissza!

Amit te használsz formátum, az konkrét időt kér le, mármint, hogy melyik évben, hányadik hónapban, hányadikán, hány órakor, perckor és másodperckor jár le.

  1. format_time(sTime , charsmax(sTime), "%Y/%m/%d - %H:%M:%S", g_VipTime[id]);
  2. // Év/Hónap/Nap - Óra:Perc:Másodperc


Ügye ezekből levehető, hogy:
  • %Y = Év
  • %m = Hónap
  • %d = Nap
  • %H = Óra
  • %M = Perc
  • %S = Másodperc

Ref: https://www.amxmodx.org/api/amxmodx/format_time


Hogyan vonjam le a get_systime-t? Ellenőrzésem nem jó akkor?

Szerző:  Vieni [ 2020.06.30. 19:07 ]
Hozzászólás témája:  Re: Az idő akkor is teljen ha nem vagyok fent

vipTime[id] - get_systime() = hátramaradt idő másodpercekben

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