SA-MP Forums Archive
[Ajuda] Problema Com PayDay - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Problema Com PayDay (/showthread.php?tid=471154)



Problema Com PayDay - LucasFoxY - 21.10.2013

bom, eu peguei um GM, e Estou Modificando Ele totalmente, nao vai ser da net estou fazendo ele mais ou menos 1 mes, sу que tem um Problema o Sistema de PayDay nao funciona automaticamente tem que usar o cmd /payday, poderiam me ajudar a fazer ele funcionar sem precisar usar o comando?

Код:
public SyncTime()
{
	new string[64];
	new tmphour;
	new tmpminute;
	new tmpsecond;
	gettime(tmphour, tmpminute, tmpsecond);
	Fixhour(tmphour);
	tmphour = shifthour;
	if ((tmphour > ghour) || (tmphour == 0 && ghour == 23))
	{
		format(string, sizeof(string), "[BFS]: Agora sгo exatamente %d:00 em Los Santos",shifthour);
		BroadCast(COLOR_GRAD1,string);
		ghour = tmphour;
		PayDay();
		SetHora();
	}
}
Код:
public Production()
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i))
		{
		    if(PlayerInfo[i][pFishes] >= 5) { if(FishCornt[i] >= 3) { PlayerInfo[i][pFishes] = 0; } else { FishCornt[i] += 1; } }
		    if(PlayerDrunk[i] > 0) { PlayerDrunk[i] = 0; PlayerDrunkTime[i] = 0; SetPlayerDrunkLevel (i, 0); GameTextForPlayer(i, "~w~O efeito da bebida~n~~b~acabou", 3500, 1); }
 		    if(PlayerInfo[i][pPayDay] < 6) { PlayerInfo[i][pPayDay] += 1; } //+ 5 min to PayDay anti-abuse
		}
	}
}
Код:
public PayDay()
{
    new string[128];
	new Conta,interest;
	new rent = 0;
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerConnected(i) && !IsPlayerNPC(i))
		{
		    if(PlayerInfo[i][pLevel] > 0)
		    {
			    if(MoneyMessage[i]==1)
				{
				    SendClientMessage(i, COLOR_LIGHTRED, "Vocк nгo pagou a sua dнvida e foi preso.");
				    GameTextForPlayer(i, "~r~Preso!", 2000, 1);
				    SetPlayerInterior(i, 6);
			   		SetPlayerPos(i, 264.6288,77.5742,1001.0391);
		            PlayerInfo[i][pJailed] = 1;
		            ResetPlayerWeaponsEx(i);
                    WantedPoints[i] = 0;
      				SetPlayerWantedLevel(i, 0);
					PlayerInfo[i][pJailTime] = 600;
					format(gstring, sizeof(gstring), "Vocк foi preso por %d segundos.", PlayerInfo[i][pJailTime]);
					SendClientMessage(i, COLOR_LIGHTBLUE, gstring);
				}
				new playername2[MAX_PLAYER_NAME];
				GetPlayerName(i, playername2, sizeof(playername2));
				Conta = PlayerInfo[i][pConta];
				new key = PlayerInfo[i][pPHousekey];
				if(key != 255)
				{
					rent = HouseInfo[key][hRent];
					if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
					{
						rent = 0;
					}
					else if(rent > GetPlayerMoneyEx(i))
					{
						PlayerInfo[i][pPHousekey] = 255;
						SendClientMessage(i, COLOR_WHITE, "Vocк foi expulso(a).");
						rent = 0;
					}
					HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
				}
				new tmpintrate;
			    if(PlayerInfo[i][pVIP] == 1) { tmpintrate = 3; }
			    else if(PlayerInfo[i][pVIP] == 2) { tmpintrate = 4; }
				else { tmpintrate = 1; }
				if(PlayerInfo[i][pPayDay] >= 3)
				{
				    Tax += TaxValue;//Shorld work for every player On-Line
				    PlayerInfo[i][pConta] -= TaxValue;
					new checks = PlayerInfo[i][pSalario];
				    new ebill = (PlayerInfo[i][pConta]/15000)*(PlayerInfo[i][pLevel]);
                    new wbill = (PlayerInfo[i][pConta]/25000)*(PlayerInfo[i][pLevel]);
				    ConsumingMoney[i] = 1;
				    GivePlayerMoneyEx(i, checks);
				    if(PlayerInfo[i][pConta] > 0)
				    {
				    	PlayerInfo[i][pConta] -= ebill;
				    	SBizzInfo[4][sbTill] += ebill;
         				PlayerInfo[i][pConta] -= wbill;
				    	SBizzInfo[4][sbTill] += wbill;
					}
					else
					{
					    ebill = 0;
					}
					interest = (PlayerInfo[i][pConta]/1000)*(tmpintrate);
					PlayerInfo[i][pExp]++;
					PlayerPlayMusic(i);
					PlayerInfo[i][pConta] = Conta+interest;
					SendClientMessage(i, COLOR_GRAD2, "{ADFF2F}( • • • • • • • • • • • • • • • • • •[ {69C7E4}Pagamento{ADFF2F} ]• • • • • • • • • • • • • • • • • • )");
					format(gstring, sizeof(gstring), "  Salбrio: R$%d   Imposto: -R$%d", checks, TaxValue);
					SendClientMessage(i, COLOR_GRAD1, gstring);
					SendClientMessage(i, COLOR_GRAD1, "  Mйdico: R$300");
					if(PlayerInfo[i][pPHousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
					{
					    format(gstring, sizeof(gstring), "  Energia: -R$%d", ebill);
						SendClientMessage(i, COLOR_GRAD1, gstring);
      					format(gstring, sizeof(gstring), "  Бgua: -R$%d", wbill);
						SendClientMessage(i, COLOR_GRAD1, gstring);
					}
					format(gstring, sizeof(gstring), "  Banco: R$%d", Conta);
					SendClientMessage(i, COLOR_GRAD1, gstring);
					format(gstring, sizeof(gstring), "  Juros: 0.%d  por cento",tmpintrate);
					SendClientMessage(i, COLOR_GRAD2, gstring);
					SendClientMessage(i, COLOR_GRAD2, "{ADFF2F}( • • • • • • • • • • • • • • • • • •[ {69C7E4}BFS{ADFF2F} ]• • • • • • • • • • • • • • • • • • )");
					format(gstring, sizeof(gstring), "  Novo extrato: R$%d", PlayerInfo[i][pConta]);
					SendClientMessage(i, COLOR_GRAD5, gstring);
					format(gstring, sizeof(gstring), "  Aluguel: -R$%d", rent);
					SendClientMessage(i, COLOR_GRAD5, gstring);
					format(gstring, sizeof(gstring), "~w~Salario");
					GameTextForPlayer(i, gstring, 5000, 1);
					GivePlayerMoneyEx(i,- 300);
					OnPlayerSave(i);
					rent = 0;
					PlayerInfo[i][pPoint] += numplayers;
                    format(string, sizeof(string), "{ff9600}Vocк ganhou {fff000}%d Cash {ff9600}por ter {fff000}%d {ff9600}Jogadores Online", numplayers,numplayers);
                    SendClientMessage(i, COLOR_GRAD5, string);
					PlayerInfo[i][pPayDay] = 0;
					PassadoUmDia++;
					PlayerInfo[i][pSalario] = 0;
					PlayerInfo[i][pCaixinha] = 0;
					PlayerInfo[i][pConnectTime] += 1;
					pban[i] = 0;
					if(PlayerInfo[i][pVIP] == 1)
					{
						PlayerInfo[i][pExp] += 2;
						GivePlayerMoneyEx(i,20000);
						SendClientMessage(i,COLOR_LIGHTPINK,"Vocк recebeu 20k de bфnus por ser vip.");
					}
					else if(PlayerInfo[i][pVIP] == 2)
					{
						PlayerInfo[i][pExp] += 4;
						GivePlayerMoneyEx(i,40000);
						SendClientMessage(i,COLOR_LIGHTPINK,"Vocк recebeu 40k de bфnus por ser super vip.");
					}
					else if(PlayerInfo[i][pTimeVIP] >= 1)
					{
						PlayerInfo[i][pExp] += 1;
						GivePlayerMoneyEx(i,15000);
						SendClientMessage(i,COLOR_LIGHTPINK,"Vocк recebeu 15k de bфnus por ser vip Timer.");
					}
					else if(PlayerInfo[i][pSocio] >= 1)
					{
						PlayerInfo[i][pExp] += 6;
						GivePlayerMoneyEx(i,50000);
						SendClientMessage(i,COLOR_LIGHTPINK,"Vocк recebeu 50k de bфnus por ser socio.");
					}
					if(PlayerInfo[i][pEmprego] > 0)
	    			{
	    	    		if(PlayerInfo[i][pContractTime] < 25)
	    	    		{
							PlayerInfo[i][pContractTime] ++;
						}
	    			}
				}
				else
				{
				    SendClientMessage(i, COLOR_LIGHTRED, "* Vocк nгo jogou tempo suficiente para receber salбrio!.");
				}
			}
		}
		new lolbagui;
		lolbagui = PlayerInfo[i][pExp];
		new nxtlevel = PlayerInfo[i][pLevel]+1;
		if(lolbagui >= nxtlevel*levelexp)
		{
		    GameTextForPlayer(i, "~g~Respeito no Maximo!~n~~r~Digite /comprarnivel!", 5000, 1);
		}
	}
	if(PassadoUmDia >= 1)//DiaPassado
	{
	}
	OOCNews(COLOR_WHITE, "(Loteria): Ja comecou a loteria.");
	new rand = random(80);
	if(rand < 77) { rand += 3; }
	Lotto(rand);
	Checkprop();
	//return 1;
}
Obrigado desde jб


Re: Problema Com PayDay - bruxo00 - 21.10.2013

Se vai mudar o gm "todo" porque nгo cria um do 0 e jб nгo tem problemas desses?

Se vocк nгo sabe fazer isso, duvido que consiga editar alguma coisa no GM. Ainda por cima estб a querer editar um RPG/RP. Se quer aprender assim (nгo recomendo), edite antes um Deathmatch ou Capture The Flag, й mais simples, logo vai entender melhor. Quando souber a lуgica, aн sim, tente decifrar esse GM.

Btw, SetTimer


Re: Problema Com PayDay - PT - 21.10.2013

Coloca um Settimer em OnGameModeInt

P.S; https://sampwiki.blast.hk/wiki/SetTimer