(HELP) Cash doesn't get saved
#1

Hello guys, so I have solved my last problem by changing 'cmdtext' to 'cmd' and it all works fine. Well the bank system works good, it saves the cash. But the account registering doesn't. It's still fine until you created your account. But when you came back to server, and you did login. Your cash get restarted again, any ideas folks? Thank you.

CREDITS: Registering System (Eric_) and Bank System (sean5874). You guys rock! I edited the Bank System so it produced .ini file just like the Registering System so it can be edited easily.


Код:
#include <a_samp>
#include <dini>
#include <dudb>
new pname[MAX_PLAYER_NAME];
new banklogged[MAX_PLAYERS];
new bankmoney[MAX_PLAYERS];
new islogged[MAX_PLAYERS];

#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Blank Filterscript by your name here");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" Blank Gamemode by your name here");
	print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
  DisableInteriorEnterExits();
	CreatePickup(1239,1,-217.7988,979.1361,19.5038); // Department
	CreatePickup(1239,1,246.7975,62.8494,1003.6406);
	CreatePickup(1239,1,254.0610,73.9032,1003.6406);
	CreatePickup(1239,1,-181.1324,1034.7759,19.7422); // Supermarket
	CreatePickup(1239,1,-26.7067,-57.9067,1003.5469);
	CreatePickup(1239,1,-179.6478,1133.1523,19.7422); // Bank
 	CreatePickup(1239,1,2305.2908,-16.1280,26.7422);
 	CreatePickup(1239,1,2308.7920,-13.5103,26.7422);
 	CreatePickup(1239,1,-318.7509,1048.5924,20.3403); // Hospital
 	CreatePickup(1239,1,-53.8773,1189.0415,19.3594); // Restaurant
	AddPlayerClass(128,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0); // Civilian
	AddPlayerClass(129,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(130,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(131,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(132,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(133,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(157,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(158,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(159,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(160,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(196,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(197,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(198,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(199,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(161,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(162,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(200,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(201,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(202,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(31,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(32,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(33,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	AddPlayerClass(34,-207.5484,1119.1932,20.4297,272.3628,0,0,0,0,0,0);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerInterior(playerid,0);
	SetPlayerFacingAngle(playerid,92.3628);
	SetPlayerPos(playerid,1544.2264,-1631.9332,13.3828);
	SetPlayerCameraPos(playerid,1539.9740,-1632.0128,13.3828);
	SetPlayerCameraLookAt(playerid,1544.2264,-1631.9332,13.3828);
	return 1;
}

public OnPlayerConnect(playerid)
{
  SetPlayerMapIcon(playerid,1,-217.7988,979.1361,19.5038,30,0); // Department
  SetPlayerMapIcon(playerid,2,-179.6478,1133.1523,19.7422,52,0); // Bank
  SetPlayerMapIcon(playerid,3,-318.7509,1048.5924,20.3403,22,0); // Hospital
  SetPlayerMapIcon(playerid,4,-53.8773,1189.0415,19.3594,50,0); // Restaurant
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
  dini_IntSet(udb_encode(pname),"bankmoney",bankmoney[playerid]);
  islogged[playerid] = 0;
  banklogged[playerid] = 0;
	return 1;
}

public OnPlayerSpawn(playerid)
{
  SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,0);
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

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

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

public OnPlayerCommandText(playerid, cmdtext[])
{
  new cmd[256],idx,file[128],tmp[256],tmp2[256],tmp3[256],tmp4[256];
  cmd = strtok(cmdtext,idx);
  new string[128];
	if (strcmp("/registeraccount",cmdtext,true,10) == 0)
    {
    	new pincode;
    	new aname[MAX_PLAYER_NAME];
    	GetPlayerName(playerid,aname,sizeof(aname));
     	tmp = strtok(cmdtext,idx);
     	if(!strlen(tmp))
      	{
    		SendClientMessage(playerid,0xFF0000FF,"USAGE: /registeraccount (pincode)");
    	return 1;
     	}
     	pincode = strval(tmp);
     	format(file,sizeof(file),"%s (Bank).ini",aname);
    		if (!dini_Exists(file))
    		{
    		dini_Create(file);
    		dini_IntSet(file,"Pincode",udb_hash(tmp));
    		dini_IntSet(file,"Bank",0);
    		SendClientMessage(playerid,0xF5DEB3FF,"SERVER: You have registered a new bank account! You can now log in.");
    		return 1;
     	}
     	else
      	{
      	SendClientMessage(playerid,0xF5DEB3FF,"You already have a bank account!");
      	return 1;
      }
		}
	if (strcmp("/loginaccount",cmdtext,true,10) == 0)
    {
    	new pincode;
    	new aname[MAX_PLAYER_NAME];
    	GetPlayerName(playerid,aname,sizeof(aname));
     	tmp = strtok(cmdtext,idx);
     	if(banklogged[playerid] == 1)
      	{
      	SendClientMessage(playerid,0xF5DEB3FF,"You are already logged in!");
			return 1;
  			}
   		if(!strlen(tmp))
    	{
    	SendClientMessage(playerid,0xFF0000FF,"USAGE: /loginaccount (pincode)");
    	return 1;
     	}
     	pincode = strval(tmp);
     	format(file,sizeof(file),"%s (Bank).ini",aname);
      	tmp2 = dini_Get(file,"Pincode");
      if (udb_hash(tmp) != strval(tmp2))
      {
    		SendClientMessage(playerid,0xF5DEB3FF,"You have entered a wrong pincode!");
    	return 1;
     	}
     	SendClientMessage(playerid,0xF5DEB3FF,"You have logged in on your bank account!");
      	banklogged[playerid] = 1;
      return 1;
    }
	if(strcmp(cmd,"/deposit",true) == 0)
    {
    	new ammount;
    	new aname[MAX_PLAYER_NAME];
    	GetPlayerName(playerid,aname,sizeof(aname));
     	tmp = strtok(cmdtext,idx);
     	if(banklogged[playerid] == 0)
     	{
			SendClientMessage(playerid,0xF5DEB3FF,"You are not logged in on your bank account!");
			return 1;
			}
  			if(!strlen(tmp))
   		{
  			SendClientMessage(playerid,0xFF0000FF,"USAGE: /deposit (ammount)");
			return 1;
			}
  			ammount = strval(tmp);
  			format(file,sizeof(file),"%s (Bank).ini",aname);
   		new currentm = GetPlayerMoney(playerid);
    	if(currentm <= ammount)
    	{
    	SendClientMessage(playerid,0xF5DEB3FF,"You cannot deposit more money than you have!");
			return 1;
			}
  			if(PlayerToPoint(3,playerid,2308.7920,-13.5103,26.7422))
   		{
   		bankmoney[playerid] += ammount;
    		format(string, sizeof(string),"You have deposited $%d.00 to your bank account.",ammount);
    		SendClientMessage(playerid,0xF5DEB3FF,string);
    	GivePlayerMoney(playerid,-ammount);
     	return 1;
     	}
     	else
     	{
     	SendClientMessage(playerid,0xF5DEB3FF,"You are not in the bank!");
			return 1;
			}
    }
	if(strcmp(cmdtext,"/balance",true) == 0)
    {
    	if(banklogged[playerid] == 0)
     	{
     	SendClientMessage(playerid,0xF5DEB3FF,"You are not logged in into your bank account!");
			return 1;
  			}
   		if(PlayerToPoint(3,playerid,2308.7920,-13.5103,26.7422))
   		{
			format(string,sizeof(string),"You currently have $%d.00 in your bank account.",bankmoney[playerid]);
 			SendClientMessage(playerid,0xF5DEB3FF,string);
  		return 1;
   		}
    	else
     	{
     	SendClientMessage(playerid,0xF5DEB3FF,"You are not in the bank!");
			return 1;
			}
    }
	if(strcmp(cmd,"/withdraw",true) == 0)
    {
    	new wammount;
    	new aname[MAX_PLAYER_NAME];
    	GetPlayerName(playerid,aname,sizeof(aname));
     	tmp = strtok(cmdtext,idx);
     	if(banklogged[playerid] == 0)
      	{
      	SendClientMessage(playerid,0xF5DEB3FF,"You are not logged in into your bank account!");
			return 1;
  			}
			if(!strlen(tmp))
  			{
   		SendClientMessage(playerid,0xFF0000FF,"USAGE: /withdraw (ammount)");
			return 1;
  			}
   		wammount = strval(tmp);
   		format(file,sizeof(file),"%s (Bank).ini",aname);
   		new bank = bankmoney[playerid];
   		if(bank <= wammount-1)
    	{
    	SendClientMessage(playerid,0xF5DEB3FF,"You cannot withdraw more money than you have!");
			return 1;
  			}
   		if(PlayerToPoint(3,playerid,2308.7920,-13.5103,26.7422))
    		{
    		bankmoney[playerid] -= wammount;
    	format(string,sizeof(string),"You have withdrawed $%d.00 from your bank account.",wammount);
    	SendClientMessage(playerid,0xF5DEB3FF,string);
    	GivePlayerMoney(playerid,wammount);
     	return 1;
     	}
      	else
      {
      SendClientMessage(playerid,0xF5DEB3FF,"You are not in the bank!");
			return 1;
			}
		}
  if(strcmp(cmd,"/register",true) == 0)
		{
	  	new name[MAX_PLAYER_NAME];
	  	tmp3 = strtok(cmdtext,idx);
	  	GetPlayerName(playerid,name,sizeof(name));
	  	if(strlen(tmp3) == 0) return SendClientMessage(playerid,0xFF0000FF,"USAGE: /register (password)");
	  	format(file,sizeof(file),"%s (Server).ini",name);
	  	if(!fexist(file))
				{
  				dini_Create(file);
		  	dini_IntSet(file,"Password",udb_hash(tmp3));
		  	dini_IntSet(file,"Admin",0);
		  	dini_IntSet(file,"Cash",0);
			  SendClientMessage(playerid,0xF5DEB3FF,"SERVER: You have registered a new account! You can now log in.");
			  GivePlayerMoney(playerid,200);
			  GetPlayerName(playerid,name,sizeof(name));
				}
			else
				{
			  SendClientMessage(playerid,0xF5DEB3FF,"SERVER: Account already found in database!");
				}
			return 1;
		}
  if(strcmp(cmd,"/login",true) == 0)
		{
			new ammount;
			new playername[24];
	  	tmp3 = strtok(cmdtext,idx);
	  	if(strlen(tmp3) == 0) return SendClientMessage(playerid,0xFF0000FF,"USAGE: /login (password)");
			new name[MAX_PLAYER_NAME];
			if(islogged[playerid] == 1)
				{
				SendClientMessage(playerid,0xF5DEB3FF,"You are already logged in!");
				return 1;
				}
			else
				{
				GetPlayerName(playerid,name,sizeof(name));
				format(file,sizeof(file),"%s (Server).ini",name);
				if(fexist(file))
				{
		  	tmp4 = dini_Get(file,"Password");
			 	if(udb_hash(tmp3) != strval(tmp4))
					{
				  SendClientMessage(playerid,0xF5DEB3FF,"You have entered a wrong password!");
	 			  GetPlayerName(playerid,playername,sizeof(playername));
					}
				else
					{
				 	islogged[playerid] = 1;
				 	ammount = strval(tmp3);
				 	SetPlayerMoney(playerid,ammount);
					SendClientMessage(playerid,0xF5DEB3FF,"SERVER: You have logged in on your account!");
					}
				}
			}
			return 1;
		}
	if(strcmp(cmdtext,"/enter",true) == 0)
		{
			if(PlayerToPoint(3,playerid,-217.7988,979.1361,19.5038)) // Department
			{
      SetPlayerPos(playerid,246.7975,62.8494,1003.6406);
			SetPlayerInterior(playerid,6);
			}
			if(PlayerToPoint(3,playerid,-179.6478,1133.1523,19.7422)) // Bank
			{
      SetPlayerPos(playerid,2305.2908,-16.1280,26.7422);
			SetPlayerInterior(playerid,0);
			}
			if(PlayerToPoint(3,playerid,-181.1324,1034.7759,19.7422)) // Supermarket
 			{
      SetPlayerPos(playerid,-26.7067,-57.9067,1003.5469);
			SetPlayerInterior(playerid,6);
			}
			return 1;
		}
  if(strcmp(cmdtext,"/exit",true) == 0)
		{
			if(PlayerToPoint(3,playerid,246.7975,62.8494,1003.6406)) // Department
 			{
      SetPlayerPos(playerid,-217.7988,979.1361,19.5038);
			SetPlayerInterior(playerid,0);
			}
			if(PlayerToPoint(3,playerid,2305.2908,-16.1280,26.7422)) // Bank
 			{
      SetPlayerPos(playerid,-179.6478,1133.1523,19.7422);
			SetPlayerInterior(playerid,0);
			}
			if(PlayerToPoint(3,playerid,-26.7067,-57.9067,1003.5469)) // Supermarket
 			{
      SetPlayerPos(playerid,-181.1324,1034.7759,19.7422);
			SetPlayerInterior(playerid,0);
			}
			return 1;
		}
  if(!strcmp(cmdtext,"/me",true,3))
  	{
    	if(!cmdtext[3])return SendClientMessage(playerid,0xFF0000FF,"USAGE: /me (action)");
    	new str[128];
    	GetPlayerName(playerid,str,sizeof(str));
    	format(str,sizeof(str),"* %s %s",str,cmdtext[4]);
    	SendClientMessageToAll(0xF5DEB3FF,str);
			return 1;
  	}
 	if(!strcmp(cmdtext,"/do",true,3))
  	{
  	  if(!cmdtext[3])return SendClientMessage(playerid,0xFF0000FF,"USAGE: /do (action)");
  	  new str[128];
  	  GetPlayerName(playerid,str,sizeof(str));
  	  format(str,sizeof(str),"* %s (%s)",cmdtext[4],str);
  	  SendClientMessageToAll(0xF5DEB3FF,str);
  	  return 1;
		}
	if(strcmp(cmdtext,"/onduty",true) == 0)
  	{
    	new str[128];
  	  GetPlayerName(playerid,str,sizeof(str));
  	  format(str,sizeof(str),"* Deputy sheriff %s is now on duty.",str);
  	  SendClientMessageToAll(0xF5DEB3FF,str);
 			return 1;
  	}
  if(strcmp(cmdtext,"/offduty",true) == 0)
  	{
    	new str[128];
  	  GetPlayerName(playerid,str,sizeof(str));
  	  format(str,sizeof(str),"* Deputy sheriff %s is no longer on duty.",str);
  	  SendClientMessageToAll(0xF5DEB3FF,str);
 			return 1;
  	}
  if(strcmp(cmdtext,"/uniform",true) == 0)
  	{
   		if(PlayerToPoint(3,playerid,254.0610,73.9032,1003.6406))
    		{
			SetPlayerSkin(playerid,288);
			GivePlayerWeapon(playerid,22,17);
		 	return 1;
			}
			else
  			{
		  SendClientMessage(playerid,0xF5DEB3FF,"You are not in the locker room!");
	   	return 1;
   		}
	  }
  	return 0;
}

stock PlayerToPoint(Float:radi,playerid,Float:x,Float:y,Float:z)
{
  new Float:oldposx,Float:oldposy,Float:oldposz;
  new Float:tempposx,Float:tempposy,Float:tempposz;
  GetPlayerPos(playerid,oldposx,oldposy,oldposz);
  tempposx = (oldposx -x);
  tempposy = (oldposy -y);
  tempposz = (oldposz -z);
  if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  {
    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[])
{
	return 1;
}

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

oh you changed the question
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)