Siehst du denn die SendClientMessage wenn du drauf drückst? Wenn nicht, dann passt die TextDrawTextSize nicht.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
Die Nachicht erscheint nicht, also muss ich doch rechnen. Woher hast du denn die 640 in deinem Beispiel her? Bin etwas verwirrt.
-
Der Bildschirm ist für Textdraws mit 640*480 Pixeln zu rechnen
-
War schon immer eine Mathe Niete, vielleicht kann mir jemand sagen wo ich etwas falsch gemacht habe:
So habe ich das X Symbol erstellt: TextDrawTextSize(Textdraw1, 14.000000, 13.000000);
Wir haben also X = 14 und Y = 13 richtig?
Nun rechnen wir 14+64 = 78. 78 ist also unser X Wert.
Jetzt kommen wir zu der Y-Achse.
Mein Textdraw passt ~45 mal von oben bis unten in mein Bildschirm. Also rechnen wir 480 dividiert durch 45 und wir erhalten das Ergebnis 10,6 Periode, welches ich auf 11 aufrunde.
Scheint mir nicht zu helfen, wo habe ich ein Fehler gemacht?
-
Nein, als Beginn musst du die X Koordinate von TextDrawCreate nehmen, und dann auch plus den Teil des Bildschirms rechnen, wie du es bei Y geteilt hast.
-
Die Y-Achse habe ich richtig, oder? Bei der X-Achse habe ich jetzt die Koordinaten von TextdrawCreate entnommen: TextDrawCreate(412.000000, 142.000000, "LD_CHAT:thumbdn"); //X-Symbol
Also 412+64= 476
Das habe ich so eingetragen, jetzt hat sich der Textdraw komplett verändert (sehr hässlich). Das anklicken funktioniert jetzt zwar aber wie bereits erwähnt ist mein Textdraw komplett anders als gewollt..
-
Du musst die Coordinaten beim Erstellen so lassen wie sie waren. Du sollst damit lediglich die Werte für das TextDrawTextSize ausrechnen

-
Das habe ich auch so gemacht, die Koordinaten von TextdrawCreate haben sich nicht verändert bzw. ich habe sie nur zum ausrechnen benutzt. Das einzige was ich geändert habe ist TextdrawTextSize welches aktuell so ausschaut:
TextDrawTextSize(Textdraw1, 476.000000, 11.000000);
-
Hast du das Textdraw mit TextDrawSetSelectable(Textdraw, true); eingestellt, dass es Selectable ist?
-
Ja, auf 1 gesetzt was eigentlich ziemlich das gleiche ist. TextDrawSetSelectable(Textdraw1, 1);
Habe ja oben bereits erwähnt das dass anklicken nun funktioniert, nur das ändern der Werte mein Textdraw (Symbol) komplett versaut haben.
-
Dann versuche mal, die Werte bei TextDrawTextSize etwas zu erhöhen, ob sich das Textdraw dann wieder ändert.
Ansonsten mache alles nochmal rückgängig, und ändere dann nur nochmal die TextDrawTextSize. -
Kleiner Denkfehler. Wieso wird mir der Text für ALevel 3 ausgegeben obwohl ich 4 oder höher hab?
C
Alles anzeigencase 4: { SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] All Admin Commands are listed below."); if(SpielerInfo[playerid][pALevel] == 1) { SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"]/kick,/prison,/amessage,/gotopos,/goto,/bringto,/spawn"); return 1; } else if(SpielerInfo[playerid][pALevel] == 2) { SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"]/kick,/prison,/amessage,/gotopos,/goto,/bringto,/spawn,/toggleooc,/kill,/sethp,/setarmor,/clfp,/cc,/ban,/tban,/freeze"); return 1; } else if(SpielerInfo[playerid][pALevel] == 3) { SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"]/kick,/prison,/amessage,/gotopos,/goto,/bringto,/spawn,/toggleooc,/kill,/sethp,/setarmor,/clfp,/cc,/ban,/tban,/freeze"); SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"]/takemoney,/givemoney,/veh,/weapon,/restart,/repair,/slap,/explode,/setskin,/imessage"); return 1; } else if(SpielerInfo[playerid][pALevel] >= 4) { SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"]/kick,/prison,/amessage,/gotopos,/goto,/bringto,/spawn,/toggleooc,/kill,/sethp,/setarmor,/clfp,/cc,/ban,/tban,/freeze"); SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"]/takemoney,/givemoney,/veh,/weapon,/restart,/repair,/slap,/explode,/setskin,/imessage"); SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"]/actor,/setactorpos,/getactorpos,/makeadmin,/fcreate,/fdelete,/pcreate,/pdelete,/setfrak,/setint,/hcreate,/hdelete,/validints"); return 1; } -
Habe die Werte ein bisschen hochgesetzt das hat mir aber nicht geholfen. Habe sie jetzt wieder wie am Anfang gesetzt. FilterScript reloaded aber das Symbol ist immer noch verbuggt. Woran liegt's das sich das nicht Ingame geändert hat?
Edit: Server restart gemacht, Textdraw ist normal und das wegklicken funktioniert.
Nur ist da jetzt komischerweise ein blauer Kasten der von mir nicht erstellt wurde, bekannter Bug?
Edit2: Der blaue Kasten kam weil ich den selben Befehl 2 mal hatte (habe ich 2 mal gehabt damit ich einmal die Standart Werte habe).Funktioniet jetzt alles Super, denke ich zumindest. Danke an allen :)!
-
-
Beitrag von Simon2202 ()
Dieser Beitrag wurde vom Autor gelöscht (). -
Kann man wohl machen, habe jetzt die andere Variante gewählt. Trotz dessen steht im Block 4 noch eine Reihe mehr als in Block 3 welche nicht ausgegeben wird.
-
Habe eine Frage, woran kann es liegen das das Script sich aufhängt? für 3-5 Sekunden?
-
Lags kommen normalerweise zustande, dass Funktionen länger brauchen um zu executen. Das kann halt auch passieren, wenn du viele Sachen aufrufst, da der Server immer eins nach dem anderen abarbeitet
-
Wie hide ich Textdraws wenn man die Taste Escape drückt?
Frage Nummer 2:
Wie benutze ich mehrere Koordinaten bei IsPlayerInRangeOf?
So scheints nicht zu funktionieren:
-
So weit ich weiß kann man von SAMP aus Escape nicht abrufen.
Edit:
IsPlayerInRangeOfPoint(playerid, 1.0,1415.0088,-1463.3322,106.6032);
Sollte so schon richtig gewesen sein. Vorne tränt man Range ein und dann x,y,z. Evtl hast du die Koordinaten falsch.
