Problem(error/warning):radim posao cistaca ulica i sada mi je potrebno kada dodjem do objekta postavljenog i pritisnem ctrl da pokupi tj obrise objekat ali se nista ne desava
Deo skripte: [pawn] if(newkeys & KEY_ACTION)
{
if(PlayerInfo[playerid][pPosao] == POSAO_CISTAC)
{
new Float:Pos[3];
new ocisceno = 0;
for(new i = 0; i < sizeof(Smece); i++)
{
GetPlayerObjectPos(playerid, Smece, Pos[0], Pos[1], Pos[2]);
if(IsPlayerInRangeOfPoint(playerid, 2.2, Pos[0], Pos[1], Pos[2]) && VoziloCistac(GetPlayerVehicleID(playerid)))
{
DestroyDynamicObject(Smece);
Smece = 999;
}
if(Smece == 999)
{
ocisceno++;
new string[24];
format(string, sizeof(string), "%d/30", ocisceno);
SCM(playerid,zuta2,string);
}
}
if(ocisceno == 30)
{
SCM(playerid, zuta2, "Uspesno ste ispunili normu, vratite vozilo u krug firme!");
}
}
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Vaš odgovor
Kako su ti kreirani smece objekti
Prvo proveri da li ti se poziva key kada pritisnes (da nema kakav return ili nesto da prekida kod pre nego sto dodje do tog dela).
mozes odmah unutar if(newkeys & KEY_ACTION), samo print ili SendClientMessage
Drugo, ako ti se poziva to, onda daj VoziloCistac funkciju. Takodje predlazem da load kao prvi plugin (ispred svih ostallih) CrashDetect i da probas onda pa vidis u log da li ti izbacuje nesto mozda (nece me cuditi ako budes imao kakav overflow...)
if(newkeys & KEY_ACTION)
{
SCM(playerid, zuta2, "NECE NISTA");
if(PlayerInfo[playerid][pPosao] == POSAO_CISTAC)
{
SCM(playerid, zuta2, "NECE NISTA 1");
new Float:Pos[3];
new pokupljeno = 0;
for(new i = 0; i < sizeof(Smece); i++)
{
SCM(playerid, zuta2, "NECE NISTA 2");
GetPlayerObjectPos(playerid, Smece[i], Pos[0], Pos[1], Pos[2]);
if(IsPlayerInRangeOfPoint(playerid, 2.2, Pos[0], Pos[1], Pos[2]) && VoziloCistac(GetPlayerVehicleID(playerid)))
{
SCM(playerid, zuta2, "NECE NISTA 3");
DestroyDynamicObject(Smece[i]);
Smece[i] = 999;
}
if(Smece[i] == 999)
{
pokupljeno++;
new string[512];
SCM(playerid, zuta2, "NECE NISTA 4");
format(string, sizeof(string), "%d/30", pokupljeno);
PlayerTextDrawSetString(playerid, CistacTD[playerid][4], string);
}
}
if(pokupljeno == 30)
{
SCM(playerid, zuta2, "Uspesno ste ispunili normu, vratite vozilo u krug firme!");
SetPlayerCheckpoint(playerid, 1004.9808,-1095.3148,23.8281, 3.0);
}
}
Ovde gde pise nece nista 2 tu zapuca posalje jednno 10 poruka, moze pomoc ?
Citat: Ciger poslato Novembar 25, 2021, 20:26:12 POSLE PODNE
if(newkeys & KEY_ACTION)
{
SCM(playerid, zuta2, "NECE NISTA");
if(PlayerInfo[playerid][pPosao] == POSAO_CISTAC)
{
SCM(playerid, zuta2, "NECE NISTA 1");
new Float:Pos[3];
new pokupljeno = 0;
for(new i = 0; i < sizeof(Smece); i++)
{
SCM(playerid, zuta2, "NECE NISTA 2");
GetPlayerObjectPos(playerid, Smece[i], Pos[0], Pos[1], Pos[2]);
if(IsPlayerInRangeOfPoint(playerid, 2.2, Pos[0], Pos[1], Pos[2]) && VoziloCistac(GetPlayerVehicleID(playerid)))
{
SCM(playerid, zuta2, "NECE NISTA 3");
DestroyDynamicObject(Smece[i]);
Smece[i] = 999;
}
if(Smece[i] == 999)
{
pokupljeno++;
new string[512];
SCM(playerid, zuta2, "NECE NISTA 4");
format(string, sizeof(string), "%d/30", pokupljeno);
PlayerTextDrawSetString(playerid, CistacTD[playerid][4], string);
}
}
if(pokupljeno == 30)
{
SCM(playerid, zuta2, "Uspesno ste ispunili normu, vratite vozilo u krug firme!");
SetPlayerCheckpoint(playerid, 1004.9808,-1095.3148,23.8281, 3.0);
}
}
Ovde gde pise nece nista 2 tu zapuca posalje jednno 10 poruka, moze pomoc ?
Zapuca ti 10 poruka jer ti je to u loopu...
Pa da ali sto ne izvrsava dalje funkciju, sto ne proveri poziciju objekta i da li je igrac u toj poziciji?
Ocigledno pogresno kreiras objekte, zato sam ti na pocetku trazio da posaljes smece objekt kako kreiras ali tebe boli kurac za mojim komentarom. Provjeravas poziciju igracevog objekta i onda brises dinamican objekat. Jasno je gdje je greska ali ti ne trazis rjesenje nego samo povrsno ispitujes.
Prvo sam pokusa sa komandom da stvorim objekte CreatePlayerObject ali nisu se stvarali pa sam ih pod ongamemodeinit kreirao
Smece[0] = CreateDynamicObject(2840, 1335.57166, -1157.28027, 22.79760,0,0,0);
ima ih dvadesetak da ih sve ne postavljam
Objekat kreiras kao dynamic a getujes ga kao GetPlayerObjectPos
Citat: Ciger poslato Novembar 25, 2021, 21:10:36 POSLE PODNE
Prvo sam pokusa sa komandom da stvorim objekte CreatePlayerObject ali nisu se stvarali pa sam ih pod ongamemodeinit kreirao
Smece[0] = CreateDynamicObject(2840, 1335.57166, -1157.28027, 22.79760,0,0,0);
ima ih dvadesetak da ih sve ne postavljam
da si mi to odma rekao do sada bi rijesili problem
GetDynamicObjectPos umjesto getplayerobjectpos i rijesen problem
Hvala, reseno