Tang soll leer gehen auch wen kein spieler drin sitzt

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

  • forward Tankcheck();


    SetTimer("Tankcheck", 25000, 1);


    public Tankcheck()
    {
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    if (Motorcar[i] == true)
    {
    if(tank[i] > 0)
    {
    tank[i]-= 1;
    }
    if(tank[i] == 0)
    {
    Motorcar[i] = false;
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }

    }
    }
    }
    return 1;
    }

    So vielleicht?

  • Diese Schleife weg machen:


    for(new p = 0; p < MAX_PLAYERS; p++)


    Mit der Schleife wird alle 25 Sekunden eine Schleife durchgeführt, die standardmäßig 500 mal durchläuft. In dieser Schleife hast du dann eine MAX_VEHICLES Schleife. Also werden alle 25 Sekunden 500 mal von jedem Auto 1 Liter abgezogen.


    Edit:


    ich habe gerade noch ein return 1; hingesetzt da wo der tank abgezogen wird jetzt geht es bei dem ersten auto aber wen ich jetzt noch eins machen und den Motorstarte wird da nix abgezogen also nur bei dem ersten Fahrzeug ??


    Ein return in einer Schleife führt zum sofortigen beenden der Schleife. (Selbe Wirkung wie break) Also in Schleifen nur, wenn du auch willst, dass die Schleife stoppt, return's oder break verwenden.

    Einmal editiert, zuletzt von UncleSub ()