Problem sa svercom


Započeo Borelli, April 26, 2020, 19:44:36 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Kreirao sam sverc za organizaciju i sve je dobro pokrene se on i kada dodjem do mesta gde treba da utovarim tj do markera ono nece udjem u cenar markera opet nece samo stoji
Dio skripte: evo sve https://pastebin.com/iTqBBpVG
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Poslednja Izmena: April 27, 2020, 23:01:03 POSLE PODNE od Galardo


Jesi siguran da si prosao sve provere?

Ove:

if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2)

Citat: V01D poslato April 27, 2020, 13:10:41 POSLE PODNE
Jesi siguran da si prosao sve provere?

Ove:

if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2)


Jesam sve po 10 puta i opet nece

Greška ti je u komandi
// komanda
{
     if(voz == tvf[0] || voz == tvf[1] || voz == tvf[2])
        {
            if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,""CRVENA"[UP:RP] "SIVA"Morate biti na mestu vozaca da bi pokrenuli sverc!");
            if(SvercOruzija[playerid] >= 1) return SCM(playerid,-1, ""CRVENA"[UP:RP] "SIVA"Vec svercujes drogu!");
            if(PlayerInfo[playerid][pNovacDzep] < 100) return SCM(playerid,-1,""SPLAVA"[UP:RP] "SIVA"Nemate dovolj novca za sverc (100$)");
            SvercOruzija[playerid] = 1; g_NovacMinus(playerid,100);
            SetPlayerCheckpoint(playerid, -2641.8669,1437.2267,7.1016, 5.0);
            SCM(playerid,-1,""CRVENA"[TVF]: "BELA"Krenuli ste sa svercom droge otidjite u luku da utovarite oruzije.");
        }
        else return SCM(playerid,-1,""CRVENA"[TVF]: "SIVA"Niste u kombiju za sverc!");
    }

Podesi ti SvercOruzija a ne svercdroge i posle u provjeri ti zbog toga ne moze odraditi

[Filterscript] Simple Treasure Hunt
[Filterscript] Sistem pecanja
[Filterscript] Meditacija
[Filterscript] Molitva
[Include] Alarm
[Include] Posao Taxi

Citat: Kleo poslato April 27, 2020, 14:46:08 POSLE PODNE
Greška ti je u komandi
// komanda
{
     if(voz == tvf[0] || voz == tvf[1] || voz == tvf[2])
        {
            if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SCM(playerid,-1,""CRVENA"[UP:RP] "SIVA"Morate biti na mestu vozaca da bi pokrenuli sverc!");
            if(SvercOruzija[playerid] >= 1) return SCM(playerid,-1, ""CRVENA"[UP:RP] "SIVA"Vec svercujes drogu!");
            if(PlayerInfo[playerid][pNovacDzep] < 100) return SCM(playerid,-1,""SPLAVA"[UP:RP] "SIVA"Nemate dovolj novca za sverc (100$)");
            SvercOruzija[playerid] = 1; g_NovacMinus(playerid,100);
            SetPlayerCheckpoint(playerid, -2641.8669,1437.2267,7.1016, 5.0);
            SCM(playerid,-1,""CRVENA"[TVF]: "BELA"Krenuli ste sa svercom droge otidjite u luku da utovarite oruzije.");
        }
        else return SCM(playerid,-1,""CRVENA"[TVF]: "SIVA"Niste u kombiju za sverc!");
    }

Podesi ti SvercOruzija a ne svercdroge i posle u provjeri ti zbog toga ne moze odraditi

Promenio sam i opet mi dodje do markera i nista

Interesantno, ako si promijenio u SvercDroge onda ne vidim drugi moguci razlog zbog cega nece

Jel ti ovo
if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2)
    {
        if(IsPlayerInRangeOfPoint(playerid, 5.0, -2641.8669,1437.2267,7.1016))
        {
            TogglePlayerControllable(playerid, 0);
            utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
            GameTextForPlayer(playerid, "~y~utovar droge...", 5000, 3);
            SetPlayerCheckpoint(playerid, -2879.1038,497.7489,4.9141, 5.0);
            SvercDroge[playerid] = 2;
            SCM(playerid,-1,""ZUTA"TVF]: "BELA"Posle utovara odvezite drogu u skladiste...");
        }
    }
    if(SvercDroge[playerid] == 2 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2] && GetPlayerState(playerid) == 2)
    {
        if(IsPlayerInRangeOfPoint(playerid, 5.0, -2879.1038,497.7489,4.9141))
        {
            TogglePlayerControllable(playerid, 0);
            utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
            GameTextForPlayer(playerid, "~y~istovar droge...", 5000, 3);
            PlayerInfo[playerid][pDroga] += 800; SvercDroge[playerid] = 0;
            DisablePlayerCheckpoint(playerid);
            SCM(playerid,-1,""ZUTA"[TVF]: "BELA"Zavrsili ste sverc i dobili ste 800g droge!");
        }
    }

pod OnPlayerEnterCheckpoint?

[Filterscript] Simple Treasure Hunt
[Filterscript] Sistem pecanja
[Filterscript] Meditacija
[Filterscript] Molitva
[Include] Alarm
[Include] Posao Taxi

Citat: Kleo poslato April 27, 2020, 17:07:15 POSLE PODNE
Interesantno, ako si promijenio u SvercDroge onda ne vidim drugi moguci razlog zbog cega nece

Jel ti ovo
if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2)
    {
        if(IsPlayerInRangeOfPoint(playerid, 5.0, -2641.8669,1437.2267,7.1016))
        {
            TogglePlayerControllable(playerid, 0);
            utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
            GameTextForPlayer(playerid, "~y~utovar droge...", 5000, 3);
            SetPlayerCheckpoint(playerid, -2879.1038,497.7489,4.9141, 5.0);
            SvercDroge[playerid] = 2;
            SCM(playerid,-1,""ZUTA"TVF]: "BELA"Posle utovara odvezite drogu u skladiste...");
        }
    }
    if(SvercDroge[playerid] == 2 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2] && GetPlayerState(playerid) == 2)
    {
        if(IsPlayerInRangeOfPoint(playerid, 5.0, -2879.1038,497.7489,4.9141))
        {
            TogglePlayerControllable(playerid, 0);
            utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
            GameTextForPlayer(playerid, "~y~istovar droge...", 5000, 3);
            PlayerInfo[playerid][pDroga] += 800; SvercDroge[playerid] = 0;
            DisablePlayerCheckpoint(playerid);
            SCM(playerid,-1,""ZUTA"[TVF]: "BELA"Zavrsili ste sverc i dobili ste 800g droge!");
        }
    }

pod OnPlayerEnterCheckpoint?

Jestte tako mi je sve, da li nije mozda sto je TVF org posto je imala sverc ulja i sverc materijala i ja sam promenio bazu skroz i namestio samo sverc droge. Da li mozda nije do toga?

Kako su ti definisana vozila u skripti da nije do toga? Da li ideš sa Burritom ili kojim vec vozilom?

[Filterscript] Simple Treasure Hunt
[Filterscript] Sistem pecanja
[Filterscript] Meditacija
[Filterscript] Molitva
[Include] Alarm
[Include] Posao Taxi

Citat: Kleo poslato April 27, 2020, 17:29:22 POSLE PODNE
Kako su ti definisana vozila u skripti da nije do toga? Da li ideš sa Burritom ili kojim vec vozilom?

To sam isto proveravao i u sva tri Burrita mi se pokrece sverc. Kako se meni cini da je sa komandom /sverc sve uredu ali posle nesto zajebe

if(IsPlayerInRangeOfPoint(playerid, 5.0, -2641.8669,1437.2267,7.1016))


Ovo nema potrebe da ti ima, ako je usao u checkpoint, logicno da se nalazi na tim koordinatama.. Stavi tipa ovako:

if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2) 
{
	printf("CP1");
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -2641.8669,1437.2267,7.1016)) 
    {
        TogglePlayerControllable(playerid, 0);
        utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
        GameTextForPlayer(playerid, "~y~utovar droge...", 5000, 3);
        SetPlayerCheckpoint(playerid, -2879.1038,497.7489,4.9141, 5.0);
        SvercDroge[playerid] = 2;
        SCM(playerid,-1,""ZUTA"TVF]: "BELA"Posle utovara odvezite drogu u skladiste...");
    }
}
if(SvercDroge[playerid] == 2 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2] && GetPlayerState(playerid) == 2)
{
	printf("CP2");
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -2879.1038,497.7489,4.9141))
    {
        TogglePlayerControllable(playerid, 0);
        utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
        GameTextForPlayer(playerid, "~y~istovar droge...", 5000, 3);
        PlayerInfo[playerid][pDroga] += 800; SvercDroge[playerid] = 0;
        DisablePlayerCheckpoint(playerid);
        SCM(playerid,-1,""ZUTA"[TVF]: "BELA"Zavrsili ste sverc i dobili ste 800g droge!");
    }
}


Dodato printf, pre te provere za range, tako da sada testaj, kada udjes u Checkpoint, proveri konzolu, ako izbaci poruku CP1 ili CP2 u konzoli (samp-server.exe) onda je problem do provere IsPlayerInRageOfPoint, ako ne izbaci nista, onda je problem do :
if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2)

Citat: V01D poslato April 27, 2020, 20:53:06 POSLE PODNE
if(IsPlayerInRangeOfPoint(playerid, 5.0, -2641.8669,1437.2267,7.1016))


Ovo nema potrebe da ti ima, ako je usao u checkpoint, logicno da se nalazi na tim koordinatama.. Stavi tipa ovako:

if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2) 
{
	printf("CP1");
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -2641.8669,1437.2267,7.1016)) 
    {
        TogglePlayerControllable(playerid, 0);
        utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
        GameTextForPlayer(playerid, "~y~utovar droge...", 5000, 3);
        SetPlayerCheckpoint(playerid, -2879.1038,497.7489,4.9141, 5.0);
        SvercDroge[playerid] = 2;
        SCM(playerid,-1,""ZUTA"TVF]: "BELA"Posle utovara odvezite drogu u skladiste...");
    }
}
if(SvercDroge[playerid] == 2 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2] && GetPlayerState(playerid) == 2)
{
	printf("CP2");
    if(IsPlayerInRangeOfPoint(playerid, 5.0, -2879.1038,497.7489,4.9141))
    {
        TogglePlayerControllable(playerid, 0);
        utovar[playerid] = SetTimerEx("utovar1", 7000, false, "d", playerid);
        GameTextForPlayer(playerid, "~y~istovar droge...", 5000, 3);
        PlayerInfo[playerid][pDroga] += 800; SvercDroge[playerid] = 0;
        DisablePlayerCheckpoint(playerid);
        SCM(playerid,-1,""ZUTA"[TVF]: "BELA"Zavrsili ste sverc i dobili ste 800g droge!");
    }
}


Dodato printf, pre te provere za range, tako da sada testaj, kada udjes u Checkpoint, proveri konzolu, ako izbaci poruku CP1 ili CP2 u konzoli (samp-server.exe) onda je problem do provere IsPlayerInRageOfPoint, ako ne izbaci nista, onda je problem do :
if(SvercDroge[playerid] == 1 && CID == tvf[0] || CID == tvf[1] || CID == tvf[2]  && GetPlayerState(playerid) == 2)


Sada sam ubacio to u proradilo mi je :D, hvala puno na vremenu koje ste izdvoljili. Lock