lien image erroné
regarde le onplayerstatechange car a mon avis tu ne kill pas le TD
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if(vehEngine[vehicleid] == 0)
{
new car = GetPlayerVehicleID(playerid);
if(EsUnAvion(car)){ return 1; }
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_WHITE, "N'oubliez pas de mettre votre ceinture ! (/ceinture) et les clignotants sont opérationnels (/clig)");
SendClientMessage(playerid, COLOR_LIGHTRED, "Le moteur de ce vehicule est eteint cliquez sur Shift ou utilisez /demarrer pour l'enclencher");
}
else if(vehEngine[vehicleid] == 1)
{
new car = GetPlayerVehicleID(playerid);
if(EsUnAvion(car)){ return 1; }
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, COLOR_GREEN, "Vehicule déjà demarré");
}
else if(vehEngine[vehicleid] == 3)
{
new car = GetPlayerVehicleID(playerid);
if(EsUnAvion(car)){ return 1; }
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, COLOR_RED, "Ce vehicule a un sabot !, vous ne pouvez donc pas la conduire");
}
}
if(newstate == 1)
{
if(PlayerData[playerid][ShowCarInfoT])
{
KillTimer(PlayerData[playerid][ShowCarInfoT]);
}
if(PlayerData[playerid][UpFuelT])
{
KillTimer(PlayerData[playerid][UpFuelT]);
}
if(PlayerData[playerid][SpeedTimer])
{
KillTimer(PlayerData[playerid][SpeedTimer]);
}
if(PlayerData[playerid][UpLessFuelT])
{
KillTimer(PlayerData[playerid][UpLessFuelT]);
}
}
if(newstate == 2)
{
PlayerData[playerid][ShowCarInfoT] = SetTimerEx("ShowCInfo",1000,1,"i",playerid);
PlayerData[playerid][UpFuelT] = SetTimerEx("UpFuel",120000,1,"i",playerid);
PlayerData[playerid][UpLessFuelT] = SetTimerEx("UpLessFuel",1000,1,"i",playerid);
PlayerData[playerid][SpeedTimer] = SetTimerEx("UpSpeed",1000,1,"i",playerid);
VehicleSpeed[GetPlayerVehicleID(playerid)]=0;
VehicleLostFuel[GetPlayerVehicleID(playerid)]=0;
}
return 1;
}
peu tu mettre le FS de ton speedo sur pastebin sinon on va metttre des mois a trouver ^^
Ou alors tu va dans OnPlayerExitVehicle et tu kill le tableau ?
- Unknown paste ID, it may have expired or been deleted!
tu n'as pas de bol toi
enum td
{
Text:TDSpeedClock[15]
}
new TextDraws[td];
new Text:TextDrawsd[MAX_PLAYERS][4];
public OnGameModeInit()
{
TextDraws[TDSpeedClock][0] = TextDrawCreate(496.000000,400.000000, "~y~20");
TextDraws[TDSpeedClock][1] = TextDrawCreate(487.000000,388.000000, "~b~40");
TextDraws[TDSpeedClock][2] = TextDrawCreate(483.000000,375.000000, "~y~60");
TextDraws[TDSpeedClock][3] = TextDrawCreate(488.000000,362.000000, "~b~80");
TextDraws[TDSpeedClock][4] = TextDrawCreate(491.000000,349.000000, "~y~100");
TextDraws[TDSpeedClock][5] = TextDrawCreate(508.000000,336.500000, "~b~120");
TextDraws[TDSpeedClock][6] = TextDrawCreate(536.000000,332.000000, "~y~140");
TextDraws[TDSpeedClock][7] = TextDrawCreate(567.000000,337.000000, "~b~160");
TextDraws[TDSpeedClock][8] = TextDrawCreate(584.000000,348.000000, "~y~180");
TextDraws[TDSpeedClock][9] = TextDrawCreate(595.000000,360.000000, "~b~200");
TextDraws[TDSpeedClock][10] = TextDrawCreate(603.000000,374.000000, "~y~220");
TextDraws[TDSpeedClock][11] = TextDrawCreate(594.000000,386.000000, "~b~240");
TextDraws[TDSpeedClock][14] = TextDrawCreate(585.000000,399.000000, "~y~260");
TextDraws[TDSpeedClock][12] = TextDrawCreate(534.000000,396.000000, "~r~");
TextDrawLetterSize(TextDraws[TDSpeedClock][12], 1.059999, 2.100000);
TextDraws[TDSpeedClock][13] = TextDrawCreate(548.000000,401.000000,".");
TextDrawLetterSize(TextDraws[TDSpeedClock][13], 0.73, -2.60);
TextDrawSetOutline(TextDraws[TDSpeedClock][13], 0);
TextDrawSetShadow(TextDraws[TDSpeedClock][13], 1);
TextDrawSetShadow(TextDraws[TDSpeedClock][14], 0);
for(new i; i < 13; i++)
TextDrawSetShadow(TextDraws[TDSpeedClock][i], 0);
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
for(new i; i < 15; i++)
TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock][i]);
for(new i; i < 4; i++)
TextDrawsd[playerid][i] = TextDrawCreate(555.0, 402.0, "~b~.");
}
else
{
for(new i; i < 4; i++)
TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
for(new i; i < 15; i++)
TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock][i]);
}
return 1;
}
public OnPlayerUpdate(playerid)
{
new
Float:fPos[3],
Float:Pos[4][2],
Float:fSpeed;
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);
fSpeed = floatsqroot(floatpower(fPos[0], 2) + floatpower(fPos[1], 2) +
floatpower(fPos[2], 2)) * 200;
new Float:alpha = 320 - fSpeed;
for(new i; i < 4; i++)
{
TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
TextDrawDestroy(TextDrawsd[playerid][i]);
GetDotXY(548, 401, Pos[i][0], Pos[i][1], alpha, (i + 1) * 8);
TextDrawsd[playerid][i] = TextDrawCreate(Pos[i][0], Pos[i][1], "~b~.");
TextDrawLetterSize(TextDrawsd[playerid][i], 0.73, -2.60);
TextDrawSetOutline(TextDrawsd[playerid][i], 0);
TextDrawSetShadow(TextDrawsd[playerid][i], 1);
TextDrawShowForPlayer(playerid, TextDrawsd[playerid][i]);
}
}
return 1;
}
stock GetDotXY(Float:StartPosX, Float:StartPosY, &Float:NewX, &Float:NewY, Float:alpha, Float:dist)
{
NewX = StartPosX + (dist * floatsin(alpha, degrees));
NewY = StartPosY + (dist * floatcos(alpha, degrees));
}Met ton code sur le Pastebin de GtaOnline .
http://pastebin.gtaonline.fr/pastebin.php (http://pastebin.gtaonline.fr/pastebin.php)
C'est à mettre ici pour le pastebin de gtaonline