Can somebody explain this? -
Theepiccoder - 03.02.2016
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;
}
Re: Can somebody explain this? -
Sew_Sumi - 03.02.2016
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?
Re: Can somebody explain this? -
Theepiccoder - 03.02.2016
I am using streamer.
"plugins streamer sscanf" - server.cfg
"#include <streamer>" - ABRPnew.pwn
Re: Can somebody explain this? -
Sew_Sumi - 03.02.2016
Then you shouldn't be using the native checkpoint functions, you need to use the streamers dynamic ones.
Re: Can somebody explain this? -
Theepiccoder - 03.02.2016
Example?
Re: Can somebody explain this? -
Sew_Sumi - 03.02.2016
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.
Re: Can somebody explain this? -
Theepiccoder - 03.02.2016
Just tell me what wrong -.- i did it, it still spams 'Nastavi dalje' and the checkpoint doesnt disappear.
Re: Can somebody explain this? -
Sew_Sumi - 03.02.2016
You need DisablePlayerCheckpoint.
Код:
public OnPlayerEnterCheckpoint(playerid)
{
GivePlayerMoney(playerid, 10000);
DisablePlayerCheckpoint(playerid);
return 1;
}
Re: Can somebody explain this? -
Theepiccoder - 03.02.2016
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);
}
}
-
Sew_Sumi - 03.02.2016
I also told you before that you shouldn't be using any of these functions, or callbacks, because you are using the streamer.