Variablen Spinnen

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
  • also ehrlich irgentwas stimmt da nicht...
    soweit ich weiss, lasse ich alles richtig abziehen
    das ist der code:



    public Timer2(){
    for(new v; v<MAX_VEHICLES; v++){
    if(Motor[v] == true){
    Fuel[v] --;
    if(Fuel[v] == 0){
    GetVehicleParamsEx(v,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(v,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[v] = false;
    }}}
    return 1;
    }


    der timer geht immer 2 minuten und es wird 1 von 100 tank abgezogen
    aber wenn ich InGame bin, wird 50 tank abgezogen, wieso?

    Einmal editiert, zuletzt von JurkIt ()

  • An dem Code sehe ich gerade nichts falsches, wo wird die Variable Fuel den noch verwendet?


    Dazu würde ich dir empfehlen die Variablen nur zu senken wenn jemand im Auto sitzt (& eventuell nur wenn dieser fährt). Dabei würde ich dir auch direkt helfen.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • nja du gest doch eine schleife durch, max vehicles ist warscheinlich 50.
    Also musst du am ende der schleife ein return 1; setzen, das die schleife unterbricht.

    Func Timer2()
    {
    for(new v; v<MAX_VEHICLES; v++)
    {
       if(Motor[v] == true)
    {
           Fuel[v] --;
           if(Fuel[v] == 0)
    {
       GetVehicleParamsEx(v,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(v,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[v] = false;
    }
    }
    return 1;
    }
    return 1;
    }

  • Damit wird der Inhalt der Schleife genau ein mal aufgerufen für 0 und wird dann abgebrochen. Was soll das bringen?

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • für mich erscheint es unlogisch, da ich bisher nur ~20 erstellte autos habe..
    sonnst aber ich es bis jetzt nirgends verwendet.
    also nur wo es halt rausgegeben wird beim textdraw



    public TachoUpdate(){
    for(new i; i<MAX_PLAYERS; i++){
    if(IsPlayerConnected(i)){
    if(IsPlayerInAnyVehicle(i)){
    new Float:live, string[150], speed = GetSpeed(i,true), model = GetVehicleModel(GetPlayerVehicleID(i));
    GetVehicleHealth(GetPlayerVehicleID(i),live);
    format(string,sizeof(string),"- Fahrzeug: %s",VehicleNames[model-400]),TextDrawSetString(Textdraw4[i],string);
    format(string,sizeof(string),"- Tankart: %s",VehicleTank[model-400]),TextDrawSetString(Textdraw7[i],string);
    format(string,sizeof(string),"- Zustand: %d%",floatround(live, floatround_round)/10),TextDrawSetString(Textdraw6[i],string);
    format(string,sizeof(string),"Geschwindigkeit: %d Km/h",speed),TextDrawSetString(Textdraw2[i],string);
    format(string,sizeof(string),"%d%",Fuel[GetPlayerVehicleID(i)]),TextDrawSetString(Textdraw12[i],string);
    SetProgressBarValue(TankZeig[i], Fuel[GetPlayerVehicleID(i)]);
    UpdateProgressBar(TankZeig[i],i);
    }}}
    return 1;
    }