Giter Site home page Giter Site logo

yapb / yapb Goto Github PK

View Code? Open in Web Editor NEW
231.0 21.0 53.0 5.16 MB

Third party bot for Counter-Strike

Home Page: https://yapb.jeefo.net

License: MIT License

C 0.05% C++ 97.51% Meson 0.83% Python 1.03% CMake 0.58%
counter-strike bot hlds cstrike meson cs16 yapb

yapb's Introduction

YaPB 🇺🇦

Latest YaPB Latest YaPB YaPB License Downloads

☉ About

It's a computer controlled players (bots) for the Counter-Strike b6.6 - 1.6 and Counter-Strike: Condition Zero. Bots allows you to play that games without connecting any game server or even without internet.

☉ Documentation

☉ Waypoints

All requests/bugs regarding bots navigation graph (waypoints) are located in this repository. if you have waypoint request, please post an issue there.

yapb's People

Contributors

a1batross avatar commandcobra7 avatar godhand897 avatar hedgefog avatar jeefo avatar shkarlatov avatar spodlesniy avatar velaron avatar vladislav4kz avatar wpmgprostotema avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yapb's Issues

Bots keep saying 'negative'

Bots send the 'negative' radio command repeatedly (almost all of them), as if they think I'm saying 'follow me'. It happens even when I'm not close to them.
This issue happened only once though, when I set yb_quota to 0 and then reset it to 33! And by the way, I didn't move from the spawning site. I think it happened when my 'follower' was killed.

Changed settings in the cfg file are ignored

When I change settings in the yapb.cfg file, they don't work (for example I set yb_difficulty to 2 in the file, but when I start a server, bot difficulty is reset to the default value, 4)

Баги ботов в Zombie Plague

Боты стреляют друг в друга вместо того чтобы стрелять в зомби. И боты зомби режут друг друга

getShootingConeDeviation(edict_s*, Vector*)

Sadly I have no much time to check everything and figure out what can cause an issue like this so please first take a look. I'm using the 2.8.5318-dev-git339-linux release. Here's some logs:

Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*) () from /cstrike/addons/yapb/bin/yapb.so
#0 0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*) () from /cstrike/addons/yapb/bin/yapb.so
#1 0xffbceb1c in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.

Stack level 0, frame at 0xffbceac0:
eip = 0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*); saved eip = 0xffbceb1c
called by frame at 0xb4
Arglist at 0xffbceab8, args:
Locals at 0xffbceab8, Previous frame's sp is 0xffbceac0
Saved registers:
eip at 0xffbceabc
End of crash report

"yb_listenserver_welcome" cvar removed?

Why was this cvar removed? I found it useful because the message annoy me after a while.
I compared the support.cpp at the top of the CheckWelcomeMessage() function.

version 2.7.2:
static bool alreadyReceived = !yb_listenserver_welcome.GetBool ();

since v2.73 its just:
static bool alreadyReceived = false;

the yapb.cfg contains this cvar in all versions.

Цели ботов и стычки и пожелания

При потере ботом бомбы. часть ботов приходят на место закладки бомбы и там сидят. За бомбой не идут. Менты - охраняют выпавшую бомбу корректно.
Если у ботов кончились патроны они будут стоять и смотреть друг на друга. не подвижно.
Если боты были оба с гранатами - аналогично. Гранату не кидают. Стоят смотрят друг на друга.
Нужен сквар убийства всех ботов.
Нужен сквар запрета садится и кемперить.
На скрине это считай было начало раунда - до конца времени они так и стояли...
screenshot_2016-01-03-15-38-53

Bots don't have weapon preferences

Sometimes bots throw away their powerful weapons for a weaker one, like this time that I noticed one of the bots to throw away his sig552 for a famas.

yb_join_after_player bug

If "yb_join_after_player" is set to 1,
the bots join even before you have chosen a team.

Solution:
manager.cpp:483-486

if (yb_join_after_player.GetBool () && !numHumans)
    desiredCount = 0;

int numHumansOnTeam = yb_autovacate_smart_kick.GetBool () ? GetHumansJoinedTeam () : numHumans;

change to:

int numHumansOnTeam = yb_autovacate_smart_kick.GetBool () ? GetHumansJoinedTeam () : numHumans;

if (yb_join_after_player.GetBool () && !numHumansOnTeam)
    desiredCount = 0;

Bad spawning

Sometimes bots get stuck into each other,and (I think) sometimes they are spawned into the ground because I see the bots, but I can't shoot them; the bullet passes right through them.
I played on de_dust cz, and it happened at CT spawn.
But it happens randomly.

regamedll mp_auto_join_team

When i use regamedll setting "mp_auto_join_team 1" for csdm, bots can't join any team, they are staying in spectators and then disconnecting

Список ошибок YaPB

Баги которые я нашёл при игре с ботами. Они проявляются в версии 2.8.

  1. Не кемперят в кемперских точках.
  2. Часто говорят одну и ту же фразу
  3. Иногда не могут разминировать бомбу.
  4. Не ставится обратный прыговой путь (вместо этого добавляется флаг "Важный для террористов")
  5. Не вычисляется автоматически радиус вэйпоинтов
  6. Не закрывается меню изменения радиуса точки
  7. Боты не заходят в игру когда меняешь карту
  8. VIP пытается взять оружие и прыгает над ним (и это он делает почти весь раунд)
  9. Не отображается версия YaPB после загрузки карты вместо этого пишется буква "s" с отступом в начале (в том месте где отображается чат)
  10. Некоторые подразделы меню не переведены. (По крайней мере на русский язык)

Разминирование.

Вроде перестали кемперить. Но и бомбу не могут разминировать... скрин пример. Они после установки бомбы там и 4-м стоять могут - мечтать о насущем и миссии...
screenshot_2016-01-05-22-11-11

YaPB does not de-activate the bomb

English:I noticed on the map de_simpsons. Waypoint from BoBa_KoMaTo3HuK. Version cs 1.1.2.7/Stdio (cstrike) Exe build: 09:10:05 Jul 7 2017 (7561)

Russian:YaPB не разминирует бомбу.
Заметил на карте de_simpsons. Waypoint от BoBa_KoMaTo3HuK. Версия cs 1.1.2.7/Stdio (cstrike) Exe build: 09:10:05 Jul 7 2017 (7561)

valve id

can you add unuqiute id for bots?

example when i write status my console, dont write BOT..

Bot AI sucks + changing settings in the cfg file doesn't work

Your bots never go after their primary goal.
For example a terrorist doesn't plant the bomb, or counter terrorists don't rescue the hostages, they just move around the map and kill each other.
Also they always cheat. They throw grenades right under your feet by just listening to your footsteps! Seriously, CS original bots are a lot better, and smarter.
Also when change settings in the cfg file(for example the difficulty level, quota, etc) it doesn't work.

ВЛЮБЛЕННОСТЬ

Боты бегут, увидели друг друга, их глаза встретились и любовь наполнила их сердца.. глаза в глаза...
screenshot_2016-01-25-09-32-12
screenshot_2016-01-25-09-31-38

А после пришли двое и любовались влюбленной парочкой

screenshot_2016-01-25-09-31-58
screenshot_2016-01-25-09-31-23

Changes in bot AI don't take place immediately

When I change certain things about bot AI, like difficulty or that yb_whose_your_daddy thing, they don't have any effect until first I kick the bots (yb_quota 0) and add them again. I know this isn't much of an issue but if changes take place immediately it will be better.

bots can't join a game

Regamedll build: 0.2.156
yb_version: 2.8.4659
CVars:
mp_auto_join_team 0
yapb.cfg (default)

getShootingConeDeviation(edict_s*, Vector*)

Sadly I have no much time to check everything and figure out what can cause an issue like this so please first take a look. I'm using the 2.8.5318-dev-git339-linux release. Here's some logs:

Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*) () from /cstrike/addons/yapb/bin/yapb.so
#0 0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*) () from /cstrike/addons/yapb/bin/yapb.so
#1 0xffbceb1c in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.

Stack level 0, frame at 0xffbceac0:
eip = 0xf2cdbba2 in getShootingConeDeviation(edict_s*, Vector*); saved eip = 0xffbceb1c
called by frame at 0xb4
Arglist at 0xffbceab8, args:
Locals at 0xffbceab8, Previous frame's sp is 0xffbceac0
Saved registers:
eip at 0xffbceabc
End of crash report

A* heuristic functions cannot ensure best solution

due to my misunderstanding with A* algorithm I did this in YaPB1:

int hfunctionSquareDist (int index, int, int goalIndex)
{
// square distance heuristic

Path *start = g_waypoint->GetPath (index);
Path *goal = g_waypoint->GetPath (goalIndex);

float deltaX = fabsf (start->origin.x - goal->origin.x);
float deltaY = fabsf (start->origin.y - goal->origin.y);
float deltaZ = fabsf (start->origin.z - goal->origin.z);

return static_cast (deltaX + deltaY + deltaZ);
}

However this cannot actually ensure best solution to be found, as there are situations where heuristic value can be larger than the actual cost value from current node to goal node. (A* is guaranteed to find the best solution iif the heuristic value is always less or equal to the actual cost value).

This can be a compromise for better performance though, however performance should not be a problem with current CPUs (5-10 times faster than the Celeron 466MHz CPU which I used 10 years ago) :)

Autoradius does not work

English:
Autoradius does not work when creating Waypoints on YaPB 2.8.4766

Русский:
Не работает авторадиус при создании вэйпоинтов на YaPB 2.8.4766

Bots ignore their goal priority

Like I said before, bots don't go after their primary goal (for example terrorists don't plant the bomb, or even when they want to, they are distracted by the enemy, even when they just hear their footsteps). They just kill each other. It's like I'm playing CSDM!

I have some problem about you

Do you know facebook 'Kali Nova'???
And about yapb first version to lastly build author is you?

I have the problem need confirmation with you

Hope you report to me

My CZero has become unstable

After installing yapb, every time the bomb explodes, the game closes and I go back to Windows.
Apparently yapb causes some sort of instability.

Bug CMD_ARGV

Hi.
I got a bug report about PODBot s1lentq/ReGameDLL_CS/issues/96, but this bug also refers to yapb.

Example:

void ClientCommand(edict_t *pEntity)
{
	const char *pcmd = CMD_ARGV(0);
	const char *parg1 = CMD_ARGV(1);

	// expected
	// pcmd == menuselect
	// parg1 == 5

	// but got the result
	// pcmd == 5
	// parg1 == 5

...........

As we can see, calling CMD_ARGV(1), a pointer to a string pcmd changing, that is very wrong.
Yapb does replacement Cmd_Argv on own and uses a one temporary buffer.

Bots see me/each other through walls

I was hiding behind a door (I had crouched, and I wasn't moving, so they weren't hearing my footsteps). Then a bot, that was walking, and aiming at me, killed me. I have used that spot many times in multiplayer with bots (original bots, not yapb) and players, and they always fell for my trick.
But it was like yapb bots knew I was hiding there. It wasn't the first time actually, they always do that. Even when other bots are hiding in bomb sites, the bomber goes to the hiding bot, kills him, and then plants the bomb. It's like they're using thermal goggles or something.

Difficulty level 4 is a little too extreme

It's almost impossible to play in this difficulty. I'm a professional cs player and can easily beat original bots with expert difficulty. But the highest difficulty for yapb is too extreme. One reason is that yapb bots start to fire even when the enemy is still behind the cover, but close to the edge of it (it gets even worse when the cover is a door and shots poss through it).

"Follow me" periodical bot spam

At middle and end of the round when few bots left, certain bot starts spamming "Follow me" (and possibly others) radio message every N seconds over and over again, mostly during camping, with some pauses between spam.
Can be observed on cs_mansion (waypoints by BoBa Komato3nik), game with 17 bots + player as T.

] version
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 13:14:12 Aug 29 2013 (6153)
] yapb version
------------------------------------------------
Name: Yet Another POD-Bot
Version: 2.8 (Build: 4766)
Compiled: Feb  6 2017, 19:37:18
Git Hash: 2ec5a730b0dbd792e7dec41b8a7a94771a3f477f
Git Commit Author: [email protected]
------------------------------------------------

Need Yapb csdm ffa mode

Hi..I was wondering if you can add yapb bots to have a freeforall mode. The command mp_freeforall only works for zbots and zbots will start killing each other. But yapb bots will never try to kill their own team. Is there anyway to make yapb bots kill their own team so that it acts like a deathmatch? Is there any command for the yapb to have ffa mode? Or can u make this happen? Plz i need to play ffa mode with yapb bots so badly!! Please..

Пожелания

Можете сделать вэйпоинт, к которому подходит бот и нажимает кнопку (как в PODBot 3.0 metamod) а то, когда двери открываются из-за ботов, иногда бывает что дверь открывается а окна нет. Этот баг я видел на карте cs_biodome. И ещё мое предложение. Хочу чтобы были такие вэйпоинты чтобы когда бот неудачно прыгнул или упал, попал в тот вэйпоинт который убирает желание бота прыгнуть ещё раз. (Видел такую фичу у какого-то бота, не помню название) И вэйпоинт который останавливает ботов на какое-то кол-во секунд. Это будет полезно для дверей которые долго открываются

Chat replies messages not work

The bots apparently do not recognize the [replies] from the chat file and only reply with the [unkown]. I am using the files EN (I also tried with others) and the version 2.9 (build 5399).

how to disable bots buying shield and auto snipers?

ok so this is not an issue but i had no other way to contact you sorry ....

i am confused how do you disable bots buying the shield and auto snipers ? what do i need to change in
general.cfg ?
either it's not explained good how to disable bot weapons or i'm stupid ...

// ------------------------------------------------------------------------
// This file is part of Yet Another Ping Of Death Bot Configuration Files.
// Copyright (c) 2003-2015, by YaPB Development Team.
//
// Please check out the documentation, before altering config files.
// ------------------------------------------------------------------------

// Numbering of the weapons:
// 0 - KNIFE
// 1 - USP
// 2 - GLOCK18
// 3 - DEAGLE
// 4 - P228
// 5 - ELITE
// 6 - FIVESEVEN
// 7 - M3
// 8 - XM1014
// 9 - MP5NAVY
// 10 - TMP
// 11 - P90
// 12 - MAC10
// 13 - UMP45
// 14 - AK47
// 15 - SG552
// 16 - M4A1
// 17 - GALIL
// 18 - FAMAS
// 19 - AUG
// 20 - SCOUT
// 21 - AWP
// 22 - G3SG1
// 23 - SG550
// 24 - M249
// 25 - SHIELD

//
// Following are Tables which specify which Team is allowed
// to buy a weapon on a Map. You can also use it to allow/disallow
// Weapons for a Team or a Map/Gamemode (remember that some
// Weapons are team-specific and can't be bought by another team).
// -1 = Disallow Buying for any Team
// 0 = Terrorist Team only
// 1 = CT Team only
// 2 = Can be bought by both Teams
// Standard Weapon Tab for CS & DE Maps
//
MapStandard = -1,0,-1,2,-1,0,1,2,2,2,-1,2,-1,-1,0,0,1,0,1,1,2,2,0,1,2,1
MapAS = -1,-1,-1,2,-1,0,1,1,1,1,1,1,0,2,0,-1,1,0,1,1,0,0,-1,1,1,1

//
// Grenade buying percentage
// HE, FL, SMOKE
//
GrenadePercent = 98,75,60

//
// Bot Economics. From left to right.
//
// 1 - If bot's money more than the value specified here. He can buy the primary weapon.
// 2 - If bot's money more than the value specified here he will not buy SMGs (MP5,  MAC10, TMP, P90, UMP45, SCOUT) (only for CTs) (+ 8/9/10)
// 3 - If bot's money more than the value specified here it will not buy SMGs (MP5, MAC10, TMP, P90, UMP45, SCOUT) (only for Ts) (+ 8/9/10))
// 4 - If bot's money more than the value specified here he can buy shotguns (M3, XM1014).
// 5 - If bot's money less than the value specified here he cannot buy shotguns (M3, XM1014).
// 6 - If bot's money more than the value specified here he can buy AWM, SG550, G3SG1, M249.
// 7 - If bot's money less than the value specified here he cannot buy AWM, SG550, G3SG1, M249.
// 8 - How much money bot leaves a prostock, at purchase of the primary weapon (only for type of behaviour - Normal)
// 9 - How much money bot leaves a prostock, at purchase of the primary weapon (only for type of behaviour - Agressive).
// 10 - How much money bot leaves a prostock, at purchase of the primary weapon  (only for type of behaviour - Careful).
// 11 - If bot's money more than the value specified here. He can buy the shield.
//
Economics = 1550,2100,2100,4000,6000,7000,16000,1200,800,1100,3000

//
// The following Tables stores the Weapon Priorities of the Bots depending on
// Personality (it affects buying & picking up better weapons from the ground).
//
PersonalityNormal = 00,02,01,04,05,06,03,12,10,24,25,13,11,08,07,22,23,20,21,09,19,15,17,18,14,16
PersonalityRusher = 00,02,04,05,01,06,03,24,25,22,23,20,10,12,13,07,08,21,11,09,15,19,17,18,16,14
PersonalityCareful = 00,02,01,04,05,06,03,07,08,12,10,13,11,09,18,17,15,19,16,14,20,22,25,23,24,21

CT bots don't report where the bomb is

When a bot notices that a bomb site is clear, they should send the 'sector clear' message (with chatter activated, they should say, for example, 'A, clear'), and when they are close to the bombed site, they should say 'the bomb's at ....'. If you play with the original bots, you'll know what I mean.

Again some goal priority issue

The priority issue isn't completely solved. Bots are still distracted by the enemy. For example, there was this time when a CT bot was about to go and defuse the bomb, when he saw a T bot running away. And instead of defusing the bomb, the CT bot went after the T bot.

csdm_reapi + yapb вопрос

Возможно ли в дальнейшем подружить ботов с этим режимом? https://dev-cs.ru/threads/3814/ с ним они не знают что включен ксдм, и про ffa режим тоже не знают. Или просто регулировать их поведение кварами (yb_csdm, yb_ffa)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.