Problem(error/warning): Zeleo bih da napravim pri komandi /makevip da se vip posle 30 dana sam skine (nezavisno dal je igrac online ili offline), gledao sam po internetu ali nisam uspeo u tome, ako bi neko mogo ovde da mi pojasni kako sta treba da radim
Dio skripte: [ pawn ]dacu sta treba[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]/[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): /
Vremensko skidanje VIP-levela
1,527
pregleda
19
postova
pre 7 godina
Zasto ne napravis sate vipa?
Npr
Vip 1 ima 1000h
Vip 2 ima 2000h i tako
Kada dajes komandu /makevip samo napravis tajmer koji ce mjeriti kada taj igrac udje na server i da mu skida sate i kad dodje do kraja da nema više permisije da koristi komande?
To je samo prijedlog jer ti je to laganije.
Npr
Vip 1 ima 1000h
Vip 2 ima 2000h i tako
Kada dajes komandu /makevip samo napravis tajmer koji ce mjeriti kada taj igrac udje na server i da mu skida sate i kad dodje do kraja da nema više permisije da koristi komande?
To je samo prijedlog jer ti je to laganije.
pre 7 godina
Ako zelis preko sati da napravis onda moras pomocu ovoga https://wiki.sa-mp.com/wiki/Gettime da bih radilo i kada je offline.
Ukoliko zelis preko dana jednostavno ti treba 1 varijabla na kojoj ces sacuvati datum isteka vipa potom napravis proveru kada igrac ulazi na server da proverava datum sa datumom isteka i ukoliko prodje datum napravis da mu skine vipa takodje jednostavno.
Ukoliko zelis preko dana jednostavno ti treba 1 varijabla na kojoj ces sacuvati datum isteka vipa potom napravis proveru kada igrac ulazi na server da proverava datum sa datumom isteka i ukoliko prodje datum napravis da mu skine vipa takodje jednostavno.
pre 7 godina
static
expires_at;
// 30 dana, 1 dan je 86400 sekundi, 30 * 86400 = 30 dana u sekundama
expires_at = gettime() + (30 * 86400);
// ako je vrijeme sadasnje vece od vremena postavljanja skidas mu vipa
if(gettime() > expires_at) {
// istekao vip
}
pre 7 godina
¤ Cadilab 笨蛋 wrote on December 22, 2018, 2:34 pm:
static
expires_at;
// 30 dana, 1 dan je 86400 sekundi, 30 * 86400 = 30 dana u sekundama
expires_at = gettime() + (30 * 86400);
// ako je vrijeme sadasnje vece od vremena postavljanja skidas mu vipa
if(gettime() > expires_at) {
// istekao vip
}Gde treba to da ide ? ne kontam bas najbolje
pre 7 godina
Suttix wrote on December 22, 2018, 6:01 pm:
Napravi provjeru da kada igrac udje na server da mu uzme vrijednosti datuma isteka vipa i onda provjeri ukoliko je taj datum prosao prikazi mu poruku da mu je vip istekao i set mu vipa na 0.
Kako to treba da izgleda odprilike jer se prvi put susrecem sa ovim.
pre 7 godina
// Ovo je za provjeru isteka vipa
new god,mjesec,dan; GetDate(god, mjesec, dan);
if(PlayerInfo < god) { SendClientMessage(playerid, -1, "Istekao vam je vip"); PlayerInfo = 0; }
else if(PlayerInfo == god && PlayerInfo < mjesec) { SendClientMessage(playerid, -1, "Istekao vam je vip"); PlayerInfo = 0; }
else if(PlayerInfo == god && PlayerInfo == mjesec && PlayerInfo < dan) { SendClientMessage(playerid, -1, "Istekao vam je vip"); PlayerInfo = 0; }
pre 7 godina
Suttix wrote on December 23, 2018, 10:27 am:
// Ovo je za provjeru isteka vipa
new god,mjesec,dan; GetDate(god, mjesec, dan);
if(PlayerInfo < god) { SendClientMessage(playerid, -1, "Istekao vam je vip"); PlayerInfo = 0; }
else if(PlayerInfo == god && PlayerInfo < mjesec) { SendClientMessage(playerid, -1, "Istekao vam je vip"); PlayerInfo = 0; }
else if(PlayerInfo == god && PlayerInfo == mjesec && PlayerInfo < dan) { SendClientMessage(playerid, -1, "Istekao vam je vip"); PlayerInfo = 0; }
if(PlayerInfo < god) a sta ako ga stavi 31. decembra pa dodje 1. januar?
CMD:makevip(playerid, params[])
{
PlayerInfo = gettime() + (30 * 86400);
return 1;
}
stock ProveraVipa(playerid)
{
if(gettime() > PlayerInfo )
{
PlayerInfo = 0;
}
return 1;
}
pre 7 godina
rizla wrote on December 23, 2018, 11:08 am:
if(PlayerInfo < god) a sta ako ga stavi 31. decembra pa dodje 1. januar?
CMD:makevip(playerid, params[])
{
PlayerInfo = gettime() + (30 * 86400);
return 1;
}
stock ProveraVipa(playerid)
{
if(gettime() > PlayerInfo )
{
PlayerInfo = 0;
}
return 1;
}
jel njemu vreme tece i kad je offline ?
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava