Hallo Community, ich habe mal versucht bei einem Selfmade Script das bisher nur eine MySQL Login und Register Funktion etwas rumzuversuchen.
Ich wollte das wenn man sich ausloggt, Koordinaten gespeichert werden, und beim Einloggen wieder ausgelesen werden damit man da halt wieder spawnt.
Problem jetzt, die Koordinaten speichern sich nicht und lesen sich nicht aus
hier mein Code, bitte nicht so streng das war das erste mal seit 3 Jahren wo ich wieder etwas versucht habe...
enum Position
{
Float: XPos,
Float: YPos,
Float: ZPos
}
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid, "Eingeloggt") == 1)
{
mysql_SetInt("spieler", "Geld", GetPlayerMoney(playerid), "Name", PlayerName[playerid]);
mysql_SetInt("spieler", "Morde", GetPVarInt(playerid, "Morde"), "Name", PlayerName[playerid]);
mysql_SetInt("spieler", "Tode", GetPVarInt(playerid, "Tode"), "Name", PlayerName[playerid]);
mysql_SetInt("spieler", "Admin", GetPVarInt(playerid, "Admin"), "Name", PlayerName[playerid]);
mysql_SetInt("spieler", "XPos", GetPVarInt(playerid, "XPos"), "Name", PlayerName[playerid]);
mysql_SetInt("spieler", "YPos", GetPVarInt(playerid, "YPos"), "Name", PlayerName[playerid]);
mysql_SetInt("spieler", "ZPos", GetPVarInt(playerid, "ZPos"), "Name", PlayerName[playerid]);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 0:
{
if(!inputtext[0])
{
SendClientMessage(playerid, Color_White, "Info: Bitte gebe ein Passwort ein");
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Anmelden", "Wilkommen auf Real Secondlife.\nDu kannst dich nun anmelden", "Anmelden", "Abrechen");
return true;
}
if(strcmp(inputtext, mysql_GetString("spieler", "Passwort", "Name", PlayerName[playerid]), true) == 0)
{
SetPVarInt(playerid, "Eingeloggt", 1);
GivePlayerMoney(playerid, mysql_GetInt("spieler", "Geld", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Morde", mysql_GetInt("spieler", "Morde", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Tode", mysql_GetInt("spieler", "Tode", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Admin", mysql_GetInt("spieler", "Admin", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "XPos", mysql_GetInt("spieler", "XPos", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "YPos", mysql_GetInt("spieler", "YPos", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "ZPos", mysql_GetInt("spieler", "ZPos", "Name", PlayerName[playerid]));
SendClientMessage(playerid, Color_Green, "Info: Wilkommen auf Real Secondlife");
SpawnPlayer(playerid);
SetPlayerPos(playerid, XPos, YPos, ZPos); // warning 213: tag mismatc und das 3mal
return true;
}
else
{
SetPVarInt(playerid, "PWFalsch", GetPVarInt(playerid, "PWFalsch")+1);
if(GetPVarInt(playerid, "PWFalsch") < Max_Player_Login_Attemps)
{
SendClientMessage(playerid, Color_Red, "Info: Solltest du dein Passwort 3 mal falsch eingeben, wirst du vom Server gekickt.");
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Anmelden", "Wilkommen auf Real Secondlife.\nDu kannst dich nun Anmelden", "Anmelden", "Abrechen");
return true;
}
if(GetPVarInt(playerid, "PWFalsch") == Max_Player_Login_Attemps)
{
SendClientMessage(playerid, Color_Red, "Info: Da du dein Passwort wiederholt falsch eingegeben hast, wurdest du vom Server gekickt.");
Kick(playerid);
return true;
}
}
}
case 1:
{
if(!inputtext[0])
{
SendClientMessage(playerid, Color_Red, "Info: Passwort zu kurz");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Regestrieren", "Wilkommen auf Real Secondlife.\nWie ich sehe bist du neu hier\nDu kannst dich nun Regestrieren", "Regestrieren", "Abrechen");
return 1;
}
SetPVarInt(playerid, "Eingeloggt", 1);
CreatePlayerAccount(PlayerName[playerid], inputtext);
mysql_SetString("spieler", "Passwort", inputtext, "Name", PlayerName[playerid]);
SendClientMessage(playerid, Color_Green, "Info: Du hast dich erfolgreich auf Real Secondlife Regestriert.");
SpawnPlayer(playerid);
SetPlayerPos(playerid,XPos,YPos,ZPos);// warning 213: tag mismatc und das 3mal
return true;
}
}
return 1;
}
Und in meiner Datenbank hab ich 3 neue Spalten erstellt mit XPos YPos ZPos also mit Float wird das dann gespeichert...
Help me please