Problem mit Tank System

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 hab da n kleinen Problem mit meinem Tank system und zwar wen man auf den server kommt und dan in ein car einsteigt geht alles tank wird leer man kan tanken usw.
    Aber wen man dan in ein andere car einsteigt wird der Tank nich mehr angezeigt


    Ich hoffe ihr könnt mir helfen iher seit ja die besten :P
    MFG Philipp

  • //TankSkript
    forward TankCheck();
    forward Tankstelle(playerid);
    new Fuel[MAX_VEHICLES];
    new Text:Anzeige;
    forward UpdateAnzeige(playerid);
    new timer;
    new fuelstr1[50];


    Der Command
    //----------------------[Tanksystem]-------------------------
    if (strcmp("/tanken", cmd,true) ==0)
    {
    if(Tankstelle(playerid))
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Autoid = GetPlayerVehicleID(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast für 100 % getankt.");
    Fuel[Autoid] = 100;
    GivePlayerMoney(playerid, -100);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Auto!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht an einer Tankstelle");
    return 1;
    }
    }



    OnGameModeInit:


    //Fuel
    Anzeige = TextDrawCreate(320.00, 410.00,"_");
    Anzeige = TextDrawCreate(320.00, 410.00,"~g~Benzin:~w~ 100");
    TextDrawFont(Anzeige, 3);
    TextDrawSetProportional(Anzeige, 2);
    TextDrawAlignment(Anzeige, 1);
    for (new i; i<MAX_VEHICLES; i++)
    {
    Fuel[i] = 100;
    }
    //





    OnPlayerStateChange:


    if(newstate == 2 && IsPlayerInAnyVehicle(playerid))
    {
    timer = SetTimerEx("UpdateAnzeige",30000,1,"i",playerid);
    TextDrawShowForPlayer(playerid,Anzeige);
    }


    public OnPlayerExitVehicle(playerid,vehicleid)
    {
    KillTimer(timer);
    TextDrawHideForPlayer(playerid, Anzeige);
    return 1;
    }


    Hier die eigendliche anteige


    public UpdateAnzeige(playerid)
    {
    new veh = GetPlayerVehicleID(playerid);
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(Fuel[veh] > 0)
    {
    Fuel[veh] = Fuel[veh] - 1;
    format(fuelstr1,sizeof fuelstr1,"~g~Benzin:~w~ %d%",Fuel[veh]);
    TextDrawSetString(Anzeige,fuelstr1);
    }
    else
    {
    format(fuelstr1,sizeof fuelstr1,"Benzin leer!");
    TextDrawSetString(Anzeige,fuelstr1);
    TogglePlayerControllable(playerid,0);
    }
    }
    return 1;
    }


    MFG Philipp

  • geht gar nich :D ich bekomm da viele errors :
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(418) : error 033: array must be indexed (variable "Anzeige")
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(419) : error 033: array must be indexed (variable "Anzeige")
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(420) : error 035: argument type mismatch (argument 1)
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(421) : error 035: argument type mismatch (argument 1)
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(422) : error 035: argument type mismatch (argument 1)
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(2078) : error 035: argument type mismatch (argument 2)
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(3577) : error 035: argument type mismatch (argument 2)
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(3590) : error 035: argument type mismatch (argument 1)
    C:\Documents and Settings\Owner\Desktop\SamP\gamemodes\reallife2.pwn(3595) : error 035: argument type mismatch (argument 1)


    hat sonst noch jmd. ne idee ??


    MFG Philipp