Dcmd need help
#1

Ok well for some reason when i login it doesn't set my ingame information.

Код:
public OnPlayerConnect(playerid)
{
	
	PlayerInfo[playerid][pLevel] = 1;
	PlayerInfo[playerid][pBanned] = 0;
	PlayerInfo[playerid][pAdmin] = 0;
	PlayerInfo[playerid][pIsjailed] = 0;
	PlayerInfo[playerid][pJailed] = 0;
	PlayerInfo[playerid][pCash] = 5000;
	PlayerInfo[playerid][pBank] = 0;
	PlayerInfo[playerid][pKills] = 0;
	PlayerInfo[playerid][pDeaths] = 0;
	PlayerInfo[playerid][pHours] = 0;
	PlayerInfo[playerid][pMins] = 0;
	PlayerInfo[playerid][pSex] = 0;
	PlayerInfo[playerid][pAge] = 25;
	PlayerInfo[playerid][pJob] = 0;
	PlayerInfo[playerid][pMember] = 0;
	PlayerInfo[playerid][pRank] = 0;
	PlayerInfo[playerid][pSkin] = 7;
  
  if(PLAYERLIST_authed[playerid] == 0)
	{
		if(udb_Exists(GetName(playerid)))
		{
			SendClientMessage(playerid,COLOR_LREGISTER,".:: Account registered. You can now login by typing /login [password]");
		} else {
			SendClientMessage(playerid,COLOR_LREGISTER,".:: Account unregistered. Please register by using /register [password]");
		}
		return false;
	}
	return true;
}

public OnPlayerDisconnect(playerid, reason)
{
	PlayerUpdate(playerid); PLAYERLIST_authed[playerid] = 0;
	return true;
}

dcmd_register(playerid,params[]) {
  if(PLAYERLIST_authed[playerid] == 1) return SendClientMessage(playerid,COLOR_WHITE,"You have already had an account.");
  if(udb_Exists(GetName(playerid))) return SendClientMessage(playerid,COLOR_LREGISTER,".:: [ACCOUNT]: You have already created an account, /login [password]");
  if(!strlen(params)) return SendClientMessage(playerid,COLOR_WHITE,"[USAGE]: /register [password]");
  if(udb_Create(GetName(playerid),params)) return SendClientMessage(playerid,COLOR_LREGISTER,".:: You have successfully created your account, now use /login [password]");
  return true;}

 dcmd_login(playerid,params[]) {
  if(PLAYERLIST_authed[playerid] == 1) return SendClientMessage(playerid,COLOR_WHITE,"You have already logined.");
  if(!udb_Exists(GetName(playerid))) return SendClientMessage(playerid,COLOR_LREGISTER,".:: [ACCOUNT]: You do not have an account, please /register [password]");
  if(!strlen(params)) return SendClientMessage(playerid,COLOR_WHITE,"[USAGE]: /login [password]");
  if(udb_CheckLogin(GetName(playerid),params))
  {
		PlayerInfo[playerid][pLevel] = dUserINT(GetName(playerid)).("level");
		PlayerInfo[playerid][pBanned] = dUserINT(GetName(playerid)).("banned");
		PlayerInfo[playerid][pAdmin] = dUserINT(GetName(playerid)).("adminlvl");
		PlayerInfo[playerid][pIsjailed] = dUserINT(GetName(playerid)).("isjailed");
		PlayerInfo[playerid][pJailed] = dUserINT(GetName(playerid)).("jailed");
		dUserSet(GetName(playerid)).("ip",GetIp(playerid));
 	  PlayerInfo[playerid][pCash] = dUserINT(GetName(playerid)).("money");
 	  PlayerInfo[playerid][pBank] = dUserINT(GetName(playerid)).("bank");
 	  PlayerInfo[playerid][pKills] = dUserINT(GetName(playerid)).("kills");
 		PlayerInfo[playerid][pDeaths] = dUserINT(GetName(playerid)).("deaths");
 		PlayerInfo[playerid][pHours] = dUserINT(GetName(playerid)).("hours");
 		PlayerInfo[playerid][pMins] = dUserINT(GetName(playerid)).("mins");
 		PlayerInfo[playerid][pSex] = dUserINT(GetName(playerid)).("sex");
 		PlayerInfo[playerid][pAge] = dUserINT(GetName(playerid)).("age");
 	  PlayerInfo[playerid][pJob] = dUserINT(GetName(playerid)).("job");
 	  PlayerInfo[playerid][pMember] = dUserINT(GetName(playerid)).("member");
 	  PlayerInfo[playerid][pRank] = dUserINT(GetName(playerid)).("rank");
 	  PlayerInfo[playerid][pSkin] = dUserINT(GetName(playerid)).("skin");
 	  SetPlayerScore(playerid,PlayerInfo[playerid][pLevel]);
		GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]);
 	  PLAYERLIST_authed[playerid] = 1; SpawnPlayer(playerid);
  	return SendClientMessage(playerid,COLOR_LREGISTER,".:: Successfully authed ::.");
  }
  SendClientMessage(playerid,COLOR_WHITE,"Wrong password or name!");
  return true;
	}
Everything works except for when i login in, It does't set the players money or any info. Its all set to 0. And when i check the account folder the only info stored is the pass and the ip.

Does anyone know how to fix this?
Reply
#2

nevermind i fixed it.
Reply
#3

well, It looks like it is a not a problem with the command, but the function that saves all the info.

I am not familiar with dubd but the code seems fine.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)