kick Help!
#1

Hello I've Maded This but i want when someone enter wrong pass it kick him i tried alot but i can't do it
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == 0)
        {
                if(!response)
            {

                } else {
                Kick(playerid);
                    if(!strlen(inputtext))
                    {
                        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registration", "Welcome To The CALL OF DUTY MODERNWAFARE!\nPlease enter your password below to regiser\n an account.", "Continue", "Quit");
                                return 1;
                        }
                    new name[MAX_PLAYER_NAME], dat[200], ip[40];
                    GetPlayerName(playerid, name, sizeof(name));
                    GetPlayerIp(playerid, ip, sizeof(ip));
                        format(dat, sizeof(dat), "MyData/User/%s.txt", name);
                        new File:fi = fopen(dat, io_write);
                                                fclose(fi);
                        new day, year, month, date[10];
                        getdate(year, month, day);
                        format(date, sizeof(date), "%d/%d/%d", day, month, year);
                        dini_Set(dat, "Name", name);
                        dini_Set(dat, "IP", ip);
                        dini_Set(dat, "Password", inputtext);
                        dini_Set(dat, "Registered", date);
                        dini_IntSet(dat, "Money", 0);
                        dini_IntSet(dat, "Score", 0);
                        dini_IntSet(dat, "Level", 0);
                        SetPlayerScore(playerid, 0);
                        SetPlayerMoney(playerid, 0);
                        PlayerData[playerid][Level] = 0;
                        new string[150];
                        format(string, sizeof(string), "*%s registered and joined the server!", name);
                        SendClientMessageToAll(COLOR_GREEN, string);
                        SetPVarInt(playerid, "Logged", 1);
                }
        } else if(dialogid == 1)
        {
       
        }
        return 1;
}
Reply
#2

Bumb Really Need help Guys!
Reply
#3

You should really indent your code, and you should hash the password, and I don't recommend using Dini, it's pretty old, and it requires a 256 cell (which equals to 1024 bytes which is 1 kb which takes up disk-space) string to read the data.

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 0)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registration", "Welcome To The CALL OF DUTY MODERNWAFARE!\nPlease enter your password below to regiser\n an account.", "Continue", "Quit");
                return 1;
            }
            new name[MAX_PLAYER_NAME], dat[200], ip[40];
            GetPlayerName(playerid, name, sizeof(name));
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(dat, sizeof(dat), "MyData/User/%s.txt", name);
            /*new File:fi = fopen(dat, io_write);
            fclose(fi);*/
// No need to do this.
            new day, year, month, date[10];
            getdate(year, month, day);
            format(date, sizeof(date), "%d/%d/%d", day, month, year);
            dini_Set(dat, "Name", name);
            dini_Set(dat, "IP", ip);
            dini_Set(dat, "Password", inputtext);
            dini_Set(dat, "Registered", date);
            dini_IntSet(dat, "Money", 0);
            dini_IntSet(dat, "Score", 0);
            dini_IntSet(dat, "Level", 0);
            SetPlayerScore(playerid, 0);
            SetPlayerMoney(playerid, 0);
            PlayerData[playerid][Level] = 0;
            new string[150];
            format(string, sizeof(string), "*%s registered and joined the server!", name);
            SendClientMessageToAll(COLOR_GREEN, string);
            SetPVarInt(playerid, "Logged", 1);
        }
        else return Kick(playerid);
    }
    if(dialogid == 1)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Welcome To The CALL OF DUTY MODERNWAFARE!\nPlease enter your password below to login\n into your account.", "Continue", "Quit");
                return 1;
            }
            new name[MAX_PLAYER_NAME], dat[200], ip[40], tmp[256];
            GetPlayerName(playerid, name, sizeof(name));
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(dat, sizeof(dat), "MyData/User/%s.txt", name);
            tmp = dini_Get(dat, "Password");
            if(strcmp(tmp,inputtext,true)==0)
            {
                // Your code
            }
            else
            {
                Kick(playerid);
            }
        }
    }
    return 1;
}
Reply
#4

Well. . //your Code? Which Code can You Make me i just copy and past it ?
Reply
#5

do you want this?

Код:
Kick(playerid);
and to ban

Код:
Ban(playerid);
Reply
#6

Quote:
Originally Posted by pawn_
Посмотреть сообщение
You should really indent your code, and you should hash the password, and I don't recommend using Dini, it's pretty old, and it requires a 256 cell (which equals to 1024 bytes which is 1 kb which takes up disk-space) string to read the data.

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 0)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registration", "Welcome To The CALL OF DUTY MODERNWAFARE!\nPlease enter your password below to regiser\n an account.", "Continue", "Quit");
                return 1;
            }
            new name[MAX_PLAYER_NAME], dat[200], ip[40];
            GetPlayerName(playerid, name, sizeof(name));
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(dat, sizeof(dat), "MyData/User/%s.txt", name);
            /*new File:fi = fopen(dat, io_write);
            fclose(fi);*/
// No need to do this.
            new day, year, month, date[10];
            getdate(year, month, day);
            format(date, sizeof(date), "%d/%d/%d", day, month, year);
            dini_Set(dat, "Name", name);
            dini_Set(dat, "IP", ip);
            dini_Set(dat, "Password", inputtext);
            dini_Set(dat, "Registered", date);
            dini_IntSet(dat, "Money", 0);
            dini_IntSet(dat, "Score", 0);
            dini_IntSet(dat, "Level", 0);
            SetPlayerScore(playerid, 0);
            SetPlayerMoney(playerid, 0);
            PlayerData[playerid][Level] = 0;
            new string[150];
            format(string, sizeof(string), "*%s registered and joined the server!", name);
            SendClientMessageToAll(COLOR_GREEN, string);
            SetPVarInt(playerid, "Logged", 1);
        }
        else return Kick(playerid);
    }
    if(dialogid == 1)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Welcome To The CALL OF DUTY MODERNWAFARE!\nPlease enter your password below to login\n into your account.", "Continue", "Quit");
                return 1;
            }
            new name[MAX_PLAYER_NAME], dat[200], ip[40], tmp[256];
            GetPlayerName(playerid, name, sizeof(name));
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(dat, sizeof(dat), "MyData/User/%s.txt", name);
            tmp = dini_Get(dat, "Password");
            if(strcmp(tmp,inputtext,true)==0)
            {
                // Your code
            }
            else
            {
                Kick(playerid);
            }
        }
    }
    return 1;
}
Thanks
Reply
#7

Sorry For Double Post Again But How can i Add it say ERROR:WRONG PASSWORD and kick him
it don't send message but it kicks the player i want it send Message Also
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 0)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Registration", "Welcome To The CALL OF DUTY MODERNWAFARE!\nPlease enter your password below to regiser\n an account.", "Continue", "Quit");
                return 1;
            }
            new name[MAX_PLAYER_NAME], dat[200], ip[40];
            GetPlayerName(playerid, name, sizeof(name));
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(dat, sizeof(dat), "MyData/User/%s.txt", name);
            /*new File:fi = fopen(dat, io_write);
            fclose(fi);*/
// No need to do this.
            new day, year, month, date[10];
            getdate(year, month, day);
            format(date, sizeof(date), "%d/%d/%d", day, month, year);
            dini_Set(dat, "Name", name);
            dini_Set(dat, "IP", ip);
            dini_Set(dat, "Password", inputtext);
            dini_Set(dat, "Registered", date);
            dini_IntSet(dat, "Money", 0);
            dini_IntSet(dat, "Score", 0);
            dini_IntSet(dat, "Level", 0);
            SetPlayerScore(playerid, 0);
            SetPlayerMoney(playerid, 0);
            PlayerData[playerid][Level] = 0;
            new string[150];
            format(string, sizeof(string), "*%s registered and joined the server!", name);
            SendClientMessageToAll(COLOR_GREEN, string);
            SetPVarInt(playerid, "Logged", 1);
        }
        else return Kick(playerid);
    }
    if(dialogid == 1)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Welcome To The CALL OF DUTY MODERNWAFARE!\nPlease enter your password below to login\n into your account.", "Continue", "Quit");
                return 1;
            }
            new name[MAX_PLAYER_NAME], dat[200], ip[40], tmp[256];
            GetPlayerName(playerid, name, sizeof(name));
            GetPlayerIp(playerid, ip, sizeof(ip));
            format(dat, sizeof(dat), "MyData/User/%s.txt", name);
            tmp = dini_Get(dat, "Password");
            if(strcmp(tmp,inputtext,true)==0)
            {
                // Your code
            }
            else
            {
                SendClientMessage(playerid, COLOR_BRIGHTRED, "ERROR: WRONG PASSWORD");
                Kick(playerid);
            }
        }
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)