Von der Größe wüsste ich kein Objekt das eine einheitliche Textur hat.
Du kannst ja ein Objekt setzen und dessen ID dann zu einem der transparenten Objekte ändern und dann entsprechend den Text setzen, dann siehst du ja was dabei raus kommt.
Gegegebenenfalls muss die Rotation angepasst werden.
[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
-
-
Woran kann es liegen dass von 33 Textdraws 2-3 nicht angezeigt werden?
-
Wenn du die Textdraws mit TextDrawCreate in einer Schleife für zum Beispiel alle Spieler erstellt hast, dann hast du möglicherweise das Limit erreicht.
-
Habe das oben so deklariert:
PlayerText:STATSdraw[MAX_PLAYERS][34],Und so zeige ich die Textdraws:
PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][0]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][1]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][2]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][3]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][6]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][7]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][8]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][9]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][10]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][11]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][12]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][13]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][14]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][15]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][16]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][17]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][18]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][19]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][20]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][21]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][22]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][23]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][24]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][25]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][26]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][27]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][28]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][29]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][30]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][31]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][32]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][4]); PlayerTextDrawShow(showplayerid,STATSdraw[showplayerid][5]); -
Das kannst du auch mit einer Schleife lösen.
Ich weiß jetzt nicht ob das 33'er Textdraw das ist das fehlt, das ist nämlich nicht in der Liste.
Moglicherweise wird es auch nicht (richtig) erstellt. Je nach dem welches fehlt. -
Will einen Dialog mit allen Waffen von ID 2 bis 38 machen.
Und dann im nächsten Dialog, wenn ich irgendwo drauf gedrückt habe, mir genau diese geben.Mein Code:
Codenew wstr[728], gunname[50]; for(new i = 2; i < 39; i++) { format(wstr, sizeof wstr, "%s (Waffen-ID: %d)\n", GetWeaponName(i,gunname,sizeof(gunname)), i); } ShowPlayerDialog(playerid,DIALOG_WAFFENWAHL_SLOT1,DIALOG_STYLE_LIST,"Waffenwahl",wstr,"Auswählen","");Jedoch, ingame ist es so, dass mir nur ein komisches Zeichen mit s angezeigt wird und (Waffen-ID: 37)
-
(Habe ich dich so richtig markiert
? )Ich habe vor lange Zeit diesen Befehl mit deiner Hilfe erstellt. Er funktioniert problemlos wenn ich den in meinem TestServer Gamemode benutze, doch nun habe ich ihn in mein HauptGamemode eingebaut und dort crasht der Spieler nicht. Es passiert einfach nichts.. Woran liegt das?
Code
Alles anzeigenYCMD:crash(playerid,params[], help) { if(Player[playerid][Level] < 5 && !IsPlayerAdmin(playerid)) return SendErrorMessage(playerid,"You need to be a higher level admin to do that."); new pID, tmp[20], idx; tmp = strtok(params, idx); if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"ERROR: /crash [NAME/ID]"); if(IsNumeric(tmp)) pID = strval(tmp); else pID = ReturnPlayerID(tmp); if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,0xFF0000FF,"The Player is not online"); GameTextForPlayer(pID, "•¤¶§!$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0); GameTextForPlayer(pID, "•¤¶§!$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1); GameTextForPlayer(pID, "•¤¶§!$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2); GameTextForPlayer(pID, "•¤¶§!$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3); GameTextForPlayer(pID, "•¤¶§!$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4); GameTextForPlayer(pID, "•¤¶§!$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5); GameTextForPlayer(pID, "•¤¶§!$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6); return 1; } -
@[LnD]JustMe.77
Lasse dir mal die Variable "pID" ausgeben.P.s. Hier sind auch noch viele andere, die dir Helfen können.
-
Alles anzeigen
Will einen Dialog mit allen Waffen von ID 2 bis 38 machen.
Und dann im nächsten Dialog, wenn ich irgendwo drauf gedrückt habe, mir genau diese geben.Mein Code:
Codenew wstr[728], gunname[50]; for(new i = 2; i < 39; i++) { format(wstr, sizeof wstr, "%s (Waffen-ID: %d)\n", GetWeaponName(i,gunname,sizeof(gunname)), i); } ShowPlayerDialog(playerid,DIALOG_WAFFENWAHL_SLOT1,DIALOG_STYLE_LIST,"Waffenwahl",wstr,"Auswählen","");Jedoch, ingame ist es so, dass mir nur ein komisches Zeichen mit s angezeigt wird und (Waffen-ID: 37)
Das Waffe geben funktioniert.
Das Problem ist nur, dass die Waffennamen nicht angezeigt werden. -
Das Problem ist nur, dass die Waffennamen nicht angezeigt werden.
Cnew wstr[1024], gunname[32]; for(new i = 2; i < 39; i++) { GetWeaponName(i,gunname,sizeof(gunname)) format(wstr, sizeof wstr, "%s%s (Waffen-ID: %d)\n",wstr, gunname, i); } ShowPlayerDialog(playerid,DIALOG_WAFFENWAHL_SLOT1,DIALOG_STYLE_LIST,"Waffenwahl",wstr,"Auswählen","");nun Funktioniert es, außerdem hab ich dir noch ein kleinen Fehler verbessert und die Größe von den Strings angepasst.
-
-
Es passiert einfach nichts.. Woran liegt das?
Das mit dem GameTextForPlayer klappt nicht immer. Zeige dem Spieler ein Textdraw mit einer nicht existierenden Font an (zum Beispiel 10). Das klappt immer.
-
Wie kann ich das machen dass auch einer Der sich selbst Tötet (Fallschaden) ins Krankenhaus kommt.?
-
Wie machst du es denn für die, die sich nicht selbst töten?
-
Schau dir mal den Parameter killerid im Callback OnPlayerDeath() an, damit kannst du abfragen ob der Spieler Selbstmord begangen hat, oder jemand anders getötet hat.
[wiki]OnPlayerDeath[/wiki] -
Beitrag von Eljero ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Gelöst. (). -
Ich wollte es so machen, dass wenn ich meinen Befehl eingebe oben halt Waffen und Ort steht. Dann sollen alle Arenen angezeigt werden, die ich erstellt habe.
Wenn keine Arena erstellt wurde, kommt der Dialog ohne inhalt, nur mit Waffen und Ort als "Headline", so wie es soll.
Erstelle ich dann aber eine, dann bekomme ich einen Fehler in der KonsoleMein Code:
C
Alles anzeigenocmd:pdm(playerid) { new str[2000],dstr[2000]; for(new i = 0; i < MAX_PLAYERS; i++) { if(Private[i+100][pCreate] == true) { //Waffennamen new weap1[32], weap2[32], weap3[32], wstr[96], ort[32]; if(Private[i+100][pGun][0] != 0) { GetWeaponName(Private[i+100][pGun][0],weap1,sizeof(weap1)); } else if(Private[i+100][pGun][0] == 0) { format(weap1,sizeof(weap1), "Keine Waffe gewählt"); } if(Private[i+100][pGun][1] != 0) { GetWeaponName(Private[i+100][pGun][1],weap2,sizeof(weap2)); } else if(Private[i+100][pGun][1] == 0) { format(weap2,sizeof(weap2), "Keine Waffe gewählt"); } if(Private[i+100][pGun][2] != 0) { GetWeaponName(Private[i+100][pGun][2],weap3,sizeof(weap3)); } else if(Private[i+100][pGun][2] == 0) { format(weap3,sizeof(weap3), "Keine Waffe gewählt"); } format(wstr, sizeof(wstr),"%s,%s,%s", weap1,weap2,weap3); format(ort, sizeof(ort), "%s", GetMapName(Private[i+100][pMap])); format(dstr, sizeof(dstr),"%s\t%s\n\%s",wstr,ort,dstr); } } format(str,sizeof(str),"Waffen\tOrt\n\%s",dstr); ShowPlayerDialog(playerid, DIALOG_PDM_LIST, DIALOG_STYLE_TABLIST_HEADERS, "Private Arenen",str,"Select", "Cancel"); return 1; }
Fehler:ZitatAlles anzeigen[15:54:03] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[15:54:03] [debug] Stack pointer (STK) is 0x277A88, heap pointer (HEA) is 0x277A70
[15:54:03] [debug] AMX backtrace:
[15:54:03] [debug] #0 000e707c in public ocmd_pdm (0x00000000, 0x00277a68) from ****.amx
[15:54:03] [debug] #1 native CallLocalFunction () [00474110] from samp-server.exe
[15:54:03] [debug] #2 00006718 in public OnPlayerCommandText (0x00000000, 0x00277a54) from ****.amx -
Hast du eine mehrzeilige Meldung mit vielen Zahlen im Compiler stehen?
Wenn ja, hast du eine pawn.cfg Datei im /pawno/ Verzeichnis? -
Hast du eine mehrzeilige Meldung mit vielen Zahlen im Compiler stehen?
Wenn ja, hast du eine pawn.cfg Datei im /pawno/ Verzeichnis?Keine Pawno.cfg, aber eine mehrzeilige Meldung.
ZitatHeader size: 11056 bytes
Code size: 1161704 bytes
Data size: 2593964 bytes
Stack/heap size: 16384 bytes; estimated max. usage=4354 cells (17416 bytes)
Total requirements: 3783108 bytes -
Gut, dann füge unter den Includes:
#pragma dynamic 100000
ein.
Erhöhe die Zahl, falls die Meldung nicht weg geht. -
Gut, dann füge unter den Includes:
#pragma dynamic 100000
ein.
Erhöhe die Zahl, falls die Meldung nicht weg geht.Klappt alles bestens

