Beiträge von Ducky

    Hey
    Keine Ahnung wieso es nicht funktioniert ... ?(


    TextDrawShowForPlayer(playerid,Menu1);
    TextDrawShowForPlayer(playerid,Menu2);
    TextDrawShowForPlayer(playerid,Menu3);
    TextDrawShowForPlayer(playerid,Menu4);
    TextDrawShowForPlayer(playerid,Menu5);
    TextDrawSetSelectable(Menu2, true);
    TextDrawSetSelectable(Menu3, true);
    TextDrawSetSelectable(Menu4, true);
    TextDrawSetSelectable(Menu5, true);
    justConnected[playerid] = false;
    SelectTextDraw(playerid, COLOR_GREY);
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    new SpielerDatei[64];
    format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.txt",SpielerName(playerid));
    if(IsPlayerConnected(playerid))
    {
    if(clickedid == Menu2) //Wir fangen indem Fall bei 1 an weil wir ja nicht wollen das 0 anklickbar ist.
    {
    if(!dini_Exists(SpielerDatei))//Wir überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    regisich[playerid] = 1;
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Willkommen!\nDu besitzt noch keinen Account auf dem Server!\nUm dir Einen zu erstellen, trage bitte ein Passwort in das Feld ein!","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Einloggen","Willkommen!\nDu besitzt bereits einen Account auf dem Server!\nBitte logge dich unten mit deinem Passwort ein!","Einloggen","Abbrechen");
    }
    CancelSelectTextDraw(playerid);
    }
    else if(clickedid == Menu3)
    {
    if(!dini_Exists(SpielerDatei))//Wir überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    regisich[playerid] = 1;
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Willkommen!\nDu besitzt noch keinen Account auf dem Server!\nUm dir Einen zu erstellen, trage bitte ein Passwort in das Feld ein!","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Einloggen","Willkommen!\nDu besitzt bereits einen Account auf dem Server!\nBitte logge dich unten mit deinem Passwort ein!","Einloggen","Abbrechen");
    }
    CancelSelectTextDraw(playerid); //Teleportet den Spieler nach SF wenn er auf das zweite TD klickt.
    }
    else if(clickedid == Menu4)
    {
    if(!dini_Exists(SpielerDatei))//Wir überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    regisich[playerid] = 1;
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Willkommen!\nDu besitzt noch keinen Account auf dem Server!\nUm dir Einen zu erstellen, trage bitte ein Passwort in das Feld ein!","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Einloggen","Willkommen!\nDu besitzt bereits einen Account auf dem Server!\nBitte logge dich unten mit deinem Passwort ein!","Einloggen","Abbrechen");
    }
    CancelSelectTextDraw(playerid); //Teleportet den Spieler nach LS wenn er auf das dritte TD klickt.
    }
    else if(clickedid == Menu5)
    {
    if(!dini_Exists(SpielerDatei))//Wir überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    regisich[playerid] = 1;
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Willkommen!\nDu besitzt noch keinen Account auf dem Server!\nUm dir Einen zu erstellen, trage bitte ein Passwort in das Feld ein!","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Einloggen","Willkommen!\nDu besitzt bereits einen Account auf dem Server!\nBitte logge dich unten mit deinem Passwort ein!","Einloggen","Abbrechen");
    }
    CancelSelectTextDraw(playerid); //Schließt den TD (Abbrechen) CancelSelectTextDraw = zu deutsch SchließeAusgewähltenTextdraw
    }
    TextDrawHideForPlayer(playerid,Menu1); //nicht wundern das wir hier 0 nehmen, wir wollen ja das alle TD angezeigt werden.
    TextDrawHideForPlayer(playerid,Menu2);// TextDrawHideForPlayer heißt das das TD für den Spieler nicht mehr zu sehen ist.
    TextDrawHideForPlayer(playerid,Menu3);
    TextDrawHideForPlayer(playerid,Menu4);
    TextDrawHideForPlayer(playerid,Menu5);
    CancelSelectTextDraw(playerid); //Schleißt alle TD´s wenn eine Sache ausgewählt wurde.
    }
    return 1;
    }

    !Achtung: Hier kommt eine Lösung :)
    ocmd:atext(playerid,params[])
    {
    new pID,
    str[128];
    if(sscanf(params,"us",pID,str)) return SendClientMessage(playerid,weiss,"INFO: /atext [playerid] [text]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiss,"Dieser Spieler ist offline!");
    new message[128];
    format(message,sizeof(message),"%s sagt dir: %s",SpielerName(playerid),str);
    SendClientMessage(pID,weiss,message);


    return 1;
    }

    IsPlayerInRangeOfPoint(i,3.0,GetPVarInt(i,"tx"),GetPVarInt(i,"ty"),GetPVarInt(i,"tz")))
    IsPlayerInRangeOfPoint(playerid,3.0,GetPVarInt(i,"tx"),GetPVarInt(i,"ty"),GetPVarInt(i,"tz")))

    Zitat von Pille

    Sinnlos wirds erst dann, wenn man für jeden Spieler unter OnPlayerConnect einen Timer startet,
    wo jeder Spieler durchgegangen wird, wie in dem Beispiel von 'Keybinder'.


    Bitte lies es dir nochmal aufmerksam durch.
    Wo wird beim connecten ein Timer gesetzt?
    Der Timer wird bei Ongame ... init gesetzt.
    Ich würde es empfehlen es so zu machen wie ich es geschrieben habe.
    Was ist daran sinnlos und "unlogisch" wenn es so funktioniert wie es soll?