Hey,
Ich habe ein sehr großes Problem, unzwar das die Fraktionen und die Adminränge nicht gespeichert werden!
Hier die Zeilen:
enum SpielerDaten
{
pName[MAX_PLAYER_NAME],
pLevel,
pGeld,
pKills,
pTode,
pFraktion,
pLeader,
pAdminlevel,
pRang,
pSkin,
pStadt,
Float:pHealth
}
new SpielerInfo[MAX_PLAYERS][SpielerDaten];
COMMAND:makeadmin(playerid, params[])
{
if(!IstSpielerAdmin(playerid,6))
{
new pID,rank;
if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,Grau,"Nutze: /makeadmin [ID] [0 - 6]");
if(rank<0||rank>6)return SendClientMessage(playerid,Weiß,"Nur von 0 bis 6");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Weiß,"Dieser Spieler ist nicht online");
switch(rank) {
case 0:{SendClientMessage(pID,Rot,"Du wurdest aus dem Team entlassen");SpielerInfo[pID][pAdminlevel]=1;}
case 1:{SendClientMessage(pID,Weiß,"Du bist nun Supporter");SpielerInfo[pID][pAdminlevel]=2;}
case 2:{SendClientMessage(pID,Weiß,"Du bist nun Super-Supporter");SpielerInfo[pID][pAdminlevel]=3;}
case 3:{SendClientMessage(pID,Weiß,"Du bist nun Administrator");SpielerInfo[pID][pAdminlevel]=4;}
case 4:{SendClientMessage(pID,Weiß,"Du bist nun Super-Administrator");SpielerInfo[pID][pAdminlevel]=5;}
case 5:{SendClientMessage(pID,Weiß,"Du bist nun Co- Serverowner");SpielerInfo[pID][pAdminlevel]=6;}
case 6:{SendClientMessage(pID,Weiß,"Du bist nun Server-Owner");SpielerInfo[pID][pAdminlevel]=7;}
}
SavePlayer(pID);
}
return 1;
}
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pFraktion] = mysql_GetInt("accounts", "pFraktion", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pLeader] = mysql_GetInt("accounts", "Leader", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pAdminlevel] = mysql_GetInt("accounts", "Adminlevel", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pRang] = mysql_GetInt("accounts", "Rang", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);
SpielerInfo[playerid][pStadt] = mysql_GetInt("accounts", "Stadt", "Name", SpielerInfo[playerid][pName]);
}
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][pName]);
mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "pFraktion", SpielerInfo[playerid][pFraktion], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Leader", SpielerInfo[playerid][pLeader], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Adminlevel", SpielerInfo[playerid][pAdminlevel], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Rang", SpielerInfo[playerid][pRang], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][pSkin], "Name", SpielerInfo[playerid][pName]);
mysql_SetInt("accounts", "Stadt", SpielerInfo[playerid][pStadt], "Name", SpielerInfo[playerid][pName]);
}
}
return 1;
}
case DIALOG_LOGIN:
{
if(response)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
return 1;
}
else
{
new SpielerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
{
SetPVarInt(playerid,"Eingeloggt",1);
LoadPlayer(playerid);
SpawnPlayer(playerid);
return 1;
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen Passwort ein:","Login","Abbrechen");
return 1;
}
}
}
else
{
Kick(playerid);
}
}
}
return 1;
}
Und ja, das Login / Register System habe ich von einem Tutorial weil ich keine Ahnung von MySQL hatte. Als beispiel habe ich den makeadmin befehl genommen.
Danke im Vorraus!