Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: rOLDen poslato Oktobar 18, 2019, 14:57:03 POSLE PODNE

Naslov: Happy Job/Hour bez komande
Poruka od: rOLDen poslato Oktobar 18, 2019, 14:57:03 POSLE PODNE
Problem(error/warning): Zanima me kako staviti nesto da se događa prema stvarnom vremenu. Tipa, pokusavam napraviti happy hour i job, kao sto imaju neki serveri, ali bez komande za te stvari nego da server sam ocita da se happy hour odvija od 20:00 do 21:00 a happy job od 16:00 do 18:00? Ne treba mi nikakav kod za te stvari jer sam ih napravio. Zanima me samo sta trebam napisat da se odvijaju prema stvarnom vremenu u odredjenom terminu?
Dio skripte: Nije potrebno
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: Riv3R4 poslato Oktobar 18, 2019, 17:57:09 POSLE PODNE
Ovisno od moda do moda na nekima imas publice a na nekima taskove na novijim su ti taskovi npr task synctime kod ATH/SM moda, eh tu ako vec nemas definisano za sate mada bi trebao imati radis ovo


new tmphour,
    tmpminute,
    tmpsecond;


gettimeEx( tmphour, tmpminute, tmpsecond );


sada tu negdje u tom tasku mozes uraditi ovaj nacin


if( tmphour == 20 && tmpminute == 1) {

// kod za happy hour

}


i sada koristis taj isti kod samo pomjeris tmphour na 21 i stavljas kod za prekidanje happy houra.

Ovo je bilo na brzinu ali mislim da je dovoljno da skontas
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: rOLDen poslato Oktobar 18, 2019, 19:27:43 POSLE PODNE
Hvala ti na pomoći. Uspio sam napraviti kako si rekao i radi. Samo mi se pojavio mali problemčić a to su 2 Warninga.
Slika. (https://imgur.com/8kpVfRL)
Jel se ovo radi možda o tome da sam negdje nešto preskočio ili zamijenio?
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: bunta poslato Oktobar 18, 2019, 23:19:22 POSLE PODNE
daj te dve linije koda
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: rOLDen poslato Oktobar 27, 2019, 22:24:25 POSLE PODNE
Citat: bunta poslato Oktobar 18, 2019, 23:19:22 POSLE PODNE
daj te dve linije koda

for(new i=0;i<MAX_PLAYERS;i++)
if(hour == 19 && minute == 00)
{
SendClientMessage(i, COLOR_GOLD, "INFO: Vrijeme je za Happy Job - Iskoristite ovaj sat i ostanite online.");
TextDrawShowForPlayer(i, Happyjob[i]);
PlayerInfo[i][happyjob] = 1; //WARNING JE U OVOJ LINIJI
}
else if(hour == 20 && minute == 00)
{
SendClientMessage(i, COLOR_GOLD, "INFO: Happy Job vrijeme je zavrsilo - nadamo se da ste iskoristili ovo vrijeme.");
TextDrawHideForPlayer(i, Happyjob[i]);
PlayerInfo[i][happyjob] = 0; //WARNING JE U OVOJ LINIJI
}
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: malipablo poslato Oktobar 27, 2019, 23:00:01 POSLE PODNE
PlayerInfo[happyjob] ti je verovatno boolean tipa tako da umesto 0 i 1 ide false i true.

Savetujem ti da sklonis taj happyjob iz player infa i stavis kao globalnu varijablu koju ce svi moci da koriste jer ovako ako neko izadje sa servera a ti mu ne skines, ostace mu happyjob ukljucen + server mora da se pomuci da to svakom igracu postavi + posalje poruku i proveri istovremeno.

primer:

[pawn]
vrh skripte:

new bool:happyjob;


provera:

if(hour == 19){
    SendClientMessageToAll(BOJA, "INFO: Vrijeme je za Happy Job - Iskoristite ovaj sat i ostanite online.");
    foreach(new i: Player) TextDrawShowForPlayer(i, Happyjob);
    happyjob = true;
}
else if(happyjob == true && hour != 19){
    SendClientMessageToAll(BOJA,"INFO: Happy Job vrijeme je zavrsilo - nadamo se da ste iskoristili ovo vrijeme.");
    foreach(new i: Player) TextDrawHideForPlayer(i, Happyjob);
    }
    happyjob = false;
}
[/pawn]
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: rOLDen poslato Oktobar 27, 2019, 23:22:16 POSLE PODNE
Pokušao sam i dobio sljedeći warning:

CENZURA : warning 219: local variable "i" shadows a variable at a preceding level
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: BitchLasagnazz poslato Oktobar 28, 2019, 00:25:42 PRE PODNE
Update streamer!
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: ░▒▓█►Manjane◄█▓▒░ poslato Oktobar 28, 2019, 13:42:03 POSLE PODNE
Citat: Aaron poslato Oktobar 27, 2019, 22:24:25 POSLE PODNE

for(new i=0;i<MAX_PLAYERS;i++)
if(hour == 19 && minute == 00)
{
SendClientMessage(i, COLOR_GOLD, "INFO: Vrijeme je za Happy Job - Iskoristite ovaj sat i ostanite online.");
TextDrawShowForPlayer(i, Happyjob[i]);
PlayerInfo[i][happyjob] = 1; //WARNING JE U OVOJ LINIJI
}
else if(hour == 20 && minute == 00)
{
SendClientMessage(i, COLOR_GOLD, "INFO: Happy Job vrijeme je zavrsilo - nadamo se da ste iskoristili ovo vrijeme.");
TextDrawHideForPlayer(i, Happyjob[i]);
PlayerInfo[i][happyjob] = 0; //WARNING JE U OVOJ LINIJI
}

Koristi Foreach
[pawn]for(new i=0;i<MAX_PLAYERS;i++)[/pawn]
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: ░▒▓█►Manjane◄█▓▒░ poslato Oktobar 28, 2019, 13:42:33 POSLE PODNE
Citat: BitchLasagna poslato Oktobar 28, 2019, 00:25:42 PRE PODNE
Update streamer!
A ti da prestanes da lupas sa tvojim strimerom :)
Naslov: Odg: Happy Job/Hour bez komande
Poruka od: rOLDen poslato Oktobar 28, 2019, 16:48:55 POSLE PODNE
Rješeno. Hvala svima na pomoći. Lock.