registering aint working right [+rep]
#1

Hello,when i log in my real accoun i have like lots of cash like 199k,donator gold rank etc and when i register a new name,i change a few letters from the name the money and some stats will be the same,i dont understand why it is like that can someone help me fixing it?
thank you

register dialog
Код:
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registering...","You have entered an invalid password.\nType your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Sex",0);
INI_WriteInt(File,"Age",0);
INI_WriteFloat(File,"Pos_x",0);
INI_WriteFloat(File,"Pos_y",0);
INI_WriteFloat(File,"Pos_z",0);
INI_WriteInt(File,"Skin",0);
INI_WriteInt(File,"Team",0);
INI_WriteInt(File,"Accent",0);
INI_WriteInt(File,"Member",255);
INI_WriteInt(File,"Leader",255);
INI_WriteInt(File,"OnMission",0);
INI_WriteInt(File,"MissionNr",0);
INI_WriteInt(File,"Respect",0);
INI_WriteInt(File,"MissionID",0);
INI_WriteInt(File,"pBank",0);
INI_WriteInt(File,"pHousekey",255);
INI_WriteInt(File,"pTaunt",0);
INI_WriteInt(File,"pHelper",0);
INI_WriteInt(File,"pVip",0);
INI_WriteInt(File,"pFightingStyle",0);
INI_WriteInt(File,"pCarLic",0);
INI_WriteInt(File,"pCigarettes",0);
INI_WriteInt(File,"pLighter",0);
INI_WriteInt(File,"pTutorial",0);
INI_WriteInt(File,"pWeed",0);
INI_WriteInt(File,"pCocaine",0);
INI_WriteInt(File,"pCrack",0);
INI_WriteInt(File,"MissionStep",0);
INI_WriteInt(File,"pBomb",0);
INI_WriteInt(File,"pJailed",0);
INI_WriteInt(File,"pArrested",0);
INI_WriteInt(File,"pJailTime",0);
INI_WriteInt(File,"pWarrant",0);
INI_Close(File);

ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_MSGBOX, "- Sex -","What gender are you?","Male","Female");
}
}
onplayerconnect
Код:
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Mafia Paradise","Type your password below to login:","Login","Quit");
		print("1");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Mafia Paradise","Type your password below to register a new account:","Register","Quit");
    }
dialog_login
Код:
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);
print("2");
new
tmp2[ 256 ],
playername2[ MAX_PLAYER_NAME ]
;
SetSpawnInfo(playerid,0,PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pPos_x],PlayerInfo[playerid][pPos_y],PlayerInfo[playerid][pPos_z],1.0,0,0,0,0,0,0);
SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
SetPlayerInterior(playerid,PlayerInfo[playerid][pInt]);
TextDrawHideForPlayer(playerid,lbt);
TextDrawHideForPlayer(playerid,lbb);
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,PlayerInfo[playerid][pCash]);//Sets the money in the moneybar to the serverside cash, Do not remove!
GetPlayerName(playerid, playername2, sizeof(playername2));
format(tmp2, sizeof(tmp2), "~w~Welcome ~n~~g~%s", playername2);
GameTextForPlayer(playerid, tmp2, 5000, 1);
SetTimerEx("UnsetFirstSpawn", 5000, false, "i", playerid);
VipDiscount[playerid] = PlayerInfo[playerid][pVip] * 50;
StopAudioStreamForPlayer(playerid);
PreloadAnimLib(playerid,"BENCHPRESS");
PreloadAnimLib(playerid,"BOMBER");
PreloadAnimLib(playerid,"RAPPING");
PreloadAnimLib(playerid,"SHOP");
PreloadAnimLib(playerid,"BEACH");
PreloadAnimLib(playerid,"SMOKING");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"ON_LOOKERS");
PreloadAnimLib(playerid,"DEALER");
PreloadAnimLib(playerid,"CRACK");
PreloadAnimLib(playerid,"CARRY");
PreloadAnimLib(playerid,"COP_AMBIENT");
PreloadAnimLib(playerid,"PARK");
PreloadAnimLib(playerid,"INT_HOUSE");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"CRACK");
TextDrawShowForPlayer(playerid, Clock);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Login","You have entered an incorrect password.\nType your password below to login.","Login","Quit");
}
}
}
enum
Код:
enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pSex,
    pAge,
   	Float:pPos_x,
	Float:pPos_y,
	Float:pPos_z,
	pInt,
	pSkin,
	Faction,
	pRank,
	pAccent,
	pGun0,
	pGun1,
	pGun2,	pAmmo2,
	pGun3,	pAmmo3,
	pGun4,	pAmmo4,
	pGun5,	pAmmo5,
	pGun6,	pAmmo6,
	pGun7,	pAmmo7,
	pGun8,	pAmmo8,
	pGun9,	pAmmo9,
	pGun10,
	pGun11,
	pGun12,
	Member,
	Leader,
	OnMission,
	MissionNr,
	Respect,
	MissionID,
	pBank,
	pHousekey,
	pTaunt[128],
	pHelper,
	pVip,
	pFightingStyle,
	pCarLic,
	pCigarettes,
	pLighter,
	pTutorial,
	pWeed,
	pCocaine,
	pCrack,
	MissionStep,
	pWireCutter,
	pBomb,
	pJailed,
	pArrested,
	pJailTime,
	pWarrant,
	pWarrantReason[256]
}
new PlayerInfo[MAX_PLAYERS][pInfo];
under ongamemodeinit
Код:
SetTimer("SaveAccounts", SECONDS(13), 1);
under tutorial end
Код:
			    tutorialstage[playerid] = 0;
			    PlayerInfo[playerid][pTutorial] = 0;
			    SetPlayerVirtualWorld(playerid,0);
			    TextDrawHideForPlayer(playerid,Textdraw98[playerid]);
			    TextDrawHideForPlayer(playerid,Textdraw97[playerid]);
			    SetCameraBehindPlayer(playerid);
			    SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}The tutorial is now finished,good luck!.");
			    SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Type /help to see the server commands.");
			    SendClientMessage(playerid,COLOR_WHITE,"{248B10}Tutorial:{FFFFFF}Type /helpme [text] to ask help from a helper.");
			    PlayerInfo[playerid][Member] = 255;
				PlayerInfo[playerid][Leader] = 255;
				PlayerInfo[playerid][OnMission] = 0;
				PlayerInfo[playerid][MissionNr] = 0;
				PlayerInfo[playerid][pAdmin] = 0;
				PlayerInfo[playerid][pPos_x] = -1983.2843;
				PlayerInfo[playerid][pPos_y] = 137.8904;
				PlayerInfo[playerid][pPos_z] = 27.6875;
				PlayerInfo[playerid][pHousekey] = 255;
				FirstSpawn[playerid] = 1;
				request[playerid] = -255;
				SaveAccountStats(playerid);
				TextDrawHideForPlayer(playerid,lbt);
				TextDrawHideForPlayer(playerid,lbb);
				SpawnPlayer(playerid);
				StopAudioStreamForPlayer(playerid);
				PreloadAnimLib(playerid,"BENCHPRESS");
				PreloadAnimLib(playerid,"BOMBER");
				PreloadAnimLib(playerid,"RAPPING");
				PreloadAnimLib(playerid,"SHOP");
				PreloadAnimLib(playerid,"BEACH");
				PreloadAnimLib(playerid,"SMOKING");
				PreloadAnimLib(playerid,"FOOD");
				PreloadAnimLib(playerid,"ON_LOOKERS");
				PreloadAnimLib(playerid,"DEALER");
				PreloadAnimLib(playerid,"CRACK");
				PreloadAnimLib(playerid,"CARRY");
				PreloadAnimLib(playerid,"COP_AMBIENT");
				PreloadAnimLib(playerid,"PARK");
				PreloadAnimLib(playerid,"INT_HOUSE");
				PreloadAnimLib(playerid,"FOOD");
				PreloadAnimLib(playerid,"CRACK");
				SetTimerEx("AfterSpawnMission", 9000, false, "i", playerid);
				GivePlayerAchievement(playerid, Ach_Registered, 1);
				TextDrawShowForPlayer(playerid, Clock);
saveaccountstats
Код:
function SaveAccountStats(playerid)
{
	new
		INI:File = INI_Open(UserPath(playerid))
	;
    INI_SetTag(File,"data");

   	PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
    PlayerInfo[playerid][pCash] = GetPlayerCash(playerid);
    PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
   	new
	   	Float:x,
	    Float:y,
		Float:z
	;
	GetPlayerPos(playerid,x,y,z);
	PlayerInfo[playerid][pPos_x] = x;
	PlayerInfo[playerid][pPos_y] = y;
	PlayerInfo[playerid][pPos_z] = z;

    INI_WriteInt(File,"Cash",PlayerInfo[playerid][pCash]);
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Sex",PlayerInfo[playerid][pSex]);
    INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge]);
    INI_WriteFloat(File,"Pos_x",PlayerInfo[playerid][pPos_x]);
    INI_WriteFloat(File,"Pos_y",PlayerInfo[playerid][pPos_y]);
    INI_WriteFloat(File,"Pos_z",PlayerInfo[playerid][pPos_z]);
    INI_WriteInt(File,"pInt",PlayerInfo[playerid][pInt]);
    INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
    INI_WriteInt(File,"Faction",PlayerInfo[playerid][Faction]);
    INI_WriteInt(File,"pRank",PlayerInfo[playerid][pRank]);
    INI_WriteInt(File,"Accent",PlayerInfo[playerid][pAccent]);
    INI_WriteInt(File,"Member",PlayerInfo[playerid][Member]);
    INI_WriteInt(File,"Leader",PlayerInfo[playerid][Leader]);
    INI_WriteInt(File,"OnMission",PlayerInfo[playerid][OnMission]);
    INI_WriteInt(File,"MissionNr",PlayerInfo[playerid][MissionNr]);
    INI_WriteInt(File,"Respect",PlayerInfo[playerid][Respect]);
    INI_WriteInt(File,"MissionID",PlayerInfo[playerid][MissionID]);
    INI_WriteInt(File,"pBank",PlayerInfo[playerid][pBank]);
    INI_WriteInt(File,"pHousekey",PlayerInfo[playerid][pHousekey]);
//    INI_WriteInt(File,"pTaunt",PlayerInfo[playerid][pTaunt]);
	strmid(PlayerInfo[playerid][pTaunt], "None", 0, strlen("None"), 255);
    INI_WriteInt(File,"pHelper",PlayerInfo[playerid][pHelper]);
    INI_WriteInt(File,"pVip",PlayerInfo[playerid][pVip]);
    INI_WriteInt(File,"pFightingStyle",PlayerInfo[playerid][pFightingStyle]);
    INI_WriteInt(File,"pCarLic",PlayerInfo[playerid][pCarLic]);
    INI_WriteInt(File,"pCigarettes",PlayerInfo[playerid][pCigarettes]);
    INI_WriteInt(File,"pLighter",PlayerInfo[playerid][pLighter]);
    INI_WriteInt(File,"pTutorial",PlayerInfo[playerid][pTutorial]);
    INI_WriteInt(File,"pWeed",PlayerInfo[playerid][pWeed]);
    INI_WriteInt(File,"pCocaine",PlayerInfo[playerid][pCocaine]);
    INI_WriteInt(File,"pCrack",PlayerInfo[playerid][pCrack]);
    INI_WriteInt(File,"MissionStep",PlayerInfo[playerid][MissionStep]);
    INI_WriteInt(File,"pWireCutter",PlayerInfo[playerid][pWireCutter]);
    INI_WriteInt(File,"pBomb",PlayerInfo[playerid][pBomb]);
    INI_WriteInt(File,"pJailed",PlayerInfo[playerid][pJailed]);
    INI_WriteInt(File,"pArrested",PlayerInfo[playerid][pArrested]);
    INI_WriteInt(File,"pJailTime",PlayerInfo[playerid][pJailTime]);
    INI_WriteInt(File,"pWarrant",PlayerInfo[playerid][pWarrant]);
	INI_WriteInt(File, "WarrantReason", PlayerInfo[playerid][pWarrantReason]);
    
    INI_Close(File);
    return 1;
}
function SaveAccounts()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
			SaveAccountStats(i);
  		}
	}
}
Reply
#2

do the reset the variables on player disconnect?
Reply
#3

thats the onplayerdisconnect
Код:
public OnPlayerDisconnect(playerid, reason)
{
	if(TextdrawActive[playerid] == 1)
	{
		TextDrawHideForPlayer(playerid, TextDraw[playerid]);
		TextDrawDestroy(TextDraw[playerid]);
	}
	TextDrawHideForPlayer(playerid,ShadInfoBox[playerid]);
	TextDrawDestroy(ShadInfoBox[playerid]);
    SavePlayerAchievements(playerid);

    for(new a=1; a<=MAX_ACHIEVEMENTS; a++)
	{
	    ACH_USER[playerid][achprogress][a] = 0;
	    ACH_USER[playerid][achieved][a] = 0; //Fixed.
	}
	
	
    oplayers--;
	SaveAccountStats(playerid);
    new pName[MAX_PLAYER_NAME];
    new string[56];
    GetPlayerName(playerid, pName, sizeof(pName));
    switch(reason)
    {
		case 0: format(string, sizeof(string), "**%s has left the Server.(Timeout/Crash)**", pName);
	    case 1: format(string, sizeof(string), "** %s has left the Server. **", pName);
	    case 2: format(string, sizeof(string), "** %s has left the Server.(Kick/Ban)**", pName);
    }
    SendClientMessage(playerid,COLOR_RED, string);
    return 1;
}
Reply
#4

Check now my GameMode and you get the answer your question!
Reply
#5

could you say what did you fix?cause ive changed the gamemode so much.

EDIT:
got it, thanks
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)