Auf bestimmten servernhabe ich gesehn, wenn man jemanden anschiest das dann oben Drüber steht wv. er Hp verloren hat
also wen man einmal mit der deagle schießt und Trifft dann steht üer dem Namen [-42 HP]
wie macht mann sowas
Auf bestimmten servernhabe ich gesehn, wenn man jemanden anschiest das dann oben Drüber steht wv. er Hp verloren hat
also wen man einmal mit der deagle schießt und Trifft dann steht üer dem Namen [-42 HP]
wie macht mann sowas
Da musst du den Callback "OnPlayerTakeDamage" nutzen, dort hast du einen Parameter der dir die abgezogenen HP (als float soweit ich weis) gibt. Diese kannst du dann in ein 3D Text Label einformatieren und das dann einfach per Attach3DTextLabelToPlayer (oder so ähnlich) an den Spieler "ankleben".
Mehr dazu wiki.sa-mp.com
mfG Dylan
Danke jetzt kann ich es mir zwar vorstellen aber ich kommeimmer noch nicht weiter ;D
Noch Fragen? Also ich werds dir jetzt nicht vorskripten, Kopf einschalten musst du selber.
Mit was sollte ich am besten beginnen
Hey viel weiter helfen kann ich dir nicht aber ich glaube das wird hier mit gemacht http://wiki.sa-mp.com/wiki/OnPlayerGiveDamage
Bin mir aber nicht sicher.
Danke ist aber das gleiche ;D
Guat, zuerst erstellst du eine Variable, die die ID des 3DTextLabels pro Spieler speichert.
new Text3D: HpLabel[MAX_PLAYERS];
Wenn der spieler nun einen Schuss ab bekommt (OnPlayerTakeDamage), dann wird mit der Funktion (Create3DTextLabel) ein Label erstellt.
HpLabel[playerid] = Create3DTextLabel(... das musst du selber ausfüllen siehe wiki Link);
Dann musst du dass mit der Funktion (Attach3DTextLabelToPlayer) an den spieler binden. Auch wieder Wiki gucken, musst noch die Spielerposition bekommen (GetPlayerPos).
Danach noch eine Funktion erstellen, die das Label wieder vom Spieler entfernt nach X Sekunden.
forward DeleteLabel(playerid);
// bei OnPlayerTakeDamage
SetTimerEx("DeleteLabel", 1000, false, "d", playerid);
In der Funktion wird das Label wieder gelöscht. Die Labelid ist immernoch HpLabel[playerid]. Ca so:
public DeleteLabel(playerid)
{
Delete3DTextLabel(HpLabel[playerid]);
return 1;
}
Das wars eig schon.
Viel Glück
Danke dir