Schadenstimer Funktioniert nicht

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
  • Moin
    Ich wollte Überprüfen ob ein Auto weniger Energie hat als Vorher, und das mit einem Timer.
    Das sieht nun so aus:
    SetTimer("Schadentimer",1000,true);
    forward Schadentimer();


    enum schad
    {
    Float:OldEnergie,
    Schaden1, //Achsenschaden
    Schaden2
    }
    new Vehikeldaten[MAX_VEHICLES][schad];


    public OnVehicleSpawn(vehicleid)
    {
    Vehikeldaten[vehicleid][OldEnergie] = 1000.0;
    Vehikeldaten[vehicleid][Schaden1] = 0;
    Vehikeldaten[vehicleid][Schaden2] = 0;
    return 1;
    }


    stock GetVehicleDriver(vehicleid)
    {
    for(new i;i<MAX_PLAYERS;i++) if(GetPlayerVehicleID(i)==vehicleid) return i;
    return 0;
    }
    public Schadentimer()
    {
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    new Float:Energiee;
    GetVehicleHealth(i,Energiee);
    if(Energiee < Vehikeldaten[i][OldEnergie])
    {
    new rand = random(1);
    if(rand == 1)
    {
    Vehikeldaten[i][Schaden1] = 1;
    new drive = GetVehicleDriver(i);
    SendClientMessage(drive,0xAA3333AA,"Du hast einen Achsenschaden!");


    }
    }
    Vehikeldaten[i][OldEnergie] = Energiee;
    }
    return 1;
    }



    (Das Random ist mit Absicht auf 1 Gestellt, um es zu Testen, bei 50 würde das zu Lange brauchen)


    Leider Passiert nie etwas wenn ein Wagen Schaden nimmt, wieso?


    MfG


    Edit: Überschrift und Schreibfehler

    Einmal editiert, zuletzt von [SyL]DeadLock ()

  • probiers mal mit:
    if(rand == 0)


    Ich glaube das ist wie bei arrays, du sagst bei random(1); dass eine Zahl ausgewurfen werden soll und ein PC fängt bei 0 zu zählen an.


    edit ich würde noch einbauen und abfragen ob die Frontstoßstange beschädigt ist der realitäts halber.