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
Tankanzeige
- ZoD1aC
- Geschlossen
- Erledigt
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
-
-
jo würde mich auch ma interessieren
-
Dann nimm doch die alte raus und setzt Speedometer ein
-
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 seinso 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;
} -
Such unter OnPlayerConnect nach:
gGas[playerid] = 0;
und mach daraus eine 1 also:
gGas[playerid] = 1;
-
ich danke dir alexanda, hat alles wunderbar geklappt^^
vielen dankkö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 ;). -
ja ich will einen tacho rein machen^^
ja ok ich guck mal ob ich es hinbekomme -
Also wenn du das von R@f hast (http://forum.sa-mp.com/index.php?topic=33338.0) kann ich es dir jetzt schon sagen:
such unter public UpdateSpeed nach
Speedo[i] = TextDrawCreate....
und änder die Koordinaten in :
Speedo[i] = TextDrawCreate(330.00, 400.00, string);
-
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 HIERAlso 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 ;).
-
habe den style auf und auf 2 geändert , geht trozdem nicht.
wahrscheinlich geht das einfach net.
muss mir einen anderen tacho zulegen -
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.
-
leider klappt es nicht, immer wenn ich einsteige dann kommt ein fehler und samp wird beendet
-
wie kann ich beim tacho von R@f den style ändern, also damit die schrift bischen größer wird??
kann mir einer helfen -
Die letzte Zahl von GameTextForPlayer...
-