Problem(error/warning): Kada igrac udje u checkpoint, nedje da udje u proveru i odradi ono sto je unutar nje
Deo skripte: [pawn]CMD:varcheck(playerid) { //Komanda gde sam proveravao vrednost promenljive
SendInfoMessage(playerid, "playerHacking = %d", playerHacking[playerid]);
return 1;
}
CMD:kuractest(playerid) { //Komanda da prikaze CP i postavi promenljivu
playerHacking[playerid] = 15; //Postavio promenljivu
Novi_SetPlayerCheckpoint(playerid, 583.7122,-1259.1456,17.9459, 4.0); //Postavio CP
return 1;
}
public OnPlayerEnterCheckpoint(playerid) {
if(playerHacking[playerid] == 15) { //U ovu proveru ne zeli da udje iako je promenljiva stavljena na 15 i provera je prva u callbacku
DisablePlayerCheckpoint(playerid); //Gasim CP
playerHacking[playerid] = 0; //Stavljam na 0
return 1;
}
return 1;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Crashdetect je ubacen, nema nista. Takodje sam koristio SendClientMessage da vidim gde stane, i skontao da zapravo nije htelo da udje u proveru, dok svaki ostali checkpoint radi.. Nista mi nije jasno
Postavio si na 15 provjeravaš ako je 15 da odradi, gdje je problem?
Citat: 'xza poslato Jun 30, 2021, 09:59:39 PRE PODNE
Postavio si na 15 provjeravaš ako je 15 da odradi, gdje je problem?
To se i ja pitam iskreno, postavljeno je na 15, kada udje u CP, ako je 15, nece da udje u proveru uopste i odradi ono unutar nje
Svašta, prvi put ovo vidim
Sta se nalazi u Novi_SetPlayerCheckpoint f-ji?
Na vanilla modu sve funkcionise kako treba.
Citat: tutankamon poslato Jun 30, 2021, 13:33:55 POSLE PODNE
Sta se nalazi u Novi_SetPlayerCheckpoint f-ji?
Samo ako mu je CP vec prikazan da ga iskljuci i prikaze novi..
[pawn]stock Novi_SetPlayerCheckpoint( playerid, Float:x, Float:y, Float:z, Float:size ) {
if( PlayerCPShow[ playerid ] == true ) {
DisablePlayerCheckpoint( playerid );
PlayerCPShow[ playerid ] = false;
}
PlayerCPShow[ playerid ] = true;
SetPlayerCheckpoint( playerid, x, y, z, size);[/pawn]
Citat: V01D poslato Jun 30, 2021, 13:38:36 POSLE PODNE
Samo ako mu je CP vec prikazan da ga iskljuci i prikaze novi..
[pawn]stock Novi_SetPlayerCheckpoint( playerid, Float:x, Float:y, Float:z, Float:size ) {
if( PlayerCPShow[ playerid ] == true ) {
DisablePlayerCheckpoint( playerid );
PlayerCPShow[ playerid ] = false;
}
PlayerCPShow[ playerid ] = true;
SetPlayerCheckpoint( playerid, x, y, z, size);[/pawn]
Mozes li probati sa ovim pa postaviti sta je izbacilo u konzoli? Teoretski je skoro ne moguce da nesto kao sto je if ne funkcionise.
[pawn]public OnPlayerEnterCheckpoint(playerid) {
if(playerHacking[playerid] == 15) {
DisablePlayerCheckpoint(playerid);
printf("(if) playerHacking[%d] = %d", playerid, playerHacking[playerid]);
playerHacking[playerid] = 0;
return 1;
}
else
{
printf("(else) playerHacking[%d] = %d", playerid, playerHacking[playerid]);
}
return 1;
}[/pawn]
Ako ne printa onda postavi skroz na pocetak eventa OnPlayerEnterCheckpoint jedan print da vidimo da li poziva uopste.
Citat: tutankamon poslato Jun 30, 2021, 13:42:51 POSLE PODNE
Mozes li probati sa ovim pa postaviti sta je izbacilo u konzoli? Teoretski je skoro ne moguce da nesto kao sto je if ne funkcionise.
[pawn]public OnPlayerEnterCheckpoint(playerid) {
if(playerHacking[playerid] == 15) {
DisablePlayerCheckpoint(playerid);
printf("(if) playerHacking[%d] = %d", playerid, playerHacking[playerid]);
playerHacking[playerid] = 0;
return 1;
}
else
{
printf("(else) playerHacking[%d] = %d", playerid, playerHacking[playerid]);
}
return 1;
}[/pawn]
Ako ne printa onda postavi skroz na pocetak eventa OnPlayerEnterCheckpoint jedan print da vidimo da li poziva uopste.
Vec sam pokusao, udje u OnPlayerEnterCheckpoint, izbaci poruku ispred if provere, i iza nje. Promenljiva je na broju 15, stampao sam je i preko /varcheck i unutar OnPlayerEnterCheckpoint.
Resio sam problem tako sto sam dodao novu boolean promenljivu i koristio nju... Nisam siguran sta je tacno ovde bio problem..