AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [DEV] Event detection (https://forums.alliedmods.net/showthread.php?t=85509)

Milo| 02-11-2009 19:46

[DEV] Event detection
 
2 Attachment(s)
Summary

This plugin is only intended for plugin developers or people who want to get a better understanding of the inner workings of the game. The plugin contains a big list of names of known events. The plugin will attempt to hook every single one of these and report which can be hooked (screenshot) and which can't. It also notifies you every time any hooked event is fired (screenshot).

This plugin is not ment to be "always on" on public gameservers. Most users of this plugin will either only use it on a local testserver, or uninstall it once they have the information they need.


Supported games

This plugin should work on any mod that supports sourcemod.


Commands and CVars:
  • eventdetect_version - Shows the version of this plugin.
  • eventdetect_showall - Shows a list of all the events we attempted to hook, and wether or not this succeeded (screenshot).
  • eventdetect_show - Same as above, but will only display events that are succesfully hooked.

Installation:
  1. Copy eventdetection.smx to the Sourcemod plugins directory (default: <gamedir>/addons/sourcemod/plugins/)
  2. Change the map on your server (or restart the server) to force the plugin to load.

Usage:


Just type eventdetect_showall in your client's console (You need to have generic admin access, eg: the "b" flag.).

Should you want to extend this plugin by adding more eventnames, download the sourcecode (.sp file) below, and add your events to the big array. Don't forget to adjust the EVENT_MAXCOUNT constant to reflect the amount of events present.


What's included ?


I've included all the event names, for all mods which i could scrape together from the Sourcemod wiki. I've eliminated dups, which brought it down to a total of 274 unique events. Check the sourcecode for the full list.


Version history
  • Version 1.0 (initial release)
    • Initial version
    • Tested in Team Fortress 2

recon0 02-11-2009 20:31

Re: [DEV] Event detection
 
This looks really useful.

Milo| 02-11-2009 22:05

Re: [DEV] Event detection
 
It's no exceptional plugin, but it's particularly useful for new or relatively unknown mods. There's usually no documentation at all about which events they include and wether or not they actually fire them.

This plugin is useful for quickly finding that out.

Also, if you find this plugin useful you might like "net_showevents 2". A command build into TF2 and probably most other orangebox/source games too. It'll dump all properties about events that are fired in your console.

ps: Added screenshots to the main post, this might make it a bit clearer what exactly the plugin does.

exvel 04-05-2009 07:22

Re: [DEV] Event detection
 
Nice plugin but I have a suggestion.
You can dynamically load available events from the game. For example: in CS:S events are listed in this files:
Code:

cstrike\resource\modevents.res
hl2\resource\gameevents.res
hl2\resource\serverevents.res
hl2\resource\hltvevents.res

I think for other mods files are the same. Your plugin can just read all this events OnPluginLoad. This can be very useful for games which events aren't listed in the SM Wiki page. You can make your plugin to be universal.

Downtown1 04-05-2009 22:20

Re: [DEV] Event detection
 
Looks pretty useful, does it tell you when an event has fired and what the event arguments are?

Milo| 04-06-2009 13:20

Re: [DEV] Event detection
 
Nice idea exvel, if i get around to creating a newer version i'll definitely implement that.

Downtown1:
Quote:

does it tell you when an event has fired
It does, but it merely shows which event fired, not the values contained in it. You can often use net_showevents for this like i explained in the 3rd post in this thread.


All times are GMT -4. The time now is 00:55.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.