27.03.2012, 14:17
Im making a Car system on my server, and when i enter a car and i press "w" the car isnt on.
He is what i have so far, -No errors/Warnings
- I have all the Forwards up there
He is what i have so far, -No errors/Warnings
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
new string[256];
new sendername[MAX_PLAYER_NAME];
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new newcar = GetPlayerVehicleID(playerid);
if(newkeys == KEY_JUMP)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerConnected(playerid))
{
if(!engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
{
return 1;
}
if(IsAHarvest(newcar))
{
return 1;
}
if(IsADrugHarvest(newcar))
{
return 1;
}
if(IsASweeper(newcar))
{
return 1;
}
if(gEngine[playerid] == 1) { return 1; }
PutPlayerInVehicle(playerid, newcar, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s spins a key and tries to start vehicle engine.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE);
SetTimerEx("StartingTheVehicle",3500,0,"i",playerid);
GameTextForPlayer(playerid, "~w~Starting vehicle engine...",3500,3);
gEngine[playerid] = 1;
return 1;
}
}
}
}
else if(newkeys == KEY_SECONDARY_ATTACK)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(gEngine[playerid] == 0 && engineOn[newcar] == 0)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
}
}
return 1;
}
public StartingTheVehicle(playerid)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInAnyVehicle(playerid))
{
new RandomStart;
new string[256];
new sendername[MAX_PLAYER_NAME];
RandomStart = random(4);
switch(RandomStart)
{
case 0,1,2:
{
engineOn[GetPlayerVehicleID(playerid)] = true;
TogglePlayerControllable(playerid, true);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Vehicle engine starts (( %s )).", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE);
gEngine[playerid] = 0;
}
case 3:
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Vehicle engine doesn't start (( %s )).", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE);
gEngine[playerid] = 0;
}
}
}
else
{
gEngine[playerid] = 0;
}
}
return 1;
}
public Startup(playerid, vehicleid)
{
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new newcar = GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER || engineOn[vehicleid])
{
}
else if(IsPlayerInAnyVehicle(playerid) && !engineOn[vehicleid] && !vehicleEntered[playerid][vehicleid] && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && pveh != 510 && pveh != 462 && newcar != 59 && newcar != 60 && !IsAPlane(newcar) && !IsAHarvest(newcar) && !IsADrugHarvest(newcar) && !IsASweeper(newcar))
{
SendClientMessage(playerid, COLOR_LIGHT_BLUE, "Attention! Type /engine or press SHIFT to start your engine!");
TogglePlayerControllable(playerid, false);
vehicleEntered[playerid][vehicleid] = true;
}
else if(IsPlayerInAnyVehicle(playerid) && !engineOn[vehicleid] && vehicleEntered[playerid][vehicleid] && GetPlayerState(playerid) == PLAYER_STATE_DRIVER && pveh != 510 && pveh != 462 && newcar != 59 && newcar != 60 && !IsAPlane(newcar) && !IsAHarvest(newcar) && !IsADrugHarvest(newcar) && !IsASweeper(newcar))
{
SendClientMessage(playerid, COLOR_LIGHT_BLUE, "Attention! Type /engine or press SHIFT to start your engine!");
TogglePlayerControllable(playerid, false);
}
}
public engine2(playerid)
{
if(!IsPlayerInAnyVehicle(playerid))
{
TogglePlayerControllable(playerid, 1);
}
}