Guten Tag, nach langer Zeit des Suchens nach einem Lösungsweg, habe ich durch eine hilfreiche Antwort
von einem Kollegen einen Tipp bekommen, wie man einen Skin als ein Bild in SA-MP darstellen kann.
Das ist ganz leicht, weshalb ich es hier mit der Community teilen möchte. Ein sehr kurzer Code, wie es sich
herausstellte.
Es ist nichts anders als die Erstellung eines Textdraws. Zu allererst erstellen wir ein new Text:textdraw;
oben in unserem Skript und begeben uns dann zu public OnGameModeInit()
public OnGameModeInit()
{
//Textdraws
textdraw = TextDrawCreate(320.0, 240.0, "_");
//Wir erstellen dieses Textdraw und setzen die Koordinaten, wo es erscheinen soll. Also X- und Y-Achse. Das "_" kann man auch weg machen,
// schadet aber keinem.
//-----------------------------------------------//
//Font - das allerwichtigste. Wir können ja durch "TEXT_DRAW_FONT_MODEL_PREVIEW" Fahrzeuge darstellen. Stattdessen setzen wir
//eine 5 ein, denn diese steht für die Darstellung von Skins
TextDrawFont(textdraw, 5);
TextDrawUseBox(textdraw, 1);
//Setzt fest, ob das Textdraw eine Box benutzt, oder nicht - in unserem Falle ja, ist jedem aber so überlassen, wie er gerade lustig ist
TextDrawBoxColor(textdraw, 0x000000FF);//Die Farbe der Box, wo der Skin drinne ist, wird gesetzt(die Box dient sogesehen nur als Deko)
TextDrawTextSize(textdraw, 40.0, 40.0); //Die Größe des Skins als Bild wird gesetzt
TextDrawSetPreviewModel(textdraw, 25); //Durch diese Anweisung wird die Skin-ID 25 dargestellt
}
Wenn wir dies gemacht haben, können wir durch einen Befehl wie diesen hier das Bild im Spiel darstellen lassen.
ocmd:testtxd(playerid, params[])
{
new bool:textdrawstatus;
if(textdrawstatus == false)
{
TextDrawShowForPlayer(playerid, textdraw);
textdrawstatus = true;
}
else if(textdrawstatus == true)
{
TextDrawHideForPlayer(playerid, textdraw);
textdrawstatus = false;
}
return 1;
}
Ich hoffe, dass dieses kleine aber feine Tutorial vielen, aber vor allem Neulingen helfen kann ihr Skript vom Aussehen
her besser zu beschmücken und nicht nur langweilig Dialog zu verwenden.
Hier das Ergebnis:
Quelle:
http://wiki.sa-mp.com/wiki/TextDrawSetPreviewModel
Mit freundlichen Grüßen
Kristik47