28.12.2018, 12:10
Queria pedir uma ajuda a quem entender meu cуdigo, eu criei um sistema de criar pontos aleatуrio em casas no mapa de minha GM para poder a profissгo de Jornaleiro fazer suas entregas, atй ai beleza, porйm algumas vezes ele seta o checkpoint (local de entrega) no mesmo local onde o jogador jб esta pegando, entгo exibe na tela duas vezes a mensagem que foi entregue os jornais...
teria como fazer uma verificaзгo no ultimo checkpoint pra poder nгo repetir (O ULTIMO)?
OnPlayerEnterCheckpoint
caso precise de mais algum cуdigo, avise, agradeзo dкs de jб!
teria como fazer uma verificaзгo no ultimo checkpoint pra poder nгo repetir (O ULTIMO)?
OnPlayerEnterCheckpoint
PHP код:
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;
}