25.12.2018, 12:05
Olб, sou bem leigo, porem estou praticando desenvolvendo uma Gamemode de RPG.. apenas para buscar conhecimento. criei jб em minha GM uma profissгo nomeada de Jornaleiro. o jogador sobe na Bike, digita /PegarJornais e й recebido 10 jornais para entrega, este sistema esta digamos que... "perfeito", jб criei uma random com os locais onde podem ser criado os checkpoints para ser entregado os jornais, o problema й que quando o jornaleiro chega atй ao checkpoint ele nгo gera o outro no mapa... ele avisa que foi entregue um jornal, mostra quanto falta mas nгo gera o prуximo local de entrega..
OBS: jб coloquei o codigo de gerar um checkpoint aleatуrio na mesma "if" onde mostra a mensagem que foi entregue os jornais.. existe tambem o problema que quando eu uso meu /gps e marco um local ao chegar no local ele mostra como se estivesse feito mais uma entrega... desculpa o texto, espero que entenda meu objetivo
CODIGO
OBS: jб coloquei o codigo de gerar um checkpoint aleatуrio na mesma "if" onde mostra a mensagem que foi entregue os jornais.. existe tambem o problema que quando eu uso meu /gps e marco um local ao chegar no local ele mostra como se estivesse feito mais uma entrega... desculpa o texto, espero que entenda meu objetivo
CODIGO
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(DOF2_GetInt(str_format, "TotalJornais") >= 1) // Verificar se possui jornais
{
new gTotalJornais = DOF2_GetInt(str_format, "TotalJornais")-1; // reduzir 1 jornal e armazenar
new formatmsg[128];
new randjornais = random(sizeof(JornaisAleatorio));
format(formatmsg, sizeof(formatmsg), "{FF0000}» {80FF80}Jornaleiro {FF0000}«{ffffff} Vocк possui ainda {FF0000}%i{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
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, Cor_Laranja, "====================================================================");
DOF2_WriteFile();
DOF2_SetInt(str_format, "TotalJornais", gTotalJornais); //Armazenar o total de jornais no arquivo
DOF2_SaveFile();
}
else
{
if(!strcmp("Jornaleiro", DOF2_GetString(str_format, "ProfissaoAtual"), false)) //Verificar se o jogador й da profissгo jornaleiro
{
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, "====================================================================");
}
}
DisablePlayerCheckpoint(playerid);
PlayerPlaySound(playerid, 1058, 0.0, 0.0, 10.0);
return 1;
}