[Ajuda] Criar Chekpoints Aleatуrios
#1

Eu estou com uma profissгo de entregador de pizza no meu GM e preciso saber como se faz pra criar chekpoints aleatуrios, vou dar um exemplo 'vocк pegou 4 Pizzas, siga o chekpoint para entregar' essas quatro pizzas seriam entregadas em alguns locais aleatуrios, como faзo pra colocar mais de 1 chekpoint?
O jogador passa pelo primeiro chekpoint e logo apуs se cria outro, como faзo deste jeito?

PHP код:
CMD:PegarPizza(playeridparams[]){
    new 
formato[128];
    if(
PlayerInfo[playerid][pProfissao] == EPizza){
        if(
PizzaJob[playerid] == 10) return SendClientMessage(playerid,Vermelho,"| ERRO | Vocк ja pegou uma pizza, entregue-a!");
        if(
PlayerToPoint(30.0playerid, -1824.6694,612.2463,35.0156)){
            if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 448){
                new 
rand random(sizeof(CheckPointsP)), PName[MAX_PLAYER_NAME];
                
GetPlayerName(playeridPNamesizeof(PName));
                
PizzaJob[playerid] = 1;
                
SetPlayerRaceCheckpoint(playerid1CheckPointsP[rand][0], CheckPointsP[rand][1], CheckPointsP[rand][2], 0000.5);
                
format(formatosizeof(formato), "| PIZZARIA | Vocк pegou uma pizza com sucesso, siga o CheckPoint para Entregar",PName,playerid);
                
SendClientMessage(playerid,0xFFA500AAformato);
                return 
1;
            }
            else return 
SendClientMessage(playeridVermelho,"| ERRO | Vocк nгo esta na moto de PizzaBoy");
        }
        else return 
SendClientMessage(playerid,Vermelho,"| ERRO | Vocк nгo estб no local de pegar a pizza");
    }
    else return 
SendClientMessage(playerid,Vermelho,"| ERRO | Vocк nгo й um PizzaBoy");

public OnPlayerEnterChekpoint(playerid)
PHP код:
if(PizzaJob[playerid] == 1){
    if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 448){
    new 
string[250],PName[MAX_PLAYER_NAME];
    
GetPlayerName(playeridPNamesizeof(PName));
    new 
Rand random(700);
    new 
rand random(Rand 2);
    
DisablePlayerRaceCheckpointplayerid );
    
PizzaJob[playerid] = 0;
    
GivePlayerGrana(playeridRand);
    
GivePlayerGrana(playeridrand);
    
SetTimerEx("Congelando3",100,false,"i",playerid);
    
SetTimerEx("Descongelando3",9000,false,"i",playerid);
    
format(stringsizeof(string), "| PIZZA - ENTREGUE | {FFFFFF}Vocк entregou a pizza com sucesso, e ganhou {1CEB00}$%d {FFFFFF}e mais {1CEB00}$%d {FFFFFF}de gorjeta",PName,Rand,rand);
    
SendClientMessage(playerid,0xFFA500AAstring);
    }
    return 
1;
    } 
Reply
#2

Ninguйm pode me responder?
Reply
#3

O meu sistema de checkpoints й assim
Код:
new playerJobCheckpoint[MAX_PLAYERS];

public OnPlayerEnterCheckpoint(playerid){

	switch(playerJobCheckpoint[playerid]){

		case 0:{
			
			DisablePlayerCheckpoint(playerid);
			format(str, sizeof(str), "%s Digite /consertar para iniciar o reparo do hidrante.", JobSystem_Msg); SendClientMessage(playerid, -1, str);
		}
			
		case 101:{

			DisablePlayerCheckpoint(playerid);
			playerJobCheckpoint[playerid] = 102;
			SetPlayerCheckpoint(playerid, 1403.0515, -1472.0922, 2.7028, 1.5);
		}

		case 102:{	
			
			DisablePlayerCheckpoint(playerid);
			playerJobsDone[playerid]++;
			playerWorking[playerid] = false;
			format(str, sizeof(str), "%s Bom trabalho, adicionarei este serviзo ao seu pagamento.", EngBoss_Msg); SendClientMessage(playerid, -1, str);
		}
	}

	return 1;
}
Vocк seta uma variбvel para o jogador dizendo o ID do checkpoint que estб aparecendo pra ele agora, entгo vocк faz um switch e coloca as funзхes para quando ele entrar no checkpoint.

Vocк quer fazer igual o segundo caso (101), quando o player entrar num checkpoint ele vai desabilitar o atual e vai criar outro, ai vocк sу muda o ID do checkpoint.
Reply
#4

Muito obrigado.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)