Problem - Login (mit _, [ ]) + "Bann-Bug"

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
  • Hallo. :)
    Ich habe zurzeit noch das Problem, wenn ich mich mit einen Namen (zum Beispiel: Name_Name oder [X]Name_Name / [X]Name) anmelde bzw. registriere, also getrennt mit einen _ oder enthält Klammern, fliege ich nach dem Register bzw. Login einfach aus der Welt. Dies ist nicht bei einen Namen der mit Punkten getrennt ist (Name.Name) bzw. ein normalen Namen (Name). Ich habe zudem auch den Bug, nach einiger Zeit wird man aus dem Server geworfen mit der Nachricht:


    Code
    The server is restarting...
    You are banned from this server!

    (zumind. irgendwie so :D )
    Man ist aber nicht gebannt (nach dem 2. bzw. 3 Versuch funktioniert es dann wieder)
    Ich weiß nicht woran dies alles liegt? Habt ihr irgendwelche Ideen, bzw. ich hoffe ihr könnt mir helfen. :love: (sehe unten)

  • Bei einem Blankskript sollte das nicht passieren :).


    Nee mal Spaß beiseite du musst deine Problematik genauer erläutern und auch den Code dazu posten. Wir wissen zum Beispiel nicht wie dein Login / Register aussieht was für ein Skript du benutzst etc.

  • Also, :D

    • Problem - Namen (mit _, [])

    Ich will mich auf meinen Server registrieren, zum Beispiel mit dem Namen: Carli_Maro, jedoch falle ich direkt nach der Registration aus der Welt (eigentlich müsste da ein Tutorial etc. folgen),
    dieses Problem ist auch bei den Namen mit einer Klammer drin, zum Beispiel: [X]Carli. Es funktioniert alles perfekt bei "normalen" Namen oder mit Punkten. (zum Beispiel: Carli / Carli.Maro).


    • Problem - "Bann-Bug"

    Ich spielte seit ca. 10min auf dem Server, auf einmal ist der Server für mich nicht mehr erreichbar, und dort steht dann You are banned from the server (oder so ähnlich). Ich will mich dann wieder einloggen und kann dies nicht, erst nach dem 2./3. mal funktioniert es, davor kommt der selbe Fehler. (in den Logs steht dazu nichts)



    Die Login/Register-Abfragen etc.:
    Register

    public OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    new string3[32];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    SetPlayerHealth(playerid,100);
    SpawnPlayer(playerid);
    if (hFile)
    {


    Login

    public OnPlayerLogin(playerid,password[])
    {
    new tmp2[256];
    new string2[100];
    //new string[256];
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    format(string2, sizeof(string2), "/Accounts/%s.ini", playername2);
    SpawnPlayer(playerid);
    if ( fexist(string2) )
    {
    new valtmp[256];
    valtmp = dini_Get(string2, "Key");
    strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp), 255);
    //printf("key: %s | pw: %s", PlayerInfo[playerid][pKey],password);
    if(strcmp(PlayerInfo[playerid][pKey],password) == 0 )
    {


    OnPlayerConnect

    SetPlayerColor(playerid,COLOR_GRAD2);
    GetPlayerName(playerid, plname, sizeof(plname));
    format(string, sizeof(string),"/Accounts/%s.ini", plname);
    //
    new login[128];
    new spname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, spname, sizeof(spname));
    format(login,sizeof(login),"* Mitbürger %s hat den Server betreten.", spname);
    SendClientMessageToAll(COLOR_GREEN,login);
    SetPlayerHealth(playerid, 100);

    Ich hab nur den Anfang gepostet, weil es ja eig. nur um den Namen geht... ^^

  • Wieso benutzt du 2 Variablen mit dem man den Namen herrausfindet? anstatt "new spname[MAX_PLAYER_NAME];" und "GetPlayerName(playerid, spname, sizeof(spname));" zu löschen und dann beim unteren Format am Ende "spname" durch "plname" zu ersetzen.


    @James.Spader Da musst du wohl den kompletten Callback hier rein posten.


    Am besten wäre noch wenn es sich @Jeffry anguckt.

  • Ich habe das Problem gefunden, weiß nur nicht wie ich es beheben kann..
    Ich habe mal nachgeschaut, wie es gespeichert wird, und die Datei heißt nicht so: NAME.ini sondern NAME.in
    warum wird der Account somit falsch gespeichert mit Klammern drinne? ?
    ohne den Klammern funktioniert ja alles

  • Bei Register steht das, wo der Name gespeichert wird..

    public OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    new string3[32];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    SetPlayerHealth(playerid,100);
    SpawnPlayer(playerid);

  • Ich machs mal so:

    public OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    new string3[32];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    SetPlayerHealth(playerid,100);
    SpawnPlayer(playerid);
    if (hFile)
    {
    strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
    new var[32];
    format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    format(var, 32, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
    format(var, 32, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
    format(var, 32, "DonateRank=%d\n",PlayerInfo[playerid][pDonateRank]);fwrite(hFile, var);
    format(var, 32, "UpgradePunkte=%d\n",PlayerInfo[playerid][gPupgrade]);fwrite(hFile, var);
    format(var, 32, "ConnectedTime=%d\n",PlayerInfo[playerid][pConnectTime]);fwrite(hFile, var);
    format(var, 32, "Registriert=%d\n",PlayerInfo[playerid][pReg]);fwrite(hFile, var);
    format(var, 32, "Geschlecht=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var);
    format(var, 32, "Alter=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var);
    format(var, 32, "Herkunft=%d\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var);
    format(var, 32, "CK=%d\n",PlayerInfo[playerid][pCK]);fwrite(hFile, var);
    format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);
    format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pExp]);fwrite(hFile, var);
    format(var, 32, "Geld=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pAccount]);fwrite(hFile, var);
    format(var, 32, "Verbrechen=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "Tode=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 32, "Eingesperrt=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var);
    format(var, 32, "WantedTode=%d\n",PlayerInfo[playerid][pWantedDeaths]);fwrite(hFile, var);
    format(var, 32, "Telefonbuch=%d\n",PlayerInfo[playerid][pPhoneBook]);fwrite(hFile, var);
    format(var, 32, "LottoNr=%d\n",PlayerInfo[playerid][pLottoNr]);fwrite(hFile, var);
    format(var, 32, "Fische=%d\n",PlayerInfo[playerid][pFishes]);fwrite(hFile, var);
    format(var, 32, "GrößterFisch=%d\n",PlayerInfo[playerid][pBiggestFish]);fwrite(hFile, var);
    format(var, 32, "Job=%d\n",PlayerInfo[playerid][pJob]);fwrite(hFile, var);
    format(var, 32, "Paycheck=%d\n",PlayerInfo[playerid][pPayCheck]);fwrite(hFile, var);
    format(var, 32, "Kopfgeld=%d\n",PlayerInfo[playerid][pHeadValue]);fwrite(hFile, var);
    format(var, 32, "Jailed=%d\n",PlayerInfo[playerid][pJailed]);fwrite(hFile, var);
    format(var, 32, "JailTime=%d\n",PlayerInfo[playerid][pJailTime]);fwrite(hFile, var);
    format(var, 32, "Materialien=%d\n",PlayerInfo[playerid][pMats]);fwrite(hFile, var);
    format(var, 32, "Drogen=%d\n",PlayerInfo[playerid][pDrugs]);fwrite(hFile, var);
    format(var, 32, "Leader=%d\n",PlayerInfo[playerid][pLeader]);fwrite(hFile, var);
    format(var, 32, "Member=%d\n",PlayerInfo[playerid][pMember]);fwrite(hFile, var);
    format(var, 32, "FMember=%d\n",PlayerInfo[playerid][pFMember]);fwrite(hFile, var);
    format(var, 32, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
    format(var, 32, "Char=%d\n",PlayerInfo[playerid][pChar]);fwrite(hFile, var);
    format(var, 32, "ContractTime=%d\n",PlayerInfo[playerid][pContractTime]);fwrite(hFile, var);
    format(var, 32, "DetSkill=%d\n",PlayerInfo[playerid][pDetSkill]);fwrite(hFile, var);
    format(var, 32, "SexSkill=%d\n",PlayerInfo[playerid][pSexSkill]);fwrite(hFile, var);
    format(var, 32, "BoxSkill=%d\n",PlayerInfo[playerid][pBoxSkill]);fwrite(hFile, var);
    format(var, 32, "LawSkill=%d\n",PlayerInfo[playerid][pLawSkill]);fwrite(hFile, var);
    format(var, 32, "MechSkill=%d\n",PlayerInfo[playerid][pMechSkill]);fwrite(hFile, var);
    format(var, 32, "JackSkill=%d\n",PlayerInfo[playerid][pJackSkill]);fwrite(hFile, var);
    format(var, 32, "CarSkill=%d\n",PlayerInfo[playerid][pCarSkill]);fwrite(hFile, var);
    format(var, 32, "NewsSkill=%d\n",PlayerInfo[playerid][pNewsSkill]);fwrite(hFile, var);
    format(var, 32, "DrugsSkill=%d\n",PlayerInfo[playerid][pDrugsSkill]);fwrite(hFile, var);
    format(var, 32, "CookSkill=%d\n",PlayerInfo[playerid][pCookSkill]);fwrite(hFile, var);
    format(var, 32, "FishSkill=%d\n",PlayerInfo[playerid][pFishSkill]);fwrite(hFile, var);
    format(var, 32, "pSHealth=%.1f\n",PlayerInfo[playerid][pSHealth]);fwrite(hFile, var);
    GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
    format(var, 32, "pHealth=%.1f\n",PlayerInfo[playerid][pHealth]);fwrite(hFile, var);
    format(var, 32, "Int=%d\n",PlayerInfo[playerid][pInt]);fwrite(hFile, var);
    format(var, 32, "Local=%d\n",PlayerInfo[playerid][pLocal]);fwrite(hFile, var);
    format(var, 32, "Team=%d\n",PlayerInfo[playerid][pTeam]);fwrite(hFile, var);
    format(var, 32, "Model=%d\n",PlayerInfo[playerid][pModel]);fwrite(hFile, var);
    format(var, 32, "PhoneNr=%d\n",PlayerInfo[playerid][pPnumber]);fwrite(hFile, var);
    format(var, 32, "House=%d\n",PlayerInfo[playerid][pPhousekey]);fwrite(hFile, var);
    format(var, 32, "Bizz=%d\n",PlayerInfo[playerid][pPbiskey]);fwrite(hFile, var);
    format(var, 32, "Perso=%d\n",PlayerInfo[playerid][pOwnPerso]);fwrite(hFile, var);
    format(var, 32, "GangJailed=%d\n",PlayerInfo[playerid][pGangJailed]);fwrite(hFile, var);
    format(var, 32, "GWD=%f\n",PlayerInfo[playerid][pGWD]);fwrite(hFile, var);
    if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0))
    {
    PlayerInfo[playerid][pPos_x] = 1684.9;
    PlayerInfo[playerid][pPos_y] = -2244.5;
    PlayerInfo[playerid][pPos_z] = 13.5;
    }
    if(Spectate[playerid] != 255)
    {
    PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx];
    PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy];
    PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz];
    PlayerInfo[playerid][pInt] = Unspec[playerid][sPint];
    PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
    }
    format(var, 32, "Pos_x=%.1f\n",PlayerInfo[playerid][pPos_x]);fwrite(hFile, var);
    format(var, 32, "Pos_y=%.1f\n",PlayerInfo[playerid][pPos_y]);fwrite(hFile, var);
    format(var, 32, "Pos_z=%.1f\n",PlayerInfo[playerid][pPos_z]);fwrite(hFile, var);
    format(var, 32, "Autoschein=%d\n",PlayerInfo[playerid][pCarLic]);fwrite(hFile, var);
    format(var, 32, "Truckschein=%d\n",PlayerInfo[playerid][pTruckLic]);fwrite(hFile, var);
    format(var, 32, "Motorradschein=%d\n",PlayerInfo[playerid][pBikeLic]);fwrite(hFile, var);
    format(var, 32, "Flugschein=%d\n",PlayerInfo[playerid][pFlyLic]);fwrite(hFile, var);
    format(var, 32, "Bootschein=%d\n",PlayerInfo[playerid][pBoatLic]);fwrite(hFile, var);
    format(var, 32, "Angelschein=%d\n",PlayerInfo[playerid][pFishLic]);fwrite(hFile, var);
    format(var, 32, "Waffenschein=%d\n",PlayerInfo[playerid][pGunLic]);fwrite(hFile, var);
    format(var, 32, "Waffe1=%d\n",PlayerInfo[playerid][pGun1]);fwrite(hFile, var);
    format(var, 32, "Waffe2=%d\n",PlayerInfo[playerid][pGun2]);fwrite(hFile, var);
    format(var, 32, "Waffe3=%d\n",PlayerInfo[playerid][pGun3]);fwrite(hFile, var);
    format(var, 32, "Waffe4=%d\n",PlayerInfo[playerid][pGun4]);fwrite(hFile, var);
    format(var, 32, "Ammo1=%d\n",PlayerInfo[playerid][pAmmo1]);fwrite(hFile, var);
    format(var, 32, "Ammo2=%d\n",PlayerInfo[playerid][pAmmo2]);fwrite(hFile, var);
    format(var, 32, "Ammo3=%d\n",PlayerInfo[playerid][pAmmo3]);fwrite(hFile, var);
    format(var, 32, "Ammo4=%d\n",PlayerInfo[playerid][pAmmo4]);fwrite(hFile, var);
    format(var, 32, "CarTime=%d\n",PlayerInfo[playerid][pCarTime]);fwrite(hFile, var);
    format(var, 32, "PayDay=%d\n",PlayerInfo[playerid][pPayDay]);fwrite(hFile, var);
    format(var, 32, "PayDayZeit=%d\n",PlayerInfo[playerid][pPayDayZeit]);fwrite(hFile, var);
    format(var, 32, "PayDayHad=%d\n",PlayerInfo[playerid][pPayDayHad]);fwrite(hFile, var);
    format(var, 32, "CDPlayer=%d\n",PlayerInfo[playerid][pCDPlayer]);fwrite(hFile, var);
    format(var, 32, "Siege=%d\n",PlayerInfo[playerid][pWins]);fwrite(hFile, var);
    format(var, 32, "Niederlagen=%d\n",PlayerInfo[playerid][pLoses]);fwrite(hFile, var);
    format(var, 32, "AlcoholPerk=%d\n",PlayerInfo[playerid][pAlcoholPerk]);fwrite(hFile, var);
    format(var, 32, "DrugPerk=%d\n",PlayerInfo[playerid][pDrugPerk]);fwrite(hFile, var);
    format(var, 32, "MiserPerk=%d\n",PlayerInfo[playerid][pMiserPerk]);fwrite(hFile, var);
    format(var, 32, "PainPerk=%d\n",PlayerInfo[playerid][pPainPerk]);fwrite(hFile, var);
    format(var, 32, "TraderPerk=%d\n",PlayerInfo[playerid][pTraderPerk]);fwrite(hFile, var);
    format(var, 32, "Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
    format(var, 32, "Mission=%d\n",PlayerInfo[playerid][pMissionNr]);fwrite(hFile, var);
    format(var, 32, "Warnungen=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
    format(var, 32, "Adjustable=%d\n",PlayerInfo[playerid][pAdjustable]);fwrite(hFile, var);
    format(var, 32, "Tank=%d\n",PlayerInfo[playerid][pFuel]);fwrite(hFile, var);
    format(var, 32, "Verheiratet=%d\n",PlayerInfo[playerid][pMarried]);fwrite(hFile, var);
    format(var, 32, "Verheiratetmit=%s\n",PlayerInfo[playerid][pMarriedTo]);fwrite(hFile, var);
    format(var, 32, "Punkte=%s\n",PlayerInfo[playerid][pPunkte]);fwrite(hFile, var);
    format(var, 32, "MuteTime=%d\n",PlayerInfo[playerid][pMuteTime]);fwrite(hFile, var);
    format(var, 32, "Knast=%d\n",Knast[playerid]);fwrite(hFile, var);
    format(var, 32, "KnastTime=%d\n",KnastTime[playerid]);fwrite(hFile, var);
    format(var, 32, "Mauled=%d\n",PlayerInfo[playerid][pMauled]);fwrite(hFile, var);
    format(var, 32, "Gehalt=%d\n",PlayerInfo[playerid][pGehalt]);fwrite(hFile, var);
    format(var, 32, "Wanteds=%d\n",WantedLevel[playerid]);fwrite(hFile, var);
    format(var, 32, "SpawnChange=%d\n",SpawnChange[playerid]);fwrite(hFile, var);
    format(var, 32, "FrakSperre=%d\n",PlayerInfo[playerid][pFrakSperre]);fwrite(hFile, var);
    fclose(hFile);
    new string[200];
    format(string,sizeof(string),"{FFFFFF}Bitte logge dich nun mit deinem gewünschten Passwort ein \nNickname: %s",playername3);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FFFFFF}*** | Login",string,"Login","");
    }
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ja, richtig.
    Ich komme auf dem Server, die Datei wird erstellt aber halt nur mit NAME.in und falle dann druch die Welt
    aber wenn ich ohne Klammern im Namen joine dann speichert er es normal und ich kann richtig auf dem Server joinen.