MySQL Accountsystem
- GamerKing44
- Geschlossen
- Erledigt
-
-
Dann zeig uns evtl mal deinen Code...oder sollen wir jetzt raten?
-
Mein Load Player
stock LoadAccount(playerid)
{
SpielerInfo[playerid][pGeld] = cache_get_field_content_int(0, "Geld", Handle), GivePlayerMoney(playerid, SpielerInfo[playerid][pGeld]);
SpielerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level", Handle), SetPlayerScore(playerid, SpielerInfo[playerid][pLevel]);
SpielerInfo[playerid][pALevel] = cache_get_field_content_int(0, "AdminLevel", Handle);
SpielerInfo[playerid][pFraktion] = cache_get_field_content_int(0, "Fraktion", Handle);// SpielerInfo[playerid][pFraktion];
SpielerInfo[playerid][pFRang] = cache_get_field_content_int(0, "FRang", Handle);
SpielerInfo[playerid][pBankKonto] = cache_get_field_content_int(0, "BankKonto", Handle);
SpielerInfo[playerid][pTutorial] = cache_get_field_content_int(0, "Tutorial", Handle);
SpielerInfo[playerid][pPerso] = cache_get_field_content_int(0, "Personalausweis", Handle);
SpielerInfo[playerid][pSkin] = cache_get_field_content_int(0, "Skin", Handle), SetPlayerSkin(playerid, SpielerInfo[playerid][pSkin]);
SpielerInfo[playerid][PayDayTimer] = cache_get_field_content_int(0, "PayDayRespektp", Handle);
SpielerInfo[playerid][PayDayRespektp] = cache_get_field_content_int(0, "PayDayTimer", Handle);
SpielerInfo[playerid][pVIP] = cache_get_field_content_int(0, "Donator", Handle);
SpielerInfo[playerid][pEingeloggt] = 1;
return 1;
}Mein Spieler Speichern
stock SpielerSpeichern(playerid)
{
if(SpielerInfo[playerid][pEingeloggt] == 0)return 1;
new query[256];
mysql_escape_string(Spielername(playerid), Spielername(playerid));
format(query, sizeof(query), "UPDATE user SET Geld='%i',Level='%i',AdminLevel='%i',Fraktion='%i',FRang='%i',BankKonto='%i',Personalausweis='%i',Skin='%i',PayDayTimer='%i',PayDayRespektp='%i',Donator='%i' WHERE username='%s'",
GetPlayerMoney(playerid), GetPlayerScore(playerid), SpielerInfo[playerid][pALevel], SpielerInfo[playerid][pFraktion], SpielerInfo[playerid][pFRang], SpielerInfo[playerid][pBankKonto], SpielerInfo[playerid][pPerso], SpielerInfo[playerid][pSkin], SpielerInfo[playerid][PayDayTimer], SpielerInfo[playerid][PayDayRespektp], SpielerInfo[playerid][pVIP], Spielername(playerid));
mysql_pquery(Handle, query);
return 1;
}Ist das der richtige den du haben willst
-
Ist das der richtige den du haben willst
Nein...suche mal nach INSERT INTO -
Füge einfach
SpielerSpeichern(playerid);
dort ein, wo die Registration abgeschlossen ist. Dann wird der Spieler direkt danach gespeichert und die Stats die du ihm bei der Registration gibst sind gleich drin. -
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new query[256], key[50];
if(dialogid == DIALOG_REGISTER)
{
if(!response)
{
return Kick(playerid);
}
new string[256];
format(string, sizeof(string), "{"#FFFFFF"}Hallo {"#FFFF00"}%s, \n{"#FFFFFF"}bitte gebe ein gewünschtes Passwort ein um dich zu regestrieren:", Spielername(playerid));
if(strlen(inputtext) < 4)return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "{"#0000FF"}SERVER:{"#FFFFFF"} Regestrierung",string,"Register","Abbruch");
format(key, 50, "%s", inputtext);
mysql_escape_string(Spielername(playerid), Spielername(playerid)), mysql_escape_string(key, key);
format(query, sizeof(query), "INSERT INTO user (username, password) VALUES ('%s','%s')", Spielername(playerid), key);
mysql_function_query(Handle,query,false,"","");
SendClientMessage(playerid, COLOR_YELLOW, "Dein Account wurde in der Datenbank erstellt.");
GivePlayerMoney(playerid,5000);
SetPlayerScore(playerid, 1);
SpielerInfo[playerid][pEingeloggt] = 1;
SpielerSpeichern(playerid);
return 1;
}
}Das Problem ist. Das es da schon steht. Jeffry:
-
Was sagt n der MySQL-Log?
-
ich logg den net aber warte
WIe log ich den bei MySQL R39 -
mysql_debug(1);
-
@Homez: Nein es ist mysql_log(LOG_ALL);
Code
Alles anzeigen[12:35:02] [DEBUG] mysql_tquery - connection: 1, query: "CREATE TABLE IF NOT EXISTS `FracVehicles` (`ID` int(11) NOT NULL", callback: "(null)", format: "(null)" [12:35:02] [DEBUG] CMySQLConnection::Connect - establishing connection to database... [12:35:02] [DEBUG] CMySQLConnection::Connect - establishing connection to database... [12:35:02] [DEBUG] CMySQLConnection::Connect - establishing connection to database... [12:35:02] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM FracVehicles ORDER BY ID ASC", callback: "LoadFracVehicles_Data", format: "d" [12:35:02] [DEBUG] CMySQLConnection::Connect - connection was successful [12:35:02] [DEBUG] CMySQLConnection::Connect - connection was successful [12:35:02] [DEBUG] CMySQLConnection::Connect - connection was successful [12:35:02] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled [12:35:02] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled [12:35:02] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled [12:35:02] [DEBUG] CMySQLQuery::Execute[] - starting query execution [12:35:02] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.352 milliseconds [12:35:02] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving [12:35:02] [DEBUG] CMySQLQuery::Execute[LoadFracVehicles_Data] - starting query execution [12:35:02] [DEBUG] CMySQLQuery::Execute[LoadFracVehicles_Data] - query was successfully executed within 0.398 milliseconds [12:35:02] [DEBUG] CMySQLResult::CMySQLResult() - constructor called [12:35:02] [DEBUG] Calling callback "LoadFracVehicles_Data".. [12:35:02] [DEBUG] cache_get_row_count - connection: 1 [12:35:02] [DEBUG] cache_get_field_content_int - row: 0, field_name: "ID", connection: 1 [12:35:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "ID", data: "1" [12:35:02] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called [12:35:24] [DEBUG] mysql_escape_string - source: "[LoR]Tsunami", connection: 1, max_len: 24 [12:35:24] [DEBUG] mysql_pquery - connection: 1, query: "SELECT * FROM user WHERE username='[LoR]Tsunami'", callback: "UserCheck", format: "i" [12:35:24] [DEBUG] CMySQLQuery::Execute[UserCheck] - starting query execution [12:35:24] [DEBUG] CMySQLQuery::Execute[UserCheck] - query was successfully executed within 0.820 milliseconds [12:35:24] [DEBUG] CMySQLResult::CMySQLResult() - constructor called [12:35:24] [DEBUG] Calling callback "UserCheck".. [12:35:24] [DEBUG] cache_get_data - connection: 1 [12:35:24] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called [12:35:29] [DEBUG] mysql_escape_string - source: "[LoR]Tsunami", connection: 1, max_len: 24 [12:35:29] [DEBUG] mysql_escape_string - source: "testpw", connection: 1, max_len: 50 [12:35:29] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO user (username, password) VALUES ('[LoR]Tsunami','t", callback: "(null)", format: "(null)" [12:35:29] [DEBUG] mysql_escape_string - source: "[LoR]Tsunami", connection: 1, max_len: 24 [12:35:29] [DEBUG] mysql_pquery - connection: 1, query: "UPDATE user SET Geld='5000',Level='1',AdminLevel='0',Fraktion='0", callback: "(null)", format: "(null)" [12:35:29] [DEBUG] CMySQLQuery::Execute[] - starting query execution [12:35:29] [DEBUG] CMySQLQuery::Execute[] - starting query execution [12:35:29] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 38.392 milliseconds [12:35:29] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving [12:35:29] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 148.667 milliseconds [12:35:29] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving [12:36:36] [DEBUG] mysql_escape_string - source: "[LoR]Tsunami", connection: 1, max_len: 24 [12:36:36] [DEBUG] mysql_pquery - connection: 1, query: "UPDATE user SET Geld='5000',Level='1',AdminLevel='0',Fraktion='0", callback: "(null)", format: "(null)" [12:36:36] [DEBUG] CMySQLQuery::Execute[] - starting query execution [12:36:36] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 52.720 milliseconds [12:36:36] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
-
Das sieht alles gut aus. Hast du die Ansicht der Tabelle mal aktualisiert?
Bekommst du das Geld und den Score wieder, wenn du dich einloggst wieder, also das Start Geld? Wenn ja, dann liegt es nur an der Ansicht, aber in der Datenbank steht es. -
Okay also wenn ich mich regestriere und dann wenn man noch auf dem server ist alles auf 0 auser passwort udn usernam.
Wenn ich relogge ist es da. -
Dann musst du nur die Ansicht in der Datenbank aktualisieren, weil die Daten stehen ja drin, sonst würden sie ja nicht geladen
-
Ne es ist wenn ich mich regestriere. beim login ist alles Gut
-
Ich weiß.
Registriere dich mal, dann schaue in die Datenbank, wenn alles auf 0 ist logge dich aus der Datenbank aus und wieder ein. Ist dann noch immer alles auf 0?
Falls ja, schließe das Spiel. Wie sieht es dann aus? -
-
breadfish.de
Hat das Thema geschlossen.