View Single Post
Author Message
donrevan
AlliedModders Donor
Join Date: Jul 2010
Old 03-19-2018 , 11:33   [EXTENSION] NPCs in CS:S (extended)
Reply With Quote #1

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):
Spoiler


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
Attached Files
File Type: zip maps.zip (4.46 MB, 537 views)
File Type: zip package.zip (19.4 KB, 628 views)

Last edited by donrevan; 03-19-2018 at 18:07.
donrevan is offline