Kannst du bitte mal dein OnPlayerSpawn posten? Das komplette.
Sonst ist leider nicht ersichtlich, was alles in deinem OnPlayerSpawn passiert.
Kannst du bitte mal dein OnPlayerSpawn posten? Das komplette.
Sonst ist leider nicht ersichtlich, was alles in deinem OnPlayerSpawn passiert.
Ist ressourcentechnisch gesehen aber nicht zu empfehlen, da wäre die einfache - ich nenne es mal Liste - besser.
Alternativ, falls die Namen sich im laufenden Betrieb ändern können, müsste es über eine Datei/Datenbank realisiert werden, dass die Namen dort gespeichert und von dort geladen werden.
Das passt.
Setze bitte mal einen print vor die Schleife, ob der Code überhaupt aufgerufen wird.
Wie erstellst du die Türen?
new bool:found;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i,6,333.9550,-1817.5682,4.3028))
{
found = true;
break;
}
}
}
static bool:open;
if(found && !open)
{
MoveObject(Autohaustur[0],339.0850, -1817.8234, 4.2062,5);
MoveObject(Autohaustur[1],328.7200, -1817.8234, 4.2062,5);
open = true;
}
else if(!found && open)
{
MoveObject(Autohaustur[0],335.9680, -1817.8234, 4.2062,5);
MoveObject(Autohaustur[1],331.8420, -1817.8234, 4.2062,5);
open = false;
}
Hier ist ein Komma zu viel:
format(query, sizeof(query), "%s `Test24` VARCHAR(50) NOT NULL DEFAULT '0',", query);
zu:
format(query, sizeof(query), "%s `Test24` VARCHAR(50) NOT NULL DEFAULT '0'", query);
Gelten die Zeichen nur für die Spaltennamen, wenn ja dann kann ich es wahrscheinlich auf 500 setzen
Die Zeichen, die das Query enthält, also die Länge des Textes. Wenn du "VARCHAR(500)" angibst, dann sind das keine 500 Zeichen im Query. Die Länge bezieht sich nur auf die Zeichenanzahl, die du tippst.
Ändere "var" zu "VARCHAR".
Außerdem ist 9000 Zeichen für das Query etwas viel, das kannst du kleiner machen.
Nach dem printf ganz unten in der Schleife fehlt das
idx++;
Füge das wieder hinzu. Sonst zählt er ja nirgends den Index hoch.
Das ändert nichts an der Anzahl, das ist nur die maximale Länge einer Zeile die ausgelesen wird.
Genau so war es gemeint. Eine doppelte while Schleife würde ja irgendwie keinen Sinn geben.
Du kannst dir das ganz einfach so vorstellen:
Solange (while) etwas gelesen wird (fread), mache...
Wenn die Datei zu Ende ist, also nichts mehr gelesen wird, stoppt auch die Schleife.
Nein. Einfach ersetzen.
Dein while-Schleifenkopf mit dem was ich dir gepostet habe ersetzen.
Jetzt hast du ja nur das fread entfernt.
Die while-Schleife musst du auch anpassen.
while (fread(file, strFromFile2))
Das fread zwei Zeilen drunter musst du dann entfernen.
Ich verweise dich mal an dieses Tutorial, dort wird dir das ganze Prinzip MySQL in PAWN erklärt:
[jTuT] MySQL R39-3 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)
Eventuell ist auch das hier für dich interessant:
[jTuT] Fraktions-Fahrzeug-System mit MySQL R39-2
Ah sorry, beim crashdetect war es sie erste Stelle. Das nativechecker Plugin muss an die letzte Stelle.
Eigentlich kannst du es auch komplett entfernen, da das crashdetect Plugin das selbe kann.
Dann stimmt eventuell die Reihenfolge bei plugins in der server.cfg nicht. Dort muss das nativechecker Plugin an erster Stelle stehen.
Zwecks 1.)
Scheint bei OnGameModeInit auch eine Schleife zu sein, die <= MAX_VEHICLES nutzt, anstatt < MAX_VEHICLES. Prüfe das mal.
Zwecks 2.)
Wird das Plugin geladen? (Steht weiter oben im Log)
Bei dem Stock hast du:
TeleInfo[i][set] = true;
Ändere das "TeleInfo" zu "ATMInfo".
Außerdem, musst du, um die dbid zu bekommen, beim Erstellen das mysql_tquery mit einem Callback (public) ausstatten und in diesem cache_insert_id() auslesen.
Ah, ok, der Stock ist für den Befehl gedacht.
Dann poste bitte mal die Funktion mit der du die ATMs aus der Datenbank lädst, sowie den Befehl zum Löschen der ATMs.
for (new id = 1; id <= MAX_VEHICLES; id++)
zu:
for (new id = 1; id < MAX_VEHICLES; id++)
Zwecks der Warnung:
Unter den Includes:
#pragma unused M_Connect
Oder lösche die Deklarationdavon.