Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Fr0z3n Mart 26, 2020, 19:15:25 posle podne

Naslov: Checkpoint
Poruka od: Fr0z3n Mart 26, 2020, 19:15:25 posle podne
Problem(error/warning): Naime, kada neko prodje kroz bilo koji cp nebitno da li je preko /gps, autoskola, poslovi kada prodje neko kroz njega on dobije platu, kako da resim pomoc molim vas!!!
Dio skripte: [ pawn ]vaš odgovor[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): https://imgur.com/a/EIwkxt4
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 26, 2020, 19:55:09 posle podne
Daj ceo callback OnPlayerEnterCheckpoint
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 26, 2020, 19:57:47 posle podne
Daj ceo callback OnPlayerEnterCheckpoint

Evo ovo je samo do polaganje za cp posle imaju i poslovi i gps itd...

Pawno Code: [Izaberi]
public OnPlayerEnterCheckpoint(playerid)
{
    new carid = GetPlayerVehicleID(playerid);
    if(AC[0][acTeleportCPHack] == 1)
    {
    if(!lz_ProveriBrzinu(playerid, false))
{
if(Lociranje[playerid] == 0 && PI[playerid][pAdmin] < 1)
{
CP_Teleport[playerid]++;
if(CP_Teleport[playerid] > 1)
{
    if(CP_Teleport[playerid] > 2)
    {
        ACKick(playerid, "TeleportHack(CP)");
CP_Teleport[playerid] = 0;
    }
    else
    {
ACWarning(playerid, "TeleportHack(CP)");
}
return true;
}
}
}
}
    if(NeMozeCP[playerid] > 0)
    {
        NeMozeCP[playerid] = 0;
lz_DisablePlayerCheckpoint(playerid);
        return true;
    }

    if(ASPolaze[playerid] > 0)
    {
        if(ASVozilo(GetPlayerVehicleID(playerid)) && GetPlayerState(playerid) == PL_ST_DRIVER)
{
    if(ASPolaze[playerid] == 1)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2083.9470,-146.2726,35.3203, 4);
        ASPolaze[playerid] = 2;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 2)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2083.8083,-165.5814,35.3203, 4);
        ASPolaze[playerid] = 3;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 3)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2090.2842,-173.0551,35.3203, 4);
        ASPolaze[playerid] = 4;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 4)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2083.8638,-177.8015,35.3203, 4);
        ASPolaze[playerid] = 5;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 5)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2079.4409,-193.0545,35.3203, 4);
        ASPolaze[playerid] = 6;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 6)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2061.3533,-193.0078,35.3203, 4);
        ASPolaze[playerid] = 7;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 7)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2053.7754,-187.2768,35.3274, 4);
        ASPolaze[playerid] = 8;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 8)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2053.8264,-169.3052,35.3203, 4);
        ASPolaze[playerid] = 9;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 9)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2061.7268,-151.9383,35.3203, 4);
        ASPolaze[playerid] = 10;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 10)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2053.9148,-139.1502,35.3274, 4);
        ASPolaze[playerid] = 11;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 11)
    {
lz_DisablePlayerCheckpoint(playerid);
        cp_SetPlayerCheckpoint(playerid, -2043.9674,-127.3324,35.2584, 4);
        ASPolaze[playerid] = 12;
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Nastavite dalje.");
    }
    else if(ASPolaze[playerid] == 12)
    {
        new Float:vhp;
        GetVehicleHealth(GetPlayerVehicleID(playerid), vhp);
        if(vhp < 900)
        {
            SetVehicleToRespawn(GetPlayerVehicleID(playerid));
            lz_DisablePlayerCheckpoint(playerid);
            ASPolaze[playerid] = 0;
            lz_SetPlayerPos(playerid, -2033.3922,-117.4472,1035.1759);
        lz_SetPlayerInterior(playerid, 3);
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Ostetili ste vozilo, zato niste ni dobili dozvolu.");
        return true;
        }
        SetVehicleToRespawn(GetPlayerVehicleID(playerid));
lz_DisablePlayerCheckpoint(playerid);
        LoadObjects(playerid, 5);
        PI[playerid][pKolaDoz] = 1;
        PI[playerid][pKolaDozVreme] = 300;
        ASPolaze[playerid] = 0;
        lz_SetPlayerPos(playerid, -2033.3922,-117.4472,1035.1759);
        lz_SetPlayerInterior(playerid, 3);
        lz_SetPlayerVirtualWorld(playerid, UsaoFirma[playerid]);
        EnterijerUsao(playerid);
        SCM(playerid, -1, "{007FFF}S » {FFFFFF}Polozili ste test i dobili ste vozacku dozvolu (trajanje 300h).");
        SaveAccount(playerid);
    }
}
return true;
    }
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 26, 2020, 20:01:16 posle podne
Koliko sam razumeo, cim stane u bilo koji checkpoint, dobije platu??

Ako je tako, daj funckiju cp_SetPlayerCheckpoint, mozda je do nje??

Ako nije, onda moras poslati ceo callback OnPlayerEnterCheckpoint, tako da mozemo videti da nije nesto unutar nje, tako da posalji ako ispadne da jeste problem unutar callback-a, ti posalji ceo callback preko pastebin linka, preglednije je..
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 26, 2020, 20:16:58 posle podne
Koliko sam razumeo, cim stane u bilo koji checkpoint, dobije platu??

Ako je tako, daj funckiju cp_SetPlayerCheckpoint, mozda je do nje??

Ako nije, onda moras poslati ceo callback OnPlayerEnterCheckpoint, tako da mozemo videti da nije nesto unutar nje, tako da posalji ako ispadne da jeste problem unutar callback-a, ti posalji ceo callback preko pastebin linka, preglednije je..

Evo pastebin

https://pastebin.com/QeZ2erLU
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 27, 2020, 09:14:31 pre podne
Koliko sam razumeo, cim stane u bilo koji checkpoint, dobije platu??

Ako je tako, daj funckiju cp_SetPlayerCheckpoint, mozda je do nje??

Ako nije, onda moras poslati ceo callback OnPlayerEnterCheckpoint, tako da mozemo videti da nije nesto unutar nje, tako da posalji ako ispadne da jeste problem unutar callback-a, ti posalji ceo callback preko pastebin linka, preglednije je..

Ima li mi pomoci?
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 27, 2020, 09:30:50 pre podne
Pawno Code: [Izaberi]
else if(DostavljaZlato[playerid] == 4 && PI[playerid][pJob] == 24)
{
            if(PZavrsio[playerid] == 1) return NijeZavrsio(playerid);
            PZavrsio[playerid] = 0;
            KillTimer(PZavrsioTimer[playerid]);
        lz_DisablePlayerCheckpoint(playerid);
        new zarada = random(500)+5000;
        #if NEWBIES_MONTH == 1
        if(PI[playerid][pLevel] < 10)
    {
zarada += zarada/3;
    }
    #endif
    if(HappyJob == 24)
        {
        SCMF(playerid,-1,"{007FFF}S » {FFFFFF}Istovario si zlato, tvoja zarada iznosi: 2x$%d jer je upaljen happyjob na ovom poslu. (Dodaje se na platu)",zarada);
        PI[playerid][pPlata] += zarada*2;
}
else
{
    SCMF(playerid,-1,"{007FFF}S » {FFFFFF}Istovario si zlato, tvoja zarada iznosi: $%d. (Dodaje se na platu)",zarada);
        PI[playerid][pPlata] += zarada;
}
PlayerJobFirmaNovac(playerid, VRSTA_ZLATO, zarada/4);
        UltraPlata(playerid, 800);
        SaveAccount(playerid);
        DostavljaZlato[playerid] = 0;
        SPD(playerid, DIALOG_DOSTAVLJAC_ZLATA, DIALOG_STYLE_MSGBOX, "{FFFA73}Dostavljac zlata", "{FFFFFF}Zelis li ponovo da krenes da dostavljas zlato?", "Da", "Ne");
        return 1;
}

Probaj stavi return 1; na kraj kao sto sam ja. Znaci, po slici mozemo videti da igrac dobija 5000 dolara + bonus neki, tako da jedino gde igrac dobija toliko novca je na kraju bus vozaca i dostavljaca zlata, na bus vozacu stoji return true, tako da ciljam da je to bio problem, verovatno nije. Mada vredi opet pokusati.. Eh sada, ne vidim nijedan dobar razlog da se tako nesto desava, mada vredi probati..

Ukoliko ne radi, spremi se da posaljes sledece:

cp_SetPlayerCheckpoint
UltraPlata

tako da mozemo da proverimo da nije slucajno do toga..
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 27, 2020, 10:00:31 pre podne
Pawno Code: [Izaberi]
else if(DostavljaZlato[playerid] == 4 && PI[playerid][pJob] == 24)
{
            if(PZavrsio[playerid] == 1) return NijeZavrsio(playerid);
            PZavrsio[playerid] = 0;
            KillTimer(PZavrsioTimer[playerid]);
        lz_DisablePlayerCheckpoint(playerid);
        new zarada = random(500)+5000;
        #if NEWBIES_MONTH == 1
        if(PI[playerid][pLevel] < 10)
    {
zarada += zarada/3;
    }
    #endif
    if(HappyJob == 24)
        {
        SCMF(playerid,-1,"{007FFF}S » {FFFFFF}Istovario si zlato, tvoja zarada iznosi: 2x$%d jer je upaljen happyjob na ovom poslu. (Dodaje se na platu)",zarada);
        PI[playerid][pPlata] += zarada*2;
}
else
{
    SCMF(playerid,-1,"{007FFF}S » {FFFFFF}Istovario si zlato, tvoja zarada iznosi: $%d. (Dodaje se na platu)",zarada);
        PI[playerid][pPlata] += zarada;
}
PlayerJobFirmaNovac(playerid, VRSTA_ZLATO, zarada/4);
        UltraPlata(playerid, 800);
        SaveAccount(playerid);
        DostavljaZlato[playerid] = 0;
        SPD(playerid, DIALOG_DOSTAVLJAC_ZLATA, DIALOG_STYLE_MSGBOX, "{FFFA73}Dostavljac zlata", "{FFFFFF}Zelis li ponovo da krenes da dostavljas zlato?", "Da", "Ne");
        return 1;
}

Probaj stavi return 1; na kraj kao sto sam ja. Znaci, po slici mozemo videti da igrac dobija 5000 dolara + bonus neki, tako da jedino gde igrac dobija toliko novca je na kraju bus vozaca i dostavljaca zlata, na bus vozacu stoji return true, tako da ciljam da je to bio problem, verovatno nije. Mada vredi opet pokusati.. Eh sada, ne vidim nijedan dobar razlog da se tako nesto desava, mada vredi probati..

Ukoliko ne radi, spremi se da posaljes sledece:

cp_SetPlayerCheckpoint
UltraPlata

tako da mozemo da proverimo da nije slucajno do toga..

Pawno Code: [Izaberi]
stock cp_SetPlayerCheckpoint(playerid, Float:xxe, Float:yye, Float:zze, Float:Range)
{
SetPlayerCheckpoint(playerid, xxe, yye, zze, Range);
    CPX[playerid] = xxe;
    CPY[playerid] = yye;
    CPZ[playerid] = zze;
    NeMozeCP[playerid] = 0;
}

Pawno Code: [Izaberi]
FUNCTION: UltraPlata(playerid, iznos)
{
if(PI[playerid][pGM] == 5)
{
lz_GivePlayerMoney(playerid, iznos);
SCMF(playerid, -1, "{FFFA73}+(ULTRA)PAYDAY: {FFFFFF}Dobili ste %d$ od posla zbog toga sto ste Super VIP!", iznos);
}
}

Nez dal sam lepo poslao cp_checkpoint proveri samo dal je stock toi to
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 27, 2020, 10:08:35 pre podne
Moras negde u skripti naci tu poruku, trazi preko CTRL+F i trazi "[PLATA]"

Vidi kada salje tu poruku..
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 27, 2020, 10:12:08 pre podne
Moras negde u skripti naci tu poruku, trazi preko CTRL+F i trazi "[PLATA]"

Vidi kada salje tu poruku..

a koju poruku brt? ne postoji [PLATA]
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 27, 2020, 11:21:10 pre podne
Ova : https://prnt.sc/rnq48f

Mora negde da postoji u skripti, samo je pitanje gde, ukoliko ne mozes naci [PLATA] probaj tipa "je dodato na Vas racun"

Uglavnom, vidis gde ti je ta poruka i gde se prikazuje
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 27, 2020, 12:12:50 posle podne
Dal nije ovo ovo sam uzeo od bus vozaca

Pawno Code: [Izaberi]
else if(BusRadi[playerid] == 19)
{
    if(PZavrsio[playerid] == 1) return NijeZavrsio(playerid);
    PZavrsio[playerid] = 0;
            KillTimer(PZavrsioTimer[playerid]);
new plata51 = random(500)+5000;
#if NEWBIES_MONTH == 1
if(PI[playerid][pLevel] < 10)
    {
plata51 += plata51/3;
    }
    #endif
    if(HappyJob == 18)
    {
PI[playerid][pPlata] += plata51*2;
SCMF(playerid, -1, "{007FFF}S » {FFFFFF}Zavrsili ste rutu i zaradili ste 2x$%d jer je upaljen happyjob na ovom poslu!", plata51);
}
else
{
    PI[playerid][pPlata] += plata51;
SCMF(playerid, -1, "{007FFF}S » {FFFFFF}Zavrsili ste rutu i zaradili ste $%d!", plata51);
}
UltraPlata(playerid, 500);
    BusRadi[playerid] = 0;
    if(IsValidActor(JobActor[playerid])) DestroyActor(JobActor[playerid]);
    SaveAccount(playerid);
    lz_DisablePlayerCheckpoint(playerid);
    SPD(playerid, DIALOG_BUS, DSM, "{1A94E6}Vozac autobusa", "{FFFFFF}Da li zelis ponovo da prevozis putnike?", "Da", "Ne");
    PlayerJobFirmaNovac(playerid, VRSTA_BUS, plata51/4);
    return true;
}
}
return true;
}
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 27, 2020, 12:51:54 posle podne
Dal nije ovo ovo sam uzeo od bus vozaca

Pawno Code: [Izaberi]
else if(BusRadi[playerid] == 19)
{
    if(PZavrsio[playerid] == 1) return NijeZavrsio(playerid);
    PZavrsio[playerid] = 0;
            KillTimer(PZavrsioTimer[playerid]);
new plata51 = random(500)+5000;
#if NEWBIES_MONTH == 1
if(PI[playerid][pLevel] < 10)
    {
plata51 += plata51/3;
    }
    #endif
    if(HappyJob == 18)
    {
PI[playerid][pPlata] += plata51*2;
SCMF(playerid, -1, "{007FFF}S » {FFFFFF}Zavrsili ste rutu i zaradili ste 2x$%d jer je upaljen happyjob na ovom poslu!", plata51);
}
else
{
    PI[playerid][pPlata] += plata51;
SCMF(playerid, -1, "{007FFF}S » {FFFFFF}Zavrsili ste rutu i zaradili ste $%d!", plata51);
}
UltraPlata(playerid, 500);
    BusRadi[playerid] = 0;
    if(IsValidActor(JobActor[playerid])) DestroyActor(JobActor[playerid]);
    SaveAccount(playerid);
    lz_DisablePlayerCheckpoint(playerid);
    SPD(playerid, DIALOG_BUS, DSM, "{1A94E6}Vozac autobusa", "{FFFFFF}Da li zelis ponovo da prevozis putnike?", "Da", "Ne");
    PlayerJobFirmaNovac(playerid, VRSTA_BUS, plata51/4);
    return true;
}
}
return true;
}

Ne, ne moze biti zato sto se nigde ne pojavljuje ta poruka sto se pojavljuje tebi, predji celu skriptu, vidi gde se nalazi ta poruka sto izlazi tebi, tacno tako napisana :/
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 27, 2020, 13:01:14 posle podne
Ne, ne moze biti zato sto se nigde ne pojavljuje ta poruka sto se pojavljuje tebi, predji celu skriptu, vidi gde se nalazi ta poruka sto izlazi tebi, tacno tako napisana :/

Proso sam ali kao da je nema kao da je napisana u nekim kodovima, mozda je skripter napravio namerno da se to desava, ja sam sve uspeo da promenim na modu i izbacim ali ovo nikako
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 27, 2020, 13:03:13 posle podne
Proso sam ali kao da je nema kao da je napisana u nekim kodovima, mozda je skripter napravio namerno da se to desava, ja sam sve uspeo da promenim na modu i izbacim ali ovo nikako

Ostao sam bez ideja :/

Jedina opcija je naci konkretno tu poruku, pokusaj opet, sigurno ti je nesto promaklo :/
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 27, 2020, 13:22:11 posle podne
Ostao sam bez ideja :/

Jedina opcija je naci konkretno tu poruku, pokusaj opet, sigurno ti je nesto promaklo :/

jedino da ti u pm posaljem celu skriptu preko pastebin pa da proveris ti?
Naslov: Odg: Checkpoint
Poruka od: V01D Mart 27, 2020, 13:25:28 posle podne
jedino da ti u pm posaljem celu skriptu preko pastebin pa da proveris ti?

Upload-aj samo .pwn na anonfile i posalji pm, pogledacu
Naslov: Odg: Checkpoint
Poruka od: Fr0z3n Mart 27, 2020, 22:26:22 posle podne
Fixano, problem je bio u filescripti koju sam ubacio  :D