Započeo TONY x
•14. Feb. 2018.• ZaključanoJail
703
pregleda
6
postova
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
330
Postovi:
64
Teme:
Pridružio se:Jul 2017
14. Feb. 2018.
Detaljan opis problema😛a radim "Jail" komandu prvi put i sada problemi su ogromni;Vreme bude uvek 77 nepusta ga posle tog vremena skoro uvek kaze da komanda nepostoji(misli da je pogrean id ,znam jer kada je bil oto rekao je pogresan id a nije bio i ) i kada se loginuje ne stavi ga u jail.Pored popravke ako neko moze da mi uopste sredi komandu ili bar objasni greske za koje verujem da ima mnogo kaze kako da resim
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Dio skripte:
CMD:jail(playerid,params[])
{
if(PlayerData < 1) return SCM(playerid, CRVENA,"Morate biti ulogovani da bi ste koristili ovu komandu");
if(PlayerData < 1) return SCM(playerid, CRVENA,"Morate biti na "plava"duznosti "crvena"kako bi koristili ovu komandu");
if(PlayerData >= 1 || PlayerData >= 2)
{
new targetid,vreme,razlog,txt;
if(sscanf(params,"uds", targetid,vreme,razlog)) return SCM(playerid, NARANDZASTA,"INFO:/jail [vreme(minute)] ");
//if(PlayerData >= PlayerData) return SCM(playerid, CRVENA,"Odabrani korisnik je isti ili veci administratorski level od vas");
//if(PlayerData >= PlayerData) return SCM(playerid, CRVENA,"Odabrani igarc je isti ili veci asistent level od vas");
//if(PlayerData >= 1 && PlayerData >= 1) return SCM(playerid, CRVENA,"Asistent nemoze jailati administratora");
GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);
GetPlayerName(targetid,pName, MAX_PLAYER_NAME);
format(txt,sizeof(txt),""crvena"JAIL || A | AS %s je jailao igraca %s,razlog: %s",Nam,pName,razlog);
SCMTA(-1,txt);
SetPlayerPos(playerid, 2543.462646,-1308.379882,1026.728393);
SetPlayerInterior(playerid, 2);
SetPlayerVirtualWorld(playerid, 1);
format(txt,sizeof(txt),"~y~Jailan ~r~%d",vreme);
GameTextForPlayer(playerid,txt,3000,3);
SetTimerEx("JailGotov", vreme*60000, false, "i", playerid);
}
return 1;
}forward JailGotov(playerid);
public JailGotov(playerid)
{
SetPlayerPos(playerid, 2351.3213,-36.1563,26.4844);
SetPlayerInterior(playerid, -1);
SetPlayerVirtualWorld(playerid, 0);
SCM(playerid, NARANDZASTA,"Pusteni ste iz robije,pokusajte biti bolji gradjanin");
if(PlayerData >= 1 || PlayerData >= 1)
{
new str;
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
format(str,sizeof(str),"Igrac %s je pusten na slobodu(iz jaila)!",pName);
SCM(playerid, ZUTA,str);
}
return 1;
} if(PlayerData >= 1) //OVO JE U POSLE LOGINA
{
new str;
SetTimerEx("JailGotov", PlayerData*60000, false, "i", playerid);
SetPlayerPos(playerid, 2543.462646,-1308.379882,1026.728393);
SetPlayerInterior(playerid, 2);
SetPlayerVirtualWorld(playerid, 1);
format(str,sizeof(str),"~y~Jailan jos ~r~%d",PlayerData);
GameTextForPlayer(playerid,str,3000,3);
}Neke slike/video za lakse dobivanje pomoci(neobavezno):
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
240
Postovi:
14
Teme:
Pridružio se:Avg. 2013
15. Feb. 2018.
Ova provera se nikada ne desava zato sto nikada ne postavis vrednost za JailVreme.
U komandu postavi recimo
Mada ovakav vid tajmera za zatvor je veoma los, jer ako ti skripta nije optimizovana moze da pukne/istekne pre vremena zato sto je ovo sannp i retardiran je. Najbolje bi bilo da uradis komandu jail ovako tj. da dodas ove stvari u komandu.
ionda u funkciju za oduzimanje vremena dodas nesto ovako
Izbegavaj globalne tajmere za ovakve stvari, smece su globalni tajmeri.
Napisao sam sve i svasta, manje vise nepovezano je sve tako da ono ako ti nije nesto jasno, pojasnicu ti malo bolje.
if(PlayerData >= 1) U komandu postavi recimo
PlayerData = 1; Jer koristis tajmer koji traje koliko mu traje jail vreme, i onda kada mu istekne vreme samo postavis to na 0.Mada ovakav vid tajmera za zatvor je veoma los, jer ako ti skripta nije optimizovana moze da pukne/istekne pre vremena zato sto je ovo sannp i retardiran je. Najbolje bi bilo da uradis komandu jail ovako tj. da dodas ove stvari u komandu.
PlayerData = vreme*60;
ZatvorOdbrojavanje = SetTimerEx("OduzmiVremeZatvora", 1000, true, "d", playerid);
ionda u funkciju za oduzimanje vremena dodas nesto ovako
forward public OduzmiVremeZatvora(playerid);
public OduzmiVremeZatvora(playerid)
{
PlayerData--;
if(PlayerData < 0)
{
//stagod
}
return 1;
}
Izbegavaj globalne tajmere za ovakve stvari, smece su globalni tajmeri.
Napisao sam sve i svasta, manje vise nepovezano je sve tako da ono ako ti nije nesto jasno, pojasnicu ti malo bolje.
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
330
Postovi:
64
Teme:
Pridružio se:Jul 2017
15. Feb. 2018.
.бутиган wrote on February 15, 2018, 12:10 pm:
Ova provera se nikada ne desava zato sto nikada ne postavis vrednost za JailVreme.
U komandu postavi recimo
Mada ovakav vid tajmera za zatvor je veoma los, jer ako ti skripta nije optimizovana moze da pukne/istekne pre vremena zato sto je ovo sannp i retardiran je. Najbolje bi bilo da uradis komandu jail ovako tj. da dodas ove stvari u komandu.
ionda u funkciju za oduzimanje vremena dodas nesto ovako
Izbegavaj globalne tajmere za ovakve stvari, smece su globalni tajmeri.
Napisao sam sve i svasta, manje vise nepovezano je sve tako da ono ako ti nije nesto jasno, pojasnicu ti malo bolje.
if(PlayerData >= 1) U komandu postavi recimo
PlayerData = 1; Jer koristis tajmer koji traje koliko mu traje jail vreme, i onda kada mu istekne vreme samo postavis to na 0.Mada ovakav vid tajmera za zatvor je veoma los, jer ako ti skripta nije optimizovana moze da pukne/istekne pre vremena zato sto je ovo sannp i retardiran je. Najbolje bi bilo da uradis komandu jail ovako tj. da dodas ove stvari u komandu.
PlayerData = vreme*60;
ZatvorOdbrojavanje = SetTimerEx("OduzmiVremeZatvora", 1000, true, "d", playerid);
ionda u funkciju za oduzimanje vremena dodas nesto ovako
forward public OduzmiVremeZatvora(playerid);
public OduzmiVremeZatvora(playerid)
{
PlayerData--;
if(PlayerData < 0)
{
//stagod
}
return 1;
}
Izbegavaj globalne tajmere za ovakve stvari, smece su globalni tajmeri.
Napisao sam sve i svasta, manje vise nepovezano je sve tako da ono ako ti nije nesto jasno, pojasnicu ti malo bolje.
Razumeo sam sta si hteo i pomoglo mi je,ali pokusao sam da izmenim malo i da koristim UP sistem i tako radi sa globalnim ali ugl hvala
OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
2,562
Postovi:
56
Teme:
Pridružio se:Apr. 2016
15. Feb. 2018.
.бутиган wrote on February 15, 2018, 12:10 pm:
Ova provera se nikada ne desava zato sto nikada ne postavis vrednost za JailVreme.
U komandu postavi recimo
Mada ovakav vid tajmera za zatvor je veoma los, jer ako ti skripta nije optimizovana moze da pukne/istekne pre vremena zato sto je ovo sannp i retardiran je. Najbolje bi bilo da uradis komandu jail ovako tj. da dodas ove stvari u komandu.
ionda u funkciju za oduzimanje vremena dodas nesto ovako
Izbegavaj globalne tajmere za ovakve stvari, smece su globalni tajmeri.
Napisao sam sve i svasta, manje vise nepovezano je sve tako da ono ako ti nije nesto jasno, pojasnicu ti malo bolje.
if(PlayerData >= 1) U komandu postavi recimo
PlayerData = 1; Jer koristis tajmer koji traje koliko mu traje jail vreme, i onda kada mu istekne vreme samo postavis to na 0.Mada ovakav vid tajmera za zatvor je veoma los, jer ako ti skripta nije optimizovana moze da pukne/istekne pre vremena zato sto je ovo sannp i retardiran je. Najbolje bi bilo da uradis komandu jail ovako tj. da dodas ove stvari u komandu.
PlayerData = vreme*60;
ZatvorOdbrojavanje = SetTimerEx("OduzmiVremeZatvora", 1000, true, "d", playerid);
ionda u funkciju za oduzimanje vremena dodas nesto ovako
forward public OduzmiVremeZatvora(playerid);
public OduzmiVremeZatvora(playerid)
{
PlayerData--;
if(PlayerData < 0)
{
//stagod
}
return 1;
}
Izbegavaj globalne tajmere za ovakve stvari, smece su globalni tajmeri.
Napisao sam sve i svasta, manje vise nepovezano je sve tako da ono ako ti nije nesto jasno, pojasnicu ti malo bolje.
lock ovdje
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava