Fehler im Dialog

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 Leute,


    ich hab hier einen Fehler drin...


    Aber wo? :D


    if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,COLOR_GREEN,"SERVER:Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!");
    }
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid, MD5_Hash(inputtext));
    return 1;
    }
    else
    {


    SendClientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!");
    SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!");
    Kick(playerid);
    return 1;



    }
    }
    return 1;
    }


    Feheler Code:
    D:\Domi\Spiele\GTA San Andreas\Domi Server\gamemodes\own.pwn(612) : warning 225: unreachable code
    D:\Domi\Spiele\GTA San Andreas\Domi Server\gamemodes\own.pwn(612) : warning 217: loose indentation
    D:\Domi\Spiele\GTA San Andreas\Domi Server\gamemodes\own.pwn(612) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Die Zeile 612 (also die mit dem Fehler ist die jetzt rot makierte)


    Also es ist das zweite else !


    if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,COLOR_GREEN,"SERVER:Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!");
    }
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid, MD5_Hash(inputtext));
    return 1;
    }
    else // Der Fehler <---
    {


    SendClientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!");
    SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!");
    Kick(playerid);
    return 1;



    }
    }
    return 1;
    }


  • if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(!strlen(inputtext)) // Wenn das eingegebene Passwort mehr als ein Zeichen hat, wenn das Passwort länger als X-Zeichen sein soll, dann ändere diese Zeile einfach in: if(!(strlen(inputtext) > X))
    {
    SendClientMessage(playerid,COLOR_GREEN,"SERVER: Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!");
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid, MD5_Hash(inputtext));
    return 1;
    }
    else // Wenn der Benutzer die Registrierung abgebrochen hat
    {
    SendClientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!");
    SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!");
    Kick(playerid);
    return 1;
    }
    return 1;
    }


    Wie schauts so aus?
    // Nicht getestet..

  • Da fehlt noch eine Klammer. So gehört es.


    if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(!strlen(inputtext)) // Wenn das eingegebene Passwort mehr als ein Zeichen hat, wenn das Passwort länger als X-Zeichen sein soll, dann ändere diese Zeile einfach in: if(!(strlen(inputtext) > X))
    {
    SendClientMessage(playerid,COLOR_GREEN,"SERVER: Das gewünschte Passwort ist zu kurz, bitte wählen Sie ein anderes!");
    ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"German Oldschool Reallife - Registrierung","Herzlich Willkommen,\nzum Registrieren geben bitte ein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid, MD5_Hash(inputtext));
    return 1;
    }
    }
    else // Wenn der Benutzer die Registrierung abgebrochen hat
    {
    SendClientMessage(playerid,COLOR_RED,"SERVER: Registrierung wurde abgebrochen!");
    SendClientMessage(playerid,COLOR_RED,"Du wurdest vom Server gekickt!");
    Kick(playerid);
    return 1;
    }
    }

  • Das klappt zwar, jedoch löst es das Problem was ich habe nicht wirklich...


    Undzwar habe ich in meinem Registrationssystem es so geplant, dass nachdem ich mich Registriert habe in das Interior 1 (Koordinaten des Jet-Shamals) geportet werde...


    Um jedoch diesen lästigen Spawnbutton am Anfang zu umgehen, habe ich die Funktion TogglePlayerSpectating(playerid,0); bzw. TogglePlayerSpectating(playerid,1); genutzt...


    Nachdem ich jedoch zu meinem Zielort (der Shamal) teleportiert werde, Steht dort : Server closed connection


    Also wurde ich gekickt...



    Aber wieso?!?