[Ajuda] Sistema de PayDay
#1

Peguei um sistema de PayDay de uma GM, e daн quero que ele seja um pouco diferente, bom... Jб fiz algumas mudanзas, porйm nгo consegui fazer o sistema que que queria...

Eu quero que ele seja a cada uma hora na vida real...

Exemplo:

Quando bater 13:02 da tarde, aн sai o PayDay...

O que estб na GM й de uma em uma hora apуs a GM ter iniciado, quero que fique da forma que falei antes...

Aqui estб a public PayDay;

Код:
forward PayDay();
public PayDay()
{
	new string[350],horas,minutos,segundos,string2[350],string3[350];
	gettime(horas,minutos,segundos);
	//SetWorldTime(horas);
	PayDayLeft = 60-minutos;
    new suma,intereses,sumat;
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(JugadorLogeado[i] == 1)
		{
			if(GetTickCount() - TiempoPDS[i] < 1200000) return SCM(i,COR_VERDE,"Vocк nгo jogou tempo susficiente para receber seu pagamento diario");
			new paga = PlayerInfo[i][pScore]*100+50;

			if(PlayerInfo[i][vip] == 1)
			{
				intereses = PlayerInfo[i][pBanco]/500;
				if(intereses > 4000) { intereses = 4000; }
			}
			else
			{
				intereses = PlayerInfo[i][pBanco]/1000;
				if(intereses > 1500){ intereses = 1500; }
			}
			SendClientMessage(i, COR_BRANCO, "{F0F0F0}/_____________ RESUMO DE SUA CONTA _____________/");
			if(PlayerInfo[i][pRol] == 1)
			{
				format(string2, sizeof(string2), " Pagamento por servir a Lei: {00CC00}$3000");
				SendClientMessage(i, -1,string2);
				sumat=sumat+3000;
			}
			if(suma >= 0)
			{
				format(string3, sizeof(string3), " Pagamento diбrio: {00CC00}$%d {FFFFFF} | Total: {00CC00}$%d", paga,suma);
				SendClientMessage(i, -1,string3);
				format(string2, sizeof(string2), " Saldo Bancario: {00CC00}$%d{FFFFFF} | Juros (interesses): {00CC00}$%d",PlayerInfo[i][pBanco]+suma, intereses);
				SendClientMessage(i, -1,string2);
			}
			else if(suma < 0)
			{
				format(string3, sizeof(string3), " Pagamento diбrio: {00CC00}$%d | Total: {FF3300}$%d", paga,suma);
				SendClientMessage(i, -1,string3);
				format(string2, sizeof(string2), " Saldo Bancario: {00CC00}$%d{FFFFFF} | Juros (interesses): {00CC00}$%d",PlayerInfo[i][pBanco]-suma, intereses);
				SendClientMessage(i, -1,string2);
			}
			SendClientMessage(i, COR_BRANCO, "{F0F0F0}/________________ FIM DO RESUMO ________________/");
			PlayerInfo[i][pBanco] += sumat;
			TiempoPDS[i] = GetTickCount();
			if(PlayerInfo[i][pExperiencia] < PlayerInfo[i][pNivelExp])
			{
				PlayerInfo[i][pExperiencia]++;
				SetProgressBarValue(XP[i],PlayerInfo[i][pExperiencia]);
				UpdateProgressBar(XP[i],i);
			}
		}
	}
	return 1;
}
Reply
#2

PHP код:
forward PayDay();
public 
PayDay()
{
    new 
string[350],horas,minutos,segundos,string2[350],string3[350];
    
gettime(horas,minutos,segundos);
    
//SetWorldTime(horas);
    
PayDayLeft 35-minutos;
    new 
suma,intereses,sumat;
    for(new 
0MAX_PLAYERSi++)
    {
        if(
JugadorLogeado[i] == 1)
        {
            if(
GetTickCount() - TiempoPDS[i] < 1200000) return SCM(i,COR_VERDE,"Vocк nгo jogou tempo susficiente para receber seu pagamento diario");
            new 
paga PlayerInfo[i][pScore]*100+50;

            if(
PlayerInfo[i][vip] == 1)
            {
                
intereses PlayerInfo[i][pBanco]/500;
                if(
intereses 4000) { intereses 4000; }
            }
            else
            {
                
intereses PlayerInfo[i][pBanco]/1000;
                if(
intereses 1500){ intereses 1500; }
            }
            
SendClientMessage(iCOR_BRANCO"{F0F0F0}/_____________ RESUMO DE SUA CONTA _____________/");
            if(
PlayerInfo[i][pRol] == 1)
            {
                
format(string2sizeof(string2), " Pagamento por servir a Lei: {00CC00}$3000");
                
SendClientMessage(i, -1,string2);
                
sumat=sumat+3000;
            }
            if(
suma >= 0)
            {
                
format(string3sizeof(string3), " Pagamento diбrio: {00CC00}$%d {FFFFFF} | Total: {00CC00}$%d"paga,suma);
                
SendClientMessage(i, -1,string3);
                
format(string2sizeof(string2), " Saldo Bancario: {00CC00}$%d{FFFFFF} | Juros (interesses): {00CC00}$%d",PlayerInfo[i][pBanco]+sumaintereses);
                
SendClientMessage(i, -1,string2);
            }
            else if(
suma 0)
            {
                
format(string3sizeof(string3), " Pagamento diбrio: {00CC00}$%d | Total: {FF3300}$%d"paga,suma);
                
SendClientMessage(i, -1,string3);
                
format(string2sizeof(string2), " Saldo Bancario: {00CC00}$%d{FFFFFF} | Juros (interesses): {00CC00}$%d",PlayerInfo[i][pBanco]-sumaintereses);
                
SendClientMessage(i, -1,string2);
            }
            
SendClientMessage(iCOR_BRANCO"{F0F0F0}/________________ FIM DO RESUMO ________________/");
            
PlayerInfo[i][pBanco] += sumat;
            
TiempoPDS[i] = GetTickCount();
            if(
PlayerInfo[i][pExperiencia] < PlayerInfo[i][pNivelExp])
            {
                
PlayerInfo[i][pExperiencia]++;
                
SetProgressBarValue(XP[i],PlayerInfo[i][pExperiencia]);
                
UpdateProgressBar(XP[i],i);
            }
        }
    }
    return 
1;

Reply
#3

13:02 na vida real ou no servidor?
Reply
#4

Na vida real, porйm o servidor terб a mesma hora da vida real.
Reply
#5

antes do

Quote:

for(new i = 0; i < MAX_PLAYERS; i++)
{
if(JugadorLogeado[i] == 1)
{

coloque:

Quote:

if(horas == 13 && minutos == 2)
{

vocк tambйm deverб fazer um timer global de 1 segundo verificando o payday ou outra verificaзгo que seja constante.
Reply
#6

Mano, eu fiz isso, mais nгo funcionou, aparte do horas == 13|

Eu removi, e deixei sу os minutos, porque quero toda hora:02 tenha, porйm tambйm nгo funcionou.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)