Spawn während des Logins (Buttonklick selbst bei Abbruch)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,


    Ich habe ein Problem beim Login (Spawn)


    Folgendes Szenario: Ich joine den Server, Login Dialog erscheint, Gebe zunächst kein Passwort ein, drücke den Button , was passiert? Ich spawne, aber der Login Dialog erscheint weiterhin (Da kein Passwort = Passwort falsch), auch beim Abbruch.
    Genauso ist es beim Time/Ban Dialog, Buttonklick, Spawn.
    Und ich weiß nicht was ich noch machen soll, return 0; o.ä funktioniert nicht.
    Register funktioniert hervorragend (bzw. kein Spawn beim Buttonresponse)


    Alle wahrscheinlichen Codes die dieses Problem verursachen:


    public OnPlayerConnect(playerid)
    {
    SpielerMitTimeban(playerid);
    new Spieler1[128];
    format(Spieler1,sizeof(Spieler1),"/Spieler/%s.txt",SpielerName(playerid));
    if(dini_Exists(Spieler1))
    {
    dini_Get(Spieler1,"Timebangrund");
    dini_Get(Spieler1,"Timebanadmin");
    }
    new time = gettime();
    if(time < GetPVarInt(playerid,"Timeban"))
    {
    new restzeit = (GetPVarInt(playerid,"Timeban") - time)/60;
    new string[384];
    format(string,sizeof(string),"Dein Account wurde wegen eines Regelverstoßes temporär gesperrt, mit ihm kann zurzeit nicht gespielt werden.\n\nWenn das nicht Dein Account ist, verwende einen anderen Nicknamen\nWenn Du zu Unrecht gesperrt wurdest, dann melde Dich bitte bei einem Admin\n\nGrund: %s\nDauer: %i Minute/n\nAdmin: %s",dini_Get(Spieler1,"Timebangrund"),restzeit,dini_Get(Spieler1,"Timebanadmin"));
    ShowPlayerDialog(playerid,BAN,DIALOG_STYLE_MSGBOX,"Script Server Unlimited - Temporärer Spielausschluss",string,"Okay","");
    return 0;
    }
    SpielerMitBan(playerid);
    if(GetPVarInt(playerid,"Ban") !=0)
    {
    new bantext[320];
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(playerid));
    if(dini_Exists(Spieler))
    {
    dini_Get(Spieler,"Reason");
    dini_Get(Spieler,"Admin");
    }
    format(bantext,sizeof(bantext),"Dein Account wurde wegen eines Regelverstoßes gesperrt, mit ihm kann nicht mehr gespielt werden.\n\nWenn das nicht Dein Account ist, verwende einen anderen Nicknamen\nWenn Du zu Unrecht gesperrt wurdest, dann melde Dich bitte bei einem Admin\n\nGrund: %s\nDauer: permanent\nAdmin: %s",dini_Get(Spieler,"Reason"),dini_Get(Spieler,"Admin"));
    ShowPlayerDialog(playerid,BAN,DIALOG_STYLE_MSGBOX,"Script Server Unlimited - Spielausschluss",bantext,"Okay","");
    return 0;
    }
    RemoveBuildingForPlayer(playerid, 8836, 2027.8828, 1552.1641, 11.2578, 0.25);
    RemoveBuildingForPlayer(playerid, 8978, 2028.7813, 1554.9453, 22.1094, 0.25);
    RemoveBuildingForPlayer(playerid, 3482, 2028.7500, 1552.9063, 23.7188, 0.25);
    RemoveBuildingForPlayer(playerid, 3482, 2028.7500, 1556.9844, 23.7188, 0.25);
    RemoveBuildingForPlayer(playerid, 9129, 2028.7656, 1554.9453, 33.5469, 0.25);
    RemoveBuildingForPlayer(playerid, 1503, 1998.0078, 1544.1953, 12.9609, 0.25);
    RemoveBuildingForPlayer(playerid, 8423, 2028.7813, 1554.9453, 22.1094, 0.25);
    RemoveBuildingForPlayer(playerid, 3434, 2028.7500, 1552.9063, 23.7188, 0.25);
    TextDrawShowForPlayer(playerid,Textdraw0);
    TextDrawShowForPlayer(playerid,Textdraw1);
    TextDrawShowForPlayer(playerid,Textdraw2);
    TextDrawShowForPlayer(playerid,Textdraw3);
    TextDrawShowForPlayer(playerid,Textdraw4);
    PlayAudioStreamForPlayer(playerid,"https://ronehothiphopdetroit.files.wordpress.com/2014/07/wiz-khalifa_you-and-your-friends_radio-edit.mp3");
    new cstring[128];
    format(cstring,sizeof(cstring),"%s [ID: %i] hat den Server betreten.",SpielerName(playerid),playerid);
    SendClientMessageToAll(Tuerkies,cstring);
    for(new i=0; i<25; i++)
    {
    SendClientMessage(playerid,-1,"");
    }
    new Spieler2[64],string[256];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler2,sizeof(Spieler2),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler2))
    {
    SendClientMessage(playerid,Blau,"Herzlich Willkommen zurück auf Script Server Unlimited");
    format(string,sizeof(string),"Willkommen zurück %s\n\nDein Account wurde in unserer Datenbank gefunden.\nGebe niemals dein Passwort weiter, auch nicht der Administration!\nBitte gebe nun dein Passwort ein um dich einzuloggen:",Sname);
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Script Server - Login",string,"Login","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,Blau,"Herzlich Willkommen auf Script Sever Unlimited");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Script Server - Registrieren","Herzlich Willkommen auf Hurensohn Gaming.\n\nBitte wähle ein Passwort um Dir einen Account zu erstellen!","Registrieren","Abbrechen");
    }
    return 1;
    }


    stock SpielerLaden(playerid)
    {
    new Spieler[128];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SetPlayerScore(playerid,dini_Int(Spieler,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spieler,"Money"));
    sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
    sSpieler[playerid][Level] = dini_Int(Spieler,"Level");
    sSpieler[playerid][Team] = dini_Int(Spieler,"Team");
    sSpieler[playerid][Kills] = dini_Int(Spieler,"Kills");
    sSpieler[playerid][Deaths] = dini_Int(Spieler,"Deaths");
    SetPVarInt(playerid,"Mute",dini_Int(Spieler,"Mute"));
    SetPlayerSkin(playerid,dini_Int(Spieler,"Skin"));
    dini_Unset(Spieler,"Timebanadmin");
    dini_Unset(Spieler,"Timebangrund");
    dini_Unset(Spieler,"Timebanzeit");
    sSpieler[playerid][sLogin] = 1;


    }
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
    {
    for(new i=0; i<50; i++)
    {
    SendClientMessage(playerid,-1,"");
    }
    SpielerLaden(playerid);
    SendClientMessage(playerid,Blau,"Login erfolgreich . . . Spielerdaten werden geladen!");
    ShowAdminRangName(playerid);
    }
    else
    {
    new string[256];
    format(string,sizeof(string),"{FFFFFF}Willkommen zurück %s\n\nDein Account wurde in unserer Datenbank gefunden.\n\n{FFFF00}Das eingegebene Passwort ist falsch.\n\n{FFFFFF}Gebe niemals dein Passwort weiter, auch nicht der Administration!\nBitte gebe nun dein Passwort ein um dich einzuloggen:",SpielerName(playerid));
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_PASSWORD,"Script Server - Login",string,"Login","Abbrechen");
    }
    return 0;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == TIMEBAN)
    {
    if(response == 1)
    {
    SendClientMessage(playerid,Rot,"|_____Die Verbindung wird nun getrennt_____|");
    Kick(playerid);
    return 1;
    }
    }
    if(dialogid == BAN)
    {
    if(response == 1)
    {
    SendClientMessage(playerid,Rot,"|_____Die Verbindung wird nun getrennt_____|");
    Kick(playerid);
    return 1;
    }
    }
    if(dialogid == LOGIN)
    {
    if(response == 1)
    {
    Login(playerid,MD5_Hash(inputtext));
    return 1;
    }
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Authenfizierungs Prozess abgebrochen . . .");
    Kick(playerid);
    return 1;
    }
    }
    if(dialogid == REGISTER)
    {
    if(response == 1)
    {
    if(strlen(inputtext)> 3)
    {
    Register(playerid,MD5_Hash(inputtext));
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"Dein Passwort muss mindestens 3 Zeichen lang sein");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte wähle ein Passwort um dir einen Account zu erstellen!","Registrieren","Abbrechen");
    return 1;
    }
    }
    if(response == 0)
    {
    SendClientMessage(playerid,Rot,"Du hast den Registrierungsprozess abgebrochen.");
    Kick(playerid);
    return 1;
    }
    }
    return 1;
    }


    Ich hoffe Ihr könnt mir dabei helfen.


    Mit freundlichen Grüßen
    Domain_26

  • Nein,


    warte vielleicht zeige ich Dir noch das hier:


    new LoggedSkin[MAX_PLAYERS]


    public OnPlayerRequestClass(playerid, classid)
    {
    if(LoggedSkin[playerid] == 1)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    SetPlayerPos(playerid, 217.8752, -98.5620, 1005.2578);
    SetPlayerCameraPos(playerid, 216.1171, -100.3419, 1005.2578);
    SetPlayerCameraLookAt(playerid, 217.4201, -98.9890, 1005.2578);
    SetPlayerFacingAngle(playerid, 133.4082);
    SetPlayerInterior(playerid,15);
    SetPlayerVirtualWorld(playerid,i);
    return 1;
    }
    }
    else if(LoggedSkin[playerid] == 0)
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",SpielerName(playerid));
    if(dini_Exists(Spieler))
    {
    SetSpawnInfo(playerid,0,dini_Int(Spieler,"Skin"),2000.4022, 1543.4606, 13.5859,270.5474, 1, 1, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    return 1;
    }
    }
    return 0;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    if(LoggedSkin[playerid] == 1)
    {
    LoggedSkin[playerid] = 0;
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerFacingAngle(playerid, 269.1425);
    SetPlayerInterior(playerid, 0);
    SetCameraBehindPlayer(playerid);
    return 1;
    }
    return 0;
    }


    public OnPlayerSpawn(playerid)
    {
    StopAudioStreamForPlayer(playerid);
    new string[64];
    format(string,sizeof(string),"~w~Willkommen~n~~b~%s",SpielerName(playerid));
    GameTextForPlayer(playerid,string,0,1);
    return 0;
    }


    Edit: Hat sich erledigt hab dieses SpawnPlayer und SetSpawnInfo bei SpielerLaden hingeschrieben

    Einmal editiert, zuletzt von Domain_26 ()