[Ajuda] Sistema de ouros bugado
#1

Eaн pessoal beleza? bom estou aqui pedindo ajuda para vocкs porque derrepente alguns players ficam com 1019 1020 de ouros do nada isso um dia aconteceu comigo achei que era normal mais й com todos nгo sei onde estб o problema jб procurei no sistema todo e nada de resolver me ajudem ae PF


Код:
public OtherTime()

if(PlayerInfo[i][pConta] > 999999999 && ComecouConversao[i] == 0)
			{
				TempoCheckOuros[i] = SetTimerEx("CheckOuros", 1000, 1, "i", i);
				ComecouConversao[i] = 1;
				IniciouOuros[i] = 0;
				TerminouOuros[i] = 0;
			}
			if(GetPlayerMoney(i) > 9999999 && ComecouConversao2[i] == 0)
			{
				TempoCheckOuros2[i] = SetTimerEx("CheckCashOuros", 1000, 1, "i", i);
				ComecouConversao2[i] = 1;
				IniciouOuros2[i] = 0;
				TerminouOuros2[i] = 0;
			}
Код:
On PlayerRegister

format(var, 32, "Ouros=%d\n",PlayerInfo[playerid][pOuros]);fwrite(hFile, var);
Код:
OnPlayerLogin

PlayerInfo[playerid][pOuros] = DOF2_GetInt(string2, "Ouros");

if(PlayerInfo[playerid][pConta] >= 999999999)
	{
	    TantoOuros[playerid] = 0;
		for(new i = 0; i < 10000; i++)
		{
		    if(PlayerInfo[playerid][pConta] > 999999991)
		    {
		        TantoOuros[playerid] += 1;
		        PlayerInfo[playerid][pConta] -= 100000;
		        PlayerInfo[playerid][pOuros] += 1;
			}
		}
		format(gstring, sizeof(gstring), "Vocк relogou com mais de 1kkk no banco e foi convertido o resto para %d ouros.", TantoOuros[playerid]);
		SendClientMessage(playerid, COLOR_YELLOW, gstring);
	}
Код:
OnPlayerSave

format(var, 32, "Ouros=%d\n",PlayerInfo[playerid][pOuros]);fwrite(hFile, var);
Код:
forward CheckOuros(playerid);
public CheckOuros(playerid) 
{
	if(PlayerInfo[playerid][pConta] > 999999999)
	{
		PlayerInfo[playerid][pConta] -= 500000;
	   	PlayerInfo[playerid][pOuros] += 5;
	   	if(IniciouOuros[playerid] == 0)
	   	{
	   		SendClientMessage(playerid,COLOR_BRANCOM,"Vocк estб com mais de 1kkk em sua conta bancбria, e iniciou uma conversгo do resto para OUROS!");
	   		IniciouOuros[playerid] = 1;
		}
	}
	if(PlayerInfo[playerid][pConta] < 999990999)
	{
 		if(TerminouOuros[playerid] == 0)
   		{
			SendClientMessage(playerid,COLOR_BRANCOM,"A conversгo do seu dinheiro no banco acima de 1kkk para OUROS terminou. USE: /ajudaouros");
			SendClientMessage(playerid,COLOR_LIGHTRED,"Tome cuidado para que seu dinheiro no banco fique abaixo de 1kkk(R$1000000000) evitando BUGs.");
            TerminouOuros[playerid] = 1;
	   		ComecouConversao[playerid] = 0;
	   		KillTimer(TempoCheckOuros[playerid]);
		}
	}
	return true;
}

forward CheckCashOuros(playerid);
public CheckCashOuros(playerid)
{
	if(GetPlayerMoney(playerid) > 9999998)
	{
		GivePlayerMoney(playerid, -100000);
	   	PlayerInfo[playerid][pOuros] += 1;
	   	if(IniciouOuros2[playerid] == 0)
	   	{
	   		SendClientMessage(playerid,COLOR_BRANCOM,"Vocк estб com mais de 10kk(R$10000000) em mгos, e iniciou uma conversгo do resto para OUROS!");
	   		IniciouOuros2[playerid] = 1;
		}
	}
	if(GetPlayerMoney(playerid) < 9999999)
	{
 		if(TerminouOuros2[playerid] == 0)
   		{
			SendClientMessage(playerid,COLOR_BRANCOM,"A conversгo do seu dinheiro em mгos acima de 10kk para OUROS terminou. USE: /ajudaouros");
			SendClientMessage(playerid,COLOR_DBLUE,"Tome cuidado para que seu dinheiro fique abaixo de 10kk(R$10000000) evitando BUGs.");
            TerminouOuros2[playerid] = 1;
	   		ComecouConversao2[playerid] = 0;
	   		KillTimer(TempoCheckOuros2[playerid]);
		}
	}
	return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)