Nabend.
Ich habe mir ein Health Textdraw erstellt, aber wenns sich verändert, bleibt der Textdraw gleich.
Man muss ja mit einem Timer das Health checken, und dann den Textdraw updaten.
Wie geht das?
Und kann ich mit dem selben Timer, auch das Geld checken?
mfg
Health Checken, Textdraw updaten
- relyyy
- 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
-
-
-
Ok, Danke. Aber wie Update ich den Textdraw?
-
--> TextdrawSetString();
-
Gut, auf die Idee bin ich nicht gekommen danke.
-
nP ... falls du die Funktionen nicht kennst, kannst du ja mal in der Wiki nach jedem gucken ..
ist für jeden verständlich erklärt :> -
Und du leitest ihn auf die Wiki weiter ?
TextdrawSetString();
So wie du es machen willst, wird dann aber für jeden die HP von einem angezeigt.
-
Aber wie Update ich den Textdraw?
Hab nur gezeigt wie er den Updaten kann .. das mit SetString ist doch wohl klar, ansonnsten zeigt er ja immer das gleiche an
-
Habe es so:
format(sling,sizeof(sling),"Gesundheit: %d",PlayerInfo[playerid][pHealth]);
TextDrawSetString(gesundheit,sling);
gesundheit = TextDrawCreate(500.000000,15.000000,sling);Und der Rest halt drunter.
Das Leben wird am Anfang auch richtig angezeigt, nur wenns sich verändert, wirds halt ned geupdated.
Könnte mir jemand ein Beispiel machen, wie es mit dem Health geht?
Für jeden einzelnen Spieler natürlich^^ ( geht doch mit for players dings, oder?) -
Hab nur gezeigt wie er den Updaten kann .. das mit SetString ist doch wohl klar, ansonnsten zeigt er ja immer das gleiche an
Genau hiermit
TextdrawSetString();
updatet man ein Textdraw.
-
Wenn du dir meinen Code anschauen würdest, würdest du sehen, das es dort steht.
Oder habe ich das falsch verstanden?
-
Versuch mal getplayerhealth anstatt PlayerInfo[playerid][pHealth] im profil zumachen
-
Ne funzt nicht, kann mir jemand ein Beispiel machen, mit dem Updaten?
mfg -
Du musst den Textdraw für jeden Spieler definieren, so definierst du ihn nur einmal und es
wird für jeden Spieler gleichzeitig gesetzt und somit gibts nen Megalagg, je nach Spieler Anzahldaher
new Text:Deintextdraw[MAX_PLAYERS];
und in den Timer baust du eine Schleife
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
TextDrawSetString(Deintextdraw[i],"Dein text");
}
} -
Für ganz neue Anfänger?
Wollte sowas auch machen
Habe nun den Timer also
forward Leben();SetTimer("Leben",1000, 1);
Hmm nun weiß ich nicht wie ich es schaffe den Textdraw zu updaten
Kann ein Textdraw erstellen aber das Updaten sich ja nicht -
also mein erster gedanke sähe so aus, aber ob es funktionert weiß ich nich
new PlayerText[MAX_PLAYERS];
public OnPlayerConnect
{
PlayerText[playerid] = TextDrawCreate(x, y, "Gesundheit:");
return 1;
public LebensUpdate(playerid)
{
new Float:health, string[30];GetPlayerHealth(playerid, health);
format(string, sizeof(string),"Gesundheit: %f",health);TextDrawSetString(PlayerText[playerid], string);
TextDrawShowForPlayer(playerid, PlayerText[playerid]);return 1;
}So hätte jeder Player seinen eigenen Textdraw und wird auch nur für ihn angezeigt, denke ich
Und du musst eben noch den Timer für LebensUpdate bei GameModeInit reinsetztenAber ich lasse mich gerne eines besseren belehren
-
x, y, "G
Bei x, y, müssen da die Coordinaten hin? Wenn ja hat da jemand was? -
Mach sie mit Paint 800x600 glaub ich
-
Nope, es gibt da Sachen die dir dabei helfen können
Zamaroht's TextDraw Editor V0.6 = http://forum.sa-mp.com/index.php?topic=29132.0
kevinsoftware = http://forum.sa-mp.com/index.php?topic=53949.0 (Edit=Oh geht nicht, link entfernt -.-)
EddyText v1.2 = http://forum.sa-mp.com/index.php?topic=112008.0Viel Spaß
-
Ich komm mit dem zeugs net klar kann jemand das für mich machen? Weil die Steuerung ist irgend wie kacke -.-