Hallo,
ich habe ein Problem mit meinem Tacho:
Undzwar wenn ich alleine auf dem Server bin, wird die kM/H-Anzeige ganz normal angezeigt.
Sobald ein zweiter Spieler connected, buggt die total rum, und zeigt komische Sachen an( sie springt von 100 auf 10 und so weiter..)
Hoffe einer kann mir helfen
MFG
Problem mit Tacho
- xRev92
- 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
-
-
Erstellst du für jeden Spieler auch ein textdraw?
-
Ja ich erstelle für jeden einen Textdraw.
MFG -
Benutze Playertextdraws, dann dürfte es gehen
-
Gibt es keine andere Möglichkeit, ich finde TextDraws schöner
-
Sind ebenfalls TextDraws
-
Und wo liegt der Unterschied?
-
Ein Playertextdraw ist nur für einen Spieler und kann bei jedem Spieler individuell sein, während ein globales für alle Spieler gleich ist.
-
Ich blicke da nicht durch, kann einer evtl mir per TeamViewer helfen, und mir das kurz umschreiben?
-
Du hast das doch sicher mit einem Textdraweditor erstellt ? Da gibt es eigentlich immer die Möglichkeit die "Art" des Textdraws von Global auf Player zu stellen.
-
-
Nein soweit ich weiß gibt es das leider nicht
-
Welchen benutzt du den ?
-
Den hier: Zamaroht TextDraw Editor
-
Hey, du solltest dir das einmal anschauen: http://wiki.sa-mp.com/wiki/Textdraw#Per-Player_Textdraw
Zudem gucke hier mal bei den Related Functions, die sind im Grunde genommen fast gleich.
http://wiki.sa-mp.com/wiki/PlayerTextDrawShow
Wenn du weitere Hilfe brauchst, melde dich bei mir.L.G.
-
Der Editor von Zamaroht hat die Option unten in der Leiste du musst nur Suchen
-
Es ist eigentlich ganz einfach erklärt.
PlayerTextDraw sind für jeden Spieler. Das heisst, wenn ein Spieler sich ins Fahrzeug setzt, bekommt nur dieser Spieler das Tacho zu sehen.
Die andere Variante lässt Textdraws global für jeden Spieler anzeigen. Das heisst nichts anderes als: Ein Spieler steigt in ein Fahrzeug und alle Spieler auf dem Server bekommen dieses Textdraw angezeigt. Daher ist für ein Tacho die PlayerTextDraw Variante die bessere Lösung. -
Ich habs jetzt mit PlayerTextDraw, das Problem besteht jedoch weiterhin.
Jemand andere Vorschläge?
MFG -
Das muss eigentlich funktioniert, hatte es bei mir damals auch. Benutzt du auch PlayerTextdrawSetString ?
-
Dann zeig uns das doch mal, wie du den erstellst, und wie du den Updatest.
-
Update:[pwn]public TachoTimer(playerid)
{if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid) && !IsPlayerNPC(playerid))
{
new Float:Entfernung, Float:Geschwindigkeit;
GetVehiclePos(GetPlayerVehicleID(playerid), X1[playerid], Y1[playerid], Z1[playerid]);
Entfernung = floatsqroot(floatpower(floatabs(floatsub(X1[playerid], X2[playerid])), 2)+floatpower(floatabs(floatsub(Y1[playerid], Y2[playerid])), 2)+floatpower(floatabs(floatsub(Z1[playerid], Z2[playerid])), 2)); //Berechnung der Entfernung
Geschwindigkeit = (Entfernung / (TACHOTIMER/1000)) * 3.6; //Meter/Sekunde in Kilometer/Stunde
new Tachostring[20]; // definiert den String
format(Tachostring, sizeof(Tachostring), "Km/H: %d", floatround(Geschwindigkeit));
PlayerTextDrawSetString(playerid,Textdraw[1][playerid], Tachostring);
GetVehiclePos(GetPlayerVehicleID(playerid), X2[playerid], Y2[playerid], Z2[playerid]);
new Fahrzeugstring[128];
CheckHealth(playerid);
format(Fahrzeugstring,sizeof(Fahrzeugstring),"~b~%s",Fahrzeugname[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
PlayerTextDrawSetString(playerid,Textdraw[0][playerid], Fahrzeugstring);
for(new t = 0; t < 15; t++) PlayerTextDrawShow(playerid, Textdraw[t][playerid]);
}
else for(new t = 0; t < 15; t++) PlayerTextDrawHide(playerid,Textdraw[t][playerid]);
return 1;
}[/pwn]
unter OnPlayerConnect wird das TextDraw erstellt.