Can login with any password
#1

I'm using my GM, and you can login to any admin/testers account with a random password, but if you try it with a regular players acc it wont work.

REGISTER CODE:

pawn Код:
else if(dialogid == 1) // Register
    {
        if(response)
        {
            if(strlen(inputtext) < 2)
            {
             SendClientMessage(playerid, COLOR_GREY, "Password can't be shorter than 2 characters.");
             SSSShowDialog(playerid, 1);
             return 1;
            }
            if(strlen(inputtext) > 20)
            {
                SendClientMessage(playerid, COLOR_GREY, "Password can't be longer than 20 characters.");
                SSSShowDialog(playerid, 1);
                return 1;
            }
            new file[64], IP[16], string[128], password[256];
            format(file, sizeof(file), "users/%s.ini", RPNU(playerid));
            if(!dini_Exists(file))
            {
                GetPlayerIp(playerid, IP, sizeof(IP));
                dini_Create(file);
                WP_Hash(password, sizeof(password), inputtext);
                dini_Set(file, "Password", password);
                dini_Set(file, "IP", IP);
                PlayerInfo[playerid][pLevel] = 1;
                dini_IntSet(file, "Level", PlayerInfo[playerid][pLevel]);
                format(string, sizeof(string), "SERVER: {FFFFFF}You have successfully registered on {FF6347}Lakeside Valley Roleplay{FFFFFF}. (Password: %s)", inputtext);
                SendClientMessage(playerid, COLOR_GREY, string);
                SSSShowDialog(playerid, 2);
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: {FFFFFF}You have chosen to quit the server.");
            Kick(playerid);
        }
LOGIN CODE:

pawn Код:
else if(dialogid == 2) // Login
    {
        if(response)
        {
            new file[64], password[256], IP[16];
            format(file, sizeof(file), "users/%s.ini", RPNU(playerid));
            password = dini_Get(file, "Password");
            if(strcmp(inputtext) == password)
            {
                    LoadChar(playerid);
                    SpawnPlayer(playerid);
            }
            else
            {
                SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: {FFFFFF}Invalid password.");
                SSSShowDialog(playerid, 2);
                return 1;
            }
            if(sscanf(inputtext, "s[128]", inputtext))
            {
                SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: {FFFFFF}You must enter a password to procceed.");
                SSSShowDialog(playerid, 2);
                return 1;
            }
            else
            {
                format(PlayerInfo[playerid][pIP], 16, "%s", dini_Get(file, "IP"));
                GetPlayerIp(playerid, IP, sizeof(IP));
                dini_Set(file, "IP", IP);
                PlayerInfo[playerid][pGender] = dini_Int(file, "Gender");
                PlayerInfo[playerid][pAge] = dini_Int(file, "Age");
                if(!PlayerInfo[playerid][pGender] || !PlayerInfo[playerid][pAge])
                {
                    SSSShowDialog(playerid, 3);
                }
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: {FFFFFF}You have chosen to quit the server.");
            Kick(playerid);
        }
MAKE ADMIN CODE:

pawn Код:
CMD:makeadmin(playerid, params[])
{
    if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
    if(!aDuty[playerid]) return SendClientMessage(playerid, COLOR_GREY, "You are not on Admin Duty.");
    if(PlayerInfo[playerid][pAdmin] >= 7)
    {
        new playerb, admin, string[128];
        if(sscanf(params, "ui", playerb, admin)) return SendClientMessage(playerid, COLOR_WHITE, "[Usage]: /makeadmin [playerid] [level]");
        if(!IsPlayerLoggedIn(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
        if(admin < 0 || admin > 8055) return SendClientMessage(playerid, COLOR_GREY, "Admin levels are between 1-[8055]");
        if(PlayerInfo[playerb][pAdmin] != admin)
        {
            new log[256];
            if(PlayerInfo[playerb][pAdmin] < admin)
            {
                format(string, sizeof(string), "AdmWarn: %s has {33AA33}promoted {AA3333}%s to level {33AA33}%d {AA3333}admin.", RPN(playerid), RPN(playerb), admin);
                format(log, sizeof(log), "AdmWarn: %s (%s) has promoted %s (%s) to level %d admin.", RPN(playerid), RPIP(playerid), RPN(playerb), RPIP(playerb), admin);
            }
            else if(PlayerInfo[playerb][pAdmin] > admin)
            {
                format(string, sizeof(string), "AdmWarn: %s has {FF9900}demoted {AA3333}%s to level {FF9900}%d {AA3333}admin.", RPN(playerid), RPN(playerb), admin);
                format(log, sizeof(log), "AdmWarn: %s (%s) has demoted %s (%s) to level %d admin.", RPN(playerid), RPIP(playerid), RPN(playerb), RPIP(playerb), admin);
            }
            Log("logs/makeadmin.log", log);
            PlayerInfo[playerb][pAdmin] = admin;
            PlayerInfo[playerb][pSafeAdmin] = 1;
            SendAdminMessage(COLOR_YELLOW, 1, string);
            if(!PlayerInfo[playerb][pAdmin])
            {
                PlayerInfo[playerb][pSafeAdmin] = 0;
                PlayerInfo[playerid][pGangMod] = 0;
                PlayerInfo[playerid][pFacMod] = 0;
                PlayerInfo[playerid][pBanAppealer] = 0;
                SendClientMessage(playerb, COLOR_YELLOW, string);
            }
            new file[32];
            format(file, sizeof(file), "users/%s.ini", RPNU(playerb));
            if(dini_Exists(file))
            {
                dini_IntSet(file, "Admin", PlayerInfo[playerb][pAdmin]);
            }
            format(file, sizeof(file), "users/%s.ini", RPNU(playerb));
            if(dini_Int(file, "AdminAccount") == 1)
            {
                format(file, sizeof(file), "users/%s.ini", dini_Get(file, "OldName"));
                dini_IntSet(file, "Admin", PlayerInfo[playerb][pAdmin]);
            }
        }
        else SendClientMessage(playerid, COLOR_GREY, "Player already has this admin level.");
    }
    else
    {
        SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)