Ich habe ein Problem undzwar, wenn sich einer registriert zum erstenmal
und dann z.b paar kills oder so macht, bekommt er kein Score
dazugeschrieben oder ich kann dem auch kein Adminevel etc geben, aber
wenn er einmal reloggt klappt alles wie gewohnt?
An was könnte das liegen, ich habe das Tutorial von Maddin nach gemacht.
Mysql macht ärger -.-"
- Weihnachtsmann
- Geschlossen
- Erledigt
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
-
-
Das könnte an sehr vielem liegen. Loggst du den Spieler nach dem Registrieren auch ein, damit seine Daten gespeichert werden können?
-
Ich habe ein Problem undzwar, wenn sich einer registriert zum erstenmal
und dann z.b paar kills oder so macht, bekommt er kein Score
dazugeschrieben oder ich kann dem auch kein Adminevel etc geben, aber
wenn er einmal reloggt klappt alles wie gewohnt?
An was könnte das liegen, ich habe das Tutorial von Maddin nach gemacht.
Zum Level
Speichern
SetPlayerScore(playerid,mysql_GetInt("accounts", "pLevel", "Name", SpielerInfo[playerid][pName]));
Saven
mysql_SetInt("accounts", "pLevel", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][pName]);
ggf. noch ändern -
Ich weiß wie man saved etc
Aber wenn man sich neu einen Account anlegt speichert nichts etc nur wenn man einmal reloggt klappt alles gescheit- -
okay, ohne code nix los^^
-
okay, ohne code nix los^^
Dann sag mir was ihr braucht um den Fehler zu finden. -
Das ist sehr schwer da ich zum einen das Script nicht kenne und zum anderen es sehr viele Ursachen haben könnte...
-
speichern und laden, das ist ja dein problem wenn ich das richtig verstanden hab
-
Das ist sehr schwer da ich zum einen das Script nicht kenne und zum anderen es sehr viele Ursachen haben könnte...
Ich habe das Tutorial von Maddin nach gemacht und nix daran verändert. -
SavePlayer Stock, LoadPlayer stock, das wäre mal richtig Nice das zu sehen..... & eventuell die Datenbank (Tabelle, struktur)
-
-
stock LoadPlayer(playerid)
{
new str5[128];
new timestamp = gettime();
new bisgebannt = mysql_GetInt("accounts", "TBan", "Name", SpielerName(playerid));
new bisgemuted = mysql_GetInt("accounts", "Mute", "Name", SpielerName(playerid));
new bispremium = mysql_GetInt("accounts", "Premium", "Name", SpielerName(playerid));
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
GetPlayerName(playerid, SpielerInfo[playerid][pNamee], MAX_PLAYER_NAME);
SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pNamee]);
SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pNamee]);
SpielerInfo[playerid][pCoins] = mysql_GetInt("accounts", "Coins", "Name", SpielerInfo[playerid][pNamee]);
SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pNamee]);
SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pNamee]);
SpielerInfo[playerid][pBanned] = mysql_GetInt("accounts", "Banned", "Name", SpielerInfo[playerid][pNamee]);
SpielerInfo[playerid][pWarn] = mysql_GetInt("accounts", "Verwarnung", "Name", SpielerInfo[playerid][pNamee]);
SpielerInfo[playerid][pAdminlevel] = mysql_GetInt("accounts", "Adminlevel", "Name", SpielerInfo[playerid][pNamee]);
GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);
}
if(SpielerInfo[playerid][pWarn] >4)
{
format(str5,128,"[SERVER] Dein Account %s wurde gebannt, Grund: 5/5 Verwarnungen",SpielerName(playerid));
SendClientMessage(playerid,ROT,str5);
Kick(playerid);
}
if(SpielerInfo[playerid][pBanned] == 1)
{
format(SpielerInfo[playerid][pBanngrund],128,"Dieser Account wurde gebannt! Grund: %s Admin: %s.", mysql_GetString("accounts", "Banngrund", "Name", SpielerInfo[playerid][pNamee]),mysql_GetString("accounts","Banner","Name",SpielerInfo[playerid][pNamee]));
SendClientMessage(playerid,ROT,SpielerInfo[playerid][pBanngrund]);
Kick(playerid);
}
if(timestamp < bisgebannt)
{
new differenz = bisgebannt - timestamp;
new minuten = differenz / 60;
new str[64];
format(str,sizeof(str),"Dein Account ist noch für %i Minuten gebannt!",minuten);
SendClientMessage(playerid,ROT,str);
Kick(playerid);
}
if(timestamp < bispremium)
{
new differenz = bispremium - timestamp;
new minuten = differenz / 60;
new str[64];
format(str,sizeof(str),"Dein Account hat noch für %i Tage Premium!",minuten);
SendClientMessage(playerid,ROT,str);
Kick(playerid);
}
if(timestamp < bisgemuted)
{
new differenz = bisgebannt - timestamp;
new minuten = differenz / 60;
new str[64];
format(str,sizeof(str),"Dein Account ist noch für %i Minuten gemuted!",minuten);
SendClientMessage(playerid,ROT,str);
Kick(playerid);
}
return 1;
}stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Coins", SpielerInfo[playerid][pCoins], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Banned", SpielerInfo[playerid][pBanned], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Verwarnung", SpielerInfo[playerid][pWarn], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Adminlevel", SpielerInfo[playerid][pAdminlevel], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetInt("accounts", "Mute", SpielerInfo[playerid][pMute], "Name", SpielerInfo[playerid][pNamee]);
mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pNamee]);
}
}
return 1;
}
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(response)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
return 1;
}
else
{
CreateAccount(playerid, inputtext);
SetPVarInt(playerid,"Eingeloggt",1);
return 1;
}
}
else
{
Kick(playerid);
}
} -
breadfish.de
Hat das Thema geschlossen.