[Ajuda] Profissao Varredor
#1

Eu estou fazendo uma profissao de varredor de rua... digita /varrer e aparece um checkpoint onde e pra varrer...

Код:
  	if (strcmp(cmdtext,"/varrer", true)==0){
        new aname[MAX_PLAYER_NAME];
		new varrer[MAX_PLAYERS];
		GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
		format(file, sizeof(file), PASTA_CONTAS, aname);
		if(dini_Int(file, "Profissao") == Varredor){
		    if(varrer[playerid] == 0){
		        varrer[playerid] = 1;
		    	new varrerRandom = random(sizeof(lugaresVarrer));
		    	checkvarrer = SetPlayerCheckpoint(playerid, lugaresVarrer[varrerRandom][0], lugaresVarrer[varrerRandom][1], lugaresVarrer[varrerRandom][2], 3.0);
				SendClientMessage(playerid, 0xFFFFFFAA, "{FF0000}|INFO| {ffffff}Vб ate o checkpoint marcado no mapa.");
			}else{
				SendClientMessage(playerid, 0xFFFFFFAA, "{FF0000}|ERRO| {ffffff}Jб esta marcado um ponto em seu radar");
			}
		}else{
			SendClientMessage(playerid, 0xFFFFFFAA, "{FFFFFF}|ERRO| Vocк nгo й varredor de rua.");
		}
		return 1;
	}
Код:
if(checknome == checkvarrer){
GameTextForPlayer(playerid, "Varrendo", 5000, 6);
//resto da funзгo
return 1;
}
porem quando chego ao checkpoint nгo aparece isso, aparece o menu de um hotel(outro check)
Reply
#2

Eu tenho vбrias checkpoints no meu GM, oque eu fiz pra diferenciar cada uma, usei: IsPlayerInRangeOfPoint

Ve se pode te ajudar...
Reply
#3

Crie uma forma para verificar se ele chegou a x posiзгo, tente usar um timer.
Funcionбria da seguinte forma:

1є Cria um checkpoint atribuнdo a determinada variбvel.
2є Crie um timer que repita a x milisegundos.
3є Este timer deve chamar uma callback qualquer que realizaria a verificaзгo pegando a posiзгo do usuario (getplayerpos) e verificando se esta posiзгo й igual a do checkpoint e assim realizaria tal tarefa.

Caso tenha alguma dъvida sу falar.
Reply
#4

Quote:
Originally Posted by Eddye
Посмотреть сообщение
Eu tenho vбrias checkpoints no meu GM, oque eu fiz pra diferenciar cada uma, usei: IsPlayerInRangeOfPoint

Ve se pode te ajudar...
Usei isso:
Код:
public OnPlayerEnterCheckpoint(playerid)
{
new checknome = CPS_GetPlayerCheckpoint(playerid);

if(checknome == checkhotel){
GameTextForPlayer(playerid, "~r~Hotel", 5000, 6);
ShowPlayerDialog(playerid, Hotel, DIALOG_STYLE_LIST, "Hotel", "Alugar Quarto\nDesalugar Quarto", "OK", "Cancelar");
return 1;
}
if(checknome == checkvarrer){
GameTextForPlayer(playerid, "~r~Varrendo", 5000, 6);
return 1;
}
Eu acho que oq presciso e setar uma check que aparece so pro player com CPS_Add... porem nгo encontrei uma forma de fazer isso
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)