Hallo zusammen,
ich habe heute wieder bisschen Zeit gefunden und habe an einem "Login Intro" mit TextDraws aus dem Forum genommen und habe es Editiert bzw. auf mein Script angepasst jetzt ist es so es Klappt alles bis auf das Spawnen. Wenn ich mich einlogge gehen die TextDraws weg, da steht ich habe mich eingeloggt aber dann werde ich nicht gespawnt. und dieser Spawn Button ist auch weg.
ShowPlayerLoginScreen(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!dini_Exists(Spielerdatei))
{
SendClientMessage(playerid,Weis,"STAATSVERWALTUNG: Willkommen auf RealLife Evolution. Um zu spielen Registriere dich !");
SendClientMessage(playerid,Rot,"SERVER: Du bist noch nicht Registriert.");
}
else
{
SendClientMessage(playerid,Weis,"STAATSVERWALTUNG: Willkommen auf RealLife Evolution. Viel Spaß beim spielen !");
SendClientMessage(playerid,Rot,"SERVER: Dein Account wurde in unserer Datenbank gefunden.");
}
TogglePlayerSpectating(playerid,true);
InterpolateCameraPos(playerid, 78.906448, -1761.630859, 102.392425, 2955.264160, -1504.608032, 116.085548, 50000);
InterpolateCameraLookAt(playerid, 82.136688, -1764.697875, 100.121154, 2951.325439, -1507.052978, 114.212219, 50000);
for(new i; i != _:tData; ++i)TextDrawShowForPlayer(playerid,Intro[tData:i]);
return SelectTextDraw(playerid, 0xE18C30FF);
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == Intro[TextReg])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!dini_Exists(Spielerdatei))
{
if(PlayerInfo[playerid][pBanned] == 1)
{
SendClientMessage(playerid,Rot,"Du bist auf diesem Server gebannt!");
Kick(playerid);
return 1;
}
else if(PlayerInfo[playerid][pBanned] == 0)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Bitte gib dein gewünschtes Passwort ein:","Register","Zurück");
CancelSelectTextDraw(playerid);
}
}
else
{
SendClientMessage(playerid,Gelb,"Ein Account mit diesem Namen ist bereits vorhanden.");
}
}
if(clickedid == Intro[TextLog])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(dini_Exists(Spielerdatei))
{
if(PlayerInfo[playerid][pBanned] == 1)
{
SendClientMessage(playerid,Rot,"Du bist auf diesem Server gebannt!");
Kick(playerid);
return 1;
}
else if(PlayerInfo[playerid][pBanned] == 0)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gib dein Passwort ein:","Login","Zurück");
CancelSelectTextDraw(playerid);
}
}
else
{
SendClientMessage(playerid,Gelb,"Du musst dich zu erst registrieren.");
}
}
return 1;
}
Login Intro funktioniert nicht richtig?
- TheTutoFreak
- Geschlossen
- Erledigt
-
-
Poste bitte den Code von OnDialogResponse.
-
Das wäre dann das hier:
if(dialogid == DIALOG_LOGIN)
{
if(response == 0)
{
SelectTextDraw(playerid, 0xE18C30FF);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,Grau,"Du hast kein Passwort in das Feld geschrieben !");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gib dein Passwort ein:","Login","Zurück");
return 1;
}
else
{
Login(playerid,inputtext);
return 1;
}
}
}
if(dialogid == DIALOG_REGISTER)
{
if(response == 0)
{
SelectTextDraw(playerid, 0xE18C30FF);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,Grau,"Du hast kein Passwort in das Feld geschrieben !");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Bitte gib dein gewünschtes Passwort ein:","Register","Zurück");
return 1;
}
else
{
Register(playerid,inputtext);
for(new i; i != _:tData; ++i)TextDrawHideForPlayer(playerid,Intro[tData:i]);
return 1;
}
}
} -
Dann musst du nach
Login(playerid,inputtext);
das hier nutzen:
http://wiki.sa-mp.com/wiki/SetSpawnInfo
und:
TogglePlayerSpectating(playerid,false);Natürlich auch nach
Register(playerid,inputtext); -
Danke Klappt. Aber wie kann ich das machen, dass ich nicht beim Spawnen auf diesen Spawnbutton klicken muss das der gar Nicht kommt?
-
Kommt drauf an wo du ShowPlayerLoginScreen verwendest.
Wahrscheinlich kannst du den Spieler bei OnPlayerRequestClass direkt Spawnen (SetSpawnInfo -> SpawnPlayer). -
Ich verwende ShowPlayerLoginScreen(playerid); bei OnPlayerConnect.
-
Schreibe es bei OnPlayerRequestClass rein.
-
Okay. Jetzt muss ich diesen Button nicht mehr drücken. Aber jetzt werden meine Ganzen Sachen nicht mehr gespeichert.
//Login / Register
public Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"DUMMY","DUMMY");
dini_Set(Spielerdatei,"Passwort",key);
SetPlayerScore(playerid,1);
GivePlayerMoney(playerid,10000);
PlayerInfo[playerid][pAdminlevel] = 0;
PlayerInfo[playerid][pPremium] = 0;
PlayerInfo[playerid][pFraktion] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pRank] = 0;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pEingeloggt] = 0;
PlayerInfo[playerid][pSkin] = 0;
PlayerInfo[playerid][pRespekt] = 0;
PlayerInfo[playerid][pWarn] = 0;
PlayerInfo[playerid][pBanned] = 0;
PlayerInfo[playerid][pGeschlecht] = 0;
PlayerInfo[playerid][pAlter] = 0;
PlayerInfo[playerid][pWohnort] = 0;
PlayerInfo[playerid][pSpawnhealth] = 50;
PlayerInfo[playerid][pSpawn] = 0;
PlayerInfo[playerid][pBank] = 40000;
PlayerInfo[playerid][pEhe] = 0;
PlayerInfo[playerid][pSpielstunden] = 0;
PlayerInfo[playerid][pJob] = 0;
PlayerInfo[playerid][pFisch] = 0;
PlayerInfo[playerid][pBiggestFisch] = 0;
PlayerInfo[playerid][pLevelupgrade] = 0;
PlayerInfo[playerid][pHartz4] = 0;
PlayerInfo[playerid][pMorde] = 0;
PlayerInfo[playerid][pTode] = 0;
PlayerInfo[playerid][pVerbrechen] = 0;
PlayerInfo[playerid][pKnastbesuche] = 0;
PlayerInfo[playerid][pWantedtode] = 0;
PlayerInfo[playerid][pWantedlevel] = 0;
PlayerInfo[playerid][pDrogen] = 0;
PlayerInfo[playerid][pAutoschein] = 0;
PlayerInfo[playerid][pBikeschein] = 0;
PlayerInfo[playerid][pFlugschein] = 0;
PlayerInfo[playerid][pAngelschein] = 0;
PlayerInfo[playerid][pK1schein] = 0;
PlayerInfo[playerid][pK2schein] = 0;
PlayerInfo[playerid][pLkwschein] = 0;
PlayerInfo[playerid][pTogwhisper] = 0;
SpawnPlayer(playerid);
SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich registriert. Willkommen auf unserem Server.");
return 1;
}public Login(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
{
SpielerLaden(playerid);
for(new i; i != _:tData; ++i)TextDrawHideForPlayer(playerid,Intro[tData:i]);
SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich eingeloggt.");
return 1;
}
else
{
SendClientMessage(playerid,Rot,"SERVER: Das Passwort stimmt mit dem Account nicht überein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gib dein Passwort ein:","Login","Zurück");
return 1;
}
}public SpielerLaden(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
PlayerInfo[playerid][pGeschlecht] = dini_Int(Spielerdatei,"Geschlecht");
PlayerInfo[playerid][pAlter] = dini_Int(Spielerdatei,"Alter");
PlayerInfo[playerid][pWohnort] = dini_Int(Spielerdatei,"Wohnort");
PlayerInfo[playerid][pSpawnhealth] = dini_Int(Spielerdatei,"Spawnhealth");
PlayerInfo[playerid][pSpawn] = dini_Int(Spielerdatei,"Spawn");
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Bar"));
PlayerInfo[playerid][pBank] = dini_Int(Spielerdatei,"Bank");
PlayerInfo[playerid][pAdminlevel] = dini_Int(Spielerdatei,"Adminlevel");
PlayerInfo[playerid][pEhe] = dini_Int(Spielerdatei,"Verheiratet mit");
PlayerInfo[playerid][pSpielstunden] = dini_Int(Spielerdatei,"Spielstunden");
PlayerInfo[playerid][pJob] = dini_Int(Spielerdatei,"Job");
PlayerInfo[playerid][pSkin] = dini_Int(Spielerdatei,"Skin");
PlayerInfo[playerid][pNummer] = dini_Int(Spielerdatei,"Nummer");
PlayerInfo[playerid][pFisch] = dini_Int(Spielerdatei,"Fisch");
PlayerInfo[playerid][pBiggestFisch] = dini_Int(Spielerdatei,"BiggestFisch");
PlayerInfo[playerid][pLevelupgrade] = dini_Int(Spielerdatei,"Levelupgrade");
PlayerInfo[playerid][pRespekt] = dini_Int(Spielerdatei,"Respekt");
PlayerInfo[playerid][pHartz4] = dini_Int(Spielerdatei,"Hartz4");
PlayerInfo[playerid][pPremium] = dini_Int(Spielerdatei,"Premium");
PlayerInfo[playerid][pMorde] = dini_Int(Spielerdatei,"Morde");
PlayerInfo[playerid][pTode] = dini_Int(Spielerdatei,"Tode");
PlayerInfo[playerid][pVerbrechen] = dini_Int(Spielerdatei,"Verbrechen");
PlayerInfo[playerid][pKnastbesuche] = dini_Int(Spielerdatei,"Knastbesuche");
PlayerInfo[playerid][pWantedtode] = dini_Int(Spielerdatei,"Wantedtode");
PlayerInfo[playerid][pWantedlevel] = dini_Int(Spielerdatei,"Wantedlevel");
PlayerInfo[playerid][pWarn] = dini_Int(Spielerdatei,"Warn");
PlayerInfo[playerid][pDrogen] = dini_Int(Spielerdatei,"Drogen");
PlayerInfo[playerid][pMaterialien] = dini_Int(Spielerdatei,"Materialien");
PlayerInfo[playerid][pLeader] = dini_Int(Spielerdatei,"Leader");
PlayerInfo[playerid][pFraktion] = dini_Int(Spielerdatei,"Fraktion");
PlayerInfo[playerid][pMember] = dini_Int(Spielerdatei,"Member");
PlayerInfo[playerid][pKrankheiten] = dini_Int(Spielerdatei,"Krankheiten");
PlayerInfo[playerid][pRank] = dini_Int(Spielerdatei,"Rank");
PlayerInfo[playerid][pBanned] = dini_Int(Spielerdatei,"Banned");
PlayerInfo[playerid][pAutoschein] = dini_Int(Spielerdatei,"Führerschein");
PlayerInfo[playerid][pBikeschein] = dini_Int(Spielerdatei,"Motorradschein");
PlayerInfo[playerid][pBootschein] = dini_Int(Spielerdatei,"Bootschein");
PlayerInfo[playerid][pAngelschein] = dini_Int(Spielerdatei,"Angelschein");
PlayerInfo[playerid][pLkwschein] = dini_Int(Spielerdatei,"LkWschein");
PlayerInfo[playerid][pFlugschein] = dini_Int(Spielerdatei,"Flugschein");
PlayerInfo[playerid][pK1schein] = dini_Int(Spielerdatei,"K1schein");
PlayerInfo[playerid][pK2schein] = dini_Int(Spielerdatei,"K2schein");
PlayerInfo[playerid][pTogwhisper] = dini_Int(Spielerdatei,"TogWhisper");
new id = PlayerInfo[playerid][pFraktion];
if(PlayerInfo[playerid][pPremium] > 0)
{
SendClientMessage(playerid,Gelb,"** Du bist mit einem Premiumaccount eingeloggt!");
}
if(PlayerInfo[playerid][pAdminlevel] > 0)
{
new info[256];
format(info,sizeof(info),"** Du bist mit Adminlevel %d eingeloggt!",PlayerInfo[playerid][pAdminlevel]);
SendClientMessage(playerid,Gelb,info);
}
if(frakGeschlossen[id] && id != 0)
{
PlayerInfo[playerid][pFraktion] = 0;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pRank] = 0;
SendClientMessage(playerid,Gelb,"** Die Fraktion in der du warst, wurde geschlossen! Du bist nun Zivilist.");
}
if(PlayerInfo[playerid][pLeader] > 0)
{
new info[256];
format(info,sizeof(info),"** Du bist als Leader der Fraktion %s eingeloggt!",LeaderRank(playerid));
SendClientMessage(playerid,Gelb,info);
}
SpawnPlayer(playerid);
return 1;
}public SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Bar",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spielerdatei,"Nummer",PlayerInfo[playerid][pNummer]);
dini_IntSet(Spielerdatei,"Adminlevel",PlayerInfo[playerid][pAdminlevel]);
dini_IntSet(Spielerdatei,"Respekt",PlayerInfo[playerid][pRespekt]);
dini_IntSet(Spielerdatei,"Fraktion",PlayerInfo[playerid][pFraktion]);
dini_IntSet(Spielerdatei,"Leader",PlayerInfo[playerid][pLeader]);
dini_IntSet(Spielerdatei,"Member",PlayerInfo[playerid][pMember]);
dini_IntSet(Spielerdatei,"Rank",PlayerInfo[playerid][pRank]);
dini_IntSet(Spielerdatei,"Premium",PlayerInfo[playerid][pPremium]);
dini_IntSet(Spielerdatei,"Warn",PlayerInfo[playerid][pWarn]);
dini_IntSet(Spielerdatei,"Banned",PlayerInfo[playerid][pBanned]);
dini_IntSet(Spielerdatei,"Geschlecht",PlayerInfo[playerid][pGeschlecht]);
dini_IntSet(Spielerdatei,"Wohnort",PlayerInfo[playerid][pWohnort]);
dini_IntSet(Spielerdatei,"Alter",PlayerInfo[playerid][pAlter]);
dini_IntSet(Spielerdatei,"Spawnhealth",PlayerInfo[playerid][pSpawnhealth]);
dini_IntSet(Spielerdatei,"Spawn",PlayerInfo[playerid][pSpawn]);
dini_IntSet(Spielerdatei,"Bank",PlayerInfo[playerid][pBank]);
dini_IntSet(Spielerdatei,"Verheiratet mit",PlayerInfo[playerid][pEhe]);
dini_IntSet(Spielerdatei,"Spielstunden",PlayerInfo[playerid][pSpielstunden]);
dini_IntSet(Spielerdatei,"Job",PlayerInfo[playerid][pJob]);
dini_IntSet(Spielerdatei,"Fisch",PlayerInfo[playerid][pFisch]);
dini_IntSet(Spielerdatei,"BiggestFisch",PlayerInfo[playerid][pBiggestFisch]);
dini_IntSet(Spielerdatei,"Levelupgrade",PlayerInfo[playerid][pLevelupgrade]);
dini_IntSet(Spielerdatei,"Hartz4",PlayerInfo[playerid][pHartz4]);
dini_IntSet(Spielerdatei,"Morde",PlayerInfo[playerid][pMorde]);
dini_IntSet(Spielerdatei,"Tode",PlayerInfo[playerid][pTode]);
dini_IntSet(Spielerdatei,"Verbrechen",PlayerInfo[playerid][pVerbrechen]);
dini_IntSet(Spielerdatei,"Knastbesuche",PlayerInfo[playerid][pKnastbesuche]);
dini_IntSet(Spielerdatei,"Wantedtode",PlayerInfo[playerid][pWantedtode]);
dini_IntSet(Spielerdatei,"Wantedlevel",PlayerInfo[playerid][pWantedlevel]);
dini_IntSet(Spielerdatei,"Drogen",PlayerInfo[playerid][pDrogen]);
dini_IntSet(Spielerdatei,"Materialien",PlayerInfo[playerid][pMaterialien]);
dini_IntSet(Spielerdatei,"Krankheiten",PlayerInfo[playerid][pKrankheiten]);
dini_IntSet(Spielerdatei,"Führerschein",PlayerInfo[playerid][pAutoschein]);
dini_IntSet(Spielerdatei,"Motorradschein",PlayerInfo[playerid][pBikeschein]);
dini_IntSet(Spielerdatei,"Flugschein",PlayerInfo[playerid][pFlugschein]);
dini_IntSet(Spielerdatei,"Angelschein",PlayerInfo[playerid][pAngelschein]);
dini_IntSet(Spielerdatei,"Bootschein",PlayerInfo[playerid][pBootschein]);
dini_IntSet(Spielerdatei,"LkWschein",PlayerInfo[playerid][pLkwschein]);
dini_IntSet(Spielerdatei,"K1schein",PlayerInfo[playerid][pK1schein]);
dini_IntSet(Spielerdatei,"K2schein",PlayerInfo[playerid][pK2schein]);
dini_IntSet(Spielerdatei,"TogWhisper",PlayerInfo[playerid][pTogwhisper]);
return 1;
}public ResetVariablen(playerid)
{
PlayerInfo[playerid][pAdminlevel] = 0;
PlayerInfo[playerid][pPremium] = 0;
PlayerInfo[playerid][pFraktion] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pRank] = 0;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pEingeloggt] = 0;
PlayerInfo[playerid][pSkin] = 0;
PlayerInfo[playerid][pRespekt] = 0;
PlayerInfo[playerid][pWarn] = 0;
PlayerInfo[playerid][pBanned] = 0;
PlayerInfo[playerid][pGeschlecht] = 0;
PlayerInfo[playerid][pWohnort] = 0;
PlayerInfo[playerid][pLevel] = 0;
PlayerInfo[playerid][pAlter] = 0;
PlayerInfo[playerid][pSpawnhealth] = 0;
PlayerInfo[playerid][pBar] = 0;
PlayerInfo[playerid][pBank] = 0;
PlayerInfo[playerid][pEhe] = 0;
PlayerInfo[playerid][pSpielstunden] = 0;
PlayerInfo[playerid][pJob] = 0;
PlayerInfo[playerid][pFisch] = 0;
PlayerInfo[playerid][pBiggestFisch] = 0;
PlayerInfo[playerid][pLevelupgrade] = 0;
PlayerInfo[playerid][pHartz4] = 0;
PlayerInfo[playerid][pMorde] = 0;
PlayerInfo[playerid][pTode] = 0;
PlayerInfo[playerid][pVerbrechen] = 0;
PlayerInfo[playerid][pKnastbesuche] = 0;
PlayerInfo[playerid][pWantedtode] = 0;
PlayerInfo[playerid][pWantedlevel] = 0;
PlayerInfo[playerid][pDrogen] = 0;
PlayerInfo[playerid][pMaterialien] = 0;
PlayerInfo[playerid][pKrankheiten] = 0;
PlayerInfo[playerid][pNummer] = 0;
PlayerInfo[playerid][pErlaubnis] = 0;
PlayerInfo[playerid][pLesson] = 0;
PlayerInfo[playerid][pAutoschein] = 0;
PlayerInfo[playerid][pAngelschein] = 0;
PlayerInfo[playerid][pFlugschein] = 0;
PlayerInfo[playerid][pLkwschein] = 0;
PlayerInfo[playerid][pBootschein] = 0;
PlayerInfo[playerid][pK1schein] = 0;
PlayerInfo[playerid][pK2schein] = 0;
PlayerInfo[playerid][pTogwhisper] = 0;
PlayerInfo[playerid][pSpawn] = 0;
return 1;
} -
Wann?
Beim registrieren, beim normalen speichern oder wird es beim Login vielleicht nicht geladen?Durch die gemachten Änderungen kann das allerdings nicht passiert sein.
-
-
Also ich weis nicht es hat alles funktioniert bis ich das Login Intro rein gemacht habe. Am Laden, Speichern, Registrieren oder Login habe ich an sich nichts geändert. Lediglich nur diesen Dialog vom Login und Register.
-
Das beantwortet aber nicht meine Frage. Was funktioniert denn nicht?
Wann?
Beim registrieren, beim normalen speichern oder wird es beim Login vielleicht nicht geladen? -
Ich weiß es ja net. Ich hab da ja nix geändert
-
Dann musst du es herausfinden.
Gehe in deinen Server und registriere ein neues Konto, stehen dann die Daten in der Datei? Wenn ja, logge dich aus, stehen die aktualisierten Daten dann drin? Wenn ja, logge dich ein und wieder aus, was steht dann drin? -
Ich habe es gerade versucht und habe einen neuen Account erstellt, aber wenn ich dann eigentlich spawnen sollte, stand da "STAY WITHIN THE WORLD BOUNDRIES" und dann passiert gar Nichts mehr.
//EDIT: In die Datei wird alles rein geschrieben.
-
Poste bitte den aktuellen Code vom Register-Dialog.
-
if(dialogid == DIALOG_REGISTER)
{
if(response == 0)
{
SelectTextDraw(playerid, 0xE18C30FF);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,Grau,"Du hast kein Passwort in das Feld geschrieben !");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Bitte gib dein gewünschtes Passwort ein:","Register","Zurück");
return 1;
}
else
{
Register(playerid,inputtext);
for(new i; i != _:tData; ++i)TextDrawHideForPlayer(playerid,Intro[tData:i]);
TogglePlayerSpectating(playerid,false);
return 1;
}
}
} -
Versuche es so:
if(dialogid == DIALOG_REGISTER)
{
if(response == 0)
{
SelectTextDraw(playerid, 0xE18C30FF);
return 1;
}
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid,Grau,"Du hast kein Passwort in das Feld geschrieben !");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Bitte gib dein gewünschtes Passwort ein:","Register","Zurück");
return 1;
}
else
{
//Hier noch SetSpawnInfo verwenden, falls nirgends sonst zuvor verwendet.
TogglePlayerSpectating(playerid,false);
Register(playerid,inputtext);
for(new i; i != _:tData; ++i)TextDrawHideForPlayer(playerid,Intro[tData:i]);
return 1;
}
}
} -
Ich bin mir nicht sicher ob das nicht das selbe bewirkt, aber ich habe in dem Register public SpawnPlayer(playerid); rein geschrieben.
public Register(playerid,key[])
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"DUMMY","DUMMY");
dini_Set(Spielerdatei,"Passwort",key);
SetPlayerScore(playerid,1);
GivePlayerMoney(playerid,10000);
PlayerInfo[playerid][pAdminlevel] = 0;
PlayerInfo[playerid][pPremium] = 0;
PlayerInfo[playerid][pFraktion] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pRank] = 0;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pEingeloggt] = 0;
PlayerInfo[playerid][pSkin] = 0;
PlayerInfo[playerid][pRespekt] = 0;
PlayerInfo[playerid][pWarn] = 0;
PlayerInfo[playerid][pBanned] = 0;
PlayerInfo[playerid][pGeschlecht] = 0;
PlayerInfo[playerid][pAlter] = 0;
PlayerInfo[playerid][pWohnort] = 0;
PlayerInfo[playerid][pSpawnhealth] = 50;
PlayerInfo[playerid][pSpawn] = 0;
PlayerInfo[playerid][pBank] = 40000;
PlayerInfo[playerid][pEhe] = 0;
PlayerInfo[playerid][pSpielstunden] = 0;
PlayerInfo[playerid][pJob] = 0;
PlayerInfo[playerid][pFisch] = 0;
PlayerInfo[playerid][pBiggestFisch] = 0;
PlayerInfo[playerid][pLevelupgrade] = 0;
PlayerInfo[playerid][pHartz4] = 0;
PlayerInfo[playerid][pMorde] = 0;
PlayerInfo[playerid][pTode] = 0;
PlayerInfo[playerid][pVerbrechen] = 0;
PlayerInfo[playerid][pKnastbesuche] = 0;
PlayerInfo[playerid][pWantedtode] = 0;
PlayerInfo[playerid][pWantedlevel] = 0;
PlayerInfo[playerid][pDrogen] = 0;
PlayerInfo[playerid][pAutoschein] = 0;
PlayerInfo[playerid][pBikeschein] = 0;
PlayerInfo[playerid][pFlugschein] = 0;
PlayerInfo[playerid][pAngelschein] = 0;
PlayerInfo[playerid][pK1schein] = 0;
PlayerInfo[playerid][pK2schein] = 0;
PlayerInfo[playerid][pLkwschein] = 0;
PlayerInfo[playerid][pTogwhisper] = 0;
SpawnPlayer(playerid);
SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich registriert. Willkommen auf unserem Server.");
return 1;
} -
Das habe ich gesehen, daher ja die besagte Änderung.
Du kannst den Spieler nicht aus dem SpectateMode spawnen, der muss erst (also vor dem Register) beendet werden. Das SpawnPlayer kannst du auch ganz weg machen, da das Beenden des SpectateModus den Spieler automatisch spawnt. -