[EXTENSION] NPCs in CS:S (extended)
2 Attachment(s)
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. https://i.imgur.com/OyOVE2p.png 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):
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 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 |
Re: [EXTENSION] NPCs in CS:S (extended)
i am surprise someone still interest in this, it almost 7 years old.
the public version stop update at 2012, but i still adding all HL2 npc in my own version until 2014. i remeber a buggy race in cs:s old day. then i don't play anymore and stop update it. after 3 years checked someone updated it and make it work, nobody try adding new npc? i think it time to release my latest version in 2014, let someone keep update it. and i am sure those sign need to update, but not for me. if server crash or freeze, there are a "bug" https://bugs.alliedmods.net/show_bug.cgi?id=4946 old day, my server compile with updated "tier1.lib", i don't know valve changed or not right now checked all source code in google are gone:shock: these new entity not in public Code:
npc_helicopter |
Re: [EXTENSION] NPCs in CS:S (extended)
Quote:
Did you add HL2 weapons or mapped CS:S weapons to HL2 animations for enemies? (npc_create_equipment for metropolice, combine etc.) This extension has just too much code haha :) |
Re: [EXTENSION] NPCs in CS:S (extended)
1 Attachment(s)
https://github.com/raydan/npc-in-css
source code stop update at 2014, compile/reference with hl2sdk2013 i will try answer questions about the code, let see who can make it work:3 files in "_game_server_files" Code:
*"monster.cstrike.games.txt" outdated Code:
*npc_combine_cannon Code:
mp_playercollide 0 Code:
npc_headcrab Code:
above_the_fallen_day2b Code:
view page source code: http://www.facepunch.com/threads/807565-Applying-Patch-files Code:
*test.bsp |
Re: [EXTENSION] NPCs in CS:S (extended)
Had some free time and got a successfull binary compiled against csgosdk can't test though, with donrevan's version.
Ain't got no server to test the build and i would be pretty bad at sigscanning and finding required offsets on windows but i'd gladly share the src if you think it's worth gaining your time if it's still on your to do list. |
Re: [EXTENSION] NPCs in CS:S (extended)
If need help finding signatures for linux/windows CS:S, don't hesitate asking me. Just drop them here or... skype.
Linux code and Signatures can be taken from here https://forums.alliedmods.net/showthread.php?t=268065 it doesn't include all of them though. Btw some of the signature hooks are excessive and can be avoided... those for emitting sounds and testing collision and some others. I spent months trying to bring this extension to linux platform, unfortunately there are constructions that are extremely difficult to understand. raydan, could you please share your expirience with us?, how did you get to the decisions you used in this extensions and all these signatures for windows... it's even hard to find them for linux, but windows binaries provide no clues at all. |
Re: [EXTENSION] NPCs in CS:S (extended)
Quote:
EDIT: On CS:GO and TF2 that is, don't know about CS:S |
Re: [EXTENSION] NPCs in CS:S (extended)
Pelipoika, well, I wouldn't say many, yes, I met some but for me it wasn't a problem because such functions are quite short and can be implemented without any problems.
raydan, could you share the maps? |
Re: [EXTENSION] NPCs in CS:S (extended)
Quote:
Quote:
Quote:
|
Re: [EXTENSION] NPCs in CS:S (extended)
1 Attachment(s)
Here is my first try to build the extension for linux:
HTML Code:
In file included from /home/d/SDK/sourcemod/extensions/npc/Extension/CEntity/AI/CAI_Navigator.h:16:0, Based on 4284d24 For playing sounds in CSS I use IEngineSound: Code:
#include "engine/IEngineSound.h" It provides all kinds of interfaces and can be used instead of EmitSound hooks. For DispatchEffect TE_DispatchEffect can be used (or not... not sure): Code:
IServerTools *servertools = NULL; AcceptEntityInput(entity, "DispatchEffect"); Code:
Code:
#include <ISDKHooks.h> https://sm.alliedmods.net/new-api/sd...eRules_GetProp Collision tests: Code:
#include <IEngineTrace.h> |
All times are GMT -4. The time now is 12:15. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.