Voila:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
new string[256];
new sendername[MAX_PLAYER_NAME];
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new newcar = GetPlayerVehicleID(playerid);
if (newkeys & 16 && InShamal[playerid])
{
new Float:X, Float:Y, Float:Z, Float:A;
GetVehiclePos(InShamal[playerid], X, Y, Z);
GetVehicleZAngle(InShamal[playerid], A);
X += (5 * floatsin(-floatsub(A, 45.0), degrees)),
Y += (5 * floatcos(-floatsub(A, 45.0), degrees));
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, X, Y, floatsub(Z, 0.94));
SetPlayerFacingAngle(playerid, A);
SetCameraBehindPlayer(playerid);
InShamal[playerid] = 0;
}
if(newkeys == KEY_JUMP)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(IsPlayerConnected(playerid))
{
if(!engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
/*if(IsAnOwnableCar(newcar))
{
if(PlayerInfo[playerid][pPvehkey] == newcar) { }
else if(PlayerInfo[playerid][pPvehkey2] == newcar) { }
else if(PlayerInfo[playerid][pPvehkey3] == newcar) { }
else if(PlayerInfo[playerid][pPvehkey4] == newcar) { }
else { return 1; }
}*/
if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
{
return 1;
}
if(VoitureASabot[newcar] == 1)
{
return 1;
}
if(gEngine[playerid] == 1) { return 1; }
PutPlayerInVehicle(playerid, newcar, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s tourne ses clefs et essaye de démarrer le moteur de son véhicule.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetTimerEx("StartingTheVehicle",2500,0,"i",playerid);
GameTextForPlayer(playerid, "~w~Le Moteur demarre...",2500,3);
gEngine[playerid] = 1;
desactivetext[playerid] = 1;
SetTimerEx("DesactiverSpeedo", 5000, 0, "i", playerid);
return 1;
}
}
}
}
else if ((newkeys == KEY_SECONDARY_ATTACK))
{
if(IsAtCandySprunk(playerid))
{
if(TookSprunk[playerid] == 0)
{
new Float:health;
GetPlayerHealth(playerid, health);
if(health != 0)
{
SafeGivePlayerMoney(playerid, -25);
SendClientMessage(playerid, COLOR_GREY, " Vous venez de payer 25$ pour votre Soda ");
TookSprunk[playerid] = 1;
SetTimerEx("SetHP",3750,false, "i", playerid);
}
}
}
}
else if(newkeys == KEY_SECONDARY_ATTACK)// KEY_SPRINT
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(gEngine[playerid] == 0 && engineOn[newcar] == 0)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
else if(NoFuel[playerid] == 1)
{
TogglePlayerControllable(playerid, 1);
RemovePlayerFromVehicle(playerid);
NoFuel[playerid] = 0;
return 1;
}
}
}
else if(newkeys == KEY_CROUCH && GetPlayerState(playerid) == 2)// H
{
if(grilleouverte[playerid] == 0)
{
if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3)
{
if (PlayerToPoint(15, playerid,1599.053344,-1638.123168,14.122960))
{
MoveStreamObject(pdgate1,1599.053344,-1638.123168,14.122960, 0.8);
SetTimer("GateClose", 12000, 0);
SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE,"La grille du garage du commissariat s'ouvre, elle se refermera dans 7 secondes.");
GetPlayerName(playerid, sendername, sizeof(sendername));
grilleouverte[playerid] = 0;
format(string, sizeof(string), " %s prend sa télécommande et ouvre le garage.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
PlayerPlaySound(playerid, 1153, 1589.053344,-1638.123168,14.122960);
}
else if (PlayerToPoint(15, playerid,1544.700317,-1630.735717,13.096980))
{
DestroyStreamObject( pdgate2 );
pdgate3 = CreateObject(968,1544.700317,-1630.735717,12.924660,0.000000,0.000000,270.972869);
SetTimer("GateClose5", 6000, 0);
SetTimerEx("OuvertureGrille", 13000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE,"La barrière est ouverte, elle se fermera dans 6 secondes.");
GetPlayerName(playerid, sendername, sizeof(sendername));
grilleouverte[playerid] = 0;
format(string, sizeof(string), " %s prend sa télécommande et ouvre la barrière.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
/*}
else if (PlayerToPoint(15, playerid,2720.3772,-2409.7523,12.6))
{
MoveStreamObject(armygate1,2720.3772, -2401.2523, 12.6, 3.5);
SetTimer("GateClose2", 7000, 0);
SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE,"The Army gate Nr. 1 is opened and will close in 7 seconds.");
GetPlayerName(playerid, sendername, sizeof(sendername));
grilleouverte[playerid] = 1;
format(string, sizeof(string), " %s takes his/her remote and opens the army gate #1.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else if (PlayerToPoint(15, playerid,2720.3772,-2508.3069,12.6))
{
MoveStreamObject(armygate2,2720.3772, -2499.8069, 12.6, 3.5);
SetTimer("GateClose2", 7000, 0);
SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE,"The Army gate Nr. 2 is opened and will close in 7 seconds.");
GetPlayerName(playerid, sendername, sizeof(sendername));
grilleouverte[playerid] = 1;
format(string, sizeof(string), " %s takes his/her remote and opens the army gate #2.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);*/
}
else if (PlayerToPoint(15, playerid,1534.9020,-1451.5979,14.4882))
{
MoveStreamObject(fbigate,1534.9020,-1451.5979,20.4882, 1.5);
SetTimer("GateClose3", 7000, 0);
SetTimerEx("OuvertureGrille", 15000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE,"La grille du FBI est ouverte, elle se refermera dans 7 secondes.");
GetPlayerName(playerid, sendername, sizeof(sendername));
grilleouverte[playerid] = 0;
format(string, sizeof(string), " %s prend sa télécommande et ouvre la grille.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else if (PlayerToPoint(15, playerid,1643.3379,-1714.9338,15.3067))
{
MoveStreamObject(hspdgate,1643.3379,-1705.9338,15.3067, 1.5);
SetTimer("GateClose4", 7000, 0);
SetTimerEx("OuvertureGrille", 15000, 0, "i", playerid);
SendClientMessage(playerid, COLOR_BLUE,"La grille du FBI est ouverte, elle se refermera dans 7 secondes.");
GetPlayerName(playerid, sendername, sizeof(sendername));
grilleouverte[playerid] = 0;
format(string, sizeof(string), " %s prend sa télécommande et ouvre la grille.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Vous êtes trop loin de la grille."); }
}
else if(PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)
{
if (PlayerToPoint(15, playerid,1246.0033,-767.3727,91.1473))
{
MoveStreamObject(lucianogate,1256.2033,-767.3727,91.1473, 2.2);
SetTimer("GateClose6", 7000, 0);
SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
GetPlayerName(playerid, sendername, sizeof(sendername));
grilleouverte[playerid] = 0;
format(string, sizeof(string), " %s prend sa télécommande et ouvre la grille de La Famiglia Sinatra.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Vous êtes trop loin de la grille."); }
}
else
{
//SendClientMessage(playerid, COLOR_GREY,"Vous n'avez pas de télécommande.");
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Attendez que la grille soit fermée s'il vous plait.");
}
}
return 1;
}