Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

Jail System

Započeo Aziz_Jesus
pre 5 godina
1,086
pregleda
15
postova
Dragan1312
Street Runner
pre 5 godina
Problem(error/warning): Imam problem sa Jail Sistemom na DM serveru, kada zatvorite igraca i on odlezi sve je okej, tajmer radi i kad prodje vreme pusti ga. Medjutim kada igrac /q dok je zatvoren kad udje na loginu mu odbrojava i nekad ga spawnuje u zatvoru a nekad na spawnu...
Deo skripte:
CMD:jail(playerid, params[])
{
    //if(UlogovanProvera == 0) return SCM(playerid,-1,""COL_LIGHTBLUE"[K:DM] "col_bela"Moras biti prijavljen.");
if(PlayerInfo >= 1)
{
new ID;
new vremes;
new razlog;
if(sscanf(params, "uis", ID, vremes, razlog)) return SendCommandMessage(playerid, "/jail [ID/Nick] [Vreme - minuta] ");
if(!IsPlayerConnected(ID)) return SendErrorMessage(playerid, "Taj igrac nije online.");
if(PlayerInfo > 0) return SendErrorMessage(playerid, "Taj igrac je vec u zatvoru.");
//if(PI < 6 && PI >= 6) return SendErrorMessage(playerid, "Ne mozete staviti u zatvor vlasnika servera.");
if(vremes > 5 || vremes < 5000)
    {
ResetPlayerWeapons(ID);
SetPlayerInterior(ID, 5);
new rand = random(sizeof(RandomZatvor));
SetPlayerPos(ID, RandomZatvor, RandomZatvor, RandomZatvor);
PlayerInfo = 1;
PlayerInfo = vremes*60;
new string2;
new string3;
format(string2, sizeof(string2), "{F23A0D}: {FFFFFF}Zatvoreni ste na %d minuta od strane admina.", vremes);
SCM(ID, GRAD2, string2);
format(string3, sizeof(string3), "{F23A0D}: {FFFFFF}%s je stavljen u zatvor od strane Admin Tima, razlog: %s", Ime_Igraca(ID), razlog);
SCMTA(GRAD2, string3);
format(conelys, sizeof(conelys), ": Admin %s je stavio igraca %s u zatvor na %d minut/a,razlog: %s.", Ime_Igraca(playerid), Ime_Igraca(ID),vremes, razlog);
Adminima4(COLOR_YELLOW, conelys);
format(logstring, sizeof logstring, "| Admin: %s | Igrac: %s | Razlog: %s | Vreme: %d minut/a", Ime_Igraca(playerid),Ime_Igraca(ID),razlog, vremes);
UpisiLog(FILE_PRISON, logstring);
}
else
{
return SendErrorMessage(playerid, "Ne mozete manje od 5 i vise od 5000 min.");
}
}
else return SendErrorMessage(playerid,"Niste Ovlasceni.");
return 1;
}
CMD:unjail(playerid, params[])
{
    //if(UlogovanProvera == 0) return Error(playerid, "Moras biti prijavljen.");
if(PlayerInfo >= 2)
{
new id,string;
if(sscanf(params, "u", id)) return SendCommandMessage(playerid, "/Unjail [ID/Nick]");
if(!IsPlayerConnected(id)) return SendErrorMessage(playerid, "Igrac je offline.");
if(PlayerInfo == 0) return SendErrorMessage(playerid, "Igrac nije zatvoren.");
PlayerInfo = 0;
PlayerInfo = 0;
SetPlayerInterior(id, 18);
SetPlayerPos(id, 1728.1906,-1668.1489,22.6219);
SetPlayerVirtualWorld(id, 0);
        SetPlayerFacingAngle(playerid,43.5554);
SCMF(id, SERVERBOJA, "* Admin %s vas je pustio iz zatvora.", Ime_Igraca(playerid));
format(string, sizeof(string), ": Admin %s je oslobodio %s iz zatvora.", Ime_Igraca(playerid),Ime_Igraca(id));
Adminima4(COLOR_YELLOW, string);
format(logstring, sizeof logstring, "| Igrac: %s | Admin: %s", Ime_Igraca(playerid),Ime_Igraca(id));
UpisiLog(FILE_UNPRISON, logstring);
}
else return SendErrorMessage(playerid,"Niste Ovlasceni");
return 1;
}
// evo ga tajmer //
forward Odbrojavanja();
public Odbrojavanja()
{
foreach(Player,i)
{
if(PlayerInfo > 0)
{
    PlayerInfo--;
    new odbrojav;
    format(odbrojav,sizeof(odbrojav),"~n~~n~~n~~n~~n~~n~~n~~r~~h~~h~Vreme zatvora:~n~~w~%s",KonvertujVreme(PlayerInfo));
GameTextForPlayer(i, odbrojav, 1100, 3);
}
else if(PlayerInfo <= 0 && PlayerInfo > 0)
{
PlayerInfo = 0;
PlayerInfo = 0;
//SetPlayerWorldBounds(i,20000.0000,-20000.0000,20000.0000,-20000.0000);
SetPlayerInterior(i, 18);
SetPlayerVirtualWorld(i, 0);
SetPlayerPos(i, 1728.0427,-1667.9297,22.6094);
SetPlayerFacingAngle(i, 281.0);
SetCameraBehindPlayer(i);
GameTextForPlayer(i, "~g~Sloboda~n~~w~Pokusajte biti bolji gradjanin", 5000, 1);
SetPlayerColor(i, TEAM_HIT_COLOR);
}
}
return 1;
}
// --------- OVO JE POD PLAYERSPAWN --------- //
if(PlayerInfo == 1)
{
    new rand = random(sizeof(RandomZatvor));
    SetPlayerPos(playerid, RandomZatvor, RandomZatvor, RandomZatvor);
SetPlayerInterior(playerid, 5);
SCMF(playerid,-1,""SIVA"Vracas se na odsluzenje zatvorske kazne | Ostalo ti je jos %d sekundi!",PlayerInfo);
    TogglePlayerControllable(playerid, 0);
freeze = SetTimerEx("Freeze",5000, false, "i", playerid);
return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): ///
Slika/video ingame problema(obavezno ako je ingame problem): ///
Exnas.pwn
Godfather
pre 5 godina
Pa verovatno ne getujes dobro varijablu pZatvor jer ti bude razlicita od 1 i onda igrac ne udje u tu proveru
Dragan1312
Street Runner
pre 5 godina
__vedran.xyz77 wrote on September 4, 2020, 10:57 pm:
Pa verovatno ne getujes dobro varijablu pZatvor jer ti bude razlicita od 1 i onda igrac ne udje u tu proveru

if(PlayerInfo = 1)
Promenio sam umesto 1 na 2 i radi, ali tajmer krece pre nego sto igrac ukuca sifru..
if(PlayerInfo == 2)
Exnas.pwn
Godfather
pre 5 godina
uradi
printf("pZatvor = %d", PlayerInfo);

iznad toga
pa pogledaj konzolu
Dragan1312
Street Runner
pre 5 godina
__vedran.xyz77 wrote on September 4, 2020, 11:58 pm:
uradi
printf("pZatvor = %d", PlayerInfo);

iznad toga
pa pogledaj konzolu


U pravu si, negde promeni na 0...
Exnas.pwn
Godfather
pre 5 godina
Onda na pocetku diskonekta i na kraju
isto stavi pa proveri da li se u toku diskonekta postavi na nulu ili slicno.

Ako tu bude na 0 proveri SavePlayer ili probaj da trazis pZatvor pa vidi rezultate
Dragan1312
Street Runner
pre 5 godina
__vedran.xyz77 wrote on September 5, 2020, 12:24 am:
Onda na pocetku diskonekta i na kraju
isto stavi pa proveri da li se u toku diskonekta postavi na nulu ili slicno.

Ako tu bude na 0 proveri SavePlayer ili probaj da trazis pZatvor pa vidi rezultate

https://imgur.com/a/bPRjtKk
Kad zatvorim igraca menja na 0. Kad igrac izadje menja na 2, a druga slika je kad se igrac konektuje, ponovo vraca na 2. I baca me u zatvor, ali tajmer broji a nisam jos ni sifru ukucao.
Exnas.pwn
Godfather
pre 5 godina
Znaci kad je u zatvoru pZatvor mu je na 0 ?
Dragan1312
Street Runner
pre 5 godina
__vedran.xyz77 wrote on September 5, 2020, 9:45 am:
Znaci kad je u zatvoru pZatvor mu je na 0 ?

Kad ga jailam ispise pZatvor = 0, ali ne mogu da ga ponovo jailam, a unjail takodje radi... Kad odem /q ispise 2, a kad se vracam ako sam u jailu vrati me, a ako nisam ne vraca ali ispise pZatvor = 2
Exnas.pwn
Godfather
pre 5 godina
Uhhh jbt ne verujem da je to moguce stavi na kraj te komande da printa PlayerInfo
Dragan1312
Street Runner
pre 5 godina
__vedran.xyz77 wrote on September 5, 2020, 2:46 pm:
Uhhh jbt ne verujem da je to moguce stavi na kraj te komande da printa PlayerInfo

Sve lepo radi, ali evo baci pogled na log...
https://imgur.com/a/eULE42u
Exnas.pwn
Godfather
pre 5 godina
Ne kontam kad kucas /jail bude na 0 kad kucas /unjail bude na 2 lol
Dragan1312
Street Runner
pre 5 godina
__vedran.xyz77 wrote on September 5, 2020, 3:46 pm:
Ne kontam kad kucas /jail bude na 0 kad kucas /unjail bude na 2 lol

Jail system radi lepo, osim sto u logu kad /jail i /unjail pise naopako.
Exnas.pwn
Godfather
pre 5 godina
ispisivanje u logu ti nikad nece biti problem ono je ispisalo ono sto si ti hteo problem je u tvom sistemu, a ne u logu -.-

isprati tu varijablu pZatvor ili daj ostavi ovde sve delove gde se koristi
Dragan1312
Street Runner
pre 5 godina
__vedran.xyz77 wrote on September 5, 2020, 10:07 pm:
ispisivanje u logu ti nikad nece biti problem ono je ispisalo ono sto si ti hteo problem je u tvom sistemu, a ne u logu -.-

isprati tu varijablu pZatvor ili daj ostavi ovde sve delove gde se koristi
if(PlayerInfo == 2)
{
    new rand = random(sizeof(RandomZatvor));
    SetPlayerPos(playerid, RandomZatvor, RandomZatvor, RandomZatvor);
SetPlayerInterior(playerid, 5);
SCMF(playerid,-1,""SIVA"Vracas se na odsluzenje zatvorske kazne | Ostalo ti je jos %d sekundi!",PlayerInfo);
    TogglePlayerControllable(playerid, 0);
freeze = SetTimerEx("Freeze",5000, false, "i", playerid);
return 1;
}
forward Odbrojavanja();
public Odbrojavanja()
{
foreach(Player,i)
{
if(PlayerInfo > 0)
{
    PlayerInfo--;
    new odbrojav;
    format(odbrojav,sizeof(odbrojav),"~n~~n~~n~~n~~n~~n~~n~~r~~h~~h~Vreme zatvora:~n~~w~%s",KonvertujVreme(PlayerInfo));
GameTextForPlayer(i, odbrojav, 1100, 3);
}
else if(PlayerInfo <= 0 && PlayerInfo > 0)
{
PlayerInfo = 0;
PlayerInfo = 0;
//SetPlayerWorldBounds(i,20000.0000,-20000.0000,20000.0000,-20000.0000);
SetPlayerInterior(i, 18);
SetPlayerVirtualWorld(i, 0);
SetPlayerPos(i, 1728.0427,-1667.9297,22.6094);
SetPlayerFacingAngle(i,43.5554);
SetCameraBehindPlayer(i);
nijenigde = 1;
GameTextForPlayer(i, "~g~Sloboda~n~~w~Pokusajte biti bolji gradjanin", 5000, 1);
SetPlayerColor(i, TEAM_HIT_COLOR);
}
}
return 1;
}
CMD:jail(playerid, params[])
{
    //if(UlogovanProvera == 0) return SCM(playerid,-1,""COL_LIGHTBLUE"[K:DM] "col_bela"Moras biti prijavljen.");
if(PlayerInfo >= 1)
{
new ID;
new vremes;
new razlog;
if(sscanf(params, "uis", ID, vremes, razlog)) return SendCommandMessage(playerid, "/jail [ID/Nick] [Vreme - minuta] ");
if(!IsPlayerConnected(ID)) return SendErrorMessage(playerid, "Taj igrac nije online.");
if(PlayerInfo > 0) return SendErrorMessage(playerid, "Taj igrac je vec u zatvoru.");
printf("pZatvor = %d", PlayerInfo);
//if(PI < 6 && PI >= 6) return SendErrorMessage(playerid, "Ne mozete staviti u zatvor vlasnika servera.");
if(vremes > 5 || vremes < 5000)
    {
ResetPlayerWeapons(ID);
SetPlayerInterior(ID, 5);
new rand = random(sizeof(RandomZatvor));
SetPlayerPos(ID, RandomZatvor, RandomZatvor, RandomZatvor);
PlayerInfo = 2;
PlayerInfo = vremes*60;
new string2;
new string3;
format(string2, sizeof(string2), "{F23A0D}: {FFFFFF}Zatvoreni ste na %d minuta od strane admina.", vremes);
SCM(ID, GRAD2, string2);
format(string3, sizeof(string3), "{F23A0D}: {FFFFFF}%s je stavljen u zatvor od strane Admin Tima, razlog: %s", Ime_Igraca(ID), razlog);
SCMTA(GRAD2, string3);
format(conelys, sizeof(conelys), ": Admin %s je stavio igraca %s u zatvor na %d minut/a,razlog: %s.", Ime_Igraca(playerid), Ime_Igraca(ID),vremes, razlog);
Adminima4(COLOR_YELLOW, conelys);
format(logstring, sizeof logstring, "| Admin: %s | Igrac: %s | Razlog: %s | Vreme: %d minut/a", Ime_Igraca(playerid),Ime_Igraca(ID),razlog, vremes);
UpisiLog(FILE_PRISON, logstring);
}
else
{
return SendErrorMessage(playerid, "Ne mozete manje od 5 i vise od 5000 min.");
}
}
else return SendErrorMessage(playerid,"Niste Ovlasceni.");
return 1;
}
CMD:unjail(playerid, params[])
{
    //if(UlogovanProvera == 0) return Error(playerid, "Moras biti prijavljen.");
if(PlayerInfo >= 2)
{
new id,string;
if(sscanf(params, "u", id)) return SendCommandMessage(playerid, "/Unjail [ID/Nick]");
if(!IsPlayerConnected(id)) return SendErrorMessage(playerid, "Igrac je offline.");
if(PlayerInfo == 0) return SendErrorMessage(playerid, "Igrac nije zatvoren.");
printf("pZatvor = %d", PlayerInfo);
PlayerInfo = 0;
PlayerInfo = 0;
SetPlayerInterior(id, 18);
SetPlayerPos(id, 1728.7982,-1668.4337,22.6094);
SetPlayerVirtualWorld(id, 0);
        SetPlayerFacingAngle(playerid,43.5554);
        nijenigde = 1;
SCMF(id, SERVERBOJA, "* Admin %s vas je pustio iz zatvora.", Ime_Igraca(playerid));
format(string, sizeof(string), ": Admin %s je oslobodio %s iz zatvora.", Ime_Igraca(playerid),Ime_Igraca(id));
Adminima4(COLOR_YELLOW, string);
format(logstring, sizeof logstring, "| Igrac: %s | Admin: %s", Ime_Igraca(playerid),Ime_Igraca(id));
UpisiLog(FILE_UNPRISON, logstring);
}
else return SendErrorMessage(playerid,"Niste Ovlasceni");
return 1;
}

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava