28.04.2011, 13:36
Look, so I have seen better engine systems, in which you can move the camera (mouse) while engine is off. This is my old one, in this one you can't move the camera while engine is off.. Anyway you can help me improve/update this command?
pawn Код:
/*Here we go*/
if(strcmp(cmd, "/engine", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,COLOR_GREY," You are not even inside a vehicle !");
return 1;
}
if (IsNotAEngineCar(idcar))
{
SendClientMessage(playerid,COLOR_GREY," This vehicle doesn't even have an Engine !");
return 1;
}
if(idcar >= 135 && idcar <= 155)
{
if(HireCar[playerid] != idcar)
{
return 1;
}
}
if(idcar >= 1 && idcar <= 9 || idcar >= 194 && idcar <= 196 || idcar >= 203 && idcar <= 205)
{
if(HireCar[playerid] != idcar)
{
return 1;
}
}
if(IsAnOwnableCar(idcar))
{
if(PlayerInfo[playerid][pCarkey] == VehicleOwned[idcar]) { }
else if(PlayerInfo[playerid][pCarkey2] == VehicleOwned[idcar]) { }
else if(PlayerInfo[playerid][pCarkey3] == VehicleOwned[idcar]) { }
else { return 1; }
}
if(ReduceTime[playerid] > 0)
{
format(string, sizeof(string), " You need to wait %d seconds to type this command.", ReduceTime[playerid]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
GiveNameSpace(sendername);
if(PlayerInfo[playerid][pMaskUse] == 1) { format(sendername, sizeof(sendername), "Stranger_%d", RandMask[playerid]); }
if (VehicleEngine[idcar] == 0)
{
format(string, sizeof(string), "* %s spins the %s's key into the ignition and turns on the engine.", sendername, VehicleName[GetVehicleModel(idcar)-400]);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
new RandomStart;
RandomStart = random(4);
switch(RandomStart)
{
case 0,1,2:
{
if(VehAsk[playerid] == 1)
{
VehAsk[playerid] = 0;
TogglePlayerControllable(playerid,true);
}
VehicleEngine[idcar] = 1;
format(string, sizeof(string), "* %s engine starts (( %s ))", VehicleName[GetVehicleModel(idcar)-400], sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
case 3:
{
format(string, sizeof(string), "* %s engine does not start (( %s ))", VehicleName[GetVehicleModel(idcar)-400], sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
ReduceTime[playerid] = 3;
}
}
}
else if (VehicleEngine[idcar] == 1)
{
VehicleEngine[idcar] = 0;
format(string, sizeof(string), "* %s spins the %s's key into the ignition and turns the engine off.", sendername, VehicleName[GetVehicleModel(idcar)-400]);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
TogglePlayerControllable(playerid,false);
VehAsk[playerid] = 1;
}
}
return 1;
}