problem with checkpoint
#1

Hey! I created job drug smuggler, and added some checkpoints, but I have one little problem. When I enter checkpoint I created, nothing happens, even checkpoint won't disappear, and that is odd I think :/
here's my code:
Код:
// Comand:
CMD:getweed(playerid,params[])
{
	if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
   	if(PlayerInfo[playerid][pJob] != JOB_DSMUGGLER && PlayerInfo[playerid][pVIPJob] != JOB_DSMUGGLER) return SendClientMessage(playerid, COLOR_GREY, "You are not a Drugs Smuggler.");
    if(CP[playerid] != 0) return SendClientMessage(playerid, COLOR_WHITE, "You already have a task, use /killcheckpoint first.");
	if(PlayerInfo[playerid][pDPackages]) return SendClientMessage(playerid, COLOR_GREY, "You already have packages.");
	if(!IsPlayerInRangeOfPoint(playerid, 3, -2839.5,-513.5,7.6)) return SendClientMessage(playerid, COLOR_GREY, "You are not near the drug store.");
	SendClientMessage(playerid, COLOR_LIGHTBLUE, "Go to the weed pickup to get packages.");
    CP[playerid] = 5001;
	if(DrugCP == 0)
	SetPlayerCheckpoint(playerid,-1958.2,-147,24.7,1);
    else if(DrugCP == 1)
	SetPlayerCheckpoint(playerid,-1721.8,-152,2.7,1);
	else if(DrugCP == 2)
	SetPlayerCheckpoint(playerid,-1808.4,1028.1,44.3,1);
	else if(DrugCP == 3)
	SetPlayerCheckpoint(playerid,-1789.5,1542.8,6.3,1);
	else if(DrugCP == 4)
	SetPlayerCheckpoint(playerid,-1663.9,1085.7,6.9,1);
	else if(DrugCP == 5)
	SetPlayerCheckpoint(playerid,-1951.9,-1089.9,29.8,1);
	else if(DrugCP == 6)
	SetPlayerCheckpoint(playerid,-2044.2,-9.9,34.3,1);
	else if(DrugCP == 7)
	SetPlayerCheckpoint(playerid,-1364.2,-191.5,5.3,1);
	return 1;
}


// Checkpoint
else if(CP[playerid] == 5001)
	{
	    new packages, string[128];
        if(IsPlayerInRangeOfPoint(playerid, 2, -1958.2,-147,24.7) || IsPlayerInRangeOfPoint(playerid, 2, -1721.8,-152,2.7) || IsPlayerInRangeOfPoint(playerid, 2, -1808.4,1028.1,44.3) || IsPlayerInRangeOfPoint(playerid, 2, -1789.5,1542.8,6.3) || IsPlayerInRangeOfPoint(playerid, 2, -1663.9,1085.7,6.9)
 		 || IsPlayerInRangeOfPoint(playerid, 2, -1951.9,-1089.9,29.8) || IsPlayerInRangeOfPoint(playerid, 2, -2044.2,-9.9,34.3) || IsPlayerInRangeOfPoint(playerid, 2, -1364.2,-191.5,5.3))
		{
		    
			if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 80) packages = 4;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 160) packages = 6;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 240) packages = 10;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 320) packages = 15;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] >= 400) packages = 20;
		   	if(PlayerInfo[playerid][pJob] != JOB_DSMUGGLER && PlayerInfo[playerid][pVIPJob] != JOB_DSMUGGLER) return SendClientMessage(playerid, COLOR_GREY, "You are not a Drugs Smuggler.");
			if(PlayerInfo[playerid][pDPackages]) return SendClientMessage(playerid, COLOR_GREY, "You already have packages.");
		 	PlayerInfo[playerid][pDPackages] = 1;
			format(string,sizeof(string),"You have picked %d packages of weed, deliver them to drug store.",packages);
			SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
			SetPlayerCheckpoint(playerid,-2839.5,-513.5,7.6,2);
		}
		else if(IsPlayerInRangeOfPoint(playerid,2,-2839.5,-513.5,7.6))
		{
			if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 80) packages = 5;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 180) packages = 10;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 240) packages = 15;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 320) packages = 20;
			else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] >= 400) packages = 25;
		   	if(PlayerInfo[playerid][pJob] != JOB_DSMUGGLER && PlayerInfo[playerid][pVIPJob] != JOB_DSMUGGLER) return SendClientMessage(playerid, COLOR_GREY, "You are not a Drugs Smuggler.");
			if(PlayerInfo[playerid][pDPackages] != 1) return SendClientMessage(playerid, COLOR_GREY, "You have no weed packages on you.");
			if(Weed >= 2000) return SendClientMessage(playerid, COLOR_GREY, "The Drugs House can't hold any more weed at the moment.");
			PlayerInfo[playerid][pDPackages] = 0;
			PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] ++;
			Weed = packages*2;
			GiveDodMoney(playerid, packages*20);
			format(string, sizeof(string), "USAGE: /buydrugs\nWeed in stock: %d/2000\nCocaine in stock: %d/1200", Weed,cocaine);
			Update3DTextLabelText(buydrugsText, COLOR_WHITE, string);
			format(string, sizeof(string), "* You have delivered {FF6347}%d{33CCFF} packages for {FF6347}$%d{33CCFF}.", packages, packages*20);
		    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
		    CP[playerid] = 0;
		}
		return 1;
	}
I have no idea what could be wrong in code so checkpoint won't work. Please someone help me
Reply
#2

Did you use the checkpoint code in "OnPlayerEnterCheckpoint" callback?

pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(CP[playerid] == 5001)
        {
         new packages, string[128];
           if(IsPlayerInRangeOfPoint(playerid, 2, -1958.2,-147,24.7) || IsPlayerInRangeOfPoint(playerid, 2, -1721.8,-152,2.7) || IsPlayerInRangeOfPoint(playerid, 2, -1808.4,1028.1,44.3) || IsPlayerInRangeOfPoint(playerid, 2, -1789.5,1542.8,6.3) || IsPlayerInRangeOfPoint(playerid, 2, -1663.9,1085.7,6.9)
         || IsPlayerInRangeOfPoint(playerid, 2, -1951.9,-1089.9,29.8) || IsPlayerInRangeOfPoint(playerid, 2, -2044.2,-9.9,34.3) || IsPlayerInRangeOfPoint(playerid, 2, -1364.2,-191.5,5.3))
            {
           
                if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 80) packages = 4;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 160) packages = 6;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 240) packages = 10;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 320) packages = 15;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] >= 400) packages = 20;
                if(PlayerInfo[playerid][pJob] != JOB_DSMUGGLER && PlayerInfo[playerid][pVIPJob] != JOB_DSMUGGLER) return SendClientMessage(playerid, COLOR_GREY, "You are not a Drugs Smuggler.");
                if(PlayerInfo[playerid][pDPackages]) return SendClientMessage(playerid, COLOR_GREY, "You already have packages.");
                PlayerInfo[playerid][pDPackages] = 1;
                format(string,sizeof(string),"You have picked %d packages of weed, deliver them to drug store.",packages);
                SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
                SetPlayerCheckpoint(playerid,-2839.5,-513.5,7.6,2);
            }
            else if(IsPlayerInRangeOfPoint(playerid,2,-2839.5,-513.5,7.6))
            {
                if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 80) packages = 5;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 180) packages = 10;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 240) packages = 15;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 320) packages = 20;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] >= 400) packages = 25;
                if(PlayerInfo[playerid][pJob] != JOB_DSMUGGLER && PlayerInfo[playerid][pVIPJob] != JOB_DSMUGGLER) return SendClientMessage(playerid, COLOR_GREY, "You are not a Drugs Smuggler.");
                if(PlayerInfo[playerid][pDPackages] != 1) return SendClientMessage(playerid, COLOR_GREY, "You have no weed packages on you.");
                if(Weed >= 2000) return SendClientMessage(playerid, COLOR_GREY, "The Drugs House can't hold any more weed at the moment.");
                PlayerInfo[playerid][pDPackages] = 0;
                PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] ++;
                Weed = packages*2;
                GiveDodMoney(playerid, packages*20);
                format(string, sizeof(string), "USAGE: /buydrugs\nWeed in stock: %d/2000\nCocaine in stock: %d/1200", Weed,cocaine);
                Update3DTextLabelText(buydrugsText, COLOR_WHITE, string);
                format(string, sizeof(string), "* You have delivered {FF6347}%d{33CCFF} packages for {FF6347}$%d{33CCFF}.", packages, packages*20);
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
              CP[playerid] = 0;
            }
            return 1;
        }
}
Reply
#3

yeah, I did
Reply
#4

Try this;

pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(CP[playerid] == 5001)
        {
        DisablePlayerCheckpoint(playerid);
         new packages, string[128];
           if(IsPlayerInRangeOfPoint(playerid, 2, -1958.2,-147,24.7) || IsPlayerInRangeOfPoint(playerid, 2, -1721.8,-152,2.7) || IsPlayerInRangeOfPoint(playerid, 2, -1808.4,1028.1,44.3) || IsPlayerInRangeOfPoint(playerid, 2, -1789.5,1542.8,6.3) || IsPlayerInRangeOfPoint(playerid, 2, -1663.9,1085.7,6.9)
         || IsPlayerInRangeOfPoint(playerid, 2, -1951.9,-1089.9,29.8) || IsPlayerInRangeOfPoint(playerid, 2, -2044.2,-9.9,34.3) || IsPlayerInRangeOfPoint(playerid, 2, -1364.2,-191.5,5.3))
            {
           
                if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 80) packages = 4;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 160) packages = 6;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 240) packages = 10;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 320) packages = 15;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] >= 400) packages = 20;
                if(PlayerInfo[playerid][pJob] != JOB_DSMUGGLER && PlayerInfo[playerid][pVIPJob] != JOB_DSMUGGLER) return SendClientMessage(playerid, COLOR_GREY, "You are not a Drugs Smuggler.");
                if(PlayerInfo[playerid][pDPackages]) return SendClientMessage(playerid, COLOR_GREY, "You already have packages.");
                PlayerInfo[playerid][pDPackages] = 1;
                format(string,sizeof(string),"You have picked %d packages of weed, deliver them to drug store.",packages);
                SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
                SetPlayerCheckpoint(playerid,-2839.5,-513.5,7.6,2);
            }
            else if(IsPlayerInRangeOfPoint(playerid,2,-2839.5,-513.5,7.6))
            {
                if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 80) packages = 5;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 180) packages = 10;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 240) packages = 15;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] < 320) packages = 20;
                else if(PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] >= 400) packages = 25;
                if(PlayerInfo[playerid][pJob] != JOB_DSMUGGLER && PlayerInfo[playerid][pVIPJob] != JOB_DSMUGGLER) return SendClientMessage(playerid, COLOR_GREY, "You are not a Drugs Smuggler.");
                if(PlayerInfo[playerid][pDPackages] != 1) return SendClientMessage(playerid, COLOR_GREY, "You have no weed packages on you.");
                if(Weed >= 2000) return SendClientMessage(playerid, COLOR_GREY, "The Drugs House can't hold any more weed at the moment.");
                PlayerInfo[playerid][pDPackages] = 0;
                PlayerInfo[playerid][pJobSkill][JOB_DSMUGGLER] ++;
                Weed = packages*2;
                GiveDodMoney(playerid, packages*20);
                format(string, sizeof(string), "USAGE: /buydrugs\nWeed in stock: %d/2000\nCocaine in stock: %d/1200", Weed,cocaine);
                Update3DTextLabelText(buydrugsText, COLOR_WHITE, string);
                format(string, sizeof(string), "* You have delivered {FF6347}%d{33CCFF} packages for {FF6347}$%d{33CCFF}.", packages, packages*20);
               SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
              CP[playerid] = 0;
            }
            return 1;
        }
}
Reply
#5

nope, wont work. When I enter checkpoint, nothing happens and checkpoint wont dissapear again
Reply
#6

does anyone else knows why this is happening?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)