Tankanzeige

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
  • hi leute bräuchte mal wieder eure hilfe^^
    ich habe den psychosandman script (perfect rollplay). dort gibts es eine tankanzeige. man kann die mit /tankanzeige aufrufen. ich würde es aber gerne ohne den befehl /tananzeige einstellen, sodass es immer wenn man in das auto einsteigt erscheint. könnte mir einer vllt helfen
    danke im voraus

  • ich will keinen speedometer sondern ne tankanzeige,
    dass müsste doch irgend wie gehen
    einfach anstatt /tankanzeige einzugeben, in ein auto einsteigen und dann sollte die tankanzeige da sein


    so sieht es im script aus!



    if(strcmp(cmd, "/Tankanzeige", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (gGas[playerid] == 0)
    {
    gGas[playerid] = 1;
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~g~Tankanzeige an", 5000, 5);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    }
    else if (gGas[playerid] == 1)
    {
    gGas[playerid] = 0;
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~r~Tankanzeige aus", 5000, 5);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    }
    }
    return 1;
    }

    Einmal editiert, zuletzt von ZoD1aC ()

  • ich danke dir alexanda, hat alles wunderbar geklappt^^
    vielen dank :thumbup:


    könntest du mir vllt auch gleich sagen wie ich die tankanzeige bischen höher machen kann also vllt so ein cm oder so

  • Nein das ist ja ein GameText und soweit ich weiß kann man da nicht die Höhe (Koordinaten etc.) einstellen man kann nur den Style ändern.
    Aber wenn du es wegen einem 2. Tacho oder ähnliches hochmachen willst kannst du mal gucken ob dein Tacho ein Textdraw ist und ihn weiter nach unten setzen ;).

    ...

  • ich hätte aber lieber nur den km/h zähler und keine mp/h usw, ginge das auch??
    es solte vllt so aussehen:


    unten in der mitte des bildes, wo die tankanzeige jetzt ist, untendrunter:



    Fuel: 100%
    Km/h: 120

  • Ja dann mach das einfach so:
    format(string,sizeof(string)," ~b~KM/H : ~w~%d",CarName[GetVehicleModel(floatround(value/1000));


    Aber mir fällt gerade ein das du die Benzin Anzeige eigentlich doch höher kriegen kannst.


    Such mal nach public CheckGas(), dann suchst du nach


    format(string, sizeof(string), "~r~~n~~n~~n~~n~~n~~n~~n~~n~~n~Fuel:~w~ %d%",Gas[vehicle]);


    Und machst einfach 1-2 mal das ~n~ weg pro ~n~ das du weg machst geht deine Anzeige genau eine Zeile höher.

    ...

  • der tacho ist jetzt zwar höher , aber immer wenn ich den tacho anmache mit /speedo dann erscheint der tacho, die tankanzeige verschwindet aber
    und den tacho muss man immer anmachen,
    ich habe es auch wie bei tank bei OnPlayerConnect auf 1 gesetzt trozdem geht es nicht. und ich muss den tacho kaufen kan man das irgedn wie ändern sodass es ohne kaufen immer da ist?


    ps: danke für deine hilfe alexanda

  • Ja du musst ihn bei Onplayerconnect auf 2 (nicht auf 1) stellen.


    Aber warum nur 1 gleichzeitig geht kann ich mir vielleicht dadurch erklären das nur ein GameText mit dem selben Style geht? Ich weiß es nicht, aber du könntest es ja mal in einen Textdraw ändern oder einfach anderen Style ausprobieren. (Das ist die letzte Zahl)

    ...

  • hbae jetzt auf die 2 gesetzt. es erscheint jetzt immer.
    aber der tank ist jetzt weg.
    wie meinst du das mit style änderen wo soll ich es ändern.
    meinst du das hier
    GameTextForPlayer(i, string, 1800, 3)
    habe es von 2000. 5 geändert

  • GameTextForPlayer(playerid, "blabla", 1800, 3)



    Der Empfänger des Gametextes
    Der Text der gesendet wird, wenn du ein String sendest machste natürlich ohne "".
    Die Zeit, wielange der Text auf dem Monitor erscheint. In Millisekunden angegeben
    Der Style, eine Übersicht findest du HIER



    Also die 2000 die du geändert warst, war eigentlich die Zeit und die Zeit wird in Millisekunden angegeben, wenn du es auf 5 geändert hast erscheint es nur 5 MS das bringt es nicht ;).

    ...

  • Wie gesagt du kannst dein Speedo immernoch in einen Textdraw ändern.


    Probiers mal so:
    Ganz oben machste:


    new Text:Speedo[MAX_PLAYERS];



    Unter OnPlayerStateChange machste:


    if(newstate == PLAYER_STATE_ONFOOT)
    {
    TextDrawHideForPlayer(playerid, Speedo[playerid]);
    }


    Dann suchste unter public OtherTimer()
    nach diesen Zeilen:


    if(TelePos[i][0] != 0.0)
    {
    new Float:xdist = TelePos[i][3]-TelePos[i][0];
    new Float:ydist = TelePos[i][4]-TelePos[i][1];
    new Float:sqxdist = xdist*xdist;
    new Float:sqydist = ydist*ydist;
    new Float:distance = (sqxdist+sqydist)/31;
    if(gSpeedo[i] == 2)
    {
    if(distance <10)
    {
    format(string, 256, "~n~~n~~n~~n~~n~~n~~n~~g~mph : ~w~%.0f",distance);
    }
    if(distance > 10 && distance < 100)
    {
    format(string, 256, "~n~~n~~n~~n~~n~~n~~n~~g~mph : ~w~%.0f",distance);
    }
    if(distance > 100)
    {
    format(string, 256, "~n~~n~~n~~n~~n~~n~~n~~g~mph : ~w~%.0f",distance);
    }
    GameTextForPlayer(i, string, 2000, 5);
    }


    Dann klammerst du den GameText aus und machst stattdessen dieses hier hin:



    TextDrawDestroy(Speedo[i]);
    Speedo[i] = TextDrawCreate(330.00, 400.00, string);


    Glaube so sollte es gehen, habe ich aber nicht getestet.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen