esta é a lista de comandos que você vai usar para desbugar os bots dentro de um mapa
bot_nav_zdraw
bot_nav_mark
bot_nav_warp
bot_nav_delete
bot_nav_splitbot_nav_merge
bot_nav_connect
bot_nav_disconnect
bot_nav_begin_area
bot_nav_end_area
bot_nav_splice
bot_nav_corner_select
bot_nav_corner_raise
bot_nav_corner_lower
bot_nav_crouch
hbot_nav_jump
bot_nav_no_jump
bot_nav_precise
bot_nav_strip
bot_nav_toggle_place_mode
bot_nav_use_place
bot_nav_toggle_place_painting
bot_nav_place_pick
bot_nav_mark_unnamed
bot_nav_analyze
bot_nav_savebot_nav_load
bot_show_navbot_show_danger
bot_zombie
bot_goto_mark
bot_nav_check_consistency
no cs em nem todos os mapas é possível jogar com os bots por conta de alguns problemas causados pelo criador do mapa, você pode editar a malha de navegação dos bots o arquivo .nav para tornar o mapa legivel para os bots, mas as vezes os criadores dos mapas comentem algum erro no mapa que acaba estragando a malha de navegação e a única forma de resolver o problema é com o arquivo .map se o autor fornecer o arquivo, você pode descompilar o mapa se quiser, mas o trabalho de correção das faces não vai compensar é muito cansativo
nem tudo mas algumas coisas aqui ainda servem para o source e global ofensive, se você achar complicado baixe os vídeos no final para não ficar perdido, mas antes de fazer qualquer coisa leia essas instruções, em mapas grandes e extremamente grandes você pode levar o dia inteiro editando esse arquivo então não tenha pressa pra terminar o processo é demorado mesmo
se o mapa já tem um arquivo .nav criado na pasta maps carrege o mapa e entre como terrorista (não entre como contra-terrorista) nele e digite no console do jogo o comando bot_nav_edit 1
se você baixou um mapa da net e ele não veio com esse arquivo abra o jogo e digite no console aquela tecla embaixo de esc ",
bot_zombie 1 esse comando transforma um bot em seu escravo ele só vai fazer o que você mandar adicione apenas um bot (terrorista do seu time) no mapa para que o jogo crie esse arquivo .nav automaticamente para você quando o mapa for carregado novamente entre como terrorista e remova o bot
se durante a criação desse arquivo o jogo travar ou você perceber que ta demorando muito pra esse arquivo ser criado interrompa a criação do arquivo dando esc se desconecte e use o comando bot_quicksave 1 ligado 0 desligado e carregue o mapa novamente depois que o arquivo for criado desative o comando quando o jogo recarregar o mapa automaticamente
quando o jogo travar na criação da malha esse comando serve para o jogo ignorar alguns recursos que são adicionados na malha de navegação durante a criação dela como lugares ondes os bots vão ficar de camper, pontos de observação, zonas perigosas e o modo de aprendizagem dos bots o jogo vai entrar em modo minimo de criação de malha
essas marcações na malha são definidas por uma linha vertical na malha nas cores azul, vermelho, verde e rosa, você não pode criar nem editar essas marcações, mas pode forcar o jogo a fazer essas marcações criando pequenas malhas pelos cantos do mapa
o tempo para a criação desse arquivo não tem releção com os requisitos do seu sistema, não importa se o pc é fraco ou forte, quanto maior o mapa mais malha de navegação com esses recursos tem que ser criada o que torna a demora muito maior
por que não adicionar um bot ct? eles não se comportam como escravos em alguns momentos mesmo com o bot_zombie 1 o porque disso eu não sei, provavelmente é um bug da versão que eu utilizo aqui
a primeira coisa que você precisa tomar cuidado é nunca adicionar um ou mais de um bot no mapa com o comando bot_nav_edit 1 e nunca adicione um bot no mapa sem antes usar o comando bot_zombie 1 durante a edição, mas por qual motivo?
quando você estiver trabalhando em uma malha de navegação sempre que você deletar uma malha e criar outra no lugar em algum momento o bot vai procurar a malha que foi deletada por você e o jogo vai fechar sozinho causando a perda do seu trabalho, tudo o que você faz na malha não é salvo você tem que salvar manualmente com o comando bot_nav_save
para prevenir isso só adicione um único bot no mapa com o bot_zombie ativado, sempre que você quiser testar a malha toda vez que você for trabalhar em uma malha mesmo com o comando bot_zombie 1 remova o bot do mapa
é comum o jogo fechar sozinho quando tem um bot perto de você mesmo parado enquanto você remove as malhas
segunda coisa sempre que você for manegar o seu bot para ver se a sua malha de navegação realmente esta funcional você precisa remover todas as malhas que foram apagadas por você definitivamente para não acontecer o que escrevi logo acima, você deve salvar o seu trabalho com o comando bot_nav_save e carregar novamente o mapa com um bot como seu escravo e usar o comando bot_nav_analyze a malha vai ser deletada e recriada novamente com todas as suas alterações
da qui pra baixo você vai ver como usar os comandos bot_nav_mark para marcar uma malha de navegação e bot_goto_mark para mandar o seu escravo para essa malha mas antes vamos entender alguns problemas que tornam os bots burros no jogo
um ultimo detalhe se você quiser ter certeza de que o arquivo .nav que veio com o mapa que você baixou esta funcional sem precisar entrar em modo de edição, carregue o mapa com todos os bots e fique na câmera de espectador modo livre abra o console e digite o comando bot_show_nav 1
os erros que tornam o mapa não transitável para os bots são os seguintes, entidades criadas em lugares errados, caminhos criados em texturas transparentes como grades cobertas com a textura clip com a marcação de bloco não solido, terrenos irregulares que dificultam a criação de malhas automaticas, caminhos em lugares altos ou estreitos sem a marcação de precisão e não pular, fazer eles pularem corretamente em lugares onde podem tomar dano não funcionando, a marcação bot_nav_precise sendo ignorada pelo bot em áreas de risco de queda e os maltidos bugs das escadas
clip no valve hammer é uma textura que é usada para barrar o jogador e o bot esse recurso torna um bloco invisível dentro do jogo, mas barra a passasem do jogador e do bot quando chegam perto do bloco e o resultado fica como nas imagens acima, os bots estão presos ai porque o jogo durante a criação da malha ele ignora a entidade e a textura e cria a malha mesmo assim atravessando a grade como se não tivesse nada alí porque a entidade func_illusionary que é usada nessas grades transformam os blocos solídos em blocos não solídos o que significa que se você não barrar a passem nesses blocos os players e os bots poderão atravessar esses blocos que são texturizados com as grades
nas imagens acima você pode ver que o criador do mapa teve que aumentar a largura desse bloco que esta pintado com a textura de gatilho transformado em entidade func_ladder para que a ligação linha azul entre a malha e a escada fique funcional
em alguns mapas você vê o bot tomando dano tentando descer uma escada isso acontece quando esse brush de gatilho que é atrelado entidade func_ladder é criado de uma forma que torna a descida da escada perigosa tanto para o bot como o jogador, nesse caso não temos muito o que fazer sem o arquivo .map do autor no máximo uma gambiarra fuleira criando uma malha por cima da linha que liga a escada a uma malha
para você não ficar perdendo tempo usando o console crie um arquivo de texto na pasta cstrike e mude o nome dele junto com a extensão para userconfig.cfg aqui não tem segredo
bind "Tecla" "Comando"
Lista de teclas
https://drive.google.com/file/d/1pehkyp ... sp=sharing
bind "1" "bot_nav_mark"
bind "2" "bot_nav_connect"
bind "3" "bot_nav_disconnect"
bind "4" "bot_nav_begin_area"
bind "5" "bot_nav_end_area"
bind "6" "bot_nav_splice"
bind "7" "bot_nav_split"
bind "8" "bot_nav_delete"
bind "9" "bot_nav_crouch"
bind "0" "bot_nav_merge"
bind "F1" "bot_nav_jump"
bind "F2" "bot_nav_no_jump"
bind "F3" "bot_nav_precise"
bind "F4" "bot_goto_mark"
você sabe que as teclas do 1 a o 5 são usadas para selecionar armas quando você criar esse arquivo o bind de comandos não vai deixar você fazer a seleção para reverter é só colocar um // antes do bind e nas configurações de tecla do jogo dê um restore default que volta tudo ao normal depois
bot_nav_zdraw padrão 4 máximo 15 esse comando aumenta e diminui a elevação da malha de navegação, serve para você criar malhas em terrenos irregulares, elas ficam enterradas ou enclinadas em terrenos que não são planos
você só precisa apontar o cursor na malha e usar o comando com o tamanho da elevação que você quer, também pode ser usado para fazer cortes em linhas de ligação de malhas da entidade que cria as escadas func_ladder para criar malhas em escadas enclinadas
bot_nav_mark seleciona uma malha de navegação você só precisa apontar o seu cursor para ela e dar o comando repita o comando para desfazer a seleção
bot_nav_warp esse comando só funciona na câmera de espectador modo livre ele teleporta você para uma malha selecionada aponte o cursor para ela e use o comando bot_nav_mark para selecionar a malha e ele depois
bot_nav_delete aporte o cursor para a malha e use o comando deleta a malha de navegação
bot_nav_split quando você aponta o cursor do mouse para uma malha percebe que o jogo fica criando uma linha branca na malha na vertical ou horizontal essa linha mostra para você onde a sua malha pode ser cortada use comando para fazer isso
bot_nav_merge esse comando pega duas malhas iguais com as mesmas medidas e transforma em uma só malha, selecione a primeira malha com o bot_nav_mark aponte o cursor para a segunda e use o comando, faça isso sempre que você encontrar malhas que podem ser unidas, isso vai tornar a criação da malha mais rápida
bot_nav_connect com uma malha selecionada bot_nav_mark usando esse comando você conecta a malha selecionada a uma ou mais de uma malha próxima a ela, aponte o cursor para a malha que você quer conectar e use o comando
bot_nav_disconnect selecione uma malha bot_nav_mark e aponte o cursor para uma malha que esta conectada a malha que você selecionou e use o comando para desfazer a conexão
bot_nav_begin_area e bot_nav_end_area lembra do arquivo userconfig.cfg para bindar os comandos?
esses vão ser os comandos que você vai passar horas e horas usando para criar as malhas você mesmo, aponte o cursor para o chão use o comando bot_nav_begin_area mova o mouse ou comece a caminhar para formar um quadrado e use o bot_nav_end_area para criar o quadrado, você pode criar a malha em qualquer superfície que seja plana, para superfícies não planas como as escadas quadradinho ou caracol existe outro comando para te ajudar a torcer a malha você pode usar esse comando em superfícies não planas, mas a malha não será criada inclinada sempre será plana
bot_nav_splice esse comando cria uma malha apartir de uma malha selecionada, se você encontrar duas malhas próximas, mas com um espaço grande entre elas selecione uma delas bot_nav_mark aponte o cursor para outra malha e use o comando, uma nova malha será gerada já conectando todas as três malhas de uma vez
bot_nav_corner_select, bot_nav_corner_raise e bot_nav_corner_lower
escada caracol, escada quadradinho e terrenos irregulares esse comando serve para você ajustar a malha em terrenos irregulares pegando um pedaço da malha e torcendo ela para cima ou para baixo, selecione a malha que você quer torcer bot_nav_mark aponte o cursor para um canto da malha e use o bot_nav_corner_select para selecionar esse canto ele vai ficar marcado com uma linha vertical azul bot_nav_corner_raise para torcer pra cima e bot_nav_corner_lower para baixo esse comando é muito útil para ser usando com o bot_nav_splice
para os quatro comandos abaixo aponte o cursor para a malha de navegação
bot_nav_crouch faz o bot a se abaixar ao passar pela malha que você marcar com esse comando, o bot sabe se abaixar sozinho, mas se você usar esse comando ele sempre será obrigado a se abaixar nessa malha
bot_nav_jump e bot_nav_no_jump mesmo do crouch use para dizer ao bot se ele tem ou não que pular ao passar em uma malha, em malhas elevadas como em escadas os bots tem o costume de ficar pulando em vez de apenas andar pela escada o comando bot_nav_no_jump resolve esse problema
bot_nav_precise use essa marcação também em malhas de escadas ou em áreas de risco onde os bots podem cair para que ele ande com cautela, mas geralmente os mapeadores utilizam clip para evitar que o bot caia em um buraco bot_nav_strip esse comando remove as linhas verticais que são geradas automaticamente pelo jogo em uma malha de navegação selecionada, mas aqui nunca funcionou, não sei o motivo
bot_nav_toggle_place_mode entra no modo de inserção de nomes na malha de navegação, os nomes dos lugares que aparecem abaixo do radar e que o bots ficam falando no rádio, para sair desse modo repita o comando
bot_nav_use_place "nome do local" sem aspas ou apenas digitar o comando no console para ver a lista de nomes de locais no console, ele seleciona o nome que você vai usar para pintar as malhas de navegação
bot_nav_toggle_place_painting entra no modo de pintura da malha com o nome que você escolheu para parar de pintar repita comando, com esse comando funcionando se você usar o use place para escolher outro nome se o cursor do mouse estiver apontando para uma malha que já foi nomeada ela vai ser renomeada automaticamente
se você pintou uma malha em algum local onde não queria que aparecessem os nomes não tem como desfazer você vai ter que recarregar o mapa novamente
bot_nav_mark_unnamed usado para ver as áreas que estão sem nome
essa é a lista de nomes
BombsiteA BombsiteB BombsiteC
Hostages HostageRescueZone VipRescueZone
CTSpawn TSpawn Bridge
Middle House Apartment
Apartments Market Sewers
Tunnel Ducts Village
Roof Upstairs Downstairs
Basement Crawlspace Kitchen
Inside Outside Tower
WineCellar Garage Courtyard
Water FrontDoor BackDoor
SideDoor BackWay FrontYard
BackYard SideYard Lobby
Vault Elevator DoubleDoors
SecurityDoors LongHall SideHall
FrontHall BackHall MainHall
FarSide Windows Window
Attic StorageRoom ProjectorRoom
MeetingRoom ConferenceRoom ComputerRoom
BigOffice LittleOffice Dumpster
Airplane Underground Bunker
Mines Front Back
Rear Side Ramp
Underpass Overpass Stairs
Ladder Gate GateHouse
LoadingDock GuardHouse Entrance
VendingMachines Loft Balcony
Alley BackAlley SideAlley
FrontRoom BackRoom SideRoom
Crates Truck Bedroom
FamilyRoom Bathroom
Den Office Atrium
Entryway Foyer Stairwell
Fence Deck Porch
Patio Wall
bot_nav_place_pick muda o nome da área atual pelo de uma selecionada
bot_nav_place_floodfill não sei que faz, baixe os vídeos depois para ver como isso funciona
essas alterações só vão comecar a funcionar depois que você salvar a malha e carregar o mapa novamente com um bot em modo zumbi dando um bot_nav_analyze apos a spawn do bot
bot_nav_load nunca funcionou pra mim, apaga a malha de navegação e a carrega do disco, mas pra que eu não sei
bot_show_danger 0/1 esse comando geralmente é usado na câmera de espectador em modo livre junto com o bot_show_nav 0/1 ele mostra as áreas definidas como perigosas para os cts e trs as linhas verticais
linhas vermelhas para os terroristas e azuis para os contra, no modo de edição de malha você já esta vendo essas linhas
bot_nav_check_consistency "cs_assault" serve para você saber se o arquivo .nav que você baixou da net esta ou não esta corrompido
bot_goto_mark selecione uma malha bot_nav_mark com o cursor apontado para ela e use o comando se bot_zombie não estiver ativado o bot não vai te obedescer
comandos de depuração bot_traceview bot_debug hostage_debug bot_memory_usage
use o bot_traceview 0/1 na câmera de espectador em primeira pessoa com esse comando você poder ver o que o bot esta fazendo na malha,
a linha caindo indica a direção do bot pra onde ele está olhando, a linha roxa indica o campo de visão do bot a linha laranja indica a próxima malha de navegação para onde o bot vai está assim como o próximo caminho que será completado pelo bot, o bot_debug e o hostage_debug ficam imprimindo informações no console eu nunca procurei saber como isso funciona, mas talvez no site de desenvolvedores da valve tenha lá as informações sobre isso ou no fórum do hltv para mapeadores
se você quiser se aprofundar nisso ai o código fonte do motor do half-life e do goldsource que é usado no cs hoje em dia ta lá no github pra você estudar
se você quiser mudar o comportamento do bot para ter uma experiencia melhor em mapas com o prefixo cs_ e de_ na pasta cstrike abra com o bloco de notas o arquivo BotProfile.db em Teamwork = coloque 100 salve abra o jogo, mas antes de carregar o mapa na janela create server clique na aba cpu player options e desmarque a caixa de seleção bots can go rogue e inicie a partida os bots não vão te ignorar e você vai conseguir trabalhar em equipe com eles, esse arquivo pode ser encontrado em todos os cs até mesmo o global onfensive
áreas de salto
essa malha esta perto de um corrimão e abaixo desse corrimão tem malha de navegação então essa malha se torna uma area de salto quando os bots chegarem nessa malha eles vão pular o corrimão, se você usar o comando o bot_no_jump em áreas como essa o bot vai ficar
preso ai
pontos cegos no mapa que geram malhas
não existe caminho do outro lado, mas o jogo cria malhas em pontos cegos do mapa pelo fato de ser uma superfície plana use a câmera de espectador no modo livre para remover essas malhas
aqui eu tive que deixar essa malha perto da escada porque o bot sempre vai procurar a malha que tiver mais perto dele, depois da escada alí em cima tem uma malha, se eu esticar essa malha até o canto da parede o bot fica preso ai então você vai ajustando a malha até que ele pare de procurar a malha do primeiro andar e suba essa escada
escadas
nesse mapa como ele não tem uma textura transparente que use a entidade func_illusionary com o pincel de gatilho atrelado a entidade func_ladder o autor fez um pincel enorme de uma ponta pra outra do mapa e grudou ele na parede, se só existe uma entidade ai o jogo só vai criar um único caminho para todos os bots descerem a escada, eles sempre vão procurar o meio onde esta a linha vertical azul que faz a ligação entre a malha de baixo e de cima, a gambiarra ai é fazer essa malha enorme com bot_nav_splice pra que os bots não fiquem bugando tentando descer e subir pelo mesmo caminho
quando a malha é gerada automaticamente pelo jogo o resultado é esse ai
aqui se o autor tampasse a parte de traz da escada essa linha vertical azul não teria sido criada por traz da escada, essa linha azul tem que ficar apontada para a malha do jeito que esta ai singnifica que não existe ligação entre a malha e a escada
compilar o mapa assim gerar o arquivo de navegação voltar no hammer e deletar esse bloco e compilar de novo
nessa situação apague todas as malhas em volta da escada e faça uma malha pequena na frente da escada lá em cima a mesma coisa
o método flutuante para escadas irregulares
se você criar duas malhas na escada e maneja-las usando o bot_nav_zdraw para criar uma linha curta você vai conseguir eliminar essa linha de ligação e usar quele método da gambiarra pra conseguir fazer o bot subir em escadas muito inclinadas
se você reparar que em algumas escadas essas linhas de ligação estão retas não tem uma curva apontando para uma malha em baixo ou em cima é porque não existe uma ligação entre a entidade e a malha ela esta desconectada da malha
corner em escadas caracol
buracos
aqui você tem que usar o bot_nav_jump e o bot_nav_crouch se não ele fica preso ai, mas nem sempre isso da certo nesse mapa o bot consegue pular de cima pra baixo, mas quando ele sobe a rampa ele fica preso se acontece isso no seu mapa deixe a malha maior que o buraco não faça como na imagem acima e veja se resolve caso não apague a malha
em zonas de água não se tem muito o que fazer os bots não sabem nadar eu apago todas as malhas nesses lugadores para evitar o afogamento dos bots se você for manter use o bot_nav_jump para que pelomenos eles fiquem boiando
func_illusionary
se você não quer que nenhuma malha seja criada ao redor de um bloco com textura transparente que esta usando essa entidade cubra ele com um bloco alto o suficiente para que o jogo entenda que o bloco é uma parede
esse mesmo truque pode ser usado para fazer o jogo criar malhas automaticamente em terrenos irregulares, caixas e escadas olhe os vídeos depois
como eu sei que a malha esta bem?
agora sem o modo zumbi em mapas com o prefixo cs_ experimente fazer uma malha que leva o ct direto para o refém para ver como ele se comporta, os reféns também são ótimos para saber se a malha realmente esta bem, ande com eles pela malha, em mapas de_ drope a bomba na malha que você quer que o bot vá e veja como ele se comporta, não deixe para testar isso no fim de toda edição, a cada 20 minutos de trabalho eu recomendo que você pare para testar suas alterações para ter plena certeza de que tem uma malha funcional em mãos
mapas que travam o jogo
a teoria dos mapeadores para esse problema é de que se agente fizer o que esta na imagem a baixo ou se houver espaço entre o mapa e o spawn do jogador o jogo não consegue calcular a real zona de spawn bot_quicksave elimina esse bug
alguns mapas não travam o jogo, mas dão um erro que que impedem o servidor de ser carregado a mensagem é essa fatal error, too many resource on server
quando você abre uma partida no cs você esta criando um servidor para poder jogar e existe um limite de memória que esse servidor não pode passar que é de 1gb 1024 mapas com muitas entidades muitos modelos e sprites sobrecarregam o seu servidor local e você recebe essa mensagem, você pode iniciar o jogo com esse comando gl_max_size 1024 no arquivo userconfig.cfg e usar um plugin de mods amx chamado precache manager disponibilizados pelos os usuários do fórum alliedmods
https://drive.google.com/file/d/1FQu7zL ... sp=sharing para remover alguns recursos do servidor, também é importante deixar esse limite de memória setado em 1024 se o seu cs contem muitos modelos pesados principalmente os de armas
os vídeos contem alguns erros que eu cometi, mas foi até bom eu errar pra você poder ver o que é que acontece
https://drive.google.com/drive/folders/ ... sp=sharing
se os bots ainda se comportam de forma estranha observe se no console do jogo aparece essa mensagem apos a mensagem
Navigation map loaded.
Warning: Too many zones, some will be ignored
isso quer dizer que o jogo atingiu o limite de cortes que você pode fazer na malha e algumas malhas vão ser ignoradas pelo jogo, você so tem duas soluções apagar os quadrados ou juntá-los usando o nav merge até esse aviso sumir, se o seu mapa não recebe essa mensagem e mesmo assim os bots ainda continuam se comportando de forma estralha trace rotas no mapa que possam fazer os bots decidirem se vão seguir em frente voltar ir para esquerda ou direita fazendo um corte pequeno na malha como no video abaixo
sobre as limitações acima eu jogo em uma versão muito antiga do cs, eu não tenho ele no steam se você usa o condition zero esse jogo não tem esses problemas de limites baixos que o cs 1.6 tem, eu não sei, mas provavelmente a valve já deva ter resolvidos esses problemas de limite e eu só estou aqui falando besteira porque já é uma questão muito antiga nesse jogo