ich verstehe es nicht warum es nicht mit CreateDynamic3DTextLabel MfG
Dann dürfte es nicht am Code liegen.
Hast du mal versucht, ein Label mit dem Streamer einfach statisch an einem Ort zu erstellen? Klappt das?
ich verstehe es nicht warum es nicht mit CreateDynamic3DTextLabel MfG
Dann dürfte es nicht am Code liegen.
Hast du mal versucht, ein Label mit dem Streamer einfach statisch an einem Ort zu erstellen? Klappt das?
Wenn du das Array nutzen willst, dann so:
object3[0] = CreateObject(...);
object3[1] = CreateObject(...);
//...
Einmal hast du ein großes O und einmal ein kleines.
Ups, das muss natürlich worldid heißen.
aDuty[playerid] = CreateDynamic3DTextLabel("Supporter",TEAM_Supporter,0.0,0.0,1.0,MAX_STREAM_NAME_DISTANCE, .attachedplayer=playerid, .worldid=GetPlayerVirtualWorld(playerid), .priority=1);
Falls er weiterhin an priority einen Fehler sieht:
aDuty[playerid] = CreateDynamic3DTextLabel("Supporter",TEAM_Supporter,0.0,0.0,1.0,MAX_STREAM_NAME_DISTANCE, .attachedplayer=playerid, .worldid=GetPlayerVirtualWorld(playerid));
Du musst dort die Objekt ID angeben.
Sprich:
object = CreateObject(...);
Und dann
DestroyObject(object);
Ich weiß nicht ob du vielleicht eine ältere Version nutzt, bei der die Parameter anders sind.
Versuche es mal so:
aDuty[playerid] = CreateDynamic3DTextLabel("Supporter",TEAM_Supporter,0.0,0.0,1.0,MAX_STREAM_NAME_DISTANCE, .attachedplayer=playerid, .worlid=GetPlayerVirtualWorld(playerid), .priority=1);
Gleich für die anderen case's.
Gut, zwei Möglichkeiten:
1. Wir finden den Fehler im Code, damit du die R39 weiter nutzen kannst.
2. Du nutzt die R41.
Liegt bei dir.
Ah, klar.
Ändere das
30.0,40.0,50.0
zu:
0.0,0.0,1.0
Bei allen case's natürlich wieder.
Das ist beim Streamer dann das Offset zum Spieler, wenn es attached ist.
Das Label müsste also schon da sein, nur irgendwo ziemlich weit weg vom Spieler.
Poste bitte deinen /aduty Befehl nochmal.
Warum nimmst du die dann nicht? Die ist ohnehin neuer und daher zu empfehlen.
Du siehst das Label über dir selbst nicht.
Der Spieler, der das Label haben soll, muss den Befehl /aduty eingeben. Dann sehen die anderen Spieler das Label über ihm.
Du bist ja sehr leidenschaftlich bei der Sache dabei...
An R39 liegt das sicher nicht.
Poste bitte deinen aktuellen Code nochmal und erneut einen Screenshot der Tabelle mit den ATM-Daten.
Entferne die Zeile komplett. Sehe gerade, dass das so gar nicht benötigt wird.
ich hatte query immer auf 2048 gehabt also 3000 draus machen
Nein.
new query[256];
reicht da völlig.
Das Query hat doch keine 2048 Zeichen.
Mit +/-3000 sind die Koordinaten der ATMs gemeint (X, Y, Z, A).
for(new i = 0; i < MAX_ATMS; i++)
zu:
for(new i = 0; i < rows; i++)
Den sollst du wie beschrieben anpassen, ja.
Außerdem davor die Tabelle aus der Datenbank löschen.
Dann neu erzeugen lassen und neue ATMs erstellen. Deren XYZA müssen zwischen +/-3000 liegen.
Die Werte sind viel zu groß, das ist irgendwo im Niemandsland.
Lösche die ganze Tabelle und erstelle neue ATMs.
Außerdem:
format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `ATMs` (`ID` int(11) NOT NuLL AUTO_INCREMENT, `X` float(0), `Y` float(0), `Z` float(0), `A` float(0), PRIMARY KEY (`ID`))");
zu:
format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `ATMs` (`ID` int(11) NOT NuLL AUTO_INCREMENT, `X` float(2), `Y` float(2), `Z` float(2), `A` float(2), PRIMARY KEY (`ID`))");
Die Werte in der Tabelle müssen zwischen +/-3000 sein.
@Jeffry könntest du mir weiterhelfen? :c
Unter den Includes
new Text:Textdraw0;
OnGameModeInit:
SetTimer("ChangeTextdraw0", 5000, true);
/*Hier außerdem das TextDrawCreate, TextDrawColor, etc...*/
OnPlayerSpawn/OnPlayerRequestClass:
TextDrawShowForPlayer(playerid, Textdraw0);
Unten im Gamemode:
forward ChangeTextdraw0();
public ChangeTextdraw0()
{
static item;
switch(item)
{
case 0: TextDrawSetString(Textdraw0, "www.breadfish.de");
case 1: TextDrawSetString(Textdraw0, "127.0.0.1");
case 2: TextDrawSetString(Textdraw0, "Willkommen!");
}
item++;
if(item > 2) item = 0; //Bei mehr case's hier die 2 erhöhen
return 1;
}
new varb[2240];
kannst du zu
new varb[32];
ändern.
Länger wird wohl kein Wert sein.
einen Screenshot der Daten aus der MySQL Tabelle "ATMs"?
^ Das wäre noch gut.
Attach3DTextLabelToPlayer(aDuty[playerid],playerid,0.0,0.0,0.75);
UpdateDynamic3DTextLabelText(aDuty[playerid],SERVERFARBEHEX,aDuty[playerid]);
zu:
UpdateDynamic3DTextLabelText(aDuty[playerid],SERVERFARBEHEX,aDuty[playerid]);
Und
aDuty[playerid] = CreateDynamic3DTextLabel("Supporter",TEAM_Supporter,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,-1,-1,-1,GetPlayerVirtualWorld(playerid),1);
zu:
aDuty[playerid] = CreateDynamic3DTextLabel("Supporter",TEAM_Supporter,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,playerid,INVALID_VEHICLE_ID,0,-1,-1,-1,GetPlayerVirtualWorld(playerid),1);
Das natürlich für alle case's.