Verschiedene Tankinhalte

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
  • Hey Leute ich hab wieder mal ne frage.


    und zwar möchte ich wissen ob und wenn ja, wie es geht, dass verschiedene Autos auch verschieden große Tankinhalte haben.


    ich hab das mal so versucht aber irgendwie mach ich was falsch.



    OnGamemodeInit


    for(new c=0;c<MAX_VEHICLES;c++)
    {
    if(Fahrzeugtyp1(c))
    {
    Tanks[code=c] = 100;
    }
    else if(Fahrzeugtyp2(c))
    {
    Tanks[code=c] = 110;
    }
    }


    OnPlayerEnterVehicle


    if(Fahrzeugtyp1(vehicleid))
    {
    TankCheck();
    }
    else if(Fahrzeugtyp2(vehicleid))
    {
    TankCheck();
    }


    public TankCheck()
    {
    new string[256];
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
    {
    new Auto = GetPlayerVehicleID(i);
    if(Tank[Auto] >=1)
    {
    format(string, sizeof(string), "Tankinhalt: %d Liter",Tank[Auto]);
    TextDrawHideForPlayer(i,gla);
    gla=TextDrawCreate(200,200,string);
    TextDrawShowForPlayer(i,gla);
    Tank[Auto]--;
    }
    else
    {
    TogglePlayerControllable(i,0);
    GameTextForPlayer(i,"~w~Tank Leer",2000,3);
    }
    }
    }
    }
    return 1;
    }


    kann mir da jemand weiter helfen? Es erscheint kein Fehler nur ingame ist das Fahrzeug sofort leer :(


    EDIT:// Kann mir da niemand weiter helfen?

    2 Mal editiert, zuletzt von Virus ()

  • MAX_VEHICLES ist bereits in der a_samp.inc definiert mit 700 Maximalen Autos, so wie das Limit in Sa-mp


    for(new i = 0;i<MAX_VEHICLES;i++)
    {
    if(FahrzeugTyp(i))
    {
    tank[i] = 70;
    }
    }



    stock FahrzeugTyp(vehicleid)
    {
    new get = GetVehicleModel(vehicleid);
    switch(get)
    {
    case 411:return 1; // Infernus
    case 541:return 1; // Bullet
    }
    return 0;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()


  • merkst du es?
    PS: dein Textdraw würde mich mal interessieren

    you have been Traceured.


  • =/ nun bin ich etwas verwirrt


    Ich hab das ganze mal so gemacht... und passieren tut .... Nichts... es zeigt kein Textdraw und und garnichts...


    new Tank[MAX_VEHICLES];


    forward TankCheck();


    //OnGameModeInit



    for(new c=0;c<MAX_VEHICLES;c++)
    {
    if(IsASuv(c))
    {
    Tank[code=c] = 150;
    return 0;
    }
    else if(IsACompact(c))
    {
    Tank[code=c] = 60;
    return 0;
    }
    }




    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new newcar = GetPlayerVehicleID(playerid);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
    {
    if(IsASuv(newcar))
    {
    SetTimer("TankCheck",10000,1);
    return 0;
    }
    else if(IsACompact(newcar))
    {
    SetTimer("TankCheck",18000,1);
    return 0;
    }
    }
    }
    return 1;
    }



    public TankCheck()
    {
    new string[256];
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
    {
    new Auto = GetPlayerVehicleID(i);
    if(Tank[Auto] >=1)
    {
    format(string, sizeof(string), "Tankinhalt: %d Liter",Tank[Auto]);
    TextDrawHideForPlayer(i,gla);
    gla=TextDrawCreate(200,200,string);
    TextDrawShowForPlayer(i,gla);
    Tank[Auto]--;
    }
    else
    {
    TogglePlayerControllable(i,0);
    GameTextForPlayer(i,"~w~Tank Leer",2000,3);
    }
    }
    }
    }
    return 1;
    }