Benzin...

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
  • Huhu,


    hab da mal ne Frage,


    kann ich irgendwie


    Diesel \nBenzin \nSuper Plus \nSuper Benzin \nKerosin


    5 Ini's erstellen mit Tankwaren also damit man dort die Füllung abzieht nach dem Tanken??


    Wie erstelllt man das dass es nach dem Tanken einfach FillUp abzieht und wenn man /einliefern schreibt die Produkte wieder rein kommen?


    Es soll eine Ini sein 5 stück...


    Hoffe es kann wer helfen


    LG


    Moritz

  • Ich baue dir eben ein Grundgerüst musst aber ausbauen.


    Ganz oben im Script fügen wia Variablen ein, die die aktuelle
    Menge an Benzinarten beiinhalten sollte!


    new Benzin;
    new Super;
    new Gemisch;


    Unter OnGameModeInit erstellen wir mal eine Dini Datei.
    new pfad[18];
    format(pfad,siezof(pfad),"/Tank/Tankarten.txt");
    if(!fexist(pfad))
    {
    dini_Create(pfad);
    dini_IntSet(pfad,"Benzin",0);
    dini_IntSet(pfad,"Super",0);
    dini_IntSet(pfad,"Gemisch",0); // eben anpassen auf deine Arten
    }
    else if(fexist(pfad))
    {
    Benzin = dini_GetInt(pfad,"Benzin");
    Super = dini_GetInt(pfad,"Super");
    Gemisch = dini_GetInt(pfad,"Gemisch");
    }


    Und wenn du jetzt einfach bei Befehlen den Wert erhöhen möchtest, machst du das so
    Benzin += 10 // Jetzt wird es um 10 erhöht !! ;DD


    Das ganze wird jetzt aber nicht gespeichert. Dies machen wia am besten bei OnGameModeExit


    new pfad[18];
    format(pfad,siezof(pfad),"/Tank/Tankarten.txt");
    if(fexist(pfad))
    {
    dini_IntSet(pfad,"Benzin",Benzin);
    // Und so weiter!
    }


    Hoffe habe dir geholfen. Bei weiteren Fragen einfach melden!

  • Danke nett von dir ;)


    Kann ich das nicht auch in einen Timer bauen für das Speichern der Benzin arten oder wie das auch geht also damit das Benzin usw auch immer wieder gespeichert wird


    wenn man das Game verlässt soll man seine Waren verlieren...

  • Bei OnGameModeInit


    SetTimer("BenzinSpeichern",1000,true);
    Bei deinen Timern
    forward BenzinSpeichern();
    public BenzinSpeichern()
    {
    new pfad[18];
    format(pfad,siezof(pfad),"/Tank/Tankarten.txt");
    if(fexist(pfad))
    {
    dini_IntSet(pfad,"Benzin",Benzin);
    dini_IntSet(pfad,"Super",Super);
    dini_IntSet(pfad,"Gemisch",Gemisch);
    }

  • Hab noch Errors:


    Benzin = dini_GetInt(pfad,"Benzin");
    Super = dini_GetInt(pfad,"Super");
    SuperBenzin = dini_GetInt(pfad,"SuperBenzin");
    SuperPlus = dini_GetInt(pfad,"SuperPlus")


    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12752) : error 017: undefined symbol "dini_GetInt"
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12753) : error 017: undefined symbol "dini_GetInt"
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12754) : error 017: undefined symbol "dini_GetInt"
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12755) : error 017: undefined symbol "dini_GetInt"

  • Vielen Dank ;))


    Also wenn ich jetzt auch mache /abholen ( um Diesel abzuholen )


    danach mache ich z.B


    PlayerInfo[playerid][pDieselStoff] = 15;


    danach kann ich machen


    /abliefern


    Diesel += pDieselStoff;
    PlayerInfo[playerid][pDieselStoff] = 0;


    //e habs noch errors


    Fehlerklärbär gehen die Errors net...


    Benzin = dini_Get(pfad,"Benzin");
    Super = dini_Get(pfad,"Super");
    SuperBenzin = dini_Get(pfad,"SuperBenzin");
    SuperPlus = dini_Get(pfad,"SuperPlus");


    Sehe auch keine Fehler!


    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12752) : error 006: must be assigned to an array
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12753) : error 006: must be assigned to an array
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12754) : error 006: must be assigned to an array
    C:\Users\Moritz\Desktop\LoD Script\gamemodes\Release.pwn(12755) : error 006: must be assigned to an array

  • new pfad[18];
    format(pfad,sizeof(pfad),"/Tank/Tankarten.txt");
    if(!fexist(pfad))
    {
    dini_Create(pfad);
    dini_IntSet(pfad,"Benzin",0);
    dini_IntSet(pfad,"Super",0);
    dini_IntSet(pfad,"SuperBenzin",0); // eben anpassen auf deine Arten
    dini_IntSet(pfad,"SuperPlus",0); // eben anpassen auf deine Arten
    }
    else if(fexist(pfad))
    {
    dini_IntSet(pfad,"Benzin",Benzin);
    dini_IntSet(pfad,"Super",Super);
    dini_IntSet(pfad,"SuperBenzin",SuperBenzin);
    dini_IntSet(pfad,"SuperPlus",SuperPlus);
    }


    also so?

  • Hmm... Server schmiert nach ner Zeit ab...


    Code:


    if(strcmp("/tankeauffüllen",cmdtext, true,10) == 0)
    {
    Benzin += 100;
    Diesel += 100;
    SuperPlus += 100;
    SuperBenzin += 100;

    }


    new tank = GetPlayerVehicleTypeForFill(GetPlayerVehicleID(playerid));
    if(listitem == 0) //Diesel
    {
    if(Diesel >= 1)
    {
    if(tank == 1)
    {
    new Float: tankfuel;
    tankfuel = spawncar_maxgas[GetPlayerVehicleID(playerid)]-spawncar_gas[GetPlayerVehicleID(playerid)];
    GettingFuel[playerid] = tankfuel;
    GettingType[playerid] = 1;
    Refueling[playerid] = 1;
    GameTextForPlayer(playerid, "~y~Tanken!", 5000, 1);
    filling[playerid] = SetTimerEx("FuelCarD", 3000, false, "i", playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Kraftstoff nicht tanken.");
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    }
    else
    {
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid, COLOR_GRAD2, "Wir haben kein Diesel mehr... Komm später nochmal!");
    return 1;
    }


    }


    public FuelCarD(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new VID;
    new FillUp;
    new string [128];
    VID = GetPlayerVehicleID(i);
    FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
    if(Refueling[playerid] == 1)
    {
    if(GetPlayerMoney(i) >= FillUp+1)
    {
    Gas[VID] += FillUp;
    format(string,sizeof(string),"* Fahrzeug für $%d aufgetankt.",FillUp);
    SendClientMessage(i,COLOR_BLUE,string);
    Diesel -= FillUp;
    GivePlayerMoney(i, - FillUp);
    SBizzInfo[3][sbTill] += FillUp;
    ExtortionSBiz(3, FillUp);
    Refueling[i] = 0;
    UnFreezePlayer(i);
    }
    else
    {
    format(string,sizeof(string),"* Dir fehlen $%d, hol dir Geld am Automaten...",FillUp);
    SendClientMessage(i,COLOR_RED,string);
    Refueling[i] = 0;
    UnFreezePlayer(i);
    }
    }
    }
    }
    return 1;
    }

    Einmal editiert, zuletzt von SenTiZz ()