Die Tabelle users in der Datenbank samp_db existiert nicht.
Hast du die Datenbank, die im Beispiel angehängt ist, importiert? Falls nein, mache das, oder lege die Datenbank mit Tabelle manuell an.
Beiträge von Jeffry
-
-
Aber wenn ich dann auf meinen Server Joine kommt nix mit Regestieren oder sonst was.
Der MySQL Debug Log gibt diese Warnings und Errors raus.Das ist ein mir unerklärlicher Fehler, der zudem nichts aussagt. Komisch.
Hast du es mal auf einem leeren Server ausprobiert, sprich nur dein Gamemode und das MySQL Plugin, ohne Filterscripts und sonstige Plugins?
Klappt es dann? -
Nutze zum Beispiel diese Funktion:
forward SaveToLog(filename[],text[]);
public SaveToLog(filename[],text[])
{
new File:wFile, filepath[64], string[256], year, month, day, hour, minute, second;
getdate(year,month,day); gettime(hour,minute,second);
format(filepath,sizeof(filepath),"logs/%s.txt",filename);
wFile = fopen(filepath,io_append);
format(string,sizeof(string),"[%02d.%02d.%02d %02d:%02d:%02d] %s\r\n",day,month,year,hour,minute,second,text);
fwrite(wFile,string);
fclose(wFile);
return 1;
}Dann kannst du dies so nutzen:
new string[128];
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
format(string, sizeof(string), "%s hat sich ein Auto gekauft.", string);
SaveToLog("AutokaufLog", string);Beachte, dass du im Ordner "scriptfiles" den Ordner "logs" erstellst.
-
Wieso werden die Wanteds nicht gelöscht?
Genau deshalb sagte ich vorheriges.

Den "Set" setzt das Wanted Level nicht, sondern addiert es.
In dem Fall addierst du also 0.SetPlayerWantedLevel(playerid,0);
zu:
SetPlayerWantedLevel(playerid,-GetPlayerWantedLevel(playerid)); -
Du speicherst das Kennwort im Register Dialog in einer Spielervariable ab und liest es dann in dem anderen Dialog wieder aus, in dem dann das INSERT Query steht.
==============================
EDIT:
Das Tutorial wurde von der MySQL Plugin Version R40 auf die Version R41 aktualisiert.
Es sind keine Änderungen am Standard-Code des Tutorials notwendig, wenn von R40 auf R41 aktualisiert wird. -
Muss ich das machen?
Nein, aber es wäre zu empfehlen - rein aus Gründen der Leserlichkeit.
Nennen kannst du die Funktion natürlich wie du willst. Aber es empfiehlt sich immer, dem Standard zu folgen. -
Dann mache die vorherige Änderung wieder rückgängig, und ändere
if(pInfo[killerid][fraktion]!=2 && pInfo[killerid][fraktion]!=3) SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid)+2);
zu:
if(pInfo[killerid][fraktion]!=2 && pInfo[killerid][fraktion]!=3) SetPlayerWantedLevel(killerid, 2);Wobei du dann eher das SetPlayerWantedLevel umbenennen solltest, zu GivePlayerWantedLevel. "Set" steht eigentlich immer für das direkte setzen.
-
Wie sieht der Befehl dazu aus?
-
wanteds[playerid]+=wtd;
zu:
wanteds[playerid]=wtd; -
Kannst du bitte den aktuellen Code mit MD5 posten? Der ohne MD5 funktioniert ja.
-
Interessant, in einem leeren Filterscript geht es bei mir.
Ich hatte das Problem allerdings in einem größeren Code auch schonmal. Scheint dann wohl nicht immer vorzukommen.
-
Wie groß ist dein Passwort-Feld in der Datenbank?
-
Ändere es zu:new rand1;
rand1 = random(20);Dass der Compiler abstürzt, ist ein Fehler im Compiler.
-
In deinem geposteten Code kann ich von MD5 nichts finden. Ist das der richtige Code?
-
Ich kenne mich mit Linux nicht aus, aber vielleicht hilft dir das:
http://askubuntu.com/questions…und-how-to-fix-this-errorLeite das eventuell an deinen Hoster weiter, eventuell ist das Problem ja auch bekannt.
-
Oh, ich meinte ja die Tabelle Events gibt es gar nicht in meinen Script..
Ich verstehe nicht ganz was du damit meinst, sorry.
Ist das Problem damit behoben? -
Wird das Passwort korrekt in der Tabelle gespeichert?
-
Sagt dir der MySQL Log was?
-
Ja.
Dann wird der Code nur aufgeführt, wenn der Spieler von einem anderen Spieler getötet wurde und damit killerid einen erlaubten Wert hat. -
Nein, eigentlich nicht.
Öffne den Code mal über die pawno.exe im Server Ordner und dann über Öffnen in pawno.