Kilometer für jedes Auto einzelnd wie geht das?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    ich habe eine Problem ich will das für jedes einzelndes Auto ein Kilometerzähler da ist.


    Code:


    public kilometer(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new string[50];
    new Float:distanz;
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    distanz=GetDistanceFromPointToPoint(xx[playerid],yy[playerid],zz[playerid],x,y,z);
    if(distanz>100) return 1;
    distancee[playerid]=distancee[playerid]+distanz;
    GetPlayerPos(playerid,xx[playerid],yy[playerid],zz[playerid]);
    if(distancee[playerid]>100)
    {
    m[playerid]++;
    distancee[playerid]=distancee[playerid]-100;
    if(m[playerid]==10)
    {
    km[playerid]++;
    m[playerid]=0;
    }
    format(string,sizeof(string),"Kilometer: %i.%i",km[playerid],m[playerid]);
    TextDrawSetString(TextKILOMETER[i],string);
    } }
    return 1;
    }




    MfG

  • public kilometer(playerid)
    {
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    new string[50];
    new Float:distanz;
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    distanz=GetDistanceFromPointToPoint(xx[playerid],yy[playerid],zz[playerid],x,y,z);
    if(distanz>100) return 1;
    distancee[playerid]=distancee[playerid]+distanz;
    GetPlayerPos(playerid,xx[playerid],yy[playerid],zz[playerid]);
    if(distancee[playerid]>100)
    {
    m[playerid]++;
    distancee[playerid]=distancee[playerid]-100;
    if(m[playerid]==10)
    {
    km[playerid]++;
    m[playerid]=0;
    }
    format(string,sizeof(string),"Kilometer: %i.%i",km[playerid],m[playerid]);
    TextDrawSetString(TextKILOMETER[i],string);
    } }
    return 1;
    }



    so?

  • Erstelle eine Variable für jedes Auto, stelle sie auf true, wenn jemand einsteigt und auf false, wenn jemand aussteigt (boolean).
    Dann machst du einen Timer, der alle (500?) Millisekunden alle Fahrzeuge durchgeht (Nur die, die benutzt werden).
    Dann checkst du die Position, errechnest die Distanz, addierst diese und speicherst sie in eine andere Fahrzeug-Variable.