[Ajuda] Como randomizar checkpoint?
#1

No emprego "Caminhoneiro" do meu GM, o caminhoneiro pode digitar o comando /buscarls - /buscarsf - /buscarlv, onde ele busca uma carga por cidade. OBS: sempre й o mesmo lugar nas tres cidades.
Queria saber se tem alguma forma de retirar os 3 comandos, deixando sу um comando "/buscarcarga" onde o caminhoneiro ganha cargas para buscar por todo mapa (onde eu escolher)?

cуdigo:

PHP код:
        if(!strcmp(cmdtext, "/buscarls", true))
    {
        if(
PlayerInfo[playerid][pEmprego] != 11)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
            return 
1;
        }
        if(
var1[playerid] != 0)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar 5 minutos pra entregar mais mercadorias");
            return 
1;
        }
        if(
TruckMission[playerid] != 0)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
            return 
1;
        }
        if(!
PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
            return 
1;
        }
        
SetPlayerCheckpoint(playerid, 1756.1359,-2064.8230,13.2708, 8.0);
        
TruckMission[playerid] = 1;
        
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
        return 
1;
    }
    if(!
strcmp(cmdtext, "/buscarlv", true))
    {
        if(
PlayerInfo[playerid][pEmprego] != 11)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
            return 
1;
        }
        if(
var1[playerid] != 0)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar o tempo de recarga pra entregar mais mercadorias");
            return 
1;
        }
        if(
TruckMission[playerid] != 0)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
            return 
1;
        }
        if(!
PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
            return 
1;
        }
        
SetPlayerCheckpoint(playerid, 2054.3250,1919.5562,11.8507, 8.0);
        
TruckMission[playerid] = 3;
        
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
        return 
1;
    }
    if(!
strcmp(cmdtext, "/buscarsf", true))
    {
        if(
PlayerInfo[playerid][pEmprego] != 11)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
            return 
1;
        }
        if(
var1[playerid] != 0)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar o tempo de recarga pra entregar mais mercadorias");
            return 
1;
        }
        if(
TruckMission[playerid] != 0)
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
            return 
1;
        }
        if(!
PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
        {
            
SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
            return 
1;
        }
        
SetPlayerCheckpoint(playerid, -1729.3041,-123.8946,3.2335, 8.0);
        
TruckMission[playerid] = 2;
        
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
        return 
1;
    } 
Reply
#2

pawn Код:
if(!strcmp(cmdtext, "/buscarcarga", true))
    {
        new local = random(2); // 0 || 1 || 2
       
        if(local == 0) // LS
        {
            if(PlayerInfo[playerid][pEmprego] != 11)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
                return 1;
            }
            if(var1[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar 5 minutos pra entregar mais mercadorias");
                return 1;
            }
            if(TruckMission[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
                return 1;
            }
            if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
                return 1;
            }
            SetPlayerCheckpoint(playerid, 1756.1359,-2064.8230,13.2708, 8.0);
            TruckMission[playerid] = 1;
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
            return 1;
        }
        else if(local == 1) // LV
        {
            if(PlayerInfo[playerid][pEmprego] != 11)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
                return 1;
            }
            if(var1[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar o tempo de recarga pra entregar mais mercadorias");
                return 1;
            }
            if(TruckMission[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
                return 1;
            }
            if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
                return 1;
            }
            SetPlayerCheckpoint(playerid, 2054.3250,1919.5562,11.8507, 8.0);
            TruckMission[playerid] = 3;
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
            return 1;
        }
        else if(local == 2) // SF
        {
            if(PlayerInfo[playerid][pEmprego] != 11)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
                return 1;
            }
            if(var1[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar o tempo de recarga pra entregar mais mercadorias");
                return 1;
            }
            if(TruckMission[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
                return 1;
            }
            if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
                return 1;
            }
            SetPlayerCheckpoint(playerid, -1729.3041,-123.8946,3.2335, 8.0);
            TruckMission[playerid] = 2;
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
            return 1;
        }
    }
    return 1;
Tae

e ve se estuda sobre random, vocк tem uns trкs post sу sobre isso.

https://sampwiki.blast.hk/wiki/Random
Reply
#3

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
pawn Код:
if(!strcmp(cmdtext, "/buscarcarga", true))
    {
        new local = random(2); // 0 || 1 || 2
       
        if(local == 0) // LS
        {
            if(PlayerInfo[playerid][pEmprego] != 11)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
                return 1;
            }
            if(var1[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar 5 minutos pra entregar mais mercadorias");
                return 1;
            }
            if(TruckMission[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
                return 1;
            }
            if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
                return 1;
            }
            SetPlayerCheckpoint(playerid, 1756.1359,-2064.8230,13.2708, 8.0);
            TruckMission[playerid] = 1;
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
            return 1;
        }
        else if(local == 1) // LV
        {
            if(PlayerInfo[playerid][pEmprego] != 11)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
                return 1;
            }
            if(var1[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar o tempo de recarga pra entregar mais mercadorias");
                return 1;
            }
            if(TruckMission[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
                return 1;
            }
            if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
                return 1;
            }
            SetPlayerCheckpoint(playerid, 2054.3250,1919.5562,11.8507, 8.0);
            TruckMission[playerid] = 3;
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
            return 1;
        }
        else if(local == 2) // SF
        {
            if(PlayerInfo[playerid][pEmprego] != 11)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
                return 1;
            }
            if(var1[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar o tempo de recarga pra entregar mais mercadorias");
                return 1;
            }
            if(TruckMission[playerid] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
                return 1;
            }
            if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
                return 1;
            }
            SetPlayerCheckpoint(playerid, -1729.3041,-123.8946,3.2335, 8.0);
            TruckMission[playerid] = 2;
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
            return 1;
        }
    }
    return 1;
Tae

e ve se estuda sobre random, vocк tem uns trкs post sу sobre isso.

https://sampwiki.blast.hk/wiki/Random
E como eu coloco mais missхes? Por que aн tem 3, certo?
Reply
#4

mano vocк leu: https://sampwiki.blast.hk/wiki/Random

й sу aumentar o random para o mбximo, lembrando que o numero 0 conta, e ir seguindo as if's de acordo como eu fiz
Reply
#5

Tipo, eu botei o cуdigo que tu fez no Gm, dei /gmx e nгo entrou no servidor..
Fechei e abri o samp_server e mesmo assim, eu digito a senha mas nгo da spawn... :S
Reply
#6

Tente assim
pawn Код:
// Topo do gamemode
new Float:Local[][3] =
{
    {1756.1359,-2064.8230,13.2708},
    {2054.3250,1919.5562,11.8507},
    {-1729.3041,-123.8946,3.2335}
};
   
    // Dentro do comando
    new randomico = random(sizeof(Local));
    if(!strcmp(cmdtext, "/buscarcarga", true))
    {
        if(PlayerInfo[playerid][pEmprego] != 11)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
            return 1;
        }
        if(var1[playerid] != 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar 5 minutos pra entregar mais mercadorias");
            return 1;
        }
        if(TruckMission[playerid] != 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
            return 1;
        }
        if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
            return 1;
        }
        SetPlayerCheckpoint(playerid,Local[randomico][0], Local[randomico][1], Local[randomico][2], 8.0);
        TruckMission[playerid] = 1;
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
        return 1;
    }
Reply
#7

Esse cуdigo nгo faz isso, deve ser alguma falha em seu sistema, colocou certo o comando na public ?
Reply
#8

Vou testar aqui, com vбrias coordenadas.
Reply
#9

Quote:
Originally Posted by Murilo_sousa
Посмотреть сообщение
Esse cуdigo nгo faz isso, deve ser alguma falha em seu sistema, colocou certo o comando na public ?
Murilo, quando coloquei o cуdigo que vocк me forneceu, eu digitava a senha mas nгo dava spawn...
Ficava sу carregando.. e nгo abria o server..
Reply
#10

Quote:
Originally Posted by Supera
Посмотреть сообщение
Tente assim
pawn Код:
// Topo do gamemode
new Float:Local[][3] =
{
    {1756.1359,-2064.8230,13.2708},
    {2054.3250,1919.5562,11.8507},
    {-1729.3041,-123.8946,3.2335}
};
   
    // Dentro do comando
    new randomico = random(sizeof(Local));
    if(!strcmp(cmdtext, "/buscarcarga", true))
    {
        if(PlayerInfo[playerid][pEmprego] != 11)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um caminhoneiro");
            return 1;
        }
        if(var1[playerid] != 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк deve esperar 5 minutos pra entregar mais mercadorias");
            return 1;
        }
        if(TruckMission[playerid] != 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк deve entregar a mercadoria primeiro");
            return 1;
        }
        if(!PlayerToPoint(60.0 ,playerid, -71.5407,-1123.4725,1.6677))
        {
            SendClientMessage(playerid, COLOR_GREY, "Vocк precisa estar na HQ pra pegar mercadoria");
            return 1;
        }
        SetPlayerCheckpoint(playerid,Local[randomico][0], Local[randomico][1], Local[randomico][2], 8.0);
        TruckMission[playerid] = 1;
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Entregue a mercadoria no checkpoint marcado no mapa.");
        return 1;
    }
Mano, fiz uns ajustes e agora ta funcionando perfeitamente!!
Valeu

++rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)