GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Dauvix le 04 Février 2010, 16:23:00
-
Je sais il y a deja pas mal de Topic sur ce thème, J'ai regardé mais je n'est pas trouvé ce que je voulais ...
En faite j'ai reprit un compteur Speedo de "TheAlex86" Donc j'ai réussit a bien reglé la vitesse ...
Mais alors quand je roule ma vitesse augente et diminue ...
Exemple elle faite de 36 km a 54 km puis 37km ... Enfin la vitesse monte et redescend continuellement ...
Comment je dois regler ca ?
Voici le bout de script ... :-[
new HGG[265]; new Float:Can;
GetVehicleHealth(GetPlayerVehicleID(i), Can);
GetPlayerPos(i,Xa,Ya,Za);
KMH = floatsqroot(floatpower(floatabs(floatsub(Xa,Xb[i])),2)+floatpower(floatabs(floatsub(Ya,Yb[i])),2)+floatpower(floatabs(floatsub(Za,Zb[i])),2));
KMH *= 5.5;
Yukseklik = Za;
format(HGG, sizeof(HGG), "~b~~h~~h~Vehicule: ~w~%s~n~~g~~h~Vitesse: ~w~%0.0f km/h~n~~n~~y~~h~Altitude: ~w~%.1f m~n~~r~~h~Etat: ~w~%.2f", ArIsim[GetVehicleModel(GetPlayerVehicleID(i))-400], KMH, Yukseklik, Can);
TextDrawSetString(Text:GostergeYazi[i], HGG);
TextDrawShowForPlayer(i, GostergeYazi[i]);
Merci,
Dauvix
-
utilise la callback OnPlayerUpdate()
Et GetVehicleVelocity()
Et la tu aura un Speedo plus précis ^^
-
J'ai essayé comme ceci mais rien n'a changé ...
Enfin je ne voit aucune différence ...
public OnPlayerUpdate()
{
for(new i=0; i<GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && Gosterge[i] == 1)
{
TextDrawShowForPlayer(i, Text:ArkaPlan0);
TextDrawShowForPlayer(i, Text:ArkaPlan1);
TextDrawShowForPlayer(i, Text:ArkaPlan2);
TextDrawShowForPlayer(i, Text:ArkaPlan3);
TextDrawShowForPlayer(i, Text:ArkaPlan4);
TextDrawShowForPlayer(i, Text:ArkaPlan5);
TextDrawShowForPlayer(i, Text:ArkaPlan6);
new HGG[265]; new Float:Can;
GetVehicleHealth(GetPlayerVehicleID(i), Can);
GetVehicleVelocity(GetPlayerVehicleID(i), Xa, Ya, Za);
GetPlayerPos(i,Xa,Ya,Za);
KMH = floatsqroot(floatpower(floatabs(floatsub(Xa,Xb[i])),2)+floatpower(floatabs(floatsub(Ya,Yb[i])),2)+floatpower(floatabs(floatsub(Za,Zb[i])),2));
KMH *= 5.5;
Yukseklik = Za;
format(HGG, sizeof(HGG), "~b~~h~~h~Vehicule: ~w~%s~n~~g~~h~Vitesse: ~w~%0.0f km/h~n~~n~~y~~h~Altitude: ~w~%.1f m~n~~r~~h~Etat: ~w~%.2f", ArIsim[GetVehicleModel(GetPlayerVehicleID(i))-400], KMH, Yukseklik, Can);
TextDrawSetString(Text:GostergeYazi[i], HGG);
TextDrawShowForPlayer(i, GostergeYazi[i]);
if(KMH >= 250)
{
TextDrawTextSize(Hizg[i],603.000000,0.000000);
}
else
{
TextDrawTextSize(Hizg[i], floatadd(534.0, floatdiv(KMH, 3.900000)),0.000000);
}
TextDrawShowForPlayer(i, Hizg[i]);
if(Can < 0)
{
TextDrawTextSize(Cang[i],538.000000,0.000000);
}
else if(Can >= 1000)
{
TextDrawTextSize(Cang[i],603.000000,0.000000);
}
else
{
TextDrawTextSize(Cang[i],floatadd(534.0, floatdiv(Can, 14.6000000)),0.000000);
}
TextDrawShowForPlayer(i, Cang[i]);
TextDrawShowForPlayer(i, Cizgi);
}
else
{
TextDrawHideForPlayer(i, Text:GostergeYazi[i]);
TextDrawHideForPlayer(i, Text:Hizg[i]);
TextDrawHideForPlayer(i, Text:Cang[i]);
TextDrawHideForPlayer(i, Text:ArkaPlan0);
TextDrawHideForPlayer(i, Text:ArkaPlan1);
TextDrawHideForPlayer(i, Text:ArkaPlan2);
TextDrawHideForPlayer(i, Text:ArkaPlan3);
TextDrawHideForPlayer(i, Text:ArkaPlan4);
TextDrawHideForPlayer(i, Text:ArkaPlan5);
TextDrawHideForPlayer(i, Text:ArkaPlan6);
TextDrawHideForPlayer(i, Text:Cizgi);
} GetPlayerPos(i,Xb[i],Yb[i],Zb[i]), Xb[i] = Xa; Yb[i] = Ya; Zb[i] = Za;
}
}