Can somebody explain this?
#1

I made a bus job, and when he passes the first checkpoint, when he goes to the other one, 'Nastavi Dalje' spams chat and you cant move. I have KillTimer setup, i dont know why it does this. Can anybody explain this? Or fix it?

IMAGES: http://imgur.com/a/C88Yz

Heres the code, i took the main things from my gamemode and pasted it here:
Код:
#define POSAO_BVLINIJE 2001

// OnDialogResponse
case POSAO_BVLINIJE:
		{
		    switch(listitem)
		    {
		        case 0:
		        {
		            SendClientMessage(playerid, -1, "{FF0000}[AB:RP] {FFFFFF}Krenuli ste sa prevozom putnika.");
		            SetPlayerCheckpoint(playerid, 1816.8846,-1909.6692,13.3919, 5.0);
		            BVBusStanica[playerid] = 1;
				}
			}
		}

CMD:bvlinija(playerid, params[])
{
    if(UlogovanProvera[playerid] != 1) return SendClientMessage(playerid,-1, "{FF0000}[AB:RP] {FFFFFF}Moras se ulogovati da bi to koristio!");
    if(PlayerInfo[playerid][pPosao] != 1) return SendClientMessage(playerid,-1, "{FF0000}[AB:RP] {FFFFFF}Nisi zaposlen kao Bus Vozac.");
    if(PlayerInfo[playerid][pPosao] == 1)
    {
        ShowPlayerDialog(playerid, POSAO_BVLINIJE, DIALOG_STYLE_LIST, "{FF0000}Bus Vozac : Linije", "{FFFFFF}Linija 1", "Odaberi", "Izlaz");
	}
	return 1;
}


public OnPlayerEnterCheckpoint(playerid)
{
	new CID = GetPlayerVehicleID(playerid);
	if(IsPlayerInRangeOfPoint(playerid, 5.0, 1816.8846,-1909.6692,13.3919) && BVBusStanica[playerid] == 1 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 1966.5309,-1884.5540,13.3828, 5.0);
    	BVBusStanica[playerid] = 2;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1966.5309,-1884.5540,13.3828) && BVBusStanica[playerid] == 2 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 2006.4490,-1691.5026,13.3828, 5.0);
    	BVBusStanica[playerid] = 3;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2006.4490,-1691.5026,13.3828) && BVBusStanica[playerid] == 3 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 2085.9846,-1653.4810,13.3906, 5.0);
    	BVBusStanica[playerid] = 4;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2085.9846,-1653.4810,13.3906) && BVBusStanica[playerid] == 4 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 2207.6257,-1622.0023,16.3724, 5.0);
    	BVBusStanica[playerid] = 5;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2207.6257,-1622.0023,16.3724) && BVBusStanica[playerid] == 5 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 2217.3308,-1427.5227,23.8281, 5.0);
    	BVBusStanica[playerid] = 6;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2217.3308,-1427.5227,23.8281) && BVBusStanica[playerid] == 6 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 2074.7964,-1356.9136,23.8278, 5.0);
    	BVBusStanica[playerid] = 7;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2074.7964,-1356.9136,23.8278) && BVBusStanica[playerid] == 7 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 1842.9479,-1355.3927,13.3984, 5.0);
    	BVBusStanica[playerid] = 8;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1842.9479,-1355.3927,13.3984) && BVBusStanica[playerid] == 8 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 1817.2433,-1591.8223,13.3562, 5.0);
    	BVBusStanica[playerid] = 9;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1842.9479,-1355.3927,13.3984) && BVBusStanica[playerid] == 9 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	SetPlayerCheckpoint(playerid, 1777.4695,-1890.4114,13.3875, 5.0);
    	BVBusStanica[playerid] = 10;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1777.4695,-1890.4114,13.3875) && BVBusStanica[playerid] == 10 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	DisablePlayerCheckpoint(playerid);
    	SendClientMessage(playerid, -1, "{FF0000}[AB:RP] {FFFFFF}Putnici izlaze iz autobusa...");
    	BVBusStanica[playerid] = 0;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBVKraj", 2500, false, "i", playerid);
	}
}

forward FreezeBV(playerid);
public FreezeBV(playerid)
{
    KillTimer(PosaoBVFreeze[playerid]);
    TogglePlayerControllable(playerid, 1);
	SendClientMessage(playerid, -1, "{FF0000}[AB:RP] {FFFFFF}Nastavi dalje...");
	return 1;
}
forward FreezeBVKraj(playerid);
public FreezeBVKraj(playerid)
{
    SendClientMessage(playerid, -1, "{FF0000}[AB:RP] {FFFFFF}Zavrsili ste liniju br. 1 i dobili ste $170");
    g_NovacPlus(playerid, 170);
    TogglePlayerControllable(playerid, 1);
    return 1;
}
Reply
#2

This is where you start using debuging methods, such as putting various reports, on various "changes".

You're not using the streamer on your server?
Reply
#3

I am using streamer.
"plugins streamer sscanf" - server.cfg
"#include <streamer>" - ABRPnew.pwn
Reply
#4

Then you shouldn't be using the native checkpoint functions, you need to use the streamers dynamic ones.
Reply
#5

Example?
Reply
#6

Quote:
Originally Posted by Theepiccoder
Посмотреть сообщение
Example?
http://forum.sa-mp.com/showpost.php?...33&postcount=1

https://github.com/samp-incognito/sa...er-plugin/wiki

As for your code issue, you may need to read more about checkpoints in general as well.

https://sampforum.blast.hk/showthread.php?tid=262374

In that code, they disable the checkpoints.

You need to read the documentation more.
Reply
#7

Just tell me what wrong -.- i did it, it still spams 'Nastavi dalje' and the checkpoint doesnt disappear.
Reply
#8

You need DisablePlayerCheckpoint.

Код:
public OnPlayerEnterCheckpoint(playerid)
{
    GivePlayerMoney(playerid, 10000);
    DisablePlayerCheckpoint(playerid);
    return 1;
}
Reply
#9

I told you i added it already --- Same thing happens.

Код:
public OnPlayerEnterCheckpoint(playerid)
{
	new CID = GetPlayerVehicleID(playerid);
	if(IsPlayerInRangeOfPoint(playerid, 5.0, 1816.8846,-1909.6692,13.3919) && BVBusStanica[playerid] == 1 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 1966.5309,-1884.5540,13.3828, 5.0);
    	BVBusStanica[playerid] = 2;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1966.5309,-1884.5540,13.3828) && BVBusStanica[playerid] == 2 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 2006.4490,-1691.5026,13.3828, 5.0);
    	BVBusStanica[playerid] = 3;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2006.4490,-1691.5026,13.3828) && BVBusStanica[playerid] == 3 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 2085.9846,-1653.4810,13.3906, 5.0);
    	BVBusStanica[playerid] = 4;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2085.9846,-1653.4810,13.3906) && BVBusStanica[playerid] == 4 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 2207.6257,-1622.0023,16.3724, 5.0);
    	BVBusStanica[playerid] = 5;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2207.6257,-1622.0023,16.3724) && BVBusStanica[playerid] == 5 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 2217.3308,-1427.5227,23.8281, 5.0);
    	BVBusStanica[playerid] = 6;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2217.3308,-1427.5227,23.8281) && BVBusStanica[playerid] == 6 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
		DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 2074.7964,-1356.9136,23.8278, 5.0);
    	BVBusStanica[playerid] = 7;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2074.7964,-1356.9136,23.8278) && BVBusStanica[playerid] == 7 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 1842.9479,-1355.3927,13.3984, 5.0);
    	BVBusStanica[playerid] = 8;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1842.9479,-1355.3927,13.3984) && BVBusStanica[playerid] == 8 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 1817.2433,-1591.8223,13.3562, 5.0);
    	BVBusStanica[playerid] = 9;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1842.9479,-1355.3927,13.3984) && BVBusStanica[playerid] == 9 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
	    DisablePlayerCheckpoint(playerid);
    	SetPlayerCheckpoint(playerid, 1777.4695,-1890.4114,13.3875, 5.0);
    	BVBusStanica[playerid] = 10;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBV", 2500, false, "i", playerid);
	}
	else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1777.4695,-1890.4114,13.3875) && BVBusStanica[playerid] == 10 && CID == vbus[0] || CID == vbus[1] || CID == vbus[2] || CID == vbus[3] || CID == vbus[4])
	{
    	DisablePlayerCheckpoint(playerid);
    	SendClientMessage(playerid, -1, "{FF0000}[AB:RP] {FFFFFF}Putnici izlaze iz autobusa...");
    	BVBusStanica[playerid] = 0;
    	TogglePlayerControllable(playerid, 0);
    	PosaoBVFreeze[playerid] = SetTimerEx("FreezeBVKraj", 2500, false, "i", playerid);
	}
}
Reply
#10

I also told you before that you shouldn't be using any of these functions, or callbacks, because you are using the streamer.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)