Vielen Vielen dank der Error is schonmal weg. Ich habe mein Login/Register Sytsem nun fertig und wenn ich mit einem Account joine der nicht eingetragen ist kommt auch das register Fenster doch sobald ich dort weiter drücke spawne ich in LV wie wenn man unter auf Spawn drücken würde ...
Hier ist einmal meine OnDialogResponse:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
//Login/Register System
if(response)// They pressed the first button.
{
switch(dialogid)// If you only have one dialog, then this isn't required, but it's neater for when you implement more dialogs.
{
case 1:// LOGIN FENSTER
{
if(strlen(inputtext) > 0)
{
new string[64];
GetPlayerName(playerid,string,MAX_PLAYER_NAME);
format(string,sizeof string,"/Accounts/%s.ini",string);
format(string,sizeof string, dini_Get(string, "Passwort"));
if(!strcmp(inputtext, string))
{
//Geld setzen
new string1[64];
GetPlayerName(playerid,string1,MAX_PLAYER_NAME);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, dini_Int("/Accounts/%s.ini", "Geld"));
//Scroe setzen
new string2[64];
GetPlayerName(playerid,string2,MAX_PLAYER_NAME);
SetPlayerScore(playerid, dini_Int("/Accounts/%s.ini", "Level"));
//Narchicht und spawn
SetSpawnInfo(playerid, 0, 26, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SendClientMessage(playerid, COLOR_YELLOW, "Willkommen auf 'Empire Bay Reallife'");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Falsches Passwort");
Kick(playerid);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "Das Passwort ist zu kurz!");
}
}
case 2:// REGISTER FENSTER
{
if(strlen(inputtext) > 3)
{
new string[64];
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
dini_Create("/Accounts/%s.ini");
//Sachen eintragen: (Key=Value)
dini_Set("/Accounts/%s.ini", "Passwort", inputtext);
dini_IntSet("/Accounts/%s.ini", "Geld", 5000);
dini_IntSet("/Accounts/%s.ini", "Level", 1);
SendClientMessage(playerid, COLOR_GREEN, "Dein Account wurde erfolgreich eingerichtet.\nMache bitte einen relog!");
Kick(playerid);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Das Passwort muss mindestens 4 Zeichen lang sein!");
Kick(playerid);
}
}
}
}
else
{
Kick(playerid);
}
return 1;
}
Weisst du da auch noch eine Lösung?
//EDIT: Habe bemerkt hatte falsche IDs beim erstellen der Dialoge. Hab die angepasst werde jetzt aber direkt gekickt wenn ich beim register mein pw eingeben und bekommne keine Narchicht
//EDIT2: Anscheinend werden mir alle SendClientMessage nicht angezeigt und die TextDatei in Account heisst nicht wie der Spielername sondern %s (öhm lol). So wie es aussieht scheint man sich auch mit jedem Passwort einloggen zu können und nicht mit dem was in der Datei steht ... (Kann es sein dass das ganze Ding nich geht? ...)