hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 225 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 225 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 21 hozzászólás ]  Oldal 1 2 3 Következő
Szerző Üzenet
HozzászólásElküldve: 2020.06.10. 18:53 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
Sziasztok, hogyan lehet azt megoldani, hogy az idő akkor teljen, ha nem vagyok fent a szerveren?

Készítettem egy kiegészítőt amit csak 1 napra tudnak megvenni, de az a baj, hogy csak akkor telik ha fent van, hogyan tudnam azt megoldni, hogy akkor is teljen ha nem van fent a szerveren?


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.11. 21:55 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.01.28. 19:04
Hozzászólások: 135
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 44 alkalommal
Kód:
new gItemTime = get_systime() + 86400 // 1 nap másodpercekben

if(gItemTime >= get_systime())
     // Megvan az item
else
     // Nincs meg az item

_________________
[ MasterGaming ]

[ TS3 -- Discord ]
[ FB Oldal -- FB Csoport ]

[ CS1.6 Szerverek ]

Hamarosan


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.12. 17:59 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
Vieni írta:
Kód:
new gItemTime = get_systime() + 86400 // 1 nap másodpercekben

if(gItemTime >= get_systime())
     // Megvan az item
else
     // Nincs meg az item


Csináltam egy Vip rendszert is mellé, de ez is csak akkor vonja ha fent vagyok a szerveren.

  1. public vipEllenorzese1_0(id)
  2. {
  3.     if(Vipideje[id] >= 10) VanVip[id] = 1;
  4.     else VanVip[id] = 0;
  5. }


Mentés:
  1. Len += formatex(Query[Len], charsmax(Query)-Len, "VipIdeje = ^"%i^", ", Vipideje[id]-get_user_time(id));


Vagy itt a mentésnél kellene nekem a get_user_time helyére a get_systime-t?


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.17. 02:17 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.01.28. 19:04
Hozzászólások: 135
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 44 alkalommal
A get_systime rendszeridő másodpercekben. Nem kell levonni semmit, szimplán csak a get_systime-hoz hozzáadott időt menteni és betölteni, majd ellenőrzéskor megnézni, hogy túllépte-e már a rendszeridő azt az időt.

_________________
[ MasterGaming ]

[ TS3 -- Discord ]
[ FB Oldal -- FB Csoport ]

[ CS1.6 Szerverek ]

Hamarosan


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.18. 13:45 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
Vieni írta:
A get_systime rendszeridő másodpercekben. Nem kell levonni semmit, szimplán csak a get_systime-hoz hozzáadott időt menteni és betölteni, majd ellenőrzéskor megnézni, hogy túllépte-e már a rendszeridő azt az időt.


Egy példát tudnál mutatni?

Hozzá adtam így:

  1. Vipideje[id]  = get_systime() +  60*60*24*1;


És amikor lekértem a szerveren (idő , nap óra perc mp.) akkor teljesen rossz időt adott ki. (pl: 1140 nap) amikor 1 napot adtam hozzá.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.18. 16:22 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.01.28. 19:04
Hozzászólások: 135
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 44 alkalommal
Ügye a get_systime() másodpercenként egyel növekszik, így szimplán viptime[id] - get_systime() lesz a hátralévő idő. Logikusan ha minuszra jön ki, akkor már nem érvényes.

Kód:
viptime[id] = get_systime() + 60*60*24 // 1napra adás
 
 Pl. pontosan egy óra múlva lekérjük:
 viptime[id] - get_systime() = 60*60*23 //
 
 Még öt óra múlva..
 viptime[id] - get_systime() = 60*60*18
 
 Ezzel nézed meg, hogy rendelkezik-e vele:
 if(viptime[id] >= get_systime())
    //rendelkezik a vippel
 else
    //nincs vipje
 


Még két dolog megjegyezhető, az egyik, hogy ha azt szeretnéd, hogy ha rendelkezik már vele valaki, ne felülírja, de hosszabbítsa, ezt a kódot használhatod:
Kód:
if(viptime[id] >= get_systime())
    viptime[id] += 60*60*24// 1napos hosszabbítás
 else
    viptime[id] = get_systime() + 60*60*24 // Mostantóli egynapos adás


A másik pedig hogy ez rendszeridőt kér le másodpercekben. Szóval ha a szervergépen visszatekered az órát, akkor itt is kisebb lesz a get_systime(), ha előre, akkor nagyobb.(Csúszások lehetnek időzónákban, ha pontos dátumot akarsz kiíratni, hogy meddig van meg pl.)

_________________
[ MasterGaming ]

[ TS3 -- Discord ]
[ FB Oldal -- FB Csoport ]

[ CS1.6 Szerverek ]

Hamarosan


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.25. 14:56 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
Vieni írta:
Ügye a get_systime() másodpercenként egyel növekszik, így szimplán viptime[id] - get_systime() lesz a hátralévő idő. Logikusan ha minuszra jön ki, akkor már nem érvényes.

Kód:
viptime[id] = get_systime() + 60*60*24 // 1napra adás
 
 Pl. pontosan egy óra múlva lekérjük:
 viptime[id] - get_systime() = 60*60*23 //
 
 Még öt óra múlva..
 viptime[id] - get_systime() = 60*60*18
 
 Ezzel nézed meg, hogy rendelkezik-e vele:
 if(viptime[id] >= get_systime())
    //rendelkezik a vippel
 else
    //nincs vipje
 


Még két dolog megjegyezhető, az egyik, hogy ha azt szeretnéd, hogy ha rendelkezik már vele valaki, ne felülírja, de hosszabbítsa, ezt a kódot használhatod:
Kód:
if(viptime[id] >= get_systime())
    viptime[id] += 60*60*24// 1napos hosszabbítás
 else
    viptime[id] = get_systime() + 60*60*24 // Mostantóli egynapos adás


A másik pedig hogy ez rendszeridőt kér le másodpercekben. Szóval ha a szervergépen visszatekered az órát, akkor itt is kisebb lesz a get_systime(), ha előre, akkor nagyobb.(Csúszások lehetnek időzónákban, ha pontos dátumot akarsz kiíratni, hogy meddig van meg pl.)


Hozzá adtam így és kb 1440 napra adta meg a vipet, mi lehet a baj?


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.27. 13:58 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.01.28. 19:04
Hozzászólások: 135
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 44 alkalommal
Valamit elírtál valszeg xd

_________________
[ MasterGaming ]

[ TS3 -- Discord ]
[ FB Oldal -- FB Csoport ]

[ CS1.6 Szerverek ]

Hamarosan


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.27. 14:03 
Offline
Fanatikus

Csatlakozott: 2019.07.19. 10:58
Hozzászólások: 175
Megköszönt másnak: 37 alkalommal
Vieni írta:
Valamit elírtál valszeg xd

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


Mit irtam el ?


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2020.06.27. 14:12 
Offline
Tud valamit
Avatar

Csatlakozott: 2018.01.28. 19:04
Hozzászólások: 135
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 44 alkalommal
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?

_________________
[ MasterGaming ]

[ TS3 -- Discord ]
[ FB Oldal -- FB Csoport ]

[ CS1.6 Szerverek ]

Hamarosan


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  [ 21 hozzászólás ]  Oldal 1 2 3 Következő


Ki van itt

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