if(dialogid == DIALOG_REGISTER)
{
if(!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowLanguageDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registrieren", "Register", "Willkommen auf San Andreas Arena! Dieser Account ist noch nicht registriert!\nBitte gib ein Passwort ein, um dich zu registrieren!", "Welcome to San Andreas Arena! This account is not registered yet!\nPlease type in a password to register!", "Registrieren", "Register", "Verlassen", "Leave"); //Zeige erneut den Registrierungsdialog
if(strlen(inputtext))
{
new hashpass[129];
WP_Hash(hashpass, sizeof(hashpass), inputtext); //Whirlpool-Plugin-Funktion zum Verschlüsseln des Passworts
GetPlayerIp(playerid, pInfo[playerid][IP], 16);
new INI:file = INI_Open(Path(playerid));
INI_SetTag(file, "User Data");
INI_WriteString(file, "Password", hashpass);
INI_WriteString(file, "IP", pInfo[playerid][IP]);
INI_WriteInt(file, "AdminLevel", 0);
INI_WriteInt(file, "Money", 0);
INI_WriteInt(file, "Score", 0);
INI_WriteInt(file, "Kills", 0);
INI_WriteInt(file, "Deaths", 0);
INI_WriteInt(file, "Language", pInfo[playerid][Language]);
INI_Close(file);
new stringDE[128],
stringEN[128],
pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(stringDE, sizeof(stringDE), "»SPIELERINFO« Herzlichen Glückwunsch! Du hast dich erfolgreich mit dem Namen "#C_GOLD_E"%s "#C_TURQUOISE_E"registriert!", pName);
format(stringEN, sizeof(stringEN), "»SPIELERINFO« Congratulations! You have successfully registered with the name "#C_GOLD_E"%s "#C_TURQUOISE_E"!", pName);
SendLanguageMessage(playerid, C_TURQUOISE, stringDE, stringEN);
TogglePlayerSpectating(playerid, 0);
pInfo[playerid][JustRegistered] = true;
LoggedIn[playerid] = true;
}
return 1;
}
}
public OnPlayerConnect(playerid)
{
TogglePlayerSpectating(playerid, 1);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerColor(playerid, C_BLUE);
new VirtualWorld = GetPlayerVirtualWorld(playerid);
switch(VirtualWorld)
{
case 0:
{
UseTeleports[playerid] = true;
if(pInfo[playerid][JustLoggedIn] == true)
{
GivePlayerMoneyEx(playerid, pInfo[playerid][Money]);
SetPlayerScore(playerid, pInfo[playerid][Score]);
pInfo[playerid][JustLoggedIn] = false;
return 1;
}
if(pInfo[playerid][JustRegistered] == true)
{
cmd_rules(playerid, "");
pInfo[playerid][JustRegistered] = false;
return 1;
}
if(pInfo[playerid][JustLoggedIn] == false) return GivePlayerMoneyEx(playerid, 5000);
SetSpawnProtection(playerid);
}
case 1..7:
{
UseTeleports[playerid] = false;
if(pInfo[playerid][Money] == 0) GivePlayerMoneyEx(playerid, 5000);
SetSpawnProtection(playerid);
}
}
return 1;
}
Obwohl ich bei OnPlayerConnect den Spectating Modus anmache, ist er an, wenn ein Spieler sich registriert. Beim Login klappt das alles wunderbar, nur beim Registrieren nicht. Es ist so, dass man zunächst einen Sprachendialog kriegt. In der gewählten Sprache, wird der Registrierungsdialog dann angezeigt. Wenn dieser aber angezeigt wird, ist der Spectating Modus plötzlich wieder an.