strcmp not working. Y_INI Saved Pass.
#1

I load password here :
pawn Код:
forward LoadUser_data(playerid, name[], value[]);
public LoadUser_data(playerid, name[], value[])
{
    PlayerInfo[playerid][Pass] = 0;
    PlayerInfo[playerid][Kills] = 0;
    PlayerInfo[playerid][Score] = 0;
    PlayerInfo[playerid][Team] = 0;
    PlayerInfo[playerid][Skin] = 0;
    PlayerInfo[playerid][W][0] = 0;
    PlayerInfo[playerid][W][1] = 0;
    PlayerInfo[playerid][W][2] = 0;
    PlayerInfo[playerid][W][3] = 0;
    PlayerInfo[playerid][A][0] = 0;
    PlayerInfo[playerid][A][1] = 0;
    PlayerInfo[playerid][A][2] = 0;
    PlayerInfo[playerid][A][3] = 0;
    INI_String("Pass", PlayerInfo[playerid][Pass], 300);
    INI_Int("Kills", PlayerInfo[playerid][Kills]);
    INI_Int("Score", PlayerInfo[playerid][Score]);
    INI_Int("Team", PlayerInfo[playerid][Team]);
    INI_Int("Skin", PlayerInfo[playerid][Skin]);
    INI_Int("W1", PlayerInfo[playerid][W][0]);
    INI_Int("W2", PlayerInfo[playerid][W][1]);
    INI_Int("W3", PlayerInfo[playerid][W][2]);
    INI_Int("W4", PlayerInfo[playerid][W][3]);
    INI_Int("A1", PlayerInfo[playerid][A][0]);
    INI_Int("A1", PlayerInfo[playerid][A][1]);
    INI_Int("A3", PlayerInfo[playerid][A][2]);
    INI_Int("A4", PlayerInfo[playerid][A][3]);
    return 1;
}
And then when checking for it here :
pawn Код:
case DIALOG_LOGIN:
        {
            if(!response) Kick(playerid);
            new password[300];
            WP_Hash(password, 300, inputtext);
            if(strcmp(PlayerInfo[playerid][Pass], password, true, sizeof(password)) == 0)
            {
                if(PlayerInfo[playerid][Team] == 0)
                {
                    SetSpawnInfo(playerid, 0, PlayerInfo[playerid][Skin], 2495.2119, -1687.0591, 13.5148, 3.5209, 0, 0, 0, 0, 0, 0);
                    SpawnPlayer(playerid);
                    SetPlayerTeam(playerid, 0);
                    SetPlayerColor(playerid, COLOR_GREEN);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][0], PlayerInfo[playerid][A][0]);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][1], PlayerInfo[playerid][A][1]);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][2], PlayerInfo[playerid][A][2]);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][3], PlayerInfo[playerid][A][3]);
                    return 1;
                }
                else if(PlayerInfo[playerid][Team] == 1)
                {
                    SetSpawnInfo(playerid, 1, PlayerInfo[playerid][Skin], 1080.7883, -1744.3995, 13.4606, 0.1209, 0, 0, 0, 0, 0, 0);
                    SpawnPlayer(playerid);
                    SetPlayerTeam(playerid, 1);
                    SetPlayerColor(playerid, COLOR_VIOLET);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][0], PlayerInfo[playerid][A][0]);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][1], PlayerInfo[playerid][A][1]);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][2], PlayerInfo[playerid][A][2]);
                    GivePlayerWeapon(playerid, PlayerInfo[playerid][W][3], PlayerInfo[playerid][A][3]);
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_WHITE, "Wrong Password, You Have Been Kicked");
                Kick(playerid);
                return 1;
            }
        }
I spawn even if the password is wrong, What's the wrong ?
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)