Mein Compiler ist leer. Also 0 Warnings 0 Errors.
Und ich hab auch keine Bytes etc beim deklarieren überschritten
Beiträge von FLASH.[8743]
-
-
Da kommt folgendes:
Vor Fahrzeuganzeige[playerid][2] = 0
Nach Fahrzeuganzeige[playerid][2] = 2 -
Also folgendes:
Fahrzeuganzeige[playerid][1] wird geprintet funtkioniert auch alles.
Output: Fahrzeuganzeige[playerid][1] = 1Fahrzeuganzeige[playerid][2] da wird garnichts geprintet bzw. es kommt nichtmal ne Meldung in der .exe
Warum geht die nicht an??
-
Es verschwindet jetzt irgendwie wieder ein Textdraw, allerdings ein anderes als zuvor.
Und dieses TextDraw wird nicht geupdatet:
format(string,sizeof(string),"%i%%~n~",VehicleInfo[vehicleid][Tank]/maxliter);
PlayerTextDrawSetString(playerid,Fahrzeuganzeige[playerid][2],string);Fahrzeuganzeige[playerid][2] = CreatePlayerTextDraw(playerid,500.000000, 416.000000, "Ladevorgang...~n~");
PlayerTextDrawAlignment(playerid,Fahrzeuganzeige[playerid][2], 2);
PlayerTextDrawBackgroundColor(playerid,Fahrzeuganzeige[playerid][2], 255);
... -
Ich hab jetzt alles in PlayerTextDraws umgeschreiben...
Jetzt wird garnichts mehr angezeigt..
Meine Frage: Das Limit für PlayerTextDraws liegt bei 256.
Heisst das dann, dass die 256 pro Spieler gilt oder Pro TextDraw??Also z.B
xxx[id1] = CreatePlayerTextDraw(playerid1,....); // 1 TextDraw
xxx[id] = CreatePlayerTextDraw(playerid2,....); // 2 TextDrawsoder
xxx[id1] = CreatePlayerTextDraw(playerid1,....); // 1 TextDraw
xxx[id] = CreatePlayerTextDraw(playerid2,....); // 1 TextDrawsD.h. welches der beiden Optionen trifft zu??
-
Das mit dem neuen TextDraw klappt nicht!
Es ist verbuggt, wie vorher auch.Ich denke mal es liegt an
IsPlayerDriverTextDrawCheckIrgendetwas ist falsch oder er setzt die Variablen nicht.
WARUM GIBT ES DENN DIESE LIMITS?
Mit PVars gibts Limits, mit TextDraws, was bringt mir das?? -
Hier
public UpdateVehicleAnzeigeTimer(playerid)
{
new engine, lights, alarm, doors, bonnet, boot, objective, string[256], Float: health, maxliter, vehicleid, enginestate[32], lightstate[32], carlockstate[32];
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleHealth(vehicleid,health);
if(strcmp(GetVehicleEngineState(vehicleid),"Eingeschaltet",true))enginestate = "~r~Ausgeschaltet";
if(strcmp(GetVehicleEngineState(vehicleid),"Ausgeschaltet",true))enginestate = "~g~Eingeschaltet";
if(strcmp(GetVehicleLightState(vehicleid),"Eingeschaltet",true))lightstate = "~r~Ausgeschaltet";
if(strcmp(GetVehicleLightState(vehicleid),"Ausgeschaltet",true))lightstate = "~g~Eingeschaltet";
if(strcmp(GetVehicleCarlockState(vehicleid),"Aufgeschlossen",true))carlockstate = "~r~Abgeschlossen";
if(strcmp(GetVehicleCarlockState(vehicleid),"Abgeschlossen",true))carlockstate = "~g~Aufgeschlossen";
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
format(string,sizeof(string),"Fahrzeugname: ~w~%s~,VehicleNames[GetVehicleModel(vehicleid) - 400]);
TextDrawSetString(Fahrzeuganzeige[playerid][0],string);
format(string,sizeof(string),"......");
TextDrawSetString(Fahrzeuganzeige[playerid][1],string);
format(string,sizeof(string),"......");
TextDrawSetString(Fahrzeuganzeige[playerid][2],string);
return 1;
} -
Eigentlich wird kein Code aufgerufen.
Allerdings hab ich gemerkt, dass nach ungefähr einer Minute der bug nicht mehr auftritt?
Also dann ist alles in Ordnung.Es wird halt nur "updatevehicleanzeigetimer[i] = SetTimerEx("UpdateVehicleAnzeigeTimer",250,true,"i",i);
"aufgerufen allerdings wird da nur der String geupdatet und der Betroffene String ist nicht dabei, der verbugt ist.
-
for(new i=0; i<MAX_PLAYERS+1; i++)
{
Fahrzeuganzeige[i][0] = TextDrawCreate(362.000000, 285.000000, "....");
TextDrawBackgroundColor(Fahrzeuganzeige[i][0], -1);
TextDrawFont(Fahrzeuganzeige[i][0], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][0], 0.500000, 1.000000);
......Fahrzeuganzeige[i][1] = TextDrawCreate(362.000000, 285.000000, "....");
TextDrawBackgroundColor(Fahrzeuganzeige[i][1], -1);
TextDrawFont(Fahrzeuganzeige[i][1], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][1], 0.500000, 1.000000);
......
USW -
Gibts irgendwelche News bei v-multiplayer.de ?
Gibts nun paar Screens ?? -
Es ist immer noch verbuggt, allerdings ist mir was aufgefallen:
Wenn ich ein Auto spawne und einsteige geht alles.
Sobald ich den Motor starte, und 3 sek ca fahre verschwindet ein text.Es ist aber immer der letzte Text den ich bei OnGameMode Init erstellt habe, der text, welcher in der letzten Zeile erstellt wurde, ist derjenige der verschwindet.
Also im Prinzip:
TextDrawCreate..
...
...
//Der Letze Text
TextDrawCreate der is buggy -
Ja hier lasse ich sie hiden, allerdings nur die fürs Vehicle.
Und trotzdem wird immer 1 TextDraw mitgehidetpublic IsPlayerDriverTextDrawCheck()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPVarInt(i,"ImFahrzeug")==0)
{
if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
SetPVarInt(i,"ImFahrzeug",1);
for(new r=0; r<MAX_FAHRZEUGANZEIGETEXT; r++)
{
updatevehicleanzeigetimer[i] = SetTimerEx("UpdateVehicleAnzeigeTimer",250,true,"i",i);
TextDrawShowForPlayer(i,Fahrzeuganzeige[i][r]);
for(new s=0; s<MAX_VEHICLEANZEIGETEXT; s++)
{
TextDrawShowForPlayer(i,Vehicleanzeigetext[s]);
}
}
}
}
if(GetPVarInt(i,"ImFahrzeug")==1)
{
if(!IsPlayerInAnyVehicle(i) || GetPlayerState(i) != PLAYER_STATE_DRIVER)
{
SetPVarInt(i,"ImFahrzeug",0);
for(new r=0; r<MAX_FAHRZEUGANZEIGETEXT; r++)
{
TextDrawHideForPlayer(i,Fahrzeuganzeige[i][r]);
for(new s=0; s<MAX_VEHICLEANZEIGETEXT; s++)
{
TextDrawHideForPlayer(i,Vehicleanzeigetext[s]);
}
}
KillTimer(updatevehicleanzeigetimer[i]);
}
}
}
return 1;
} -
Hey, Leute ich habe ein Problem.
Ich habe insgesamt ca 1513 TextDraws also noch Platz bis zum Limit.
Mein Problem: Es verschwinden einfach immer TextDraws ohne Grund, erklären kann ich mir das allerdings nicht.
Hat einer ne Lösung für dieses Problem?Danke,
-
Ok, wo sehe ich das ein, im Task Manager oder wo ??
-
Wieviel Arbeitsspeicher braucht denn ein SAMP Sever standardmäßig?
Also würden 4GB Reichen, wenn man noch nen Teamspeak server laufen lässt oder 8GB für beides? -
Naja vielleicht kommt ja in der 0.4 Version dann 4096 TextDraws?
Wäre nicht schlecht -
Zitat
Created Serverwise (Per-Player)256
Was macht denn das für einen Sinn wenn MaxPlayers 500 ist
ZitatCreated Serverwise (Global)2048
Ok, man könnte für jeden Spieler dann die 3 TextDraws erstellen (3 * 500) = 1500
Dann hätte ich noch ca. 548 TextDrawas zur verfügung.
Sehe ich das richtig?
Und ich kann ja dann garnicht PlayerTextDraws ändern, weil die ja nur auf 256 beschränkt sind. (ich brauch mindestens 3 TextDraws für jeden Spieler)
Also da ist schon der Zeileumbruch dabei bräuchte am Ende ca 3 für jeden -
Folgender Fehler: warning 213: tag mismatch
for(new r=0; r<MAX_FAHRZEUGANZEIGETEXT; r++)
{
updatevehicleanzeigetimer[i] = SetTimerEx("UpdateVehicleAnzeigeTimer",500,true,"i",i);
PlayerTextDrawShow(i,Fahrzeuganzeige[r]);
} -
Ok, was kann man da machen??
-
Hallo Leute,
Ich hab ein Problem, undzwar spinnen die Textdraws rum fürs Auto, wenn man das Autokennzeichen ändert, verschwinden einfach 3 Textdraws, wenn man das Auto verlääst, verschwinden ganz andere Textdraws, wie z.B. der TextDraw fürs Anzeigen der ServerVersion.
Und ein Wert wird nicht gesetzt bzw. bei Floats kommt garnichts, nur ein leerer Text.
Hier die verbuggten Codes//GameModeInit
SetTimer("IsPlayerDriverTextDrawCheck",200,true);
new Versionstring[128];
format(Versionstring,sizeof(Versionstring),"~y~Version: ~w~%s",ServerVersion);
VersionText = TextDrawCreate(635.0,5.0,Versionstring);
TextDrawColor(VersionText,WEIß);
TextDrawUseBox(VersionText,0);
TextDrawAlignment(VersionText,3);
TextDrawFont(VersionText,1);
TextDrawLetterSize(VersionText,0.5,1.4);
TextDrawSetShadow(VersionText,3);
TextDrawSetProportional(VersionText,1);
TextDrawSetOutline(VersionText,1);
TextDrawBackgroundColor(VersionText,0x000000FF);for(new i=0; i<MAX_VEHICLES; i++)
{
Fahrzeuganzeige[i][0] = TextDrawCreate(500.000000, 241.500000, "Fahrzeuginfos:");
TextDrawAlignment(Fahrzeuganzeige[i][0], 2);
TextDrawBackgroundColor(Fahrzeuganzeige[i][0], -1);
TextDrawFont(Fahrzeuganzeige[i][0], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][0], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][0], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][0], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][0], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][0], 1);
TextDrawUseBox(Fahrzeuganzeige[i][0], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][0], 1145325143);
TextDrawTextSize(Fahrzeuganzeige[i][0], 0.000000, 276.000000);Fahrzeuganzeige[i][1] = TextDrawCreate(362.000000, 254.000000, "Fahrzeugname: ~w~NAME");
TextDrawBackgroundColor(Fahrzeuganzeige[i][1], -1);
TextDrawFont(Fahrzeuganzeige[i][1], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][1], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][1], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][1], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][1], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][1], 0);
TextDrawUseBox(Fahrzeuganzeige[i][1], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][1], -225);
TextDrawTextSize(Fahrzeuganzeige[i][1], 714.000000, 0.000000);Fahrzeuganzeige[i][4] = TextDrawCreate(362.000000, 292.250000, "Motor: ~g~ Eingeschaltet");
TextDrawBackgroundColor(Fahrzeuganzeige[i][4], -1);
TextDrawFont(Fahrzeuganzeige[i][4], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][4], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][4], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][4], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][4], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][4], 0);
TextDrawUseBox(Fahrzeuganzeige[i][4], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][4], -225);
TextDrawTextSize(Fahrzeuganzeige[i][4], 714.000000, 0.000000);Fahrzeuganzeige[i][5] = TextDrawCreate(362.000000, 279.500000, "Licht: ~g~ Eingeschaltet ?");
TextDrawBackgroundColor(Fahrzeuganzeige[i][5], -1);
TextDrawFont(Fahrzeuganzeige[i][5], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][5], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][5], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][5], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][5], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][5], 0);
TextDrawUseBox(Fahrzeuganzeige[i][5], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][5], -225);
TextDrawTextSize(Fahrzeuganzeige[i][5], 714.000000, 0.000000);Fahrzeuganzeige[i][14] = TextDrawCreate(362.000000, 381.500000, "Zustand:~w~");
TextDrawBackgroundColor(Fahrzeuganzeige[i][14], -1);
TextDrawFont(Fahrzeuganzeige[i][14], 1);
TextDrawLetterSize(Fahrzeuganzeige[i][14], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][14], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][14], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][14], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][14], 0);
TextDrawUseBox(Fahrzeuganzeige[i][14], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][14], -225);
TextDrawTextSize(Fahrzeuganzeige[i][14], 714.000000, 0.000000);Fahrzeuganzeige[i][9] = TextDrawCreate(362.000000, 304.750000, "Status: ~r~ Abgeschlossen");
TextDrawBackgroundColor(Fahrzeuganzeige[i][9], -1);
TextDrawFont(Fahrzeuganzeige[i][9], 0);
TextDrawLetterSize(Fahrzeuganzeige[i][9], 0.500000, 1.000000);
TextDrawColor(Fahrzeuganzeige[i][9], 255);
TextDrawSetOutline(Fahrzeuganzeige[i][9], 0);
TextDrawSetProportional(Fahrzeuganzeige[i][9], 1);
TextDrawSetShadow(Fahrzeuganzeige[i][9], 0);
TextDrawUseBox(Fahrzeuganzeige[i][9], 1);
TextDrawBoxColor(Fahrzeuganzeige[i][9], -225);
TextDrawTextSize(Fahrzeuganzeige[i][9], 714.000000, 0.000000);
}// public
public UpdateVehicleAnzeigeTimer(vehicleid)
{
new engine, lights, alarm, doors, bonnet, boot, objective, string[256], Float: health;
GetVehicleHealth(vehicleid,health);
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
format(string,sizeof(string),"Fahrzeugname: ~w~%s",VehicleNames[GetVehicleModel(vehicleid) - 400]);
TextDrawSetString(Fahrzeuganzeige[vehicleid][1],string);
format(string,sizeof(string),"Motor: ~g~ %s",GetVehicleEngineState(vehicleid));
TextDrawSetString(Fahrzeuganzeige[vehicleid][4],string);
format(string,sizeof(string),"Licht: ~g~ %s",GetVehicleLightState(vehicleid));
TextDrawSetString(Fahrzeuganzeige[vehicleid][5],string);
format(string,sizeof(string),"Status: ~r~ %s",GetVehicleCarlockState(vehicleid));
TextDrawSetString(Fahrzeuganzeige[vehicleid][9],string);
format(string,sizeof(string),"Zustand:~w~%f (%i%%)",health,floatround(health,floatround_round));
TextDrawSetString(Fahrzeuganzeige[vehicleid][14],string);
return 1;
}public IsPlayerDriverTextDrawCheck()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPVarInt(i,"ImFahrzeug")==0)
{
if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
SetPVarInt(i,"ImFahrzeug",1);
SetPVarInt(i,"IsPlayerDriverTextDrawCheckVehicleID",GetPlayerVehicleID(i));
for(new r=0; r<MAX_FAHRZEUGANZEIGETEXT; r++)
{
updatevehicleanzeigetimer[GetPlayerVehicleID(i)] = SetTimerEx("UpdateVehicleAnzeigeTimer",500,true,"i",GetPlayerVehicleID(i));
TextDrawShowForPlayer(i,Fahrzeuganzeige[GetPlayerVehicleID(i)][r]);
}
}
}
if(GetPVarInt(i,"ImFahrzeug")==1)
{
if(!IsPlayerInAnyVehicle(i) || GetPlayerState(i) != PLAYER_STATE_DRIVER)
{
new vid;
SetPVarInt(i,"ImFahrzeug",0);
for(new r=0; r<MAX_FAHRZEUGANZEIGETEXT; r++)
{
vid = GetPVarInt(i,"IsPlayerDriverTextDrawCheckVehicleID");
KillTimer(updatevehicleanzeigetimer[vid]);
TextDrawHideForPlayer(i,Fahrzeuganzeige[vid][r]);
}
SetPVarInt(i,"IsPlayerDriverTextDrawCheckVehicleID",0);
}
}
}
return 1;
}stock GetVehicleEngineState(vehicleid)
{
new Status[128], engine, light, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid,engine,light,alarm,doors,bonnet,boot,objective);
if(engine == 0)
{
Status = "Ausgeschaltet";
}
else if(engine == 1)
{
Status = "Eingeschaltet";
}
return Status;
}stock GetVehicleLightState(vehicleid)
{
new Status[128], engine, light, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid,engine,light,alarm,doors,bonnet,boot,objective);
if(light == 0)
{
Status = "Ausgeschaltet";
}
else if(light == 1)
{
Status = "Eingeschaltet";
}
return Status;
}stock GetVehicleCarlockState(vehicleid)
{
new Status[128], engine, light, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid,engine,light,alarm,doors,bonnet,boot,objective);
if(doors == 0)
{
Status = "Aufgeschlossen";
}
else if(doors == 1)
{
Status = "Abgeschlossen";
}
return Status;
}Wo ist der Bug??