nyuuzyou/wikis huggingface dataset:
S PreserveEnts/links

*ai_hint
*ai_network
*cs_gamerules
*cs_player_manager
*cs_team_manager
*dod_gamerules
*dod_objective_resource
*dod_player_manager
*dod_round_timer
*dod_team_allies
*dod_team_axis
*dod_team_manager
*env_fog_controller
*env_soundscape
*env_soundscape_proxy
*env_soundscape_triggerable
*env_sprite
*env_sun
*env_wind
*func_bomb_target
*func_brush
*func_buyzone
*func_hostage_rescue
*func_illusionary
*func_precipitation
*func_team_wall
*func_wall
*hl2mp_gamerules
*infodecal
*info_dod_detect
*info_ladder
*info_map_parameters
*info_node
*info_node_hint
*info_player_allies
*info_player_axis
*info_player_combine
*info_player_counterterrorist
*info_player_deathmatch
*info_player_rebel
*info_player_terrorist
*info_projecteddecal
*info_target
*keyframe_rope
*move_rope
*player
*player_manager
*point_commentary_node
*point_devshot_camera
*point_viewcontrol
*predicted_viewmodel
*scene_manager
*shadow_control
*sky_camera
*soundent
*team_manager
*tf_gamerules
*tf_objective_resource
*tf_player_manager
*tf_team
*tf_team_manager
*tf_viewmodel
*trigger_soundscape
*viewmodel
*worldspawn
Samurai Legends

== Overview ==
 Samurai Legends is a multiplayer action game for that uses a combat system familiar to players of many online MMO games. Players may choose from three character classes and then upgrade their weapons, armor, and abilities by earning honor on the battlefield. Honor is earned by killing enemy players and completing objectives and is spent between rounds in a menu system similar to . Top players are recognized by a “leader flag” that attaches to their back, and these leaders then provide a healing bonus to near-by players to encourage group game-play. In addition, the monk class may seek out the “resurrection shrine” found on each map to resurrect fallen comrades.
== Features ==
* Round-based combat. Weapons and armor are purchased between rounds.
* Over 30 unique weapons and armor sets.
* Armor purchased shows up on the character model.
* Clickable ability icons and mouse-driven selection cursor.
* Leader system encourages and rewards team-play.
* Resurrection Shrine brings fallen comrades back to life.
* Spell particle effects.
* Diverse settings and combat locations.
* Style selection effects character ability cool-downs.
* Mythic Asian setting and characters.
* 3 unique game-types (warlord, assassination, and take-and-hold).
== Media ==
* Teaser trailer (4.8 MB)
* Teaser movie
* Gameplay movie with commentary
* Maps
* Armour sets
* Weapons
* Manual (1.3 MB)
== History ==
Samurai Legends was put together within six months by a senior group of students as
their last big project before graduation at . A beta was completed, however it wasn't officially released because of the remaining bugs. 
== Team ==
See here.
== Other info ==
* Official site
*
Sandbox: Level Creation

A Level Creation Guide for Sandbox, the base gamemode of 
For general mapping tutorials, see :Category:Level Design
== Getting Started ==
Getting started in the Hammer Editor
== Map Design ==
Sandbox maps should be general-purpose, as you have you have no idea what the players are going to do.
Here are some features you might want to add to your map:
* Large open space for building and driving vehicles
* Tall skyboxes for flying contraptions
Sandpit

Sandpit is a sandbox mod for the Half-Life.
== Features ==
* Spawn menu - a selection of Half-Life monsters can be spawned.
* Custom HUD - the HUD can be changed to any RGB colour.
* Deathmatch bot
* Support for a variety of entities from GoldSource engine games.
* Ability to add glowshells to spawned models
* Model spawn menu
* Tool menu
* Deathmatch, King of the Hill and Time to Choose multiplayer gamemodes
* Support for a few entities from 1st party GoldSource engine games (except 007 Nightfire)
* Detail textures for Half-Life deathmatch maps
== Links ==
*
Saving and Compiling

The final stage of making a level is saving and compiling it.
A map must be compiled into the format read by the engine before it can be played. This process involves VBSP creating the map, VVIS calculating visibility, so that the computer can quickly work out which parts of the map need to be drawn at any given time, and VRAD calculating static lighting such as that from our light entity.
== Saving ==
# Click the “File” menu and choose either “Save” or “Save As...”: 
# Since this is the first time you’ve saved the map, a “Save As...” dialog will open no matter which option you chose. Type a name for your map into the “File Name” field. 
# Click the “Save” button to save the map to disk.
The map is saved in the uncompiled .VMF file format.
== Compiling ==
You have saved your map to VMF, which is a text format. You will need to compile it before it can be played in a game. Compiling means converting a raw VMF file into the binary BSP format. The map’s geometry is processed and the proper lighting and shadows are pre-calculated by a series of compile programs: BSP, VIS and RAD.
# Open the File menu, and choose “Run Map...”. 
# The dialog that appears is used to set up a compile:
## Make sure that “Normal” is set under “Run BSP”, “Run VIS”, and “Run RAD” settings. 
## Under “Additional game parameters:”, type “-toconsole -dev -console +sv_lan 1”.
## Now click the “OK” button to start the map compile process.
The Compile Process Window will show the progress of the compile (though it may stop updating if it takes a very long time). When the compile is complete, the game you are mapping for will automatically launch and load your map in the engine.
Congratulations, you’ve made your first map!
== The result ==
Here’s a shot of the compiled map running in Half-Life 2: Deathmatch. It isn’t much to look at yet, but it has the basic pieces you need to get started making your own maps.
To continue learning about mapping, visit :Category:Level Design. If you have problems, check :Category:Level Design FAQ.
Category:Level Design
ScalePhysicsObject

void ScalePhysicsObject(CBaseEntity *pEnt, float scale)
{
	Assert(pEnt);
	IPhysicsObject *pList[32];
	IPhysicsObject *pNew = NULL;
	pEnt->VPhysicsGetObjectList( pList, ARRAYSIZE(pList) )
	if(pList[1]!=NULL)
	{
		Assert(pList[1]==NULL); // Don't know what to do for ragdolls
		return;
	}
	IPhysicsObject pObj = pList[0];
	Assert(pObj);
	Assert( scale > 0.0f );
	CPhysCollide *pColl = pObj->GetCollide();
	ICollisionQuery *pQuery = physcollision->CreateQueryModel( pColl );
	int convexCount = pQuery->ConvexCount();
	CPhysConvex *pConvex[convexCount];
	for( int x=0; x < convexCount; x++ )
	{
		int tris = pQuery->TriangleCount( x )
		Vector pVerts[tris][3];
		for( int y=0; y < tris; y++ )
		{
			pQuery->GetTriangleVerts( x, y, pVerts[y] );
			pVerts[y][0] *= scale;
			pVerts[y][1] *= scale;
			pVerts[y][2] *= scale;
		}
		pConvex[x] = physcollision->ConvexFromVerts( pVerts, tris );
	}
	physcollision->DestroyQueryModel( pQuery );
	pColl = physcollision->ConvertConvexToCollide( pConvex, convexCount ); // Don't need to free convex objects, this call does
	solid_t solid;
	Vector worldPosition;
	QAngle angles;
	pObj->GetPosition( &worldPosition, &angles );
	PhysModelParseSolid( solid, pEnt, pEnt->GetModelIndex() );
	solid.param.mass *= scale;
	solid.param.volume *= scale;
	solid.param.inertia *= scale;
	pNew = physenv->CreatePolyObject( pColl, pObj->GetMaterialIndex(), worldPosition, angles, &solid.param );
	Assert(pNew);
	pEnt->VPhysicsDestroyObject();
	pEnt->VPhysicsSetObject( pNew );
}
Category:Helpers
Category:Functions
School Escape

== Overview ==
This modification of Half-Life 2: Episode Two is called School Escape. It features a large building based on the school of Diolator's hometown. The map itself creates an effect of horror and fear in the player, who is on a mission to find a way out of the creepy and strange building.
== Features ==
* Animated menu background
* HDR support
* Autosave
* Horroristic theme
== Media (Screenshots) ==
Image:escape_school.jpg|School class
Image:escape_school_2.jpg|Another class
Image:escape_school_3.jpg|
Image:escape_school_4.jpg|The school library
Image:escape_school_5.jpg|The corridor
== Team ==
* Developer: Masalcev Dmitry (Diolator)
:E-mail: 
== External links ==
Screen (Portal 2)

Monitors are used mainly in the Wheatley theme where Wheatley can be displayed. They are easy to make with func_instance.
==Creating monitors with func_instance==
===Step 1===
Create a func_instance entity using the entity tool. Set its VMF filename to instances\monitors\wheatley_bigscreen.vmf. Set its fix-up name to wheatley_monitor_1. Use the clipping tool to create an opening for the monitor and move it into position.
===Step 2===
Create another func_instance. Set its VMF filename to instances\monitors\wheatley_studio.vmf. Place it outside your map.
===Step 3===
Create one more func_instance with the VMF instances\choreo\glados_gen_actor.vmf. To make Wheatley speak, fire an output like this:
	OnTrigger	@glados	RunScriptCode	laser_catapult_test_start()	0.00	No
Category:Portal 2 Level Design
Screen Space Ambient Occlusion (SSAO)

Screen Space Ambient Occlusion (SSAO) works by examining an onscreen pixel, and then comparing its location in a depth buffer to the pixels around it. Pixels which are close together but not coplanar (on the same face) are shaded to simulate soft shadows. To maintain playable framerates, it is not possible to sample every pixel every frame, so random sampling is used, which will inevitably create noise/grain which may be more noticeable with movement. To counter this, the SSAO pass is often blurred to remove such grain.
As with traditional AO, SSAO is completely independent of the normal lighting system. This means that both the performance and appearance of the shader are unaffected by the lights used in a level.
The depth buffer is measured from the camera, and so SSAO is view-dependent - the size and locations of the "shadows" created by SSAO may change as the player moves the camera around. Additionally, the shading may look different along the edges of the screen - this can be combated by rendering additional information outside of the current camera's bounds.
==Source Filmmaker==
Source Filmmaker includes an SSAO option (labelled "Ambient Occlusion"), accessible by right-clicking on the viewport. The default setting is very grainy. 
== SSAO in the Source Engine ==
* The original release of aswell as , and all games on branch are the only games and software that support SSAO.
* However, as SSAO is a post-processing effect, you can use third-party software (ReShade), or Source Shader Editor to add SSAO. Alternatively, it is possible to use the superior HBAO ambient occlusion, which can be forced through GPU driver control panel (or by using NVIDIA Profile Inspector).
==External links==
*Wikipedia:Ambient occlusion
*Wikipedia:Screen Space Ambient Occlusion
Screenshot

A screenshot is a single rendered frame outputted to an image file. The engine can output JPEG (.jpg), TGA (.tga) and PNG (.png) image formats. 
JPEGs use lossy compression, which can cause compression artifacts at lower quality settings but take up significantly less space than TGAs. TGA images are uncompressed, meaning the saved image is identical to the rendered frame with no loss of quality, but the file size will be significantly larger, plus may require third-party software (such as ) in order to open/preview the image. Screenshots can be also taken using other programs and injectors, with support for modern formats like PNG (which is lossless, like TGA, except with proper compression, aswell as compatible with more third-party software).
The default screenshot key is . This will take a JPEG screenshot at default quality 90 unless the console variable for quality is adjusted.
==Limitations==
==Console commands==
	Takes a TGA screenshot
:	The filename to save the next TGA screenshot with
	Takes a JPEG screenshot. Progressive or not? The filename will have ".jpg" appended. If no quality is specified, the quality defined by jpeg_quality is used.
:	Compression quality to save the JPEG with, ranging from 1-100, with 100 being the best quality. The default value is 90, which means visually lossless for most images.
:	Takes a screenshot X times your game resolution and saves it to as a png.
==Files==
Screenshots are saved in the directory of the relevant game. By default, the naming scheme they use is "mapname####", with sequential numbering using four digits, for example "de_train0035". Screenshots taken with the command use a naming scheme of "poster-##-##-## ##-##-##", which specifies the year, month, day, hour, minute and second, for example "poster-24-06-07 23-44-45".
== See also ==
*How To Take Artistic Screenshots - a general guide on setting up, saving, and editing screenshots for artistic purposes
*Panorama Creation - a guide for creating a panorama image using multiple screenshots
*:Category:Screenshot needed - a list of articles on this Wiki which could use one or more screenshots. You can help!
Category:Files
Screenshot (GoldSrc)

A screenshot is a single rendered frame outputted to an image file. In engine, it can output BMP bitmap (.bmp) and TGA (.tga) image formats. 
Both file formats are uncompressed, meaning the saved image is identical to the rendered frame with no loss of quality, however, TGAs may require third-party software (such as ) in order to open/preview the image. Screenshots can be also taken using other programs and injectors, with support for modern formats like PNG (which is lossless, like TGA, except with proper compression, aswell as compatible with more third-party software).
The default screenshot key is . This will take a BMP screenshot.
==Limitations==
==Console commands==
	Takes a TGA screenshot
	Takes a BMP screenshot. The filename will have ".bmp" appended.
==Files==
Screenshots are saved in the directory of the relevant game. By default, the naming scheme they use is "mapname####", with sequential numbering using four digits, for example "c1a00035". When the map is not loaded, the file will be saved as "Snapshot####" (for BMP) or "HalfLife##" (for TGA).
==See also==
*How To Take Artistic Screenshots - a general guide on setting up, saving, and editing screenshots for artistic purposes
*Panorama Creation - a guide for creating a panorama image using multiple screenshots
*:Category:Screenshot needed - a list of articles on this Wiki which could use one or more screenshots. You can help!
Category:Files
Screenspace General

It is most commonly used to draw generic screenspace effects.
Unlike other shaders using as its vertex shader, allows developers to easily access and modify its pixel shader, 4 texture samplers and 4 shader register constants.
This can be useful for quickly iterating and testing screen effects, without having to reload all shaders, or recompile stdshaders to define/modify parameters.
== Notable usage ==
=== dev/halo_add_to_screen ===
Used by the TF2 Glow Effect (2013 SDK) to help create an outline around models using stencils.
It uses the pixel shader to apply cheap blur. controls the glow fade value (restricted to 1.0f in code.)
== Parameters ==
=== Custom shader inputs ===
=== Other parameters ===
== Tools ==
An SDK to easily create custom pixel shaders for any Source game is available here: ficool2/sdk_screenspace_shaders.
Category:Shaders
Script

It is available in all games that have a implementation of VScript, namely these.
== Description ==
It executes Squirrel code from the root table. The code can contain spaces without quotation marks used. Despite this, the developer console reads the code like a typical command's value, so special console delimiters like semicolons (;) cannot be used for scripting needs, making for statements impossible.
== Syntax ==
== Examples ==
Prints the name of the current map in the console.
Using a variable, find the player with the lowest entity index then set their max health to 200.
The same code, but as a single console command, achieved by using curly braces to bypass semicolons. Note that in this example, one pair of curly braces would suffice; if there is no nesting, putting every other statement in curly braces is sufficient. Note also that the statement player <- ... despite the curly braces, creates a table slot in the root table that persists after the closing brace. If the player variable should be a local variable, its assignment statement must not stand alone inside curly braces, since its scope ends with the closing curly brace. 
When executing multiple complicated commands repeatedly using the up and down arrow keys in the console it may even be useful to add a comment in the command, for example the following. 
Squirrel will never see line comments starting with // because the developer console sees and removes them first.
Block comments /* */ can also be used because Squirrel supports them!
== See also ==
* Scripts
* VScript
* Squirrel
Category:VScript
Script Functions

== Lists ==
* List of Alien Swarm: Reactive Drop Script Functions
* List of Counter-Strike: Global Offensive Script Functions
* List of Portal 2 Script Functions
* List of Left 4 Dead 2 Script Functions
* List of Team Fortress 2 Script Functions
* List of Contagion Script Functions
* List of Nuclear Dawn Script Functions
* List of Jabroni Brawl: Episode 3 Script Functions
Script clip vphysics

It is a point entity version of , allowing it to be spawned dynamically through VScript or the commentary system without recompiling the map. Like func_clip_vphysics, it is considered solid to VPhysics objects (such as a ). QPhysics objects (such as s) can pass freely. It can also use a filter to only collide with specific objects.
==Keyvalues==
==Inputs==
== See also ==
* func_clip_vphysics
Category:Physics
Script nav attribute region

It's the brush entity but just retinkered for VScripts. Applies nav attributes to overlapping nav areas when it spawns in or nav is being generated, just like its brush entity version.
In Entity Group scripts by Valve (especially Holdout), is seen used in place of script_nav_attribute_region, but its only because this entity didn't exist before The Last Stand update, so it's not strange to use this entity. 
When compiling Entity Groups, func_nav_attribute_region entities are converted to script_nav_attribute_region.
== Keyvalues ==
==See also==
* Navigation Mesh Attributes (L4D)
* Navigation Meshes (L4D)
* 
*
Script nav blocker

Its a func_nav_blocker, readjusted for vscripts by being stripped of any unnecessary brush data. Other than that, what applies to func_nav_blocker is applicable to script_nav_blocker. Since its a brush entity technically, using the keyvaluesminsandmaxsstill works.
When compiling Entity Groups, func_nav_blocker entities are converted to script_nav_blocker.
== Keyvalues ==
: 
== Inputs ==
== See Also ==
*
Script trigger hurt

It's a trigger_hurt, readjusted for vscripts by being stripped of any unnecessary brush data. Other than that, what applies to trigger_hurt is applicable to script_trigger_hurt. Since its a brush entity technically, using the keyvaluesminsandmaxsstill works.
When compiling Entity Groups, trigger_hurt entities are converted to script_trigger_hurt.
== Keyvalues ==
:* 0 : Normal
:* 1 : Doubling w/forgiveness
==Flags==
== Inputs ==
==Outputs==
Scripted sentence

==Entity description==
Creates a scripted sentence, usually spoken by an NPC.
Can be considered somewhat obsolete, as there are more advanced alternatives:
* For sentences spoken by a visible NPC, you can add lip synch and gestures to the sentence by using a logic_choreographed_scene entity pointing to a VCD file made in the Faceposer editor.
* For dialog spoken by a non-visible NPC, like over a radio or by combine forces, you can use a simple ambient_generic entity either pointing to a raw sample, a soundscript or a scripted sentence (consisting of a combination of several samples) in the sentences.txt file.
==Keyvalues==
:
Literal Value	Description
0 	Small Radius
1 	Medium Radius
2 	Large Radius
3 	Play Everywhere
==Inputs==
==Outputs==
Scripted sequence (GoldSrc)

(also in )
A scripted_sequence typically takes a Target NPC which can be set to either move to the sequence's position or play the sequence's animation at the NPC's current position. When the NPC is ready to begin the sequence, it will play the specified animation(s) in a special scripted state which may or may not be interrupted depending on the scripted_sequence's settings.
==Key Values==
:
#	Description
0	No
1	Walk
2	Run
4	Instantaneous
5	No - Turn to Face
== Flags ==
Category:Half-Life Entities
Scripted startrush (GoldSrc)

Which makes the monster run to the desired point.
== Application ==
Point defense and assistance allies in a breakthrough somewhere, to a simple variety
enemy behavior - for example, the player not only finds in the next a couple of bored enemies in the corridor, but collides with them face to face while they are also walking somewhere.
==Keyvalues==
:
Value	Description
0 	Run
1 	Walk
Category:GoldSrc
Scripts

Scripts are text files which the engine loads to configure certain features. They can be modified by individual games, mods, or maps. Most scripts use the KeyValues format. They are normally used inside of the scripts folder or one of its subfolders.
This usage of 'Scripts' may refer to:
* VScript - A layer for running external scripting languages 
* Soundscripts
* Soundscapes
* Weapon script
-----
This term is also used to refer to scripted NPC behavior created by a level designer.
This usage of 'Scripts' may refer to:
* scripted_sequence
* aiscripted_schedule
Sdk.fgd/Episode 1 (Source 2006)

From: \common\SourceSDK\bin\ep1\bin\sdk.fgd
@SolidClass base(Targetname, RenderFields, Global, Shadow) = my_brush_entity : "Tutorial brush entity."
[
	// Inputs
	input Toggle(void) : "Toggles the entity visible and invisible."
]
@PointClass base(Targetname) = my_logical_entity : "Tutorial logical entity."
[
	threshold(integer) : "Threshold" : 1 : "Number of ticks before the entity will fire its OnThreshold output."
	// Inputs
	input Tick(void) : "Adds one tick to the entity's count."
	// Outputs
	output OnThreshold(void) : "Fired when the number of recorded ticks reaches the specified threshold."
]
@PointClass base(Targetname, Angles) studio("models/gibs/airboat_broken_engine.mdl") = my_model_entity : "Tutorial model entity."
[
	// Inputs
	input Toggle(void) : "Starts and stops the entity moving."
]
@PointClass base(Angles,Targetname,Parentname) = env_sparkler : "Tutorial special effect."
[
	scale(float) : "Scale" : 1 : "Scale of the effect in world units."
	// Inputs
	input Toggle(void) : "Toggles the state of the effect on and off."
	input Scale(float) : "Scales the effect up and down via a float parameters."
]
@PointClass base(Targetname) = logic_game_message : "Tutorial entity to post message to player."
[
	text(string) : "Text" : "" : "Text to be posted to the player."
	
	// Inputs
	input DisplayMessage(void) : "Causes the message stored in the text field to be displayed to the local player."
]
Category:FGD