Damit keine Bugs auftreten habe ich das gesamte Script leergemacht das heisst keine Befehle nicht mal ein einziges Map Object ist dadrin nur dein MySQL System und es will nicht gehen ._.
Mysql - Ressourcenschonendes Login/Register System + Automatic Table|| R5 BlueG
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Ach du liebes bisschen ._.
C:\Users\\Desktop\(442) : error 017: undefined symbol "PlayerInfo"
C:\Users\\Desktop\(442) : warning 215: expression has no effect
C:\Users\\Desktop\(442) : error 001: expected token: ";", but found "]"
C:\Users\\Desktop\(442) : error 029: invalid expression, assumed zero
C:\Users\\Desktop\(442) : fatal error 107: too many error messages on one lineWas ist da los?
-
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(name,sizeof(name));
return name;
}Na, da würd ich eher empfehlen die Namensvariablen lokal zu erstellen.
-
sscanf(str, "e<p<|>{i}s[24]s[128]iif>",PInfo[playerid]);
Das hättest du vielleicht mal erklären können, im Gegensatz zu anderen Dingen...
Ich weiß z.B. nicht, was e<p<|>{i} bedeutet. Ich weiß nur, dass es irgendwas mit Enum's zu tuen hat.
-
Habe es 1 zu 1 wie du.
Nur die MySQL Anbindung Daten verändert.
#define MY_HOST "localhost"
#define MY_USER "root"
#define MY_PASS ""
#define MY_DATA "boxreallife"Leider kommt in der Server CMD nicht's das eine Verbindung hergestellt wurde oder das es keine Verndinung gibt.
XAMPP ist Offen und, die Datenbank auch Erstellt.
MfG.
-
bei mir geht speicherung nicht D:
-
bei mir geht speicherung nicht D:
Das wird eventuell daran liegen das du vllt vergessen hast die Funktion SpielerSpeichern noch bei OnPlayerDisconnect einzufügen, sollte dies doch nicht der fall sein so kannst du mal den debug modus anschalten
via
mysql_debug(true); und nachschauen ob es eventuell probleme mit dem SQL-Syntax gibt.Zusätzlich wäre zu erwähnen das die Umsetzung hier nicht wirklich das gelbe vom Ei ist.
-
Das wird eventuell daran liegen das du vllt vergessen hast die Funktion SpielerSpeichern noch bei OnPlayerDisconnect einzufügen, sollte dies doch nicht der fall sein so kannst du mal den debug modus anschalten
via
mysql_debug(true); und nachschauen ob es eventuell probleme mit dem SQL-Syntax gibt.Zusätzlich wäre zu erwähnen das die Umsetzung hier nicht wirklich das gelbe vom Ei ist.
Bei OnPlayerDisconnect war es drinnen hab auch extra nen /speichern Befehl gemacht, das ich es extra testen konnte. Das "
mysql_debug(true);" muss das bei OnGamemodeInit rein?
Eigentlich habe ich ja das hier verwendet: [ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel) blos da hatte ich Probleme mit dem Admin speichern gehabt und einer meinte, das hier sei besser. -
Ja muss es, dann kannst du ja ein ausschnitt aus der Log posten.
Hast du eventuell etwas abgeändert ?. -
hab nur das pInfo geändert und von My_HOST etc. auf SQL_HOST
----------
Loaded log file: "server_log.txt".
----------SA-MP Dedicated Server
----------------------
v0.3x-R2, (C)2005-2013 SA-MP Team[17:29:14] filterscripts = "" (string)
[17:29:14]
[17:29:14] Server Plugins
[17:29:14] --------------
[17:29:14] Loading plugin: crashdetect
[17:29:14] CrashDetect v4.13 is OK.
[17:29:14] Loaded.
[17:29:14] Loading plugin: mysql
[17:29:14]> MySQL plugin R5 successfully loaded.
[17:29:14] Loaded.
[17:29:14] Loading plugin: sscanf
[17:29:14][17:29:14] ===============================
[17:29:14] sscanf plugin loaded.
[17:29:14] (c) 2009 Alex "Y_Less" Cole
[17:29:14] 0.3d-R2 500 Players "dnee"
[17:29:14] ===============================
[17:29:14] Loaded.
[17:29:14] Loaded 3 plugins.[17:29:14]
[17:29:14] Filterscripts
[17:29:14] ---------------
[17:29:14] Loaded 0 filterscripts.[17:29:14] OnGameo
[17:29:14] ||>>|| Die Mysql Verbindung konnte hergestellt werden ||<<||
[17:29:14]
----------------------------------
[17:29:14] BlackWarriors-Gaming Stunt & Fun
[17:29:14] ----------------------------------[17:29:14] Number of vehicle models: 0
[17:29:19] Incoming connection: 127.0.0.1:58399
[17:29:19] [join] Goldfire has joined the server (0:127.0.0.1)
[17:29:49] RCON (In-Game): Player #0 (Goldfire) has logged in.
[17:29:51] Admin: {FFFFFF}Goldfire{0040FF} hat {FFFFFF}Goldfire{0040FF} zu einem Level {FFFFFF}4 {0040FF}Admin befördert.
[17:50:06] OnGameo
[17:50:06] ||>>|| Die Mysql Verbindung konnte hergestellt werden ||<<||
[17:50:06]
----------------------------------
[17:50:06] BlackWarriors-Gaming Stunt & Fun
[17:50:06] ----------------------------------[17:50:06] Number of vehicle models: 0
[17:50:24] Admin: {FFFFFF}Goldfire{0040FF} hat {FFFFFF}Goldfire{0040FF} zu einem Level {FFFFFF}4 {0040FF}Admin befördert.
[17:50:31] [death] Goldfire died 255
[18:00:15] OnGameo
[18:00:15] ||>>|| Die Mysql Verbindung konnte hergestellt werden ||<<||
[18:00:15]
----------------------------------
[18:00:15] BlackWarriors-Gaming Stunt & Fun
[18:00:15] ----------------------------------[18:00:15] Number of vehicle models: 0
[18:00:33] Admin: {FFFFFF}Goldfire{0040FF} hat {FFFFFF}Goldfire{0040FF} zu einem Level {FFFFFF}3 {0040FF}Admin befördert.
[18:11:55] [part] Goldfire has left the server (0:1) -
da wird extra eine log erstellt die nennt sich entweder irgendwas mit mysql_log oder Debug
-
Normale sollte er es speichern da das Query erfolgreich ausgeführt wurde und davor wurde es auch ausgelesen
1|Goldfire|Zensiert|0|4|0steht bei dir nix in der datenbank oder wie ?
-
Normale sollte er es speichern da das Query erfolgreich ausgeführt wurde und davor wurde es auch ausgelesenPAWN Quelltext
1
1|Goldfire|Zensiert|0|4|0
steht bei dir nix in der datenbank oder wie ?
wie meinst iner Datenbank? -
Schönes Tut 9/10
// SET `Level` = '%d' .... Wir setzten dort das Level %d als Integer Bei Float's ist dies %f und bei Namen / Strings %s
hmm hab ich da was verpasst ? ist '%d' nicht ein double und '%i' ein integer ?
-
ist '%d' nicht ein double und '%i' ein integer ?
Nein, %i kann nicht alle Zahlen die ein 32bit Integer hat darstellen.
%d hingegen schon -
Nein, %i kann nicht alle Zahlen die ein 32bit Integer hat darstellen.
%d hingegen schonJa, das ist doch ein doubble oder nicht?
-
Ja, das ist doch ein doubble oder nicht?
Nein...ein double wäre ein 64-bit Float, aber kein Int!mfg.
-
Nein...ein double wäre ein 64-bit Float, aber kein Int!
Thanks was dazu gelernt
-
Hey habe mir jetzt einen Account erstellt und wenn ich mich einloggen will bzw da steht ja jetzt weil ich einen Account habe
das ich mich mit meinen Passwort einloggen willIch kann da egal was hinschreiben er loggt sich ein Wieso?
aber in der Datenbank steht mein Passwort anders egal welches pw ich nehme ich kann mich einloggen kann mir jemand Helfen das zu beheben?Oder liegt das vil an diesem Warning?
C:\Users\Pisser\Desktop\Selfmade by Alex\gamemodes\Selfmade.pwn(382) : warning 203: symbol is never used: "playerid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
stock SpielerName(playerid)//ZEILE 385
{
new name[MAX_PLAYER_NAME];
new query[ MAX_PLAYER_NAME + 45 ]; //128 ? orly ich zähle in den unteren Format nur 44 Zeichen + 24 für den Name das heißt 44 + MAX_PLAYER_NAME währe genug dann halt noch +1 für die Symboliserung.
format(query, MAX_PLAYER_NAME + 45,"SELECT * FROM `accounts` WHERE `Name` = '%s'",name); // warum sizeof verwenden ? Das zieht wieder unnötige "Ressourcen".
return name;
}LOGIN DIALOG:
case D_LOGIN: // Dialog Login
{
if(response)
{
if(strlen(inputtext) == 0) // Wenn er nichts eingibt...
{
ShowPlayerDialog(playerid,D_LOGIN,DIALOG_STYLE_PASSWORD,"Tut Login","FEHLER: PASSWORT EINGEBEN !","Login","Abbrechen"); //... zeigen wir ihm den Dialog
}
else // Wenn ein Passwort eingegeben wurde...
{
if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName(playerid)), true)) //... überprüfen wir das Passwort mittels einen stock welchen wir schreiben werden.
{
SetPVarInt(playerid,"logged",1); // Oben erklärt
LoadPlayer(playerid); // Wir laden den Spieler mittels einem Stock auf schonende Art und Weise
SpawnPlayer(playerid); //Oben erklärt
return 1;
}
else Kick(playerid);
}
}
}
}
return 1;
} -
Zitat
C:\Users\Pisser\Desktop\Selfmade by Alex\gamemodes\Selfmade.pwn(382) :
Hahaha.
Du musst nach "new name[...]" auch den Namen des Spielers zwischen speichern in dem du "GetPlayerName(playerid,name,24);" benutzt.