Mapbase v4.3

- Fixed a crash with multiple trigger_look targets
- Fixed an issue where some zombie submodel server ragdolls are not solid to the world
- Fixed a crash with certain instance classes being loaded in a savegame before the class is registered
- Added some of Tony Sergi's missing Source 2007 fixes (contributed by Kris)
- Added "ClientCommand" hook for VScript to allow handling of unknown console commands
- Added "PlayerRunCommand" hook for VScript to control player movement
- Added new button-related script functions for players (GetButtons, DisableButtons, etc.)
- Added CUserCmd accessor in VScript for the "PlayerRunCommand" hook
- Added "GetWaterLevel" function for VScript
- Exposed "Ignite" to VScript for controlling how a fire starts
- Fixed NPCs being unable to unholster weapons
- Fixed Mapbase crashing when Steam isn't running
- Fixed issues with angled/updating sky_camera save/restore
- Added VBSP "-skyboxcubemap" parameter to enable skybox default cubemaps + "-defaultcubemapres" to control their resolution
- Added ability to disable VScript in a map (and fixed a few potential complications from disabling VScript)
- Made clientside VScript only initialize after world is spawned in order to receive serverside script language in time
- Added tons of VScript functions to CBaseAnimating related to bodygroups, sequences, etc.
- Added VScript functions to players for getting user ID and player name, similar to logic_playerinfo
- Added a few L4D2 script functions missing from the ASW SDK
- Added "Localize" singleton with a single "GetTokenAsUTF8" function for getting localization strings
- Disabled r_hunkalloclightmaps by the request of various users (apparently this completely removes the "Engine hunk overflow" error and allows for really high-res lightmaps)
- Fixed npc_antlionguard NPC_TranslateActivity not hooking into base class (allows for VScript manipulation)
- Added various unused antlion guard activities to npc_antlionguard AI, allowing for usage as registered activities
- Added keyvalue to set LOS mask on combine_mine
- Added +USE bounding box limiter to prop_interactable
This commit is contained in:
Blixibon
2020-07-16 15:43:30 +00:00
parent f636089003
commit 63323222fe
76 changed files with 1575 additions and 359 deletions

View File

@@ -45,6 +45,10 @@
#include "weapon_physcannon.h"
#endif
#ifdef MAPBASE
#include "fmtstr.h"
#endif
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
@@ -1521,6 +1525,32 @@ void ClientCommand( CBasePlayer *pPlayer, const CCommand &args )
{
if ( !g_pGameRules->ClientCommand( pPlayer, args ) )
{
#ifdef MAPBASE_VSCRIPT
// Console command hook for VScript
if ( pPlayer->m_ScriptScope.IsInitialized() )
{
ScriptVariant_t functionReturn;
g_pScriptVM->SetValue( "command", ScriptVariant_t( pCmd ) );
ScriptVariant_t varTable;
g_pScriptVM->CreateTable( varTable );
HSCRIPT hTable = varTable.m_hScript;
for ( int i = 0; i < args.ArgC(); i++ )
{
g_pScriptVM->SetValue( hTable, CNumStr( i ), ScriptVariant_t( args[i] ) );
}
g_pScriptVM->SetValue( "args", varTable );
pPlayer->CallScriptFunction( "ClientCommand", &functionReturn );
g_pScriptVM->ClearValue( "command" );
g_pScriptVM->ClearValue( "args" );
g_pScriptVM->ReleaseValue( varTable );
if (functionReturn.m_bool)
return;
}
#endif
if ( Q_strlen( pCmd ) > 128 )
{
ClientPrint( pPlayer, HUD_PRINTCONSOLE, "Console command too long.\n" );