Invalid Password - y-ini
#1

pawn Код:
#include <a_samp>
#include <YSI\y_ini>
#include <ZCMD>
#include <sscanf2>

#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2

#define PATH "/Accounts/%s.ini"

#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
#define COL_LIGHTBLUE "{00CED1}"

#define COLOR_FADE1 0xFFFFFFFF
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_WHITE  0xFFFFFFFF
#define TCOLOR_ADMIN 0x25FE41FF
#define TCOLOR_TAXI 0xFFFF00AA
#define TCOLOR_POLICE 0x8080FFFF
#define COLOR_PURPLE 0xC2A2DAAA
#define COLOR_PURPLE1 0xFF0080FF
#define COLOR_PURPLE2 0xE10071FF
#define COLOR_PURPLE3 0xC10061FF
#define COLOR_PURPLE4 0xAE0057FF
#define COLOR_PURPLE5 0x840042FF
#define COLOR_LIGHTRED 0xFF8080FF
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x3CCA75FF
#define COLOR_GRAD2 0xBFC0C2FF
#define TCOLOR_NORMAL 0xB0FFF3FF
#define COLOR_RED 0xAA3333AA

new Logged[MAX_PLAYERS];

enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pKills,
    pDeaths,
    pMember,
    pRank,
    pHealth,
    pArmor,
    Float:pPos[4],
    pVW,
    pINT
}
new PlayerInfo[MAX_PLAYERS][pInfo];

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password",PlayerInfo[playerid][pPass]);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Kills",PlayerInfo[playerid][pKills]);
    INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
    INI_Float("PositionX",PlayerInfo[playerid][pPos][0]);
    INI_Float("PositionY",PlayerInfo[playerid][pPos][1]);
    INI_Float("PositionZ",PlayerInfo[playerid][pPos][2]);
    INI_Float("Angle",PlayerInfo[playerid][pPos][3]);
    INI_Int("Virtual World",PlayerInfo[playerid][pVW]);
    INI_Int("Interior",PlayerInfo[playerid][pINT]);
    return 1;
}
/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

main()
{
    print("\n----------------------------------");
    print(" Prison Break Roleplay - Script by Stevolas");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
    SetGameModeText("PB-RP v1.0");
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    return 1;
}

public OnPlayerConnect(playerid)
{
    SetPlayerColor(playerid, COLOR_WHITE);
    Logged[playerid] = 0;
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"This account is currently registered\nPlease type in the account's password below.","Login","Quit");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Register",""COL_WHITE"This account is not registered\nPlease type in the wanted password below to reigster the account.","Register","Quit");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    if(Logged[playerid] == 1)
    {
        SavePlayer(playerid);
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    SetCameraBehindPlayer(playerid);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerInfo[killerid][pKills]++;
    PlayerInfo[playerid][pDeaths]++;
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTER:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"General Data");
                INI_WriteInt(File,"Password",udb_hash(inputtext));
                INI_WriteInt(File,"Cash",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Kills",0);
                INI_WriteInt(File,"Deaths",0);
                INI_SetTag(File, "Player Position");
                INI_WriteFloat(File, "PositionX", 0);
                INI_WriteFloat(File, "PositionY", 0);
                INI_WriteFloat(File, "PositionZ", 0);
                INI_WriteFloat(File, "Angle", 0);
                INI_WriteInt(File, "Interior", 0);
                INI_WriteInt(File, "VirtualWorld", 0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                Logged[playerid] = 1;
            }
        }

        case DIALOG_LOGIN:
        {
            if(!response) return Kick (playerid);
            if(response)
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                    SpawnPlayer(playerid);
                    Logged[playerid] = 1;
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}

stock UserPath(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}

stock SavePlayer(playerid)
{
    new INI:File = INI_Open(UserPath(playerid));
    GetPlayerPos(playerid, PlayerInfo[playerid][pPos][0], PlayerInfo[playerid][pPos][1], PlayerInfo[playerid][pPos][2]);
    GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos][3]);
    PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
    PlayerInfo[playerid][pINT] = GetPlayerInterior(playerid);
    INI_SetTag(File, "General Data");
    INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
    INI_SetTag(File, "Player Position");
    INI_WriteFloat(File, "PositionX", PlayerInfo[playerid][pPos][0]);
    INI_WriteFloat(File, "PositionY", PlayerInfo[playerid][pPos][1]);
    INI_WriteFloat(File, "PositionZ", PlayerInfo[playerid][pPos][2]);
    INI_WriteFloat(File, "Angle", PlayerInfo[playerid][pPos][3]);
    INI_WriteInt(File, "Interior", PlayerInfo[playerid][pINT]);
    INI_WriteInt(File, "VirtualWorld", PlayerInfo[playerid][pVW]);
    INI_Close(File);
}
Hello, the above is my entire code I made through Kush's login/register tutorial and some of my own crap.

I've tested one of my old scripts that look almost identical ((With much more stuff added in the other one)) it seems to be working. I just don't see why this isn't. If someone could help me figure out the problem, and possibly fix it, it would be appreciated.

Thanks,
Kindred.
Reply


Messages In This Thread
Invalid Password - y-ini - by Kindred - 03.05.2012, 23:09
Re: Invalid Password - y-ini - by Yuryfury - 03.05.2012, 23:51
Re: Invalid Password - y-ini - by Kindred - 04.05.2012, 00:03
Re: Invalid Password - y-ini - by JaKe Elite - 04.05.2012, 01:40
Re: Invalid Password - y-ini - by Kindred - 04.05.2012, 02:00
Re: Invalid Password - y-ini - by ReneG - 04.05.2012, 02:42
Re: Invalid Password - y-ini - by Yuryfury - 04.05.2012, 03:02
Re: Invalid Password - y-ini - by Kindred - 04.05.2012, 11:08
Re: Invalid Password - y-ini - by Everybody - 09.06.2012, 20:12
Re: Invalid Password - y-ini - by ReneG - 09.06.2012, 21:09

Forum Jump:


Users browsing this thread: 2 Guest(s)