public OnPlayerEnterCheckpoint(playerid)
{
new str_pnome[MAX_PLAYER_NAME], str_format[128];
GetPlayerName(playerid, str_pnome, sizeof(str_pnome)); //Pegar o Nome completo do jogador
format(str_format, sizeof(str_format), pContas, str_pnome); //Formatar o nome do jogador ligado ao arquivo
if(EntregandoJornais[playerid])
{
DisablePlayerCheckpoint(playerid);
new formatmsg[256];
new randjornais = random(sizeof(JornaisAleatorio));
new formatgGameTextJornaleiro[128];
new randpagjornaleiros = random(sizeof(pagJornaleiros));
GivePlayerMoney(playerid, pagJornaleiros[randpagjornaleiros][playerid]);
new formatstrganhojornaleiro[128];
new totalganhojornaleiros = pagJornaleiros[randpagjornaleiros][0];
new gTotalJornais = (DOF2_GetInt(str_format, "TotalJornais") - 1); //diminuir o total de jornais
DOF2_WriteFile();
DOF2_SetInt(str_format, "TotalJornais", gTotalJornais); //Armazenar o total de jornais no arquivo
DOF2_SaveFile();
if(!gTotalJornais) //verificar se nгo possui mais jornais
{
EntregandoJornais[playerid] = false; //definir que nгo esta mais entregando jornais por falta de jornais
format(formatgGameTextJornaleiro, sizeof(formatgGameTextJornaleiro), "~W~Ganho pela entrega~N~+~G~$%d", totalganhojornaleiros);
SendClientMessage(playerid, Cor_Laranja, "====================================================================");
SendClientMessage(playerid, -1, "{FF0000}» {80FF80}Jornaleiro {FF0000}«{ffffff} Entregas concluida!");
SendClientMessage(playerid, -1, "» {ffffff}Volte atй a HQ para pegar mais jornais e fazer mais entregas!");
SendClientMessage(playerid, Cor_Laranja, "====================================================================");
PlayerPlaySound(playerid, 1058, 0.0, 0.0, 10.0);
GameTextForPlayer(playerid, formatgGameTextJornaleiro, 3000, 5);
return 1;
}
format(formatmsg, sizeof(formatmsg), "{FF0000}» {80FF80}Jornaleiro {FF0000}«{ffffff} Vocк possui ainda {FF0000}%d{ffffff} Jornais para entregar!", gTotalJornais); //Mensagem mostrando o total restante de jornais
SetPlayerCheckpoint(playerid, JornaisAleatorio[randjornais][0], JornaisAleatorio[randjornais][1], JornaisAleatorio[randjornais][2], 2.0); //Gerar o checkpoint aleatorio de entrega
format(formatstrganhojornaleiro, sizeof(formatstrganhojornaleiro), "» {ffffff}Ganho Pela Entrega: {00ff00}$%d", totalganhojornaleiros); //Formatar a mensagem no chat
format(formatgGameTextJornaleiro, sizeof(formatgGameTextJornaleiro), "~W~Ganho pela entrega~N~+~G~$%d", totalganhojornaleiros); //Formatar a mensagem "GameText"
PlayerPlaySound(playerid, 1058, 0.0, 0.0, 10.0);
SendClientMessage(playerid, Cor_Laranja, "====================================================================");
SendClientMessage(playerid, -1, formatmsg);
SendClientMessage(playerid, -1, "» {ffffff}Vб atй ao prуximo {ff0000}Checkpoint {ffffff}vermelho para fazer a prуxima entrega.");
SendClientMessage(playerid, -1, formatstrganhojornaleiro);
SendClientMessage(playerid, Cor_Laranja, "====================================================================");
GameTextForPlayer(playerid, formatgGameTextJornaleiro, 3000, 5); //exibir a mensagem na tela com o dinheiro ganho pela entrega
return 1;
}
DisablePlayerCheckpoint(playerid); //desmarcar o checkpoint
PlayerPlaySound(playerid, 1058, 0.0, 0.0, 10.0); //reproduzir um audio
return 1;
}
do{
randjornais = rand(sizeof(JornaisAleatorio));
}while(randjornais == randJornaisAnterior[playerid]);
randJornaisAnterior[playerid] = randjornais;
Se eu entendi certo minha soluзгo seria voce criar uma variavel global para todos os players й na hora de pegar a nova entrega voce faria da seguinte forma:
PHP код:
No caso toda vez que for fazer uma nova entrega o ponto anterior sempre seria comparado com o proximo ponto ate que sejam diferentes. |
new randJornaisAnterior[MAX_PLAYERS];
do{
}while()
new randjornais = random(sizeof(JornaisAleatorio)); |
new randjornais;
do{
randjornais = rand(sizeof(JornaisAleatorio));
}while(randjornais == randJornaisAnterior[playerid]);
randJornaisAnterior[playerid] = randjornais;
Na parte do codigo onde tem
Voce apaga essa linha e coloca: PHP код:
|
randjornais = rand(sizeof(JornaisAleatorio));
perfeito, tudo certo sem erros, somente na
PHP код:
|