Jail

Započeo TONY x
14. Feb. 2018. Zaključano
693
pregleda
6
postova
tonimacak518
4
Enforcer
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:
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):
tonimacak518
4
Enforcer
15. Feb. 2018.
Bump
Lazar Milojevic
5
Kingpin
15. Feb. 2018.
Nzm kako mogu da ti pomognem uzmes i up moda i gledas to je najjlakse 😄
Wiruspwns
4
Enforcer
15. Feb. 2018.
Ova provera se nikada ne desava zato sto nikada ne postavis vrednost za JailVreme.
 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.
tonimacak518
4
Enforcer
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.
 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
ophion
5
OG Legend
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.
 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.
i naravno da unisti tajmer nakon sto izadje

lock ovdje

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha