Unknown command
#1

Hi, I've added rental vehicles to my server today, added a check to /engine if player has keys to the rental vehicle, and now I'm getting unknown command when I try to /engine a vehicle that I don't rent, it works when I /engine a vehicle that I rent. Everything works except that when I /engine an unrented vehicle.
Here's the code:
Код:
CMD:engine(playerid, params[])
{
	new
		vehicleid,
		carid,
 		model;

	if (IsPlayerInAnyVehicle(playerid)) {
		vehicleid = GetPlayerVehicleID(playerid);
		model = GetVehicleModel(vehicleid);
		carid = Car_GetID(vehicleid);
	}
	else return SendErrorMessage(playerid, "You are not in any vehicle.");
		
	if (!IsEngineVehicle(vehicleid))
	    return SendErrorMessage(playerid, "This vehicle doesn't have an engine.");
		
	if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
	    return SendErrorMessage(playerid, "You can't do this as you're not the driver.");
		
	if (PlayerData[playerid][pInjured])
 		return SendErrorMessage(playerid, "You can't do this while being injured or dead.");

	if (ReturnVehicleHealth(vehicleid) <= 300)
		return SendErrorMessage(playerid, "This vehicle is totalled and can't be started.");
		
	if (CoreVehicles[vehicleid][vehFuel] < 1)
		return SendErrorMessage(playerid, "The fuel tank is empty.");
	
	if (carid != -1 && Car_IsOwner(playerid, carid) || CoreVehicles[vehicleid][vehTemporary] || CoreVehicles[vehicleid][vehRental]  && PlayerData[playerid][pRentedVehicle] == vehicleid || CoreVehicles[vehicleid][vehJob] || (PlayerData[playerid][pFaction] != -1 && CarData[carid][carFaction] == GetFactionType(playerid)) || PlayerData[playerid][pCarKeys] == carid)
	{
		switch (GetEngineStatus(vehicleid))
		{
			case false:
			{
				SetEngineStatus(vehicleid, true);
				ShowPlayerFooter(playerid, "You have ~g~started~w~ the engine!");
				SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s inserts the key into the ignition and starts the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleModelName(model));
			}
			case true:
			{
				SetEngineStatus(vehicleid, false);
				ShowPlayerFooter(playerid, "You have ~r~stopped~w~ the engine!");
				SendNearbyMessage(playerid, 30.0, COLOR_PURPLE, "** %s inserts the key into the ignition and stops the engine of the %s.", ReturnName(playerid, 0), ReturnVehicleModelName(model));
			}
		}
	}
	else SendErrorMessage(playerid, "You don't have the keys to this vehicle.");
	return 1;
}
Crashdetect outputs this:
Код:
[14:21:12] [debug] Run time error 4: "Array index out of bounds"
[14:21:12] [debug]  Accessing element at negative index -1
[14:21:12] [debug] AMX backtrace:
[14:21:12] [debug] #0 0018a534 in public cmd_engine (4, 7397284) from LSLRP.amx
[14:21:12] [debug] #1 native CallLocalFunction () from samp03svr
[14:21:12] [debug] #2 00017ca8 in public OnPlayerCommandText (4, 7397252) from LSLRP.amx
I already had this problem, but I could fix it somehow, now it happens again. Does anyone know how to fix it?
Reply


Messages In This Thread
Unknown command - by GoldenLion - 01.08.2016, 18:46
Re: Unknown command - by Luicy. - 01.08.2016, 18:48
Re: Unknown command - by FuNkYTheGreat - 01.08.2016, 19:17
Re: Unknown command - by GoldenLion - 02.08.2016, 08:31
Re: Unknown command - by Shinja - 02.08.2016, 09:31
Re: Unknown command - by Juvanii - 02.08.2016, 09:57
Re: Unknown command - by GoldenLion - 02.08.2016, 11:09
Re: Unknown command - by Stinged - 02.08.2016, 11:15
Re: Unknown command - by Juvanii - 02.08.2016, 11:59
Re: Unknown command - by GoldenLion - 02.08.2016, 12:21

Forum Jump:


Users browsing this thread: 3 Guest(s)