• 06 Juin 2026, 23:32:18


Auteur Sujet: Problème de Compteur  (Lu 990 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Problème de Compteur
« 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

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Problème de Compteur
« Réponse #1 le: 04 Février 2010, 16:25:20 »
utilise la callback OnPlayerUpdate()

Et GetVehicleVelocity()


Et la tu aura un Speedo plus précis ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Dauvix

  • *
  • Tueur en série
  • Messages: 134
    • Voir le profil
Re : Problème de Compteur
« Réponse #2 le: 04 Février 2010, 16:55:43 »
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;
}
}
« Modifié: 04 Février 2010, 16:58:04 par Dauvix »