VSLib: Difference between revisions
(Basic info) |
m (→External Links) |
||
Line 66: | Line 66: | ||
== External Links == | == External Links == | ||
* [http://zombiescanfly.com/vslib/ VSLib tutorial] | * [http://zombiescanfly.com/vslib/ VSLib tutorial] | ||
* [http://steamcommunity.com/sharedfiles/filedetails/?id=188540915 Random Item Spawning tutorial] |
Revision as of 11:03, 6 June 2014
VSLib (VScript Library) is a simple, lightweight library for L4D2's VScript mutation system. It is a loose collection of classes and functions that work together to provide additional features. VSLib is designed to be re-usable and easily updatable. Taking advantage of the entire library requires the programmer to add only a single line of code!
Download VSLib on GitHub.
Features
- Synchronous timer system: Those who have coded plugins for SourceMod know about SM's powerful timer system. VSLib introduces the same kind of timer system: delayed function calls, repeatability, and argument support. The timer system allows the modder to fire a function (with any arguments) after a delay.
- Entity class: Provides many new functions for entities, such as Ignite(), AttachParticle(), Hurt(), Kill(), GetTeam(), etc etc.
- Player class: Builds on the Entity class to provide many more functions for survivor/infected entities: SetFlashlight(), GetSteamID(), GetIPAddress(), GetName(), etc.
- EasyLogic system: As the name suggests, this table helps simplify the implementation of logic. Things such as ChatTriggers, save data, and game event notifications are managed by this table.
- Utils table: Random but helpful utility functions.
- HUD class: A collection of numerous HUD types.
Comparing normal VScripts and VSLib-enhanced scripts
See the difference between normal VScripts and VSLib below.
Normal VScripts | Same VScript using VSLib |
---|---|
function OnGameEvent_player_now_it ( params ) { if ( params["userid"] != null && params["userid"] != "" ) { local victim = GetPlayerFromUserID( params["userid"] ); if ( victim != null && victim.IsValid() ) { local name = GetCharacterDisplayName(victim); Say( null, name + " was vomited on!", false ); } } } |
function Notifications::OnPlayerVomited::NotifyEveryoneBro ( victim, boomer, params ) { Utils.SayToAll( "%s was vomited on!", victim.GetName() ); } |
As you can see, VSLib-enhanced scripts are far simpler to code and understand.
Some mods using VSLib
The following are some mods that use VSLib. You can download these mods and view their source code for examples.
Stranded: Intense survival experience. http://steamcommunity.com/sharedfiles/filedetails/?id=157525096
Rayman1103's Admin System: Epic admin system mod. http://steamcommunity.com/sharedfiles/filedetails/?id=214630948
Shotgunefx's Path Recorder: A really nice helper utility to record camera and vehicle paths. http://steamcommunity.com/sharedfiles/filedetails/?id=180944985
Boomer Peril: Tank Rush with a twist. http://steamcommunity.com/sharedfiles/filedetails/?id=157524450
Vicious Infected: Inspired by the SM plugin, this plugin takes infected to new heights. http://steamcommunity.com/sharedfiles/filedetails/?id=157523582
Download VSLib
Download VSLib on GitHub.