Also ich sehe das Problem nicht? Bei mir scheint es zu klappen.
Hier passt es jetzt auch, eventuell ist seegras schon dran.
Siehe hier:
https://breadfish.de/index.php…ostID=2341156#post2341156
EDIT:
Bzw auch an diesem Post selbst, der Link oben.
Also ich sehe das Problem nicht? Bei mir scheint es zu klappen.
Hier passt es jetzt auch, eventuell ist seegras schon dran.
Siehe hier:
https://breadfish.de/index.php…ostID=2341156#post2341156
EDIT:
Bzw auch an diesem Post selbst, der Link oben.
Hallo Zusammen,
seit ein paar Tagen werden die breadfish-eigenen Links nicht mehr zum Thread-Name aufgelöst, sie sehen aus wie externe Links, nur ohne das Zeichen am Ende.
Beispiel: Tipps: Scripting-Probleme richtig erklären
Das sah zuvor so aus: Tipps: Scripting-Probleme richtig erklären
(Das habe ich jetzt über den Text und dann Link einfügen gemacht.)
Vielen Dank schon mal für's drüber schauen.
Viele Grüße
Jeffry
Erkläre dein Problem bitte etwas detaillierter und in sauberen Sätzen.
https://breadfish.de/index.php…me-richtig-erkl%C3%A4ren/
Nein, du könntest höchstens prüfen, ob ein Trailer attached wurde, wenn ja, ihn sofort wieder detachen.
Die Grafik im Wiki ist falsch. Richtig ist:
MaxY
v
MinX > *-------------
| |
| gangzone |
| center |
| |
-------------* < MaxX
^
MinY
Oder einfacher:
MaxY
v
-------------* < MaxX
| |
| gangzone |
| center |
| |
MinX > *-------------
^
MinY
miny und maxy sind falsch herum. -2386 ist kleiner als -2315.
StrickenKid's MYSQL Plugin. v 2.1 oder 2.1.1
Ich habe das hier vor einiger Zeit mal anhängt, dort kannst du es herunterladen: https://breadfish.de/index.php…ostID=2176685#post2176685
Allerdings solltest du in Erwägung ziehen, wie Kaliber schon sagte, ein neueres Plugin zu nutzen, bestenfalls das Verlinkte von maddinat0 (R41-4).
Es geht um die Textdraws in der forschleife. Diese erstellst du für jeden Spieler, also MAX_PLAYERS mal, da bist du extrem schnell am Limit.
Nutze dafür PlayerTextDraws und erstelle diese bei OnPlayerConnect.
In dem Fall nicht, das ist richtig.
Poste bitte mal alle TextDrawCreate Zeilen aus deinem Code.
Die Textdraws wurden nicht erstellt, daher siehst du sie auch nicht.
Ich vermute, dass du das Limit an Textdraws überschritten hast.
Wenn du im Code Textdraws hast, die du pro Spieler erstellst, nutze dort PlayerTextDraws anstatt normale Textdraws, dann sollte das nicht passieren.
Lass dir mal den Wert der Textdraws ausgeben, nach der Erstellung, ob diese überhaupt erstellt werden:
printf("Textdraws: %d & %d", _:GfSystem[Zone][GFTextDraw1], _:GfSystem[Zone][GFTextDraw2]);
Super! ![]()
Denoch finde ich die Include auch nicht schlecht wenn man in sein GM platz sparen möchte
Wie gesagt, in dem Fall dann eine Sammel Include nutzen, in die du alles auslagerst, was du aus Platzgründen nicht im Gamemode haben willst. Das ist besser als jede Funktion in eine eigene Include zu packen, spart den Hook Wahnsinn und ist deutlich sauberer.
Setze die beiden Zeilen, die Fuel und KM Stand auslesen nach die Zeile mit CreateVehicleEx.
if(dialogid == DIALOG_VERWAHRSTELLE_FV)
{
if(response)
{
new count = 0;
for(new fV;fV<MAX_FVEHS;fV++)
{
if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion])
{
if(fVehicle[fV][vehAbgeschleppt] == 1)
{
if(count == listitem)
{
//Fahrzeug fV ausgewählt zum Freikaufen
return 1;
}
count++;
}
}
}
}
return 1;
}
ocmd:freefrakcar(playerid, params[])
{
if(Spieler[playerid][pRank] < RANG_LEADER)return SendClientMessage(playerid, COLOR_WHITE, ERROR_FRAKTION);
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2262.1243, 2042.5981, 10.8203))
{
new count = 0;
new string[1550] = "Fahrzeug\tAbschlepper\tKaution\n";
for(new fV;fV<MAX_FVEHS;fV++)
{
if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion])
{
if(fVehicle[fV][vehAbgeschleppt] == 1)
{
format(string, sizeof(string), "%s%s\t%s\t%d$\n", string, VehicleName[fVehicle[fV][modelid]-400], fVehicle[fV][vehAbgeschlepptVon], fVehicle[fV][vehKaution]);
count++;
}
}
}
if(count) ShowPlayerDialog(playerid, DIALOG_VERWAHRSTELLE_FV, DIALOG_STYLE_TABLIST_HEADERS, "Verwahrstelle", string, "Auswählen","Schließen");
else SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Es befindet sich kein Fraktions Fahrzeug bei der Verwahrstelle.");
return 1;
}
return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du befindest dich nicht bei der Verwahrstelle.");
}
format(string, sizeof(string), "FPS: %d", GetPlayerFPS(playerid));
Naja, dafür eine Include zu schreiben, erachte ich als doch wenig sinnvoll, vor allem weil es eigentlich einen passenden Thread für etwas in dieser Größe gibt: https://breadfish.de/index.php…%BCtzliche-codeschnipsel/
Wenn jetzt jeder anfangen würde, eine einzige Funktion als Include zu basteln, dann herrscht das reine Chaos. Zudem eine einzelne Funktion ohne große Logik dahinter als Standalone-Include sinnlos ist.
Davon abgesehen ist das ja bei weitem nichts neues, nur weil es jetzt in einer Include steht, macht es das nicht besser.
Für solche Schnipsel macht man sich eine Sammel-Include und gut ist. Das ganze Gehooke (nur damit es überaus kompliziert aussieht mit den ganzen Sonderzeichen) kann man sich auch sparen.
Außerdem noch zwei Punkte zum Code:
1. Das Array drunk sollte nicht global sondern nur local static deklariert werden, es wird ja nur dort genutzt.
2. Im Loop sollte noch abgefragt werden, ob der Spieler auch online ist, sonst führst du den Code auch für Spieler durch, die nicht online sind, das ist kein gutes Doing.
Ich empfehle Folgendes:
OnGameModeInit:
SetTimer("FPS", 251, true);
Und das hier in eine Sammel-Include (oder die Deklaration unter die normalen Include und den public ganz unten in den Gamemode).
#define GetPlayerFPS(%0) public_fps{%0}
new public_fps[MAX_PLAYERS char];
forward FPS();
public FPS()
{
static olddrunk[MAX_PLAYERS], d, fps;
for(new i = GetPlayerPoolSize(); i > -1; i--)
{
if(!IsPlayerConnected(i)) continue;
d = GetPlayerDrunkLevel(i);
if(d < 100) SetPlayerDrunkLevel(i,2000);
fps = olddrunk[i] - d;
if(fps > 0) public_fps{i} = fps;
olddrunk[i] = d;
}
return 1;
}
Mehr ist es nicht. Da braucht es keine Include.
PS: OnPlayerUpdate wird nicht über 1000x pro Sekunde aufgerufen, im Gegenteil, sehr weit darunter (in der Regel zwischen 30 und 50 mal).
er aht das 2x beim erstellen somit hat er tuning[17] bei factioncardbidoder so
Ahh, ich werd' irre, darauf habe ich gar nicht geachtet! Gut gesehen, das ist es. Danke ![]()
PS: Um einen solchen Fall zukünftig zu vermeiden, empfehle ich die Nutzung von mysql_format anstatt nur format, das würde in dem Fall eine Warnung ausgeben.
Das kann so eigentlich nicht sein.
Hast du irgendwelche Meldungen im Compiler (Warnungen, oder heap/stack size,...)?
Versuch mal, einfach nur aus Testzwecken folgendes:
Das wäre ein Workaround, der das eigentliche Problem aber nicht behebt. Das wird funktionieren, wollte ich so aber vermeiden vorzuschlagen, da der Wert ja irgendwo zuvor aus der Variable gelöscht wird. Die Stelle gilt es zu finden.