Stripper Source

Stripper Source




🔞 ALL INFORMATION CLICK HERE 👈🏻👈🏻👈🏻

































Stripper Source
⚠️ The indexable preview below may have
rendering errors , broken links , missing images , and may not include the
last modified date. Please view the original page on GitHub.com
and not this indexable preview if you intend to use this content.
There are no ads in this search engine enabler service. The button and/or link above will take
you directly to GitHub.
📅 Last Modified: Mon, 12 Apr 2021 12:09:19 GMT
Stripper:Source is a Metamod plugin that enables modification of map entities. This includes adding entities, removing entities, and modifying entity data.
The Stripper:Source website contains some useful references for Stripper functions. More information on Stripper:Source can be found in the readme.
Templates for Stripper:Source files can be found here . The templates contain more specific documentation on entities and techniques for working around Stripper:Source's limitations.
From this point Stripper:Source will be referred to as Stripper for conciseness.
Full installation instructions can be found in the setup guide .
Install Metamod/SourceMod as per the setup guide.
Extract and paste the contents of the download into the left4dead2/addons folder.
Add -insecure to your L4D2 launch options to run the game with Metamod/SourceMod/Stripper enabled.
Stripper modifications occur during the loading of a map. This is unlike the VScript based modifications from The Last Stand update, Valve's _commentary.txt modifications, and most SourceMod plugins, which occur after the map has loaded.
This allows for modification of certain properties that would otherwise be impossible to modify in a clean and compatible way, such as targetname .
This also means that Stripper changes occur before the director spawns items, resulting in more correct item distributions than other methods.
Stripper cannot modify or interact with any type of object that is "baked" into the map on compile, this includes:
There are two main files used for Stripper, these will be in different locations depending on the installation type.
global_filters.cfg contains Stripper code that is executed on every map, before per-map configurations.
The /maps folder contains configurations for each individual map with Stripper modifications. The configuration file will be loaded on maps with the same name, for example a file for Dark Carnival map 2 should be named: c2m2_fairgrounds.cfg
NOTE: For the purposes of this wiki, the standard // comment string will be used instead of --- to correctly format the code blocks, as there is no syntax highlighting for Stripper on GitHub. Since it is within a comment, it does not affect functionality.
Stripper has 3 main functions, called tokens : add , filter , and modify .
The add function allows for the creation of new entities, the type of entity created is specified by the classname property.
Properties of the entity can be specified and will be set upon entity creation, as long as that property is valid for the type of entity.
Any property that is not specified will be the default value for that entity type.
The classname property MUST be specified, otherwise the game will crash with the message:
Engine Error: classname missing from entity! .
Since we cannot interact with entities compiled into the map, a prop_static cannot be created with add .
To create props, alternative entity types must be used:
Other more specific entities such as doors have their own prop type, see the Valve Developer Wiki for more information.
The filter function removes entities from the map that match the properties specified.
Each filter block contains a list of properties that Stripper will search for matches with, if ALL of the properties in the block match with the entity's properties, it will be removed from the level.
To filter mutliple different types of entities with separate criteria, separate blocks must be created.
Removing entities that are relied upon for entity inputs and outputs will not cause a crash, but it will prevent anything depending on that entity to perform an action from doing so. However, this is often the desired result of the filter function.
Using the filter function without specifying any properties, or using an invalid syntax such as missing quotes, will cause the game to crash without an error message.
The modify function is the most advanced tool Stripper provides, it directly modifies the properties of entities at run time (on map load).
Entities added or changed by Stripper CAN be searched by modify , this allows for on-the-fly renaming of entities to modify specific entities, for example.
Execution order is very important with this kind of modification, and due to the order Stripper is loaded compared to other modifications, there can be some limitations with modifying non-compiled entities such as those added by The Last Stand update. This can be circumvented by using entity logic with a delay.
The order these sub-blocks are specified in does not matter, they always run in the same order:
match -> replace -> delete -> insert .
The match function is always required, the other functions are optional.
Like with the other functions, the modify token does not need to be specified for each modify block as long as it is not interrupted by another token.
Match functions in the same way as filter, allowing properties to be specified to search all entities on the map for a match. If all of the specified criteria of the search match an entity's properties, it will be modified by the other functions.
Wildcard searches can be used with this function.
Replace matches the specified key name and replaces the original value of that property with the value specified in the replace sub-block.
This is used to change the properties of the matched entities.
Delete removes a property from the entity, providing that both the key and the value specified match a property in the entity's data.
This will reset that property to its default value. In cases where there is no "default value", such as entity I/O logic, it will simply remove the property from the entity data.
Matches MUST be exact, this includes using the correct line break character when removing I/O logic from entities.
Wildcard searches can be used with this function.
Insert adds a new key or property to the entity, using the key and value specified
This can be used to add entity I/O logic to an entity, or to add a property that has not yet been specified in the entity data. It cannot be used to add an invalid property to the entity.
There can be some overlap between using insert and using replace , if a modification isn't working as expected try using the other function.
These functions can be combined to change the properties of any entity.
Example of all modify functions combined:
Stripper adds one console command: stripper_dump
This command dumps the entity data of every entity on the map to text. This is incredibly useful as it can be searched and copied from directly, instead of trying to track down an entity in hammer, or using trial and error to find properties.
Stripper dumps provide an easy way to find the hammerid of an entity, which is the unique ID for each entity in the map. Sometimes this can be the only way to match with a desired entity.
Alternatively, ent_dump can be used to find entity properties, but its functionality isnt as powerful as stripper_dump .
Dumps are located in the Stripper installation folder: left4dead2/addons/stripper/dumps
Take care when copying entity data from Stripper dumps, as the braces ( { } ) are often on the same line, which won't work if copied directly in this format.
Stripper dumps will not capture any entities that are added after Stripper loads, such as those added by _commentary.txt.



Ads keep us online. Without them, we wouldn't exist. We don't have
paywalls or sell mods - we never will. But every month we have large bills
and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3


Stripper:Source




Introduction
Installation
Configuration
New! - Advanced Filtering/Modification
Entity Properties

Stripper from Other Plugins
Screenshots
Credits, License, Acknowledgements
Changelog



1. Introduction

This is a small but flexible plugin which lets you filter and add entities to a map before it loads, much like Stripper2 for Half-Life 1, by botman . You can filter out entities with specific values or regular expressions, or declare new entities to be added. You can also specify per-map configuration options.

2. Installation
First, make sure you have the proper tools installed. You need Metamod:Source 1.4 or 1.6 or higher.

Download Stripper:Source (current version - 1.1b, requires Metamod:Source 1.4 or 1.6, it will work on both).

Extract the zip file into your server's mod folder.
Add the following line to your addons/metamod/metaplugins.ini file:
addons/stripper/bin/stripper_mm
You're done!

Note! If you require older versions of Stripper:Source, for example, if you must use an older Metamod:Source version, you can find them by clicking here .
3. Configuration

There are two main configuration files for Stripper:Source. The first is addons/stripper/global_filters.cfg, which is run on every map change. You can also configure per-map files in addons/stripper/maps/ .cfg (for example, addons/stripper/maps/de_dust.cfg). These will only be run when that specific map is used.

Stripper:Source configuration files are stored in the following format:
filter:
{
"prop1" "val1"
"prop2" "/val2/"
}
{
"prop3" "val3"
}
add:
{
"prop4" "val4"
"prop5" "val5"
}


Note that the syntax is not flexible - you must declare each item or token on a separate line as shown above. Each block, denoted between the { and } tokens declares an entity. Each line in the block declares a property of the entity. The properties are two quoted strings per line, separated by a space. The first quote is the key, the second quote is the value.

For example, this block describes a hostage:
{
"origin" "1376 3168 -112"
"HostageType" "0"
"angles" "0 111 0"
"classname" "hostage_entity"
}

To add an entity, use the "add:" token. Note that you do not need to specify this token for each block -- it will continue until you use another operation token (such as "filter:"). The example below will add the hostage to the map:
add:
{
"origin" "1376 3168 -112"
"HostageType" "0"
"classname" "hostage_entity"
}

To filter an entity from the map, each entity block contains properties that you wish to match against. For example, the following block will remove any entity that is a hostage:
filter:
{
"classname" "hostage_entity"
}



You can also get very specific, for example, this will only filter out the hostage we added earler:
filter:
{
"origin" "1376 3168 -112"
"HostageType" "0"
"classname" "hostage_entity"
}

Lastly, you can also use regular expressions to match entities. To learn more about regular expressions, visit Perl Regex . These let you define patterns to match against. For example, this will remove any entity that is any type of physics prop:
filter:
{
"classname" "/prop_phys.*/"
}

Note that rules are read in order - if add a rule a future rule can filter it out.

4. New! - Advanced Filtering/Modification

Version 1.1 of Stripper:Source adds a powerful new method of filtering entity property blocks. This adds a new directive called " modify ." Modification blocks have four sub-blocks: Match, Replace, Delete, Insert. The Match sub-block lets you specify which property blocks to search for. For each matched block, the replace, delete, and insert sub-blocks are processed.

For example:
modify:
{
match:
{
"model" "models/props_junk/garbage_metalcan002a.mdl"
"classname" "prop_physics_multiplayer"
}
replace:
{
"classname" "hostage_entity"
}
delete:
{
"model" "models/props_junk/garbage_metalcan002a.mdl"
}
insert:
{
"scale" "0.99"
}
}
This configuration entry will replace all garbage cans with hostages. How does it work?


match: Matches all entities that have the listed model and classname. You can use regular expressions (//) for any key values here.
replace: Replaces the values of any properties that have the same key name. In this example, " prop_physics_multiplayer " will become " hostage_entity ."
delete: Deletes any properties matching both the key name and the value string. The value string may have regular expressions (//). In this example, the model property of the trash can is being removed.

insert: Specifies any additional key value pairs to insert. Here, an arbitrary scaling value is added to the entity.

Although " match " is a required sub-block, replace , delete , and insert are all optional. You can specify the sub-blocks in any order, although they are always processed the same way. Match first, then replace, then delete, and insert last.



5. Entity Properties
Unfortunately, I don't know all of the entity properties. So to help users out, you can use the "stripper_dump" console command (requires rcon or server console access). This will dump a file in addons/stripper/dumps named after your map which contains every single entity and all of its properties that the map initializes on load. This file will be roughly 120-200KB and will provide everything you need for stripping/adding entities.

6. Using Stripper:Source from Other Plugins
You can use Stripper:Source from other plugins! Simply download the source code, #include , and use engineFactory or ISmmAPI::MetaFactory() to request STRIPPER_INTERFACE (of type IStripper).

Look in IStripper.h for the full interface definition. You can hook when Stripper:Source is about to reparse the map entities and inject your own configuration files.

7. Screenshots
(click to enlarge)
-- Hostage in de_dust spawn.


-- No more props!

-- No more props, part 2!

-- Garbage can replaced by hostage. Spot two more in the background.
8. Credits, License, Acknowledgements
This software was made by David "BAILOPAN" Anderson. [ http://www.bailopan.net ]

The idea came from Botman's stripper2 (link in Introduction). I got the initial idea of this plugin from Mani, who discovered that by forcing a new entity string through LevelInit, you could change the map list.

Regular Expressions are implemented with PCRE (Perl Compatible Regular Expression Library). Thanks to Freecode for the screenshots, and PM OnoTo for making SourceHook so awesome.

9. Changelog
2007/10/07 - Version 1.1b
- Now runs on Metamod:Source 1.6 and 1.4, as well as TF2/Orange Box.
2006/10/05 - Version 1.1a
- Fixed old filters not working correctly.
2006/08/15 - Version 1.1
- Now requires Metamod:Source 1.3.
- Added new syntax for more flexible entity modification.
- Improved load-time performance.
- Fixed long paths being chopped off.
- Cleaned up source code and updated to PCRE 6.7.

2006/01/07 - Version 1.01
- Now requires Metamod:Source 1.2.
- Supports other stripper-style plugins modifying the map state.

2005/12/10 - Version 1.00
- Initial Release



Posted by tastetherainbow12

How do i use this in game??
Posted by Silent Ricochet

I don't like the whole idea of this. People can remove props and stuff that may provide cover or block off pathways and this would change the game drastically.


简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem




All

Discussions

Screenshots

Artwork

Broadcasts

Videos

Workshop

News

Guides

Reviews



Left 4 Dead 2 >
Modding/Mapping Help and Tips >
Topic Details


Hi all, I have in the past used 'Stripper:Source' to modify maps on my server. Using it in combination with the prop spawner plugin, I was able to modify (albeit crudely) maps and save those objects so that I could load them at my discretion. However, this was done on my old windows server. I am now running a Linux server which I am modifying through a windows PC via web admin panel. (I hope that makes sense) Does anyone know how I can install Stripper so that I may again save map files and reload them at my discretion? Or does anyone have any ideas how to do this another way? As far as I can tell I have all the files and folders in the right places, the options from object spawner are appearing and I can spawn objects, use the save command, but have no way to load them again. Any help would be greatly appreciated! Thanks!

Last edited by Dharok ;
9 Jun, 2015 @ 1:41am

Linux will have .so files where Windows has .dll files. Besides for that, most everything is the same. Are the contents of the tz file completely empty?

Still requesting help, any advice would be greatly appreciated. If something is not clear enough please let me know. Thanks!

Left 4 Dead 2 >
Modding/Mapping Help and Tips >
Topic Details

Note: This is ONLY to be used to report spam, advertising, and problematic (harassment, fighting, or rude) posts.



© Valve Corporation. All rights reserved. All trademarks are property of their respective owners in the US and other countries. Some geospatial data on this website is provided by geonames.org .

Privacy Policy
 | Legal
 | Steam Subscriber Agreement
 | Cookies



Don't warn me again for Left 4 Dead 2

Your preferences are configured to warn you when images may be sensitive.
Edit Preferences

Content posted in this community may contain Strong Violence or Gore





Abusive Father Force Stepdaughter Seks Film
Secretary Fisting
Penetration Room

Report Page