Alguém teria um sistema de pagamento com textdraw?
Exemplo: O jogador logava e começava a contar o tempo, tipo: "30 minutos". Ao final dos 30 minutos, ele receberia o pagamento. Se ele saísse faltando 10 minutos para terminar a contagem, quando ele voltasse, contava a partir dos 10 minutos que estavam faltando.
Esse é o meu sistema atual:
Essa é a minha variável:
Se alguém puder me ajudar, ficaria muito agradecido. Obrigado.
Exemplo: O jogador logava e começava a contar o tempo, tipo: "30 minutos". Ao final dos 30 minutos, ele receberia o pagamento. Se ele saísse faltando 10 minutos para terminar a contagem, quando ele voltasse, contava a partir dos 10 minutos que estavam faltando.
Esse é o meu sistema atual:
Code:
public PayDay()
{
new Conta;
new rent = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
if(gPlayerLogged[i] > 0)
{
if(MoneyMessage[i]==1)
{
SetPlayerCriminal(i,255, "Você não pagou sua divida com o banco e foi preso.");
}
new playername2[MAX_PLAYER_NAME];
GetPlayerName(i, playername2, sizeof(playername2));
Conta = PlayerInfo[i][pConta];
new key = PlayerInfo[i][pPHousekey];
if(key != 999)
{
rent = CasaInfo[key][hRent];
if(strcmp(playername2, CasaInfo[key][hOwner], true) == 0)
{
rent = 0;
}
else if(rent > GetPlayerMoneyEx(i))
{
PlayerInfo[i][pPHousekey] = 999;
SendClientMessage(i, COLOR_WHITE, "Você foi expulso(a).");
rent = 0;
}
CasaInfo[key][hCofre] = CasaInfo[key][hCofre]+rent;
}
if(PlayerInfo[i][pTiroteio] == 1)
{
SetPlayerWeather(i, 42);
}
if(PlayerInfo[i][pTiroteio] == 2)
{
SetPlayerWeather(i, 42);
}
if(PlayerInfo[i][pValidadeCarro] > 0)
{
if(PlayerInfo[i][pValidadeCarro] == 1)
{
PlayerInfo[i][pCarLic] = 0;
SendClientMessage(i, COLOR_LIGHTRED, "A Sua licença de carro passou da validade, você precisa renová-la!");
}
PlayerInfo[i][pValidadeCarro] -= 1;
}
if(PlayerInfo[i][pValidadeMoto] > 0)
{
if(PlayerInfo[i][pValidadeMoto] == 1)
{
PlayerInfo[i][pMotoLic] = 0;
SendClientMessage(i, COLOR_LIGHTRED, "A Sua licença de moto passou da validade, você precisa renová-la!");
}
PlayerInfo[i][pValidadeMoto] -= 1;
}
if(PlayerInfo[i][pValidadeBarco] > 0)
{
if(PlayerInfo[i][pValidadeBarco] == 1)
{
PlayerInfo[i][pBoatLic] = 0;
SendClientMessage(i, COLOR_LIGHTRED, "A Sua licença de navegação passou da validade, você precisa renová-la!");
}
PlayerInfo[i][pValidadeBarco] -= 1;
}
if(PlayerInfo[i][pValidadeAviao] > 0)
{
if(PlayerInfo[i][pValidadeAviao] == 1)
{
PlayerInfo[i][pFlyLic] = 0;
SendClientMessage(i, COLOR_LIGHTRED, "A Sua licença de voo passou da validade, você precisa renová-la!");
}
PlayerInfo[i][pValidadeAviao] -= 1;
}
if(PlayerInfo[i][pValidadeOnibus] > 0)
{
if(PlayerInfo[i][pValidadeOnibus] == 1)
{
PlayerInfo[i][pCamOniLic] = 0;
SendClientMessage(i, COLOR_LIGHTRED, "A Sua licença de caminhao/onibus passou da validade, você precisa renová-la!");
}
PlayerInfo[i][pValidadeOnibus] -= 1;
}
if(PlayerInfo[i][pBateria] > 0)
{
if(PlayerInfo[i][pBateria] == 1)
{
SendClientMessage(i, COLOR_LIGHTRED, "A Bateria do seu celular esgotou, compre outra na 24-7!");
PlayerInfo[i][pBateria] = 0;
}
else
{
PlayerInfo[i][pBateria] -= 1;
}
}
new tmpintrate;
if(PlayerInfo[i][pVIP] == 1) { tmpintrate = 2; }
else if(PlayerInfo[i][pVIP] == 2) { tmpintrate = 3; }
else if(PlayerInfo[i][pVIP] == 3) { tmpintrate = 4; }
else { tmpintrate = 1; }
if(PlayerInfo[i][pPayDay] >= 1)
{
Tax += TaxValue;//Shorld work for every player online
PlayerInfo[i][pConta] -= TaxValue;
new checks = PlayerInfo[i][pSalario];
ConsumingMoney[i] = 1;
if(PlayerInfo[i][pSocio] == 1)
{
PlayerInfo[i][pExp]+= 4;
}
else if(PlayerInfo[i][pSocio] == 2)
{
PlayerInfo[i][pExp]+= 6;
}
else if(PlayerInfo[i][pSocio] == 3)
{
PlayerInfo[i][pExp]+= 10;
}
else if(PlayerInfo[i][pSocio] == 0)
{
PlayerInfo[i][pExp]++;
}
PlayerPlayMusic(i);
PlayerInfo[i][pConta] = Conta+checks;
SendClientMessage(i, COLOR_WHITE, "|_B_V_P_|Pagamento|_B_V_P_|");
format(gstring, sizeof(gstring), "Salário:{00FF00}R$[%d]{F2F2F2}| Imposto:{ff0000}[-R$%d]",checks,TaxValue);
SendClientMessage(i, COLOR_WHITE, gstring);
if(PlayerInfo[i][pPHousekey] != 999 || PlayerInfo[i][pPbiskey] != 257)
{
format(gstring, sizeof(gstring), "{F2F2F2}Energia:{ff0000}[-R$0] | {F2F2F2}Água:{ff0000}[-R$0]");
SendClientMessage(i, COLOR_GRAD1, gstring);
}
format(gstring, sizeof(gstring), "| Juros Bancários {00FF00}[0.%d]",tmpintrate);
SendClientMessage(i, COLOR_WHITE, gstring);
format(gstring, sizeof(gstring), "Saldo Bancário Anterior:{ff0000}R$[%d] {F2F2F2}| Saldo Bancário Atual:{00FF00}R$[%d]", Conta,PlayerInfo[i][pConta]);
SendClientMessage(i, COLOR_WHITE, gstring);
PlayerPlaySound(i, 1185, 0.0, 0.0, 0.0);
format(gstring, sizeof(gstring), "~y~-==- ~g~ BRV Salario ~y~ -==-");
GameTextForPlayer(i, gstring, 5000, 1);
OnPlayerSave(i);
rent = 0;
pban[i] = 0;
PlayerInfo[i][pCaixinha] = 0;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pSalario] = 0;
PlayerInfo[i][pConnectTime] += 1;
if(PlayerInfo[i][pEmprego] > 0)
{
if(PlayerInfo[i][pContractTime] <= 0)
{
PlayerInfo[i][pContractTime] ++;
}
}
}
else
{
SendClientMessage(i, COLOR_LIGHTRED, "Salário recebido. Espere mais 30 minutos para o próximo.");
}
if(PlayerInfo[i][pVIP] > 0)
{
if(PlayerInfo[i][pDiaVIP] <= 0)
{
PlayerInfo[i][pVIP] = 0;
if(PlayerInfo[i][pSocio] > 0)
{
PlayerInfo[i][pSocio] = 0;
SendClientMessage(i, COLOR_RED, "Seus dias de vip/sócio acabaram e seus status de vip/sócio foram retirados !");
}
else
{
SendClientMessage(i, COLOR_RED, "Seus dias de vip acabaram e seus status de vip foram retirados !");
}
SendClientMessage(i, COLOR_YELLOW, "O Seu título foi retirado automaticamente, digite /titulos !");
}
}
}
}
new lolbagui;
lolbagui = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
if(lolbagui >= nxtlevel*levelexp)
{
ShowPlayerDialog(i, 49, DIALOG_STYLE_MSGBOX, "Respeito Adquirido!", "Você já pode passar para o próximo nível !\n\nVocê deseja comprar agora o próximo nivel?", "Sim", "Não");
}
}
new rand = random(99);
if(rand < 96) { rand += 3; }
Lotto(rand);
}
Code:
PayDay