Tankpunkte hinterlegen

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 zsm, Hallo Jeffry



    ich möchte beim Befehl des Tankens am besten irgendwie oben im Enum die Tankpunkte definieren


    so sieht mein Befehl zur zeit aus


    ocmd:tanken(playerid,params[])
    {
    new vID,seat;
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du bist in keinem Fahrzeug!");
    seat = GetPlayerVehicleSeat(playerid);
    if(seat != 0) return SendClientMessage(playerid,RED,"Du musst der Fahrer des Fahreugs sein um dies tanken zu können!");
    vID = GetPlayerVehicleID(playerid);
    //Ab hier muss das Fahrzeug betankt werden
    SetTimerEx("OnPlayerCarFill",2000,false,"ii",playerid,vID);
    return 1;
    }


    forward OnPlayerCarFill(playerid,vID);
    public OnPlayerCarFill(playerid,vID)
    {
    new string[128],preis;
    if(cInfo[vID][liter] < 96 || IsPlayerInAnyVehicle(playerid)) {
    cInfo[vID][liter] = cInfo[vID][liter] + 5;

    format(string,sizeof(string),"UPDATE autos SET tank='%i' AND Zustand='%i' WHERE besitzer='%i' AND id='%i'",cInfo[vID][liter],cInfo[vID][zustand],sInfo[playerid][db_id],cInfo[vID][db_id]);
    mysql_function_query(dbhandle,string,false,"","");
    format(string,sizeof(string),"Dein aktueller Tankstatus beträgt: %i Liter",cInfo[vID][liter]);
    SendClientMessage(playerid,CL_ORANGE,string);
    preis = preis + 50;
    printf("Fahrzeug wird befüllt || Aktueller Preis = %i",preis);
    SetTimerEx("OnPlayerCarFill",2000,false,"ii",playerid,vID);

    }
    else
    {
    format(string,sizeof(string),"Dein Fahrzeug wurde erfolgreich betankt! Der Füllvorgang kostet %i Euro und wird dir sofort abgezogen!",preis);
    SendClientMessage(playerid,RED,string);
    GivePlayerMoney(playerid,-preis);
    preis = 0;
    }
    return 1;
    }


    vlt könnt ihr mir nen anstups geben

  • Achso, das meinst du.
    So:
    new Float:Tankpunkte[][3] =
    {
    {1234.1, 241.124, 10.82},
    {454.1, 2142.124, 11.554}
    };


    for(new i=0; i<sizeof(Tankpunkte); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, Tankpunkte[i][0], Tankpunkte[i][1], Tankpunkte[i][2]))
    {
    //Tanken starten
    return 1;
    }
    }
    return SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist bei keiner Tankstelle.");