Little help with error 029
#1

Ok, so i've been making a bus driving job, and it keep getting 1 error, and that's error 029

Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
	{
	if(BusDriver[playerid] == 1)
 	}//error
	BusDriver[playerid] = 2;
	SetPlayerCheckpoint(playerid, 1727.2363,1530.5306,10.6643,182.2141);//busstop2
	SCM(playerid, -1, "Go to the next bus stop!");
	return 1;
	}
	if(BusDriver[playerid] == 2)
	{
	BusDriver[playerid] = 3;
	SetPlayerCheckpoint(playerid, 1943.2926,1310.3976,9.1094,177.2008);//busstop3
	return 1;
	}
	if(BusDriver[playerid] == 3)
	{
	BusDriver[playerid] = 4;
	SetPlayerCheckpoint(playerid, 2038.1346,1025.7537,10.6719,177.5141);//busstop4
	return 1;
	}
	if(BusDriver[playerid] == 4)
	{
	BusDriver[playerid] = 5;
	SetPlayerCheckpoint(playerid, 2198.7781,968.7614,10.6719,270.5749);//busstop5
	return 1;
	}
	if(BusDriver[playerid] == 5)
	{
	BusDriver[playerid] = 6;
	SetPlayerCheckpoint(playerid, 2500.9714,1008.7056,10.6797,268.0682);//busstop6
	return 1;
	}
	if(BusDriver[playerid] == 6)
	{
	BusDriver[playerid] = 7;
	SetPlayerCheckpoint(playerid, 2631.6003,1279.8844,10.6719,357.6823);//busstop7
	return 1;
	}
	if(BusDriver[playerid] == 7)
	{
	BusDriver[playerid] = 8;
	SetPlayerCheckpoint(playerid, 2532.7778,1530.7970,10.6719,90.1165);//busstop8
	return 1;
	}
	if(BusDriver[playerid] == 8)
	{
	BusDriver[playerid] = 9;
	SetPlayerCheckpoint(playerid, 2511.8542,1786.0403,10.6719,359.5623);//busstop9
	return 1;
	}
	if(BusDriver[playerid] == 9)
	{
	BusDriver[playerid] = 10;
	SetPlayerCheckpoint(playerid, 2531.6519,2287.5186,10.6719,355.8257);//busstop10
	return 1;
	}
	if(BusDriver[playerid] == 10)
	{
	BusDriver[playerid] = 11;
	SetPlayerCheckpoint(playerid, 2293.9094,2417.8982,10.6830,90.4532);//busstop11
	return 1;
	}
	if(BusDriver[playerid] == 11)
	{
	BusDriver[playerid] = 12;
	SetPlayerCheckpoint(playerid, 1963.5425,2287.6392,10.9233,90.4532);//busstop12
	return 1;
	}
	return 1;
}
Код:
C:\Users\Administrator\Desktop\Freeroam\filterscripts\Jobs.pwn(82) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Reply
#2

Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
	{
	if(BusDriver[playerid] == 1)
 	{
	BusDriver[playerid] = 2;
	SetPlayerCheckpoint(playerid, 1727.2363,1530.5306,10.6643,182.2141);//busstop2
	SCM(playerid, -1, "Go to the next bus stop!");
	return 1;
	}
	if(BusDriver[playerid] == 2)
	{
	BusDriver[playerid] = 3;
	SetPlayerCheckpoint(playerid, 1943.2926,1310.3976,9.1094,177.2008);//busstop3
	return 1;
	}
	if(BusDriver[playerid] == 3)
	{
	BusDriver[playerid] = 4;
	SetPlayerCheckpoint(playerid, 2038.1346,1025.7537,10.6719,177.5141);//busstop4
	return 1;
	}
	if(BusDriver[playerid] == 4)
	{
	BusDriver[playerid] = 5;
	SetPlayerCheckpoint(playerid, 2198.7781,968.7614,10.6719,270.5749);//busstop5
	return 1;
	}
	if(BusDriver[playerid] == 5)
	{
	BusDriver[playerid] = 6;
	SetPlayerCheckpoint(playerid, 2500.9714,1008.7056,10.6797,268.0682);//busstop6
	return 1;
	}
	if(BusDriver[playerid] == 6)
	{
	BusDriver[playerid] = 7;
	SetPlayerCheckpoint(playerid, 2631.6003,1279.8844,10.6719,357.6823);//busstop7
	return 1;
	}
	if(BusDriver[playerid] == 7)
	{
	BusDriver[playerid] = 8;
	SetPlayerCheckpoint(playerid, 2532.7778,1530.7970,10.6719,90.1165);//busstop8
	return 1;
	}
	if(BusDriver[playerid] == 8)
	{
	BusDriver[playerid] = 9;
	SetPlayerCheckpoint(playerid, 2511.8542,1786.0403,10.6719,359.5623);//busstop9
	return 1;
	}
	if(BusDriver[playerid] == 9)
	{
	BusDriver[playerid] = 10;
	SetPlayerCheckpoint(playerid, 2531.6519,2287.5186,10.6719,355.8257);//busstop10
	return 1;
	}
	if(BusDriver[playerid] == 10)
	{
	BusDriver[playerid] = 11;
	SetPlayerCheckpoint(playerid, 2293.9094,2417.8982,10.6830,90.4532);//busstop11
	return 1;
	}
	if(BusDriver[playerid] == 11)
	{
	BusDriver[playerid] = 12;
	SetPlayerCheckpoint(playerid, 1963.5425,2287.6392,10.9233,90.4532);//busstop12
	return 1;
	}
        }
	return 1;
}
NOw it should work
Reply
#3

Ah! Thank you Jakwob! I now see where i went wrong
Reply
#4

In such cases, use switch & case, less calculations.

pawn Код:
public OnPlayerEnterCheckpoint(playerid)
{
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
    {
        switch(BusDriver[playerid])
        {
            case 1:
            {
                BusDriver[playerid] = 2;
                SetPlayerCheckpoint(playerid, 1727.2363,1530.5306,10.6643,182.2141);//busstop2
                SCM(playerid, -1, "Go to the next bus stop!");
                return 1;
            }
           
            case 2:
            {
                BusDriver[playerid] = 3;
                SetPlayerCheckpoint(playerid, 1943.2926,1310.3976,9.1094,177.2008);//busstop3
                return 1;
            }
           
            case 3:
            {
                BusDriver[playerid] = 4;
                SetPlayerCheckpoint(playerid, 2038.1346,1025.7537,10.6719,177.5141);//busstop4
                return 1;
            }
           
            case 4:
            {
                BusDriver[playerid] = 5;
                SetPlayerCheckpoint(playerid, 2198.7781,968.7614,10.6719,270.5749);//busstop5
                return 1;
            }
           
            case 5:
            {
                BusDriver[playerid] = 6;
                SetPlayerCheckpoint(playerid, 2500.9714,1008.7056,10.6797,268.0682);//busstop6
                return 1;
            }
           
            case 6:
            {
                BusDriver[playerid] = 7;
                SetPlayerCheckpoint(playerid, 2631.6003,1279.8844,10.6719,357.6823);//busstop7
                return 1;
            }
           
            case 7:
            {
                BusDriver[playerid] = 8;
                SetPlayerCheckpoint(playerid, 2532.7778,1530.7970,10.6719,90.1165);//busstop8
                return 1;
            }
           
            case 8:
            {
                BusDriver[playerid] = 9;
                SetPlayerCheckpoint(playerid, 2511.8542,1786.0403,10.6719,359.5623);//busstop9
                return 1;
            }
           
            case 9:
            {
                BusDriver[playerid] = 10;
                SetPlayerCheckpoint(playerid, 2531.6519,2287.5186,10.6719,355.8257);//busstop10
                return 1;
            }
           
            case 10:
            {
                BusDriver[playerid] = 11;
                SetPlayerCheckpoint(playerid, 2293.9094,2417.8982,10.6830,90.4532);//busstop11
                return 1;
            }
           
            case 11:
            {
                BusDriver[playerid] = 12;
                SetPlayerCheckpoint(playerid, 1963.5425,2287.6392,10.9233,90.4532);//busstop12
                return 1;
            }
        }
    }
    return 1;
}
Reply
#5

LeXuZ to make it more inteasting you could also make it Random checkpoints. that will make it so players can not know where there headed next. here is the code i made using your checkpoint cords and using your vehicle ID. to add more checkpoints add them here using the same format as i use
Код:
new Float: BusCP[][3] = // Bus Job Random Checkpoints
{
	{1943.2926,1310.3976,9.1094},
	{2038.1346,1025.7537,10.6719},
	{2198.7781,968.7614,10.6719},
	{2500.9714,1008.7056,10.6797},
	{2631.6003,1279.8844,10.6719},
	{2532.7778,1530.7970,10.6719},
	{2511.8542,1786.0403,10.6719},
	{2531.6519,2287.5186,10.6719},
	{2293.9094,2417.8982,10.6830},
	{1963.5425,2287.6392,10.9233}
};
Here is the whole code using the Random Spawns
Код:
new BusJob[MAX_PLAYERS];
new BusCPpassed;

new Float: BusCP[][3] =// Bus Job Random Checkpoints
{
	{1943.2926,1310.3976,9.1094},
	{2038.1346,1025.7537,10.6719},
	{2198.7781,968.7614,10.6719},
	{2500.9714,1008.7056,10.6797},
	{2631.6003,1279.8844,10.6719},
	{2532.7778,1530.7970,10.6719},
	{2511.8542,1786.0403,10.6719},
	{2531.6519,2287.5186,10.6719},
	{2293.9094,2417.8982,10.6830},
	{1963.5425,2287.6392,10.9233}
};

CMD:bdriver(playerid, params[])
{
	if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
	{
		{
			if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return SendClientMessage(playerid, -1, "[ERROR] You need to be in a bus to start the job!");
			{
				BusJob[playerid] = 1;
				SetPlayerCheckpoint(playerid, 1727.2363,1530.5306,10.6643, 10);
				SendClientMessage(playerid, -1, "[JOB] Pick up the passengers.");
				return 1;
			}
		}
	}
	SendClientMessage(playerid, -1, "[ERROR] You need to be in a Pimp vehicle to do this job!");
	return 1;
}

public OnPlayerConnect(playerid)
{
    BusJob[playerid] = 0;
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    BusJob[playerid] = 0;
	return 1;
}

public OnPlayerSpawn(playerid)
{
    BusJob[playerid] = 0;
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	BusJob[playerid] = 0;
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 431)
	{
	   	if(BusJob[playerid] == 1)
	   	{
	       	new
	       	rand = random(sizeof(BusCP));
	       	SetPlayerCheckpoint(playerid, BusCP[rand][0], BusCP[rand][1], BusCP[rand][2], 10);
	       	GivePlayerMoney(playerid, 300);
	       	BusCPpassed ++;
		}
	}
	if(BusCPpassed == 20)
 	{
		if(BusJob[playerid] == 1)
		{
			BusJob[playerid] = 0;
   			DisablePlayerCheckpoint(playerid);
   			SendClientMessage(playerid, -1, "[JOB] You have completed your work for today, if you would like to work again use /bdriver when in the appropriate vehicle");
   			SendClientMessage(playerid, -1, "[JOB] For completing your job you have recieved a bonus of $1000 and +3 score");
			//GivePlayerMoney(playerid, 1000); //What ever system you are using
			//GivePlayerScore(playerid, 3); //What ever system you are using
		}
	}
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
		if(BusJob[playerid] == 1)
		{
			BusJob[playerid] = 0;
   			DisablePlayerCheckpoint(playerid);
   			SendClientMessage(playerid, -1, "[JOB] You have quit your job.");
		}
}
Reply
#6

Thank you Jakwob and Dutheil for the nice tips, Jakwob, I like the idea of that and will use it, but not for the bus driver job. thank you once again
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)