SA-MP Forums Archive
/engine not for bikes - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: /engine not for bikes (/showthread.php?tid=537105)



/engine not for bikes - litmanen - 13.09.2014

Hey,

Im trying to disable the /engine command for a BMX, but however it keeps turning on and off when i try so, i use this code.

Код:
CMD:engine(playerid, params[])
{
    new engine, lights, alarm, doors, bonnet, boot, objective, vehicleid, string[128];
   	if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You are not driving a vehicle.");
	if (GetVehicleModel(vehicleid) == 481) return SendClientMessage(playerid, COLOR_GREY, "Bicycles have no engine.");
	vehicleid = GetPlayerVehicleID(playerid);
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
	if(!engine)
	{
	    SetVehicleParamsEx(vehicleid, 1, lights, alarm, doors, bonnet, boot, objective);
	    if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
	    {SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
	    else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
	    {SetVehicleParamsEx(vehicleid, 1, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
	    format(string, sizeof(string), "* %s turns the vehicle's engine on.", RPN(playerid));
 		SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
	}
	else
	{
	    SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
	    if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
	    {SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vLocked], bonnet, boot, objective);}
	    if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
	    {SetVehicleParamsEx(vehicleid, 0, lights, alarm, PlayerInfo[playerid][vVLocked], bonnet, boot, objective);}
	    format(string, sizeof(string), "* %s turns the vehicle's engine off.", RPN(playerid));
 		SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
	}
	return 1;
}



Re: /engine not for bikes - [XST]O_x - 13.09.2014

You did not give vehicleid any value.
pawn Код:
vehicleid = GetPlayerVehicleID(playerid);
Add this, it should work.


Re: /engine not for bikes - litmanen - 13.09.2014

Код:
CMD:engine(playerid, params[])
{
    new engine, lights, alarm, doors, bonnet, boot, objective, vehicleid, string[128];
   	if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You are not driving a vehicle.");
	if (GetVehicleModel(vehicleid) == 481) return SendClientMessage(playerid, COLOR_GREY, "Bicycles have no engine.");
	vehicleid = GetPlayerVehicleID(playerid);
Last line, i did.


Re: /engine not for bikes - [XST]O_x - 14.09.2014

Quote:
Originally Posted by litmanen
Посмотреть сообщение
Код:
CMD:engine(playerid, params[])
{
    new engine, lights, alarm, doors, bonnet, boot, objective, vehicleid, string[128];
   	if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You are not driving a vehicle.");
	if (GetVehicleModel(vehicleid) == 481) return SendClientMessage(playerid, COLOR_GREY, "Bicycles have no engine.");
	vehicleid = GetPlayerVehicleID(playerid);
Last line, i did.
Put it BEFORE GetVehicleModel.
You're not defining vehicleid and then comparing its' value to 481, of course it won't work.
pawn Код:
new engine, lights, alarm, doors, bonnet, boot, objective, vehicleid, string[128];
    if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
vehicleid = GetPlayerVehicleID(playerid);
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You are not driving a vehicle.");
    if (GetVehicleModel(vehicleid) == 481) return SendClientMessage(playerid, COLOR_GREY, "Bicycles have no engine.");