SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 13 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

5 participantes

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Lucas_Scarfe
    Lucas_Scarfe
    --> Postador Médio
    --> Postador Médio


    Steam Steam : Teacher English
    Zello : Scripter SA:MP
    Celular : 011966569419
    Mensagens : 321
    Moedas : 3790
    Data de inscrição : 08/05/2016

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por Lucas_Scarfe Qua 29 Jun 2016 - 12:45

    Fala Galera Hoje Trago um Tutorial Muito Pedido de Como criar Bonecos NPCS que nem do Dimmy_Scarfe (Brasil Project City) se Gosto deixe sua avaliação.

    [size=48]Gravando um arquivo de reprodução[/size]
    Primeiro de tudo, precisamos gravar um arquivo de reprodução para o nosso NPC usar. Inicie um servidor, de qualquer modo de jogo e então logue-se na RCON. (Use "/rcon login sua_senha" ) e carregue o filterscript npc_record (use "/rcon loadfs npc_record" )
    Agora, existem 3 comandos principais para gravação de seu NPC no filterscript npc_record ...

    * /vrecord - Inicia a gravação de um caminho de veículo para o nome do arquivo especificado.
    * /ofrecord - Inicia a gravação apé para o arquivo especificado.
    * /stoprecord - Pára a gravação do veículo e em trajetos apé.


    Neste tutorial, vamos estar fazendo um trajeto do veículo, assim que entrar em um veículo, digite /vrecord meunpc (Nota: você deve estar logado na rcon) para iniciar a gravação.
    Faça sua trajetoria e quando tiver terminado use /stoprecord.
    Feche o jogo,vá para seu diretório scriptfiles, deve haver um arquivo chamado meunpc.rec. Mova o arquivo para  /npcmodes/recordings/
    Feito? Ok, ótimo! Você já gravou um caminho para o NPC, e mudou-o para o diretório necessário.

    [size=48]Controlando o NPC[/size]
    Você pode ter notado um monte de scripts de peão no diretório npcmodes, estes são autônomos "mini" scripts que controlam o comportamento do seu NPC.
    Então, vamos criar um caminho para o seu recém-gravado!
    Iniciar um novo arquivo em PAWNO, e substituir seu conteúdo com ...

    Código:
    #define RECORDING "meunpc" //Este é o nome do seu arquivo de gravação, sem a extenção(.rec).
    #define RECORDING_TYPE 1 //1 para gravações em veículo e 2 para gravações apé.



    Código:
    #include <a_npc>
    main(){}
    public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);

    #if RECORDING_TYPE == 1
     public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
     public OnNPCExitVehicle() StopRecordingPlayback();
    #else
     public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
    #endif



    Isso pode parecer confuso, por isso agora explicarei isso linha por linha.



    Código:
    [size=13]#define RECORDING "meunpc" //Este é o nome do seu arquivo de gravação, sem a extenção(.rec).[/size]


    [size=13]Como diz o comentário, este é o nome do caminho que você gravou sem a extensão. Nossa reprodução de gravação foi nomeado meunpc, e seu arquivo foi meunpc.rec assim que entramos no "meunpc".[/size]






    Código:
    [size=13]#define RECORDING_TYPE 1 //1 para gravações em veículo e 2 para gravações apé.[/size]


    [size=13]Como diz o comentário de novo, este é o tipo de gravação. Se o seu NPC está apé, esta definição seria definida como 2, se estava em um veículo seria definida como 1.[/size]






    Código:
    [size=13]#include <a_npc>[/size]


    [size=13]Incluindo as funções de SA-MP NPC.[/size]






    Código:
    [size=13]public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);[/size]


    [size=13]OnRecordingPlaybackEnd é uma callback incluida na biblioteca NPC, como mostrado a linha acima. Esta linha de código faz com que o ciclo de gravação, como quando a reprodução da gravação terminou, ele inicia a gravação. Ou seja, nunca parando.[/size]






    Código:
    [size=13]public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);[/size]


    [size=13]Esta é uma outra callback incluida na livraria NPC. Isto irá iniciar a reprodução quando o NPC for colocado em um veículo[/size]





    Código:
    [size=13]public OnNPCExitVehicle() StopRecordingPlayback();[/size]


    [size=13]Contudo uma outra callback incluida na livaria NPC, isto irá parar a reprodução da gravação, se por qualquer razão, o NPC sai do veículo.[/size]






    Código:
    [size=13]public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING);[/size]


    [size=13]Contudo uma outra callback incluida na livaria NPC, isso irá iniciar a reprodução quando o NPC spawnar.[/size]






    Como você pode ver, é tudo muito simples. Agora salve o seu NPC "mini" script como "meunpc.pwn" no diretorio de seu servidor de SA-MP. /npcmodes/, e compile.
    Se for compilado, você pode continuar para a última etapa deste tutorial, se não conseguir compilar, certifique-se de que você atualizou seu SA-MP que inclui as últimas versões da 0.3, e certifique-se de não ter perdido qualquer parênteses ou semi -e-vírgula. Ainda não compilou? Poste aqui mesmo pedindo ajuda.
    [size=48]
    Conectando seu NPC
    [/size]
    Então, nós temos o caminho do arquivo, temos o "mini" peão script para controlar o NPC diretamente, agora precisamos carregar o NPC em um GameMode ou filterscript!
    Feche a mini script "peão", e carregar o seu modo de jogo ou uma filterscript em PAWNO, É hora de ser introduzida para a funçãoConnectNPC, e como o próprio nome sugere, é utilizado para conectar um NPC ao seu servidor.
    Vamos explorar estes parâmetros de funções, e ver o que eles significam ...



    Código:
    [size=13]ConnectNPC("Sucre","meunpc");[/size]

    "Sucre" - O primeiro parâmetro é o nome do NPC's. Com isso você pode detectar diferentes personagens, e executar ações diferentes a eles.
    "meunpc" - Este é o nome do arquivo (sem extensão), da "mini" script que criamos acima.




    Com seus novos conhecimentos da função ConnectNPC, vamos tentar fazer nosso NPC ligar quando seu GameMode ou filterscript carregar.



    Código:
    public OnGameModeInit()
    {
     print("meu gamemode");
     ConnectNPC("MeuPrimeiroNPC","meunpc");
     return 1;
    }



    Ou, se você está adicionando o NPC em um filterscript ...



    Código:
    public OnFilterScriptInit()
    {
     print("meu filterscript");
     ConnectNPC("MeuPrimeiroNPC","meunpc");
     return 1;
    }



    Agora, como nós criamos um caminho em um veículo, temos de criar um veículo para o NPC a unidade em torno de pol
    OnGameModeInit se parece com isso, agora eu criei um veículo para o NPC de usar ...
    NOTA: Se o NPC não está em um veículo que você pode pular esta etapa.



    Código:
    new MeuPrimeiroNPCVehicle; //Variavel global
    public OnGameModeInit()
    {
     print("meu gamemode");
     ConnectNPC("MeuPrimeiroNPC","meunpc");
     MeuPrimeiroNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
     return 1;
    }



    Ou, se você está adicionando o NPC em um filterscript ...



    Código:
    new MeuPrimeiroNPCVehicle; //Variavel global
    public OnFilterScriptInit()
    {
     print("meu filterscript");
     ConnectNPC("MeuPrimeiroNPC","meunpc");
     MeuPrimeiroNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000);
     return 1;
    }



    Note que a localização real do veículo não importa, já que será teleportado para onde o caminho começa a NPC's, quando o caminho começa a reprodução.

    Só mais uma coisa antes que você pode ir no jogo e testar seu primeiro NPC, é preciso colocar o NPC dentro do veículo que criamos para isso.
    Eu fiz isso usando OnPlayerSpawn ...
    NOTA: Se o NPC não está em um veículo você pode pular esta etapa.



    Código:
    public OnPlayerSpawn(playerid)
    {
     if(IsPlayerNPC(playerid)) //Verifica se o jogador é um NPC.
     {
     new npcname[MAX_PLAYER_NAME];
     GetPlayerName(playerid, npcname, sizeof(npcname)); //Obtendo o nome do(s) NPC(s).
     if(!strcmp(npcname, "MeuPrimeiroNPC", true)) //Checando se o nome do NPC é MeuPrimeiroNPC
     {
     PutPlayerInVehicle(playerid, MeuPrimeiroNPCVehicle, 0); //Colocar o NPC dentro do veículo que criamos para isso.
     }
     return 1;
     }
     //Outras coisas para os jogadores normais vai aqui!
     return 1;
    }



    Se você quiser adicionar outro NPC, esta estrutura OnPlayerSpawn é fácil de modificar, aqui está um exemplo para 2 NPCs ...



    Código:
    public OnPlayerSpawn(playerid)
    {
     if(IsPlayerNPC(playerid)) //Checa se o jogador é um NPC.
     {
     new npcname[MAX_PLAYER_NAME];
     GetPlayerName(playerid, npcname, sizeof(npcname)); //Obtendo o nome do(s) NPC(s).
     if(!strcmp(npcname, "MeuPrimeiroNPC", true)) //Checando se o nome do NPC é MeuPrimeiroNPC
     {
     PutPlayerInVehicle(playerid, MeuPrimeiroNPCVehicle, 0); //Colocar o NPC dentro do veículo que criamos para isso.
     return 1;
     }
     if(!strcmp(npcname, "MeuSegundoNPC", true))
     {
     PutPlayerInVehicle(playerid, OutroVehicleID, 0);
     return 1;
     }
     return 1;
     }
     //Outras coisas para os jogadores normais vai aqui!
     return 1;
    }



    Agora, compile o seu GameMode ou filterscript, e vá no jogo!
    Com alguma sorte, você vai ver a sua condução NPC em torno do caminho que você definiu para ele, parabéns! Você fez o seu primeiro NPC!
    Não funcionou? Poste aqui para ver se podemos solucionar o problema.
    Mais alguma pergunta? Novamente, poste neste tópico!

    [size=48]Problemas comuns[/size]

    Meu NPC sai do meu servidor depois após se conectar.
    Seu script está forçando o NPC fazer o login, ou você tem um anti-cheat / kicker ping que está interferindo com o NPC. Você pode adicionar ...


    Código:
    [size=13]if(IsPlayerNPC(playerid)) return 1;[/size]


    [size=13]... como a primeira linha de qualquer callbacks bots que vai usar, por exemplo, OnPlayerRequestClass ou OnPlayerRequestSpawn. Para uma maneira eficiente e simples de exclusão de NPCs de loops, confira foreach por Y_Less.[/size]




    Meu NPC não entra em meu servidor para todos
    Isto é provavelmente causado por seu servidor que está com senha.

    Eu não consigo carregar filterscript npc_record para começar
    Você não tem o filterscript, ou ele já está carregado. Tente continuar de qualquer maneira.

    Meu NPC só fica no ponto de spawn
    Volte, e re-leia a parte OnPlayerSpawn do tutorial.

    Meus NPCs estavam normais, mas agora atualizei para RC5 eles não funcionam
    Há uma variável maxnpc novo server.cfg que o padrão é 0. Adicione ...


    Código:
    maxnpc numero_de_npcs_aqui


    ... no seu server.cfg para corrigir esse problema.


    Creditos:
    Desevolvidor do Tutorial: Lucas_Scarfe
    Base:Brasil Project City

    avatar
    -
    SS - Membro de honra
    SS - Membro de honra


    Celular : -
    Mensagens : 2172
    Moedas : 7593
    Data de inscrição : 12/10/2015
    Idade : 74

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Re: Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por - Qua 29 Jun 2016 - 13:01

    Excelente parabéns Lucas.
    Lucas_Scarfe
    Lucas_Scarfe
    --> Postador Médio
    --> Postador Médio


    Steam Steam : Teacher English
    Zello : Scripter SA:MP
    Celular : 011966569419
    Mensagens : 321
    Moedas : 3790
    Data de inscrição : 08/05/2016

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Re: Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por Lucas_Scarfe Qua 29 Jun 2016 - 13:02

    Obrigado!

    Zeus_Kills
    Zeus_Kills
    --> Postador Iniciante
    --> Postador Iniciante


    Celular : 22222
    Mensagens : 105
    Moedas : 3341
    Data de inscrição : 14/05/2016
    Idade : 30

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Re: Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por Zeus_Kills Qua 29 Jun 2016 - 13:23

    Boa! Mais tu pego da nét! parabéns mesmo assim por postar aqui! Very Happy



    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus 4goryo
    Seja bem vindo a SSGAMERS seus lindos!
    Lucas_Scarfe
    Lucas_Scarfe
    --> Postador Médio
    --> Postador Médio


    Steam Steam : Teacher English
    Zello : Scripter SA:MP
    Celular : 011966569419
    Mensagens : 321
    Moedas : 3790
    Data de inscrição : 08/05/2016

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Re: Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por Lucas_Scarfe Qua 29 Jun 2016 - 13:32

    Rs nada Ver Obrigado!

    Kezz
    Kezz
    --> Postador Iniciante
    --> Postador Iniciante


    Celular : 74988065149
    Mensagens : 4
    Moedas : 1336
    Data de inscrição : 06/04/2021
    Idade : 29

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Re: Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por Kezz Seg 19 Abr 2021 - 17:20

    parabéns man,
    cade o link?
    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11638
    Moedas : 1032932
    Data de inscrição : 06/10/2011
    Idade : 29
    Localização : Brasil

    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Re: Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por Weslley_Script Ter 20 Abr 2021 - 13:20

    tem alguma informação faltando nesse post?



    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus D07Xwqb
    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Yjab9HN

    Conteúdo patrocinado


    Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus Empty Re: Criando Bonecos NPC (BOTS) para Dirigir Carros ou Onibus

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex 22 Nov 2024 - 18:24