SA-MP Forums Archive
Checkpoint problem, need help. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Checkpoint problem, need help. (/showthread.php?tid=289912)



Checkpoint problem, need help. - volune - 13.10.2011

hi there the problem is when I take the work of the bus driver, choose the route and after a drive through all the checkpoints and at the last, nothing happens, he just burn and all.
Please help solve the problem, the code is posted below.
sorry if my english is bad, im russian...

pawn Код:
new Float:Route1[16][3] = {//Los Santos
{1140.4226,-1715.1140,13.8583},
{1545.5533,-1595.5841,13.5158},
{1816.3058,-1673.4960,13.5945},
{1816.4094,-1902.9757,13.6415},
{1956.9583,-2136.6414,13.5948},
{2244.6982,-2215.9529,13.4329},
{2429.8440,-1254.6299,23.9636},
{1673.4246,-1158.2622,23.7896},
{1666.9512,-1163.4913,23.8068},
{2399.8291,-1259.7415,23.9649},
{2236.7375,-2199.7715,13.4591},
{1965.6260,-2148.2788,13.5927},
{1823.9556,-1895.7554,13.4872},
{1822.3669,-1667.7328,13.5161},
{1526.7728,-1653.6466,13.5161},
{1235.4631,-1830.3445,13.5351}
};
//////////////////////////////// WHEN CHOISE ROUTE //////////////////////////////////////////
if(listitem == 0)
{
SetPVarInt(playerid, "bus_way1", 1);
SetPlayerCheckpoint(playerid, Route1[0][0], Route1[0][1], Route1[0][2], 3.0);
}
//////////////////////////////// WHEN CHOISE ROUTE //////////////////////////////////////////

public OnPlayerEnterCheckpoint(playerid)
{
    if(GetPVarInt(playerid, "bus_way1"))
    {
        if(!GetPVarInt(playerid, "bus_way1")) return;
        new check = GetPVarInt(playerid, "bus_way1");
        check++;
        if(check >= sizeof Route1)
        {
            if(!GetPVarInt(playerid, "bus_way1"))
            {
                DeletePVar(playerid, "bus_way1");
                SendClientMessage(playerid, 0x00FF00FF, "Job is done!");
                DisablePlayerCheckpoint(playerid);
            }
        }
        else
        {
            TogglePlayerControllable(playerid, 0);
            SetTimerEx("busroutestoptimer", 10000, false, "i", playerid);
            ProxDetector(50.0, playerid, "Bus will go in 10 seconds!",0x00FF00FF,0x00FF00FF,0x00FF00FF,0x00FF00FF,0x00FF00FF);
            GivePlayerMoney(playerid,25);
            SetPlayerCheckpoint(playerid, Route1[check][0], Route1[check][1], Route1[check][2], 3.0);
            SetPVarInt(playerid, "bus_way1", check);
        }
    }
}

forward busroutestoptimer(playerid);
public busroutestoptimer(playerid)
{
    TogglePlayerControllable(playerid, 1);
}



Re: Checkpoint problem, need help. - =WoR=G4M3Ov3r - 13.10.2011

What do you mean by "he just burn and all" ?


Re: Checkpoint problem, need help. - whitedragon - 13.10.2011

You have add before
SetPlayerCheckpoint(playerid, Route1[check][0], Route1[check][1], Route1[check][2], 3.0);
line:
DisablePlayerCheckpoint(playerid);
that because other ways the checkpoint not change
I think that should help you.


Re: Checkpoint problem, need help. - volune - 13.10.2011

Quote:
Originally Posted by =WoR=G4M3Ov3r
Посмотреть сообщение
What do you mean by "he just burn and all" ?
when i enter on checkpoint it not disable and do nothing


Re: Checkpoint problem, need help. - whitedragon - 13.10.2011

Volune have you try my code?


Re: Checkpoint problem, need help. - volune - 13.10.2011

Quote:
Originally Posted by whitedragon
Посмотреть сообщение
Volune have you try my code?
yes, but not helped


Re: Checkpoint problem, need help. - volune - 13.10.2011

anyone ?


Re: Checkpoint problem, need help. - volune - 13.10.2011

bump


Re: Checkpoint problem, need help. - volune - 14.10.2011

Bump.


Re: Checkpoint problem, need help. - Vince - 14.10.2011

Your code contains a lot of unnecesarry checks, but my guess is that if you change this:
pawn Код:
if(check >= sizeof Route1)
to
pawn Код:
if(check >= sizeof(Route1)-1)
then it might work.