Spieler Banned dialog zeigt ihm Wann von wem und Grund?

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
  • Darauf hab ich mal wieder nicht geachtet..
    Hier:

    Spoiler anzeigen
    ocmd:ban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GELB,"/ban [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    SetPVarInt(pID,"Baned",1);
    format(string,sizeof(string),"%s",SpielerName(pID));
    if(dini_Exists("/bans/ban.ini"))dini_Set("/bans/ban.ini","banned",string);
    else
    {
    dini_Create("/bans/ban.ini");
    dini_Set("/bans/ban.ini","banned",string);
    }
    return Kick(pID);
    }


    //E
    Aber wenn du dann mehrere Leute bannst, wird das n bisl fail sein, meinste nicht?
    1 = /ban person1 test
    banned=person1


    2 = /ban person2 test
    banned=person2


    3 = /ban person3 test
    banned=person3

    Mit freundlichen Grüßen
    ErikSon



    Scripte kleine Systeme auf Anfrage umsonst!
    Per PN könnt ihr mir gerne Scriptingfragen stellen.

    Einmal editiert, zuletzt von ErikSon ()

  • Und bei OnPlayerConnect soll er prüfen per Name ob diese Datei vorhanden ist wenn ja steht Du bist gebannt.
    Wenn nein Soll er weiter ins Login kommne.


    Vorhandender Code
    public OnPlayerConnect(playerid)
    {
    new pfad[64], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
    if(dini_Exists(pfad))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    }
    new pID, reason[55], mms[155];
    GetPlayerName(playerid,name,sizeof(name));
    dini_Set("/bans/ban.txt", "name", "banned");
    if(dini_Isset("/bans/ban.txt", "name"))
    {
    format(mms, sizeof(mms),"Ihr Account wurde von %s gesperrt.Grund: %s",name,reason);
    SendClientMessage(playerid,ROT,mms);
    SetTimer("Gesperrt",10000);
    Kick(pID);
    }
    dini_Unset("/bans/ban.txt", "name");
    if(dini_Isset("/Bans/ban.txt", "name"))
    {
    new string[144], pid, msg[144];
    format(string, sizeof(string),"Herzlich Willkommen auf United Deathmatch, %s",name);
    SendClientMessage(playerid,GELB,string);
    if(IsPlayerAdmin(playerid))
    format(msg, sizeof(msg),"Willkommen %s, du hast dich als Admin Rank %i eingeloggt.",SpielerName(playerid),GetPVarInt(pid,"Adminlevel"));
    SendClientMessage(playerid,GELB,msg);
    return 1;
    }
    Arena[playerid] = 0;
    {
    new Sname[MAX_PLAYER_NAME], Spfad[64];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spfad,sizeof(Spfad),"/Accounts/%s.txt",Sname);
    }
    return 1;
    }


    Oder kann ich es machen das wenn er beim Dialog auf den Button klickt das er gekickt wird.




    Mit Freundlichen Grüßen

    Einmal editiert, zuletzt von The Sensei ()

  • Guten Tag,


    Ich habe eine Frage. Immernoch undzwar will ich das wenn er im DialogFeld das erste oder das zweite Feld anklickt das er gekickt wird.


    Code
    new pID, reason[55], mms[155];
    GetPlayerName(playerid,name,sizeof(name));
    dini_Get("/bans/ban.txt", "name", "banned");
    if(dini_Isset("/bans/ban.txt", "name"))
    {
    new dialogstring[9999],header[18 + MAX_PLAYER_NAME],pID,bName[MAX_PLAYER_NAME],bgrund;
    GetPlayerName(playerid,bName,sizeof(bName));
    format(dialogstring,sizeof(dialogstring),"Guten Tag, %s ihr Account ist Gesperrt.\nSomit können sie nicht mehr mit ihm Spielen.\n\n\nAdministrator : %s\n\n\nGrund : %s\n\n\nBei Fragen bezüglichst der Sperrung wenden sie sich an den Administrator.",pID,bName,bgrund);
    format(header,sizeof(header),"Account Gesperrt %s",pID);
    ShowPlayerDialog(playerid,Stats,DIALOG_STYLE_MSGBOX,header,dialogstring,"Oke","Oke");
    }
    dini_Unset("/bans/ban.txt", "name");
    if(dini_Isset("/Bans/ban.txt", "name"))
    {
    new string[144], pid, msg[144];
    format(string, sizeof(string),"Herzlich Willkommen auf United Deathmatch, %s",name);
    SendClientMessage(playerid,GELB,string);
    if(IsPlayerAdmin(playerid))
    format(msg, sizeof(msg),"Willkommen %s, du hast dich als Admin Rank %i eingeloggt.",SpielerName(playerid),GetPVarInt(pid,"Adminlevel"));
    SendClientMessage(playerid,GELB,msg);
    return 1;
    }


    Bitte Helft mir.



    Mit Freundlichen Grüßen

  • Ich habe nun dies Gescriptet.


    public tkick(playerid)
    {
    Kick(playerid);
    return 1;
    }



    public OnPlayerConnect(playerid)
    {
    new pfad[64], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(pfad,sizeof(pfad),"/Accounts/%s.txt",name);
    if(dini_Exists(pfad))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    }
    return 0;
    new pID, reason[55], mms[155];
    GetPlayerName(playerid,name,sizeof(name));
    dini_Get("/bans/ban.txt", "name", "banned");
    if(dini_Isset("/bans/ban.txt", "name"))
    {
    new dialogstring[9999],header[18 + MAX_PLAYER_NAME],pID,bName[MAX_PLAYER_NAME],bgrund;
    GetPlayerName(playerid,bName,sizeof(bName));
    format(dialogstring,sizeof(dialogstring),"Guten Tag, %s ihr Account ist Gesperrt.\nSomit können sie nicht mehr mit ihm Spielen.\n\n\nAdministrator : %s\n\n\nGrund : %s\n\n\nBei Fragen bezüglichst der Sperrung wenden sie sich an den Administrator.",pID,bName,bgrund);
    format(header,sizeof(header),"Account Gesperrt %s",pID);
    ShowPlayerDialog(playerid,Stats,DIALOG_STYLE_MSGBOX,header,dialogstring,"Oke","Oke");
    }
    dini_Unset("/bans/ban.txt", "name");
    if(dini_Isset("/Bans/ban.txt", "name"))
    {
    new string[144], pid, msg[144];
    format(string, sizeof(string),"Herzlich Willkommen auf United Deathmatch, %s",name);
    SendClientMessage(playerid,GELB,string);
    if(IsPlayerAdmin(playerid))
    format(msg, sizeof(msg),"Willkommen %s, du hast dich als Admin Rank %i eingeloggt.",SpielerName(playerid),GetPVarInt(pid,"Adminlevel"));
    SendClientMessage(playerid,GELB,msg);
    return 1;
    }


    und unten bei OnPlayerDialog oder so.


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_GESPERRT)
    {
    {
    SetTimerEx("tKick",1000,0,"i",playerid);

    }
    }
    Trozdem wenn ich mein Pw eingebe steht sofort Server Closed the Connection


    Mit Freundlichen Grüßen