PayDay. -
dudu_Insane - 03.12.2014
Bom, eu queria ajuda com um sistema, de payday o seguinte, o cara, tem que ficar, 1 hora online, quando ele sair do jogo pausar a contagem quando ele entrar denovo in game continuar, quando ele receber o payday so aparecer pra ele, e uma TextDraw contando quantos minutos falta para ele pegar o payday.Se Algum Poder me ajudar agradeceria muito, obrigado desde jб.
Code ..
Код:
public PayDay()
{
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 if(PlayerInfo[i][pVIP] == 3) { tmpintrate = 6; }
else if(PlayerInfo[i][pVIP] == 4) { tmpintrate = 8; }
else if(PlayerInfo[i][pVIP] == 5) { tmpintrate = 10; }
else { tmpintrate = 1; }
if(PlayerInfo[i][pPayDay] >= 60)
{
Tax += TaxValue;//Shorld work for every player online
PlayerInfo[i][pConta] -= TaxValue;
new checks = PlayerInfo[i][pSalario];
new ebill = (PlayerInfo[i][pConta]/30000)*(PlayerInfo[i][pLevel]);
ConsumingMoney[i] = 1;
GivePlayerMoneyEx(i, checks);
if(PlayerInfo[i][pConta] > 0)
{
PlayerInfo[i][pConta] -= ebill;
SBizzInfo[4][sbTill] += ebill;
}
else
{
ebill = 0;
}
interest = (PlayerInfo[i][pConta]/1000)*(tmpintrate);
PlayerInfo[i][pExp]++;
PlayerPlayMusic(i);
PlayerInfo[i][pConta] = Conta+interest;
SendClientMessage(i, COLOR_WHITE, "{FFFFFF}|_B_G_S_|Pagamento|_B_G_S_|");
format(gstring, sizeof(gstring), "{FFFFFF}Salбrio: {00FF00}R$[%d] {FFFFFF}| {FFFFFF}Imposto: {FF0000}-R$[%d]", checks, TaxValue);
SendClientMessage(i, COLOR_GRAD1, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Saldo Bancбrio Atual: {FF0000}R$[%d] {FFFFFF}| {FFFFFF}Novo Saldo Bancбrio: {00FF00}R$[%d]", Conta , PlayerInfo[i][pConta]);
SendClientMessage(i, COLOR_GRAD1, gstring);
format(gstring, sizeof(gstring), "{FFFFFF}Juros: [{00FF00}0.%d {FFFFFF}por cento]",tmpintrate);
PlayerPlaySound(i, 1185, 0.0, 0.0, 0.0);
GameTextForPlayer(i,"~y~-==- ~g~B~g~G~g~S ~g~Salario~y~ -==-", 5000, 1);
GivePlayerMoneyEx(i, 5000);
OnPlayerSave(i);
rent = 0;
PlayerInfo[i][pPayDay] = 0;
PlayerInfo[i][pSalario] = 0;
PlayerInfo[i][pConnectTime] += 1;
PlayerInfo[i][pCaixinha] = 0;
pban[i] = 0;
PassadoUmDia++;
DestroyVehicle(Racecar2);
SendClientMessage(i, VERDE2, gstring);
/*
if(PlayerInfo[i][pCargo] == 1)
{
GivePlayerMoney(i, 1000);
SendClientMessage(i, -1, "{FFFF00}Vocк Ganhou 1000 Pelo Seu Sбlario de Cargo 1.");
}
if(PlayerInfo[i][pCargo] == 2)
{
GivePlayerMoney(i, 1500);
SendClientMessage(i, -1, "{00FF00}Vocк Ganhou 1500 Pelo Seu Sбlario de Cargo 2.");
}
if(PlayerInfo[i][pCargo] == 3)
{
GivePlayerMoney(i, 2000);
SendClientMessage(i, -1, "{7FFFD4}Vocк Ganhou 2000 Pelo Seu Sбlario de Cargo 3.");
}
if(PlayerInfo[i][pCargo] == 4)
{
GivePlayerMoney(i, 2500);
SendClientMessage(i, -1, "{A020F0}Vocк Ganhou 2500 Pelo Seu Sбlario de Cargo 4.");
}*/
if(PassadoUmDia >= 24)//DiaPassado
{
}
if(PlayerInfo[i][pVIP] == 1)
{
PlayerInfo[i][pExp] += 2;
GivePlayerMoney(i, 1000);
SendClientMessage(i, COR_SOCIOB, "Parabens vocк ganhou 2 respeito Por Ser Um VIP Prata");
}
if(PlayerInfo[i][pVIP] == 2)
{
PlayerInfo[i][pExp] += 3;
GivePlayerMoney(i, 2000);
SendClientMessage(i, COR_SOCIOP, "Parabens vocк ganhou 3 respeito Por Ser Um VIP Ouro");
}
if(PlayerInfo[i][pVIP] == 3)
{
PlayerInfo[i][pExp] += 4;
GivePlayerMoney(i, 2000);
SendClientMessage(i, COR_SOCIOO, "Parabens vocк ganhou 4 respeito Por Ser Um VIP-Sуcio");
}
if(PlayerInfo[i][pVIP] == 4)
{
PlayerInfo[i][pExp] += 10;
GivePlayerMoney(i, 20000);
SendClientMessage(i, COR_SOCIOD, "Parabens vocк ganhou 10 respeito Por Ser Um Sуcio-Diamante");
}
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 Adquirido!~n~~r~Digite /comprarnivel!", 5000, 1);
}
}
OOCNews(COLOR_WHITE, "Loterica: Ja comecou a loteria.");
new rand = random(80);
if(rand < 77) { rand += 3; }
Lotto(rand);
//return 1;
}
Re: PayDay. -
Seidel - 03.12.2014
[Include] New SA-MP callbacks!
SetTimerEx
@Edit
Ignore a include que lhe passei (havia lido "quando o jogador pausar o jogo e quando ele voltasse, continuar" .__.), faz igual o JF falou, salva o tempo online numa variбvel e salve ela quando o jogador desconectar com seu sistema de salvamento, aн quando o jogador logar novamente, carrega o tempo na variбvel e continua a processo.
Exemplo:
Код:
new TempoParaPayday[MAX_PLAYERS], timertempoonline[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
TempoParaPayday[playerid] = DOF2_GetInt(local do arquivo, "TempoOnline");
timertempoonline[playerid] = SetTimerEx("TempoOnlineTimer", 60000, true, "i", playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
DOF2_SetInt(local do arquivo, "TempoOnline", TempoParaPayday[playerid]);
KillTimer(timertempoonline[playerid]);
return 1;
}
TempoOnlineTimer(playerid);
public TempoOnlineTimer(playerid)
{
TempoParaPayday[playerid]++;
return 1;
}
Й uma base simples, adapte-a conforme queira.
Re: PayDay. -
JonathanFeitosa - 03.12.2014
Utilize um sistema de salvamento. Concatene com as contas dos players caso jб exista sistema de salvamento. Creio eu que vocк use o Dini. Veja o modo de uso por aqui pelo fуrum, existem vбrios tutoriais.
Respuesta: PayDay. -
dudu_Insane - 04.12.2014
Ae Vlw , Seidel & JF , me ajudaram mesmo, muito obrigado, queria pedir so mais uma ajuda como eu faзo um reloginho contando quanto tempo falta para dar o payday do player?, vlw mesmo!
Re: PayDay. -
JoshNudock - 04.12.2014
Quote:
Originally Posted by Sm0L
todo mundo entra no meu serv 127.0.0.1:7777
|
rsrsrsr