Problem(error/warning): Kada sam ubacio sat na server nece da menja vreme tipa ako je 21:00 nece da se promeni sve dok ne uradim restart i kad uradim restart onda se promeni ali se posle ne menja sta da radim?
Deo skripte:[pawn] new hou,mou;
gettime(hou,mou);
new srk[64];
format(srk, 64, "~w~%02d~w~:~w~%02d",hou,mou);
TextDrawSetString(TDEditor_TD[30], srk);[/pawn]
Napravi novi timer od 60 sekundi, zatim stavi taj kod unutar tog timera:
Koristeci y_timers:
[pawn]task NekiTamoTimer[60000]()
{
new hou,mou;
gettime(hou,mou);
new srk[64];
format(srk, 64, "~w~%02d~w~:~w~%02d",hou,mou);
TextDrawSetString(TDEditor_TD[30], srk);
}[/pawn]
Iznad je timer koji na svakih 60 sekundi postavi vreme, samo ovo stavis u skriptu, include-as y_timers i tjt, sve ce odraditi za tebe, ne moras da ga pozivas niti bilo sta drugo :)
Citat: V01D poslato April 28, 2020, 03:07:36 PRE PODNE
Napravi novi timer od 60 sekundi, zatim stavi taj kod unutar tog timera:
Koristeci y_timers:
[pawn]task NekiTamoTimer[60000]()
{
new hou,mou;
gettime(hou,mou);
new srk[64];
format(srk, 64, "~w~%02d~w~:~w~%02d",hou,mou);
TextDrawSetString(TDEditor_TD[30], srk);
}[/pawn]
Iznad je timer koji na svakih 60 sekundi postavi vreme, samo ovo stavis u skriptu, include-as y_timers i tjt, sve ce odraditi za tebe, ne moras da ga pozivas niti bilo sta drugo :)
Ne koristim taj tajmer koristim one SetTimer i SetTimerEx.... znam da ne bi trebalo ali sta da radim kad je ceo mod na tome i ne mogu da menjam, da li postoji neki nacin da pored tih tajmera ubacim i ovaj nekako? jer ako #include YSI/y_timers onda pise kao da je simbol vec definisan
Da ga nisi vec include?? Sta se desi ako stavis ovo sto sam ti poslao negde unutar skripter ( da napomenem, van svakog callbacka, svake funkcije itd.. )
Takodje mozes uraditi i preko SetTimer i SetTimerEx, samo sto taj timer moras da pozoves..
Ako me secanje dobro sluzi, upotreba je ovakva:
[pawn]public OnGameModeInit()
{
SetTimer("Vreme", 60000, 1); //Pozivamo timer i stavimo da se konstantno ponavlja
}
forward Vreme(playerid); //Ovo dodas unutar skripte isto kao i za task
public Vreme(playerid)
{
new hou,mou;
gettime(hou,mou);
new srk[64];
format(srk, 64, "~w~%02d~w~:~w~%02d",hou,mou);
TextDrawSetString(TDEditor_TD[30], srk);
}[/pawn]
Eh sada, takodje mozes da koristis i callback OnPlayerUpdate, on je nesto slicno timeru od 1 sekunde. Ali za tim nema potrebe..
Citat: V01D poslato April 28, 2020, 11:57:39 PRE PODNE
Da ga nisi vec include?? Sta se desi ako stavis ovo sto sam ti poslao negde unutar skripter ( da napomenem, van svakog callbacka, svake funkcije itd.. )
Takodje mozes uraditi i preko SetTimer i SetTimerEx, samo sto taj timer moras da pozoves..
Ako me secanje dobro sluzi, upotreba je ovakva:
[pawn]public OnGameModeInit()
{
SetTimer("Vreme", 60000, 1); //Pozivamo timer i stavimo da se konstantno ponavlja
}
forward Vreme(playerid); //Ovo dodas unutar skripte isto kao i za task
public Vreme(playerid)
{
new hou,mou;
gettime(hou,mou);
new srk[64];
format(srk, 64, "~w~%02d~w~:~w~%02d",hou,mou);
TextDrawSetString(TDEditor_TD[30], srk);
}[/pawn]
Eh sada, takodje mozes da koristis i callback OnPlayerUpdate, on je nesto slicno timeru od 1 sekunde. Ali za tim nema potrebe..
Error mislim da je mozda zato sto sam dodao ono forward na vrh skripte jer nisam skontao gde tacno treba
invalid expression, assumed zero
C:\Users\uSER\Desktop\MOd13\gamemodes\BEofficial.pwn(118115) : error 029: invalid expression, assumed zero
C:\Users\uSER\Desktop\MOd13\gamemodes\BEofficial.pwn(118115) : error 004: function "Vreme" is not implemented
Pawn compiler 3.10.4 Copyright (c) 1997-2006, ITB CompuPhase
Hmmm, ovo ce biti problem posto ne radim sa obicnim timerima xDD
Probaj ovako nesto:
[pawn]forward Vreme();
public Vreme()
{
new hou,mou;
gettime(hou,mou);
new srk[64];
format(srk, 64, "~w~%02d~w~:~w~%02d",hou,mou);
TextDrawSetString(TDEditor_TD[30], srk);
}[/pawn]
Takodje da napomenem da forward mozes dodati apsolutno bilo gde, samo da ga ima :D
Citat: V01D poslato April 28, 2020, 12:34:38 POSLE PODNE
Hmmm, ovo ce biti problem posto ne radim sa obicnim timerima xDD
Probaj ovako nesto:
[pawn]forward Vreme();
public Vreme()
{
new hou,mou;
gettime(hou,mou);
new srk[64];
format(srk, 64, "~w~%02d~w~:~w~%02d",hou,mou);
TextDrawSetString(TDEditor_TD[30], srk);
}[/pawn]
Takodje da napomenem da forward mozes dodati apsolutno bilo gde, samo da ga ima :D
A mogu li nekako da koristim i Y_timers i SetTimer, SetTimerEx?
Naravno da mozes, probaj ubaci task i vidi sta ce biti.
[pawn]#include <YSI\y_timers> //Zavisi od verzije YSI-a, ali svakako ce ti pisati[/pawn]
Probaj prvo da ga ne include-as, posto si gore naveo da ti izbaci da simbol nije definisan??
Ako se to opet desi, posalji liniju gde baca i ceo error
Ovo mi izlazi bez include
error 010: invalid function or declaration
A ovo kada includam
C:\Users\uSER\Desktop\MOd13\gamemodes\BEofficial.pwn(123518) : error 010: invalid function or declaration
C:\Users\uSER\Desktop\MOd13\gamemodes\BEofficial.pwn(123518) : error 021: symbol already defined: "_Timer_F"
C:\Users\uSER\Desktop\MOd13\gamemodes\BEofficial.pwn(123518) : error 054: unmatched closing brace ("}")
C:\Users\uSER\Desktop\MOd13\gamemodes\BEofficial.pwn(123518) : fatal error 107: too many error messages on one line
Na liniji
[pawn]FUNCTION: stop()//ovoj
{
countzapocet = false;
return true;
}[/pawn]