Skripta koju koristim: Moja
Detaljan opis problema: Napravio sam komandu zatvori oslobodi i sve je okej pusti igraca na vreme jer tajmer radi, ali jedini problem je kad igrac ode relog ne stvori se u zatvoru.
Deo skripte: [pawn]FUNCTION: SpawnujIgraca(playerid)
{
if(PlayerInfo[playerid][pZatvor] == 1)
{
ZatvorInt[playerid] = 1;
new rand = random(sizeof(RandomZatvor));
SetPlayerPos(playerid, RandomZatvor[rand][0], RandomZatvor[rand][1], RandomZatvor[rand][2]);
SetPlayerVirtualWorld(playerid, 30);
SCM(playerid, ERRORCOLOR, "Nedovrsena zatvorska kazna, natrag u zatvor.");
}
CMD:zatvori(playerid, params[])
{
//IsPlayerLogged[playerid] = false; return SCM(playerid,-1,""col_larp"[R:DM]"col_crvena"Igrac nije ulogovan!");
if(PlayerInfo[playerid][pStaff] > 0 )
{
new ID, Vreme, Razlog[64];
//if(id == playerid) return ERROR(playerid, "Ne mozete to.");
if(sscanf(params, "uis[64]", ID, Vreme, Razlog)) return SendClientMessage(playerid, 0xFF9900AA,"Koriscenje : /Zatvori [ID/Ime] [Vreme] [Razlog]");
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Igrac Je Offline.");
ResetPlayerWeapons(ID);
new rand = random(sizeof(RandomZatvor));
SetPlayerPos(ID, RandomZatvor[rand][0], RandomZatvor[rand][1], RandomZatvor[rand][2]);
SetPlayerInterior(ID, 5);
ResetPlayerWeapons(ID);
TogglePlayerControllable(ID, 0);
freeze[ID] = SetTimerEx("Freeze",5000, false, "i", ID);
PlayerInfo[ID][pZatvorenVreme] = 1;
PlayerInfo[ID][pZatvor] = 1;
PlayerInfo[ID][pZatvorenVreme] = Vreme*60;
//SetPlayerVirtualWorld(id, JAILED_VW);
new string[256];
format(string, sizeof(string), ""SIVA"Zatvorili ste %s u zatvor na %d minuta!.", GetName(ID),Vreme);
SCM(playerid, -1, string);
format(string, sizeof(string), ""SIVA"Admin %s vas je zatvorio na %d minuta.", GetName(playerid), Vreme);
SCM(ID, -1, string);
format(string, sizeof(string), ""SIVA" [RAZLOG]: %s.", Razlog);
SCM(ID, -1, string);
format(string, sizeof(string), ""SIVA"Admin %s je zatvorio igraca %s | Minuti: %d | Razlog: %s", GetName(playerid),GetName(ID),Vreme,Razlog);
SCMTA(-1, string);
SacuvajAccount(ID);
}
else SendErrorMessage(playerid, "Niste ovlasceni.");
return 1;
}
////////////////////////////////////////////////////////
CMD:oslobodi(playerid, params[])
{
//if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Igrac Je Offline.");
if(PlayerInfo[playerid][pStaff] >= 3)
{
new id,string[128];
//if(AdminDuty[playerid] == 0) return SCM(playerid,-1,""CRVENA"[UP:RP] "SIVA"Morate biti na admin duznosti!");
if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0xFF9900AA,"Koriscenje : /Oslobodi [ID/Ime]");
if(!IsPlayerConnected(id)) return SendErrorMessage(playerid, "Igrac je Offline.");
if(PlayerInfo[id][pZatvor] == 0) return SendErrorMessage(playerid, "Igrac nije zatvoren.");
PlayerInfo[id][pZatvor] = 0;
PlayerInfo[id][pZatvorenVreme] = 0;
SetPlayerWorldBounds(id,20000.0000,-20000.0000,20000.0000,-20000.0000);
SetPlayerInterior(id, 18);
SetPlayerVirtualWorld(id, 0);
SetPlayerPos(id, 1728.3749,-1668.1400,22.6094);
SetPlayerFacingAngle(id, 281.0);
SetCameraBehindPlayer(id);
SCMF(id, -1, ""SIVA"Admin %s vas je oslobodio iz zatvora!", GetName(playerid));
format(string, sizeof(string),""SIVA"Admin %s je pustio %s iz zatvora!", GetName(playerid),GetName(id));
SendStaffMessage(-1, string);
}
else return SendErrorMessage(playerid, "Niste Ovlasceni.");
return 1;
}
----------------------------------------------------------------------------------- OVO JE POD ONPLAYERCONNECT ---------------------------------------------------
ZatvorInt[playerid] = 0;
//
PlayerInfo[playerid][pZatvor] = 0;
PlayerInfo[playerid][pZatvorenVreme] = 0;
//
forward Odbrojavanja();
public Odbrojavanja()
{
foreach(Player,i)
{
if(PlayerInfo[pZatvorenVreme] > 0)
{
PlayerInfo[pZatvorenVreme]--;
new odbrojav[128];
format(odbrojav,sizeof(odbrojav),"~n~~n~~n~~n~~n~~n~~n~~r~~h~~h~Vreme zatvora:~n~~w~%s",KonvertujVreme(PlayerInfo[pZatvorenVreme]));
GameTextForPlayer(i, odbrojav, 1100, 3);
}
else if(PlayerInfo[pZatvorenVreme] <= 0 && PlayerInfo[pZatvor] > 0)
{
PlayerInfo[pZatvor] = 0;
PlayerInfo[pZatvorenVreme] = 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;
}
[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
dodaj provjeru za zatvor na "OnPlayerSpawn" tako bi ga definitivno moralo prebaciti u zatvor na relogu :)
Citat: Dragan1312 poslato Novembar 21, 2019, 01:36:30 PRE PODNE
[pawn]
----------------------------------------------------------------------------------- OVO JE POD ONPLAYERCONNECT ---------------------------------------------------
ZatvorInt[playerid] = 0;
//
PlayerInfo[playerid][pZatvor] = 0;
PlayerInfo[playerid][pZatvorenVreme] = 0;
//
[/pawn]
Zasto menjas vreme i proveru zatvora na 0 kada se konektuje ?
OnPlayerConnect je callback koji ce da odredjuje sta ce se desiti igracu pri connectu, ti menjas vrednost pZatvor i pZatvorenVreme na 0 svaki put kada se connect-a.
Ne znam kako si zamislio, ali do toga ti je problem, zato ga ni nece staviti u zatvor.
Citat: Purdinho poslato Novembar 21, 2019, 11:26:40 PRE PODNE
dodaj provjeru za zatvor na "OnPlayerSpawn" tako bi ga definitivno moralo prebaciti u zatvor na relogu :)
Vec ima proveru pod OnPlayerSpawn :P
Citat: Purdinho poslato Novembar 21, 2019, 11:26:40 PRE PODNE
dodaj provjeru za zatvor na "OnPlayerSpawn" tako bi ga definitivno moralo prebaciti u zatvor na relogu :)
Vec ima , ne radi.
Citat: Dragan1312 poslato Novembar 21, 2019, 01:36:30 PRE PODNE
Skripta koju koristim: Moja
Detaljan opis problema: Napravio sam komandu zatvori oslobodi i sve je okej pusti igraca na vreme jer tajmer radi, ali jedini problem je kad igrac ode relog ne stvori se u zatvoru.
Deo skripte: [pawn]FUNCTION: SpawnujIgraca(playerid)
{
if(PlayerInfo[playerid][pZatvor] == 1)
{
ZatvorInt[playerid] = 1;
new rand = random(sizeof(RandomZatvor));
SetPlayerPos(playerid, RandomZatvor[rand][0], RandomZatvor[rand][1], RandomZatvor[rand][2]);
SetPlayerVirtualWorld(playerid, 30);
SCM(playerid, ERRORCOLOR, "Nedovrsena zatvorska kazna, natrag u zatvor.");
}
CMD:zatvori(playerid, params[])
{
//IsPlayerLogged[playerid] = false; return SCM(playerid,-1,""col_larp"[R:DM]"col_crvena"Igrac nije ulogovan!");
if(PlayerInfo[playerid][pStaff] > 0 )
{
new ID, Vreme, Razlog[64];
//if(id == playerid) return ERROR(playerid, "Ne mozete to.");
if(sscanf(params, "uis[64]", ID, Vreme, Razlog)) return SendClientMessage(playerid, 0xFF9900AA,"Koriscenje : /Zatvori [ID/Ime] [Vreme] [Razlog]");
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Igrac Je Offline.");
ResetPlayerWeapons(ID);
new rand = random(sizeof(RandomZatvor));
SetPlayerPos(ID, RandomZatvor[rand][0], RandomZatvor[rand][1], RandomZatvor[rand][2]);
SetPlayerInterior(ID, 5);
ResetPlayerWeapons(ID);
TogglePlayerControllable(ID, 0);
freeze[ID] = SetTimerEx("Freeze",5000, false, "i", ID);
PlayerInfo[ID][pZatvorenVreme] = 1;
PlayerInfo[ID][pZatvor] = 1;
PlayerInfo[ID][pZatvorenVreme] = Vreme*60;
//SetPlayerVirtualWorld(id, JAILED_VW);
new string[256];
format(string, sizeof(string), ""SIVA"Zatvorili ste %s u zatvor na %d minuta!.", GetName(ID),Vreme);
SCM(playerid, -1, string);
format(string, sizeof(string), ""SIVA"Admin %s vas je zatvorio na %d minuta.", GetName(playerid), Vreme);
SCM(ID, -1, string);
format(string, sizeof(string), ""SIVA" [RAZLOG]: %s.", Razlog);
SCM(ID, -1, string);
format(string, sizeof(string), ""SIVA"Admin %s je zatvorio igraca %s | Minuti: %d | Razlog: %s", GetName(playerid),GetName(ID),Vreme,Razlog);
SCMTA(-1, string);
SacuvajAccount(ID);
}
else SendErrorMessage(playerid, "Niste ovlasceni.");
return 1;
}
////////////////////////////////////////////////////////
CMD:oslobodi(playerid, params[])
{
//if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Igrac Je Offline.");
if(PlayerInfo[playerid][pStaff] >= 3)
{
new id,string[128];
//if(AdminDuty[playerid] == 0) return SCM(playerid,-1,""CRVENA"[UP:RP] "SIVA"Morate biti na admin duznosti!");
if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0xFF9900AA,"Koriscenje : /Oslobodi [ID/Ime]");
if(!IsPlayerConnected(id)) return SendErrorMessage(playerid, "Igrac je Offline.");
if(PlayerInfo[id][pZatvor] == 0) return SendErrorMessage(playerid, "Igrac nije zatvoren.");
PlayerInfo[id][pZatvor] = 0;
PlayerInfo[id][pZatvorenVreme] = 0;
SetPlayerWorldBounds(id,20000.0000,-20000.0000,20000.0000,-20000.0000);
SetPlayerInterior(id, 18);
SetPlayerVirtualWorld(id, 0);
SetPlayerPos(id, 1728.3749,-1668.1400,22.6094);
SetPlayerFacingAngle(id, 281.0);
SetCameraBehindPlayer(id);
SCMF(id, -1, ""SIVA"Admin %s vas je oslobodio iz zatvora!", GetName(playerid));
format(string, sizeof(string),""SIVA"Admin %s je pustio %s iz zatvora!", GetName(playerid),GetName(id));
SendStaffMessage(-1, string);
}
else return SendErrorMessage(playerid, "Niste Ovlasceni.");
return 1;
}
----------------------------------------------------------------------------------- OVO JE POD ONPLAYERCONNECT ---------------------------------------------------
ZatvorInt[playerid] = 0;
//
PlayerInfo[playerid][pZatvor] = 0;
PlayerInfo[playerid][pZatvorenVreme] = 0;
//
forward Odbrojavanja();
public Odbrojavanja()
{
foreach(Player,i)
{
if(PlayerInfo[pZatvorenVreme] > 0)
{
PlayerInfo[pZatvorenVreme]--;
new odbrojav[128];
format(odbrojav,sizeof(odbrojav),"~n~~n~~n~~n~~n~~n~~n~~r~~h~~h~Vreme zatvora:~n~~w~%s",KonvertujVreme(PlayerInfo[pZatvorenVreme]));
GameTextForPlayer(i, odbrojav, 1100, 3);
}
else if(PlayerInfo[pZatvorenVreme] <= 0 && PlayerInfo[pZatvor] > 0)
{
PlayerInfo[pZatvor] = 0;
PlayerInfo[pZatvorenVreme] = 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;
}
[/pawn]
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Kad iskljucim proveru vremena onda i kad igrac izadje iz zatvora i ode relog vrati ga u zatvor. na /zatvorenici pise da sam u zatvoru tajmer radi ali sam na spawnu i jos mi ispamuje 10 puta u chatu nedovrsena zatvorska kazna...
Ovo je funkcija da spawna igraca, nije public...
Citat: Purdinho poslato Novembar 21, 2019, 19:32:42 POSLE PODNE
Ovo je funkcija da spawna igraca, nije public...
Izbacio sam odatle i stavio samo na onplayerspawn i isto nista..
CitatSkripta koju koristim: Moja
Jos jednom napiši ovakvu glupost, ima sve prste da ti isecem i jezik iscupam (jezik - da ne možeš sa Voice to Text pisati).
@tema, aNdErPoJiNt, jel ti pokrenut tajmer OdBroJaVaNje uopste i pozivas li ovu "funckiju" negde?
Citat: Skrillex. poslato Novembar 21, 2019, 20:54:20 POSLE PODNE
Jos jednom napiši ovakvu glupost, ima sve prste da ti isecem i jezik iscupam (jezik - da ne možeš sa Voice to Text pisati).
ma koje to nama zajeban? de smiri se ba malo
Citat: Skrillex. poslato Novembar 21, 2019, 20:54:20 POSLE PODNE
Jos jednom napiši ovakvu glupost, ima sve prste da ti isecem i jezik iscupam (jezik - da ne možeš sa Voice to Text pisati).
@tema, aNdErPoJiNt, jel ti pokrenut tajmer OdBroJaVaNje uopste i pozivas li ovu "funckiju" negde?
Druze ovo jeste moj radi, nije ukradet ili bilo sta jeste da ima nekih stvari koje su radjene na nalik drugim modovima ali je moj rad ... :)
I naravno da imam pokrenut tajmer odbrojavanje
[Pawn]if( PlayerInfo[ playerid ][ pZatvor ] == OBICAN_ZATVOR )
{
new rand = random(sizeof(RandomZatvor));
Skorpija_SetPlayerPos(playerid, RandomZatvor[rand][0], RandomZatvor[rand][1], RandomZatvor[rand][2]);
new string[144];
format(string,sizeof(string),""SIVA"[ANTI LTA] Vracas se na odsluzenje zatvorske kazne | Ostalo ti je jos %d sekundi!",PlayerInfo[playerid][pZatvorenVreme]);
SCM(playerid,-1,string);
}
else if( PlayerInfo[ playerid ][ pZatvor ] == ALKATRAZ )
{
Skorpija_SetPlayerPos( playerid, 268.5777, 1857.9351, 9.8133 );
SetPlayerWorldBounds( playerid, 337.5694, 101.5826, 1940.9759, 1798.7453 );
new string[144];
format(string,sizeof(string),""SIVA"[ANTI LTA] Vracas se na odsluzenje zatvorske kazne | Ostalo ti je jos %d sekundi!",PlayerInfo[playerid][pZatvorenVreme]);
SCM(playerid,-1,string);
}[/Pawn]
ovo bi trebalo pod public
OnPlayerSpawn,ako nije to. Da li imas da cuvas da li je u zatvoru ili nije i da li ti je pokrenut tajmer odbrojavanja
Citat: Skrillex. poslato Novembar 21, 2019, 20:54:20 POSLE PODNE
Jos jednom napiši ovakvu glupost, ima sve prste da ti isecem i jezik iscupam (jezik - da ne možeš sa Voice to Text pisati).
@tema, aNdErPoJiNt, jel ti pokrenut tajmer OdBroJaVaNje uopste i pozivas li ovu "funckiju" negde?
smiri malo dečko, sta izigravas koje tri pic** materi**
Dodas BOOL varijablu pZatvoren pod enumator ili kreiraj kao varijablu izvan enumatora(nisam dugo skriptao ali mislim da moze i ova 2 metoda)
Komanda tipa >
[pawn]CMD:zatvori(playerid, params[]) {
if(PlayerInfo[playerid][pStaff] < 1)
return SendClientMessage(playerid, -1, "Error");
if(sscanf(params, "uis[20]", params[0], params[1], params[2]))
return SendClientMessage(playerid, -1, "/zatvori (ID/Ime_Prezime) (Vrijeme) (Razlog)");
ResetPlayerWeapons(params[0]);
PlayerInfo[params[0]][pZatvor] = true;
return 1;
}[/pawn]
Kad izadje iz zatvora postavis pZatvoren varijablu na false >
[pawn]
PlayerInfo[playerid][pZatvoren] = false;[/pawn]
Pri konektu napravis provjeru tipa >
[pawn]if(PlayerInfo[playerid][pZatvoren] == true) {
//da ga vrati u zatvor
}[/pawn]
jednostavno?
Objasnio maki! RRRRR
Pod onplayerdisconnect jesil stavio da cuva vrijeme(u zatvoru) i da je u zatvoru? Ako nisi postavi tu da cuva da je igrac u zatvoru i pri spawnu bi moralo onda radit ako postoji provjera i prilikom spawna dal je u zatvoru 100%
Citat: ghost1337 poslato Novembar 24, 2019, 18:13:54 POSLE PODNE
Pod onplayerdisconnect jesil stavio da cuva vrijeme(u zatvoru) i da je u zatvoru? Ako nisi postavi tu da cuva da je igrac u zatvoru i pri spawnu bi moralo onda radit ako postoji provjera i prilikom spawna dal je u zatvoru 100%
Zasto bi iko spremao podatke pod OnPlayerDisconnect? lol...
Citat: Skrillex. poslato Novembar 21, 2019, 20:54:20 POSLE PODNE
Jos jednom napiši ovakvu glupost, ima sve prste da ti isecem i jezik iscupam (jezik - da ne možeš sa Voice to Text pisati).
@tema, aNdErPoJiNt, jel ti pokrenut tajmer OdBroJaVaNje uopste i pozivas li ovu "funckiju" negde?
Ti si zajeban lik a?
Citat: Shomyy poslato Novembar 24, 2019, 19:20:08 POSLE PODNE
Ti si zajeban lik a?
Izvini liče koji koristi strmid 255 puta. ::)
Citat: Skrillex. poslato Novembar 24, 2019, 19:38:33 POSLE PODNE
Izvini liče koji koristi strmid 255 puta. ::)
Opet si zajeban a? Nemoj da si tolko lud molim te
Citat: Skrillex. poslato Novembar 24, 2019, 19:38:33 POSLE PODNE
Izvini liče koji koristi strmid 255 puta. ::)
hahahahahahaha #resi
Pogledaj kako je na up modu tu ti je najbolje objasnjeno pa onda skontaj sam ostalo
Citat: Skrillex. poslato Novembar 24, 2019, 18:59:26 POSLE PODNE
Zasto bi iko spremao podatke pod OnPlayerDisconnect? lol...
Jer mu se moze... lol