This is a updated (and extended) version of raydan's
NPCs in CS:S extension. This release was requested in the donor section.
It fixes compatibility problems with latest CS:S, adds functionality to existing CEntity base classes as well as completely new entities.
I always wanted to polish this more and add JUST THIS ONE little feature but it's a never ending story (especially due to the complexity of this extension). Hopefully this release will get some interested people attracted to do some improvements on it
There are also a couple of new entities in this version that are not in the original one (from the top of my head):
- npc_barnacle
- npc_monk (bare bones)
- npc_barney (bare bones)
- npc_clawscanner
- npc_contactgrenade
- npc_cscanner
- npc_combine_s
- npc_grenade_frag
- npc_turret_ceiling
- npc_houndeye
- weapon_ar2
- ..probably more..
This extension improves support for more humanoid enemies (npc_combine_s is supported). Make sure to
npc_create_equipment weapon_ar2 before spawning them trough the console.
The idea was to do a coop gamemode that awards every player points for completing a level (via game_end entity). There's even a little sourcepawn API to interact with the point system. But feel free to do w/e you want.
By using
Stripper:Source you can easily make a lot of maps work with this extension. I've attached some S:S scripts to this post (see maps.zip, based on one of
raydan's posts) and a simple map to showcase some of the features.
monster_dump output (all entities, factories... ignore the numbers):
recommended cvars:
Code:
// co-op settings
mp_flashlight 1
mp_limitteams 0
mp_autoteambalance 0
mp_ignore_round_win_conditions 1
// difficulty settings
exec skill
Installation:
extract package.zip and raydan's
patch.zip into your game server root directory.
Download latest extension from
github (npcs_in_css.zip) page and extract in your game server root as well.
(Optional: download maps.zip for two maps with config files for stripper, don't forget to install Stripper:Source.)
This extension is build against a rather old SM version so if there are any problems please let me know.
It is highly recommended to install
CEF alongside this extension.
Currently CS:S and Windows only!
Please tell me if you notice there are any files missing I'll upload them ASAP.
Source:
https://github.com/mipek/npcs-in-css
Todo:
There's still alot of work to do like fixing custom inputs and keyvalues, reworking CPickupItem logic (and make it possible to properly pickup shield, healthvials etc. by pressing +USE, adding new NPCs/entities and of course add linux support and maybe even CS:GO support (huge task with LTCG turned on). Look at
CE_TODO in the source code.
In order to add linux support you would AT LEAST need to update the calling conventions in sign_func.cpp from thiscall to cdecl on linux/gcc (and of course add the required gamedata).
The amount of gamedata this extension requires is insane. It also detours quite a lot of functions with CDetour so I imagine compatibility with other extension's isn't the best.
Credits:
raydan
Obsidian Conflict
pred and all CEntity developers
Peace-Maker