Code Monkey home page Code Monkey logo

left4bots's People

Contributors

legurdah avatar smilz0 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

Watchers

 avatar  avatar  avatar  avatar

left4bots's Issues

Left 4 Bots 2 temporary heal command

Describe the bug
Version 1 has a 'bot tempheal' command in addition to just 'heal'. I have looked and can't find a similar option in version 2

To Reproduce
Steps to reproduce the behavior:
'bot tempheal'
scripted_user_func l4b,bots,tempheal

Expected behavior
Bot uses a temporary heal item

Add the game mode to the settings overrides file name

New search order:

1. settings_[map]_[difficulty]_[mode].txt
2. settings_[difficulty]_[mode].txt
3. settings_[map]_[mode].txt
4. settings_[mode].txt
5. settings_[map]_[difficulty].txt
6. settings_[difficulty].txt
7. settings_[map].txt

Search stops at the first file found.

Improvements to the pickup and move algorithms

  • Add 0x8 (CONTENTS_GRATE) to the trace mask for the pickup items to fix the problem with the bots trying to get the weapons on Questionable Ethics campaigns before pouring the gascan to the thing.

  • Move the dest pos of each BotMoveTo() to the nearest nav area. This also fixes a problem on Questionable Ethics with the items inside the holes on the wall and the bots incorrectly pathing behind the wall to get the item. Also reduces the chance of getting stuck in general.

Allow 2 different l4b commands for the same vocalizer line

Change the vocalizer.txt binding file in order to let the user map 2 different commands on the same vocalizer line, one for the line without the bot selection and one with the bot selection... pretty much like L4B1 does with the "Lead On" line.

SHOVE improvements

Make the bots prioritize the melee over the shove and don't shove if the bot is already firing its gun (to confirm if the latter is really an improvement tho).

Workaround for vocalizer issue with 8+ survivor bots

If using the "VScript Survivor Manager" add bots which has same Actor name, the vocalizer function will become confused.

A simple example, if my character is "Nick", and look at another "Nick" bot, the vocalizer order does not work.

The reason is that "concepts system" will only tell us Actor name of "who" and "subject", so I thought if I add "userid" for them, is that could solve the problem of the same Actor name?

Use DoEntFire("!self", "AddContext", "whoid:"+player.GetPlayerUserId(), 0, null, player); to add the id, yeah, it does work, i can use GetPlayerFromUserID(id) get player easily.
But at the same time I found, I don't know how to add "subjectid" for "subject". :(

So, to solve this problem, there are two points:

  1. Add "whoid" and "subjectid".
  2. Prevent deleted by DoEntFire("!self", "ClearContext", "", 0, null, player).

Do you think this idea is feasible?

If only the TLS team could add this just like they did with "TankActive" and "Chapter" in the last update. ;P

Bots float when executing 'wait' order on elevators

Set "movetype" makes bots do nothing,

NetProps.SetPropInt(self, "movetype", 0);

but set "m_fFlags" can solve the problem,

ATCONTROLS = 64; // Player can't move, but keeps key inputs for controlling another entity
NetProps.SetPropInt(self, "m_fFlags", NetProps.GetPropInt(self, "m_fFlags") | ATCONTROLS);

and also need this to prevent bot Teleport

Convars.SetValue("sb_unstick", 0);

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.