Das habe ich gemacht aber das Feld wo ich den String eingebe reicht trotzdem nicht für meine gewünschte Größé aus. Aber die Frage dennoch ist, könnte ich die Frage die ich dann mit einem Befehl stelle auf die 3 Platzhalter "splitten" ?
Sieht so aus:
Das habe ich gemacht aber das Feld wo ich den String eingebe reicht trotzdem nicht für meine gewünschte Größé aus. Aber die Frage dennoch ist, könnte ich die Frage die ich dann mit einem Befehl stelle auf die 3 Platzhalter "splitten" ?
Sieht so aus:
Ja, das kannst du splitten.
Entweder du machst 3 Eingaben hintereinander, oder du fügst in den Text den du eingibst einen Platzhalter ein (z.B. |), nach dem dann die Strings gesplittet werden.
Das kannst du dann mit sscanf zum Beispiel machen.
Dann plane ich das mal so zu machen. Wie muss ich denn die Textdraws dafür exportieren bzw. was ist die beste Methode?
Habe zur Auswahl:
Classic- Export Mode
Self-working FilterScript
PlayerTextdraw
42O Gui
oder sind die vom Format her alle gleich ?
Ich würde mal sagen mit dem "Classic- Export Mode" bist du richtig.
Habe das ausgewählt was du gesagt hast. Um sicher zu sein, so schaut das Format aus:
Textdraw8 = TextDrawCreate(166.000000, 266.000000, "This is a placeholder for the question which will be set by the Admin.");
TextDrawBackgroundColor(Textdraw8, 255);
TextDrawFont(Textdraw8, 2);
TextDrawLetterSize(Textdraw8, 0.189998, 1.399999);
TextDrawColor(Textdraw8, -1);
TextDrawSetOutline(Textdraw8, 0);
TextDrawSetProportional(Textdraw8, 1);
TextDrawSetShadow(Textdraw8, 1);
TextDrawSetSelectable(Textdraw8, 0);
Immer noch richtig oder doch die anderen Formate?
Immer noch richtig oder doch die anderen Formate?
Passt so.
Okay danke dir ![]()
Was ist der Unterschied zwischen TextDrawHideForPlayer und TextdrawDestroy? Irgendwelche Perfomance Unterschiede ?
TextDrawHideForPlayer = Versteckt das Textdraw nur für den angegebenen Spieler und du kannst das Textdraw mit TextDrawShowForPlayer wieder anzeigen.
TextDrawDestroy = Löscht das Textdraw, sprich es wird für alle Spieler entfernt und du musst es mit TextDrawCreate erst wieder erstellen, falls du es wieder anzeigen willst.
Also müsste ich mein Textdraw jedes mal neuerstellen und löschen wenn ich eine neue Frage stelle, da sich ja der Text ändert?
Und zweite Frage, möchte das die Textdraws gelöscht werden wenn ich mein FS entlade, aber da kommt das:
408) : error 025: function heading differs from prototype
1)
Nein, nutze TextDrawSetString.
2)
Mach das playerid in den Klammern weg.
Kann ich die Textdraws auf einem komfortablerem Weg anzeigen bzw. löschen? Sodass ich nicht immer jede ID einzelnt angeben muss, also so:
TextDrawDestroy(Textdraw0);
TextDrawDestroy(Textdraw1);
TextDrawDestroy(Textdraw2);
TextDrawDestroy(Textdraw3);
TextDrawDestroy(Textdraw4);
TextDrawDestroy(Textdraw5);
TextDrawDestroy(Textdraw6);
TextDrawDestroy(Textdraw7);
TextDrawDestroy(Textdraw8);
TextDrawDestroy(Textdraw9);
TextDrawDestroy(Textdraw10);
Du kannst es anstatt in einzelne Variablen in ein Array packen, und dann per Schleife entfernen.
So richtig? Weil ich dann noch irgendwas bei OnFilterScriptInit machen muss, sagt mir alle Textdraws sind nicht definiert.
new Textdraws[11];
TextDrawDestroy(Textdraw0);
TextDrawDestroy(Textdraw1);
TextDrawDestroy(Textdraw2);
TextDrawDestroy(Textdraw3);
TextDrawDestroy(Textdraw4);
TextDrawDestroy(Textdraw5);
TextDrawDestroy(Textdraw6);
TextDrawDestroy(Textdraw7);
TextDrawDestroy(Textdraw8);
TextDrawDestroy(Textdraw9);
TextDrawDestroy(Textdraw10);
Alles anzeigen
Muss ich dann immer nur beim ersten diese [] Klammern vorsetzen oder so wie hier auch z.B. bei TextDrawBackGroundColor etc?
Textdraw[0] = TextDrawCreate(472.000000, 120.000000, "_");
TextDrawBackgroundColor(Textdraw[0], 255);
TextDrawFont(Textdraw[0], 1);
TextDrawLetterSize(Textdraw[0], 0.500000, 23.000000);
TextDrawColor(Textdraw[0], -1);
TextDrawSetOutline(Textdraw[0], 0);
TextDrawSetProportional(Textdraw[0], 1);
TextDrawSetShadow(Textdraw[0], 1);
TextDrawUseBox(Textdraw[0], 1);
TextDrawBoxColor(Textdraw[0], 845452840);
TextDrawTextSize(Textdraw[0], 160.000000, 2.000000);
TextDrawSetSelectable(Textdraw[0], 0);
Alles anzeigen
Überall, also so wie du es jetzt hast passt es. ![]()
Korrekt, genau so.
Achte darauf, die alten Variablen (Textdraw1, Textdraw2, ...) zu entfernen, dann siehst du durch Errors, dass du eins vergessen hast, falls das vorkommen sollte.
Habe gedacht ich liege falsch weil ich jetzt schon Errors erhalte die so ausschauen, hoffe die gehen weg wenn ich 100 % fertig bin.
C:\Users\Dave\Desktop\JustMe's Wonderland\filterscripts\event.pwn(110) : error 017: undefined symbol "Textdraw"
C:\Users\Dave\Desktop\JustMe's Wonderland\filterscripts\event.pwn(110) : warning 215: expression has no effect
C:\Users\Dave\Desktop\JustMe's Wonderland\filterscripts\event.pwn(110) : error 001: expected token: ";", but found "]"
C:\Users\Dave\Desktop\JustMe's Wonderland\filterscripts\event.pwn(110) : error 029: invalid expression, assumed zero
C:\Users\Dave\Desktop\JustMe's Wonderland\filterscripts\event.pwn(110) : fatal error 107: too many error messages on one line
Entweder das "new Textdraws" zu "new Textdraw" ändern, oder anstatt "Textdraw" "Textdraws" schreiben.
Musst es eben an deine Deklaration (new) anpassen.