AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [L4D2/CS:GO/TF2/NMRiH] VScript File Replacer (1.17) [28-Jan-2024] (https://forums.alliedmods.net/showthread.php?t=318024)

Silvers 08-09-2019 19:00

[L4D2/CS:GO/TF2/NMRiH] VScript File Replacer (1.17) [28-Jan-2024]
 
27 Attachment(s)
About:
  • Provides a config to specify which VScript files to override.
  • You can replace the whole script or search and replace specific strings.
  • Supports RegEx matching for filenames and for matching strings within the VScripts.
  • Some games or maps will have embedded and possibly encrypted scripts preventing any reasonable method to modify them. This plugin makes that happen.



Supported Games:
  • CS:GO
  • L4D2
  • NMRiH
  • TF2
  • Can be extended to other games which use VScripts. Please request if required.



Related Plugins:


Thanks:
  • "Peace-Maker" - Fixing dHooks SetParamString.
  • "Lux" - Testing
  • "Dragokas" - Testing
  • "Mr. Man" - Testing



Admin Commands:
  • Requires "z" - ADMFLAG_ROOT flag
PHP Code:

sm_vs_dump       // Dumps all found VScripts from the servers /scripts/vscripts/ file system to /scripts/vscripts/vscripts_dump/. Automatically decodes if required.
sm_vs_encrypt    // Usage: sm_vs_encrpt <filename.nut>. Encode the specified script, must be inside the servers /scripts/vscripts/ folder, include the extension.
sm_vs_exec       // Usage: sm_vs_exec <filename>. Executes a VScript file. This is a wrapper to the script_execute command. Can recompile plugin to use logic_script instead.
sm_vs_file       // Usage: sm_vs_file <filename>. Extracts the specified VScript from the Valve file system to the servers /scripts/vscripts/vscripts_dump/ folder. Automatically decodes if required.
sm_vs_list       // Show data config tree of modified scripts for the current map.
sm_vs_listen     // Toggle printing to server console the names of scripts being executed.
sm_vs_reload     // Reloads the data config. This also replaces files in the override folder. 



ConVars:

Saved to vscript_replacer.cfg in your servers \cfg\sourcemod\ folder.

PHP Code:

// 0=Off. 1=Print to server. 2=Print to chat. 4=Verbose logging. Add numbers together.
vscript_replacer_debug "0"

// VScript File Replacer plugin version.
vscript_replacer_version 




Forward for developers:
Spoiler




Config:
  • Plugin data config saved to \addons\sourcemod\data\vscripts_override.cfg.

    Here is an example demonstrating various features and techniques.
    Spoiler



Changes:
Code:

1.17 (28-Jan-2024)
    - Fixed memory leak caused by clearing StringMap/ArrayList data instead of deleting.

1.16 (10-Mar-2023)
    - Changed command "sm_vs_dump" to display the number of scripts dumped.
    - Fixed error when no VScript files or directories exist. Thanks to "Sreaper" for reporting.

1.15 (20-Dec-2022)
    - Added support for Team Fortress 2.
    - GameData file and plugin updated.

1.14 (15-Oct-2022)
    - Added an include file for other plugins to require this plugin.
    - Added registering the plugin library as "vscript_replacer" for plugins to detect.

1.13 (15-Jul-2022)
    - Increased buffer size. Thanks to "Psyk0tik" for reporting.

1.12 (03-Jun-2022)
    - Added support for "NMRiH" game. Thanks to "Dysphie" for the signatures.
    - GameData file and plugin updated.

1.11 (07-Oct-2021)
    - Fixed compile errors on SourcecMod version 1.11. Thanks to "Hajitek Majitek" for reporting.
    - Thanks to "asherkin" for helping fix.

1.10a (10-Apr-2021)
    - Minor change to "vscript_replacer.cfg" for demonstrating regex in map names. Thanks to "Tonblader" for reporting.

1.10 (04-Mar-2021)
    - Added ConVar "vscript_replacer_debug" to enable debugging with options for verbose debugging and printing to chat or server.
    - ConVar config is saved as "vscript_replacer.cfg" filename in your servers standard "cfg/sourcemods" folder.

1.9 (30-Sep-2020)
    - Increased MAX_BUFFER size to support largest known VScript file sizes.

1.8 (20-Jul-2020)
    - Fixed overrides not working. Not sure why this went undetected for so long.

1.7 (10-May-2020)
    - Various changes to tidy up code.
    - Various optimizations and fixes.

1.6 (05-May-2020)
    - Added forward "OnVScriptExecuted" to notify plugins when a script is executed (allows blocking or changing).
    - Changed script names to be case insensitive.
    - Fixed leaking handle when searching through directories.
    - Various small changes.

1.5 (03-Feb-2020)
    - Fixed previous update breaking support for scripts within folders. Thanks to "Marttt" for reporting.

1.4 (27-Jan-2020)
    - Updated "data/vscript_replacer.cfg" with Helms Deep new additions.

1.4 (22-Jan-2020)
    - Added RegEx support for matching multiple script names.
    - Updated "data/vscript_replacer.cfg" to fix Helms Deep patches. All working now.

1.3 (18-Jan-2020)
    - Changed command "sm_vs_exec" to use a logic_script instead, due to script_execute requiring sv_cheats.
    - Fixed not loading scripts where the filename is matched using regex. Thanks to "dustinandband" for reporting.
    - Fixed error when reporting duplicate keys in config.
    - Updated "data/vscript_replacer.cfg" to fix Helms Deep patches and added various critical cvars being changed.

1.2 (16-Jan-2020)
    - Added command "sm_vs_exec" to execute a VScript file. This is a wrapper to the function "script_execute".
    - Fixed not using the specified "override" filename. Thanks to "xZk" for reporting.

1.1b (11-Nov-2019)
    - Edited "data/vscripts_override.cfg" data config adding more Helms Deep fixes.
    - No plugin changes.

1.1 (01-Nov-2019)
    - Added command "sm_vs_listen" to print to server console the names of scripts being executed.
    - Fixed command "sm_vs_dump" from copying files from the dump folder.

1.0 (10-Aug-2019)
    - Initial release.



Requirements:

Installation:
  1. Download the .zip and extract the files to their respective folders in your servers \addons\sourcemod\ folder.

xZk 08-09-2019 22:47

Re: [L4D2 & CS:GO] VScript File Replacer (1.0) [10-Aug-2019]
 
Amazing!, could this also apply to the final campaigns?
https://developer.valvesoftware.com/.../Custom_Finale

zipcore 08-10-2019 07:44

Re: [L4D2 & CS:GO] VScript File Replacer (1.0) [10-Aug-2019]
 
Awesome stuff

Silvers 08-10-2019 12:10

Re: [L4D2 & CS:GO] VScript File Replacer (1.0) [10-Aug-2019]
 
Quote:

Originally Posted by xZk (Post 2662717)
Amazing!, could this also apply to the final campaigns?
https://developer.valvesoftware.com/.../Custom_Finale

Yep

asherkin 09-07-2019 06:22

Re: [L4D2 & CS:GO] VScript File Replacer (1.0) [10-Aug-2019]
 
This is awesome, very nice work.

joyist 09-08-2019 20:34

Re: [L4D2 & CS:GO] VScript File Replacer (1.0) [10-Aug-2019]
 
Good job

Silvers 10-31-2019 22:36

Re: [L4D2 & CS:GO] VScript File Replacer (1.1) [01-Nov-2019]
 
Quote:

Originally Posted by asherkin (Post 2666174)
This is awesome, very nice work.

Quote:

Originally Posted by joyist (Post 2666350)
Good job

Thank you :up:


Code:

1.1 (01-Nov-2019)
    - Added command "sm_vs_listen" to print to server console the names of scripts being executed.
    - Fixed command "sm_vs_dump" from copying files from the dump folder.


xZk 01-15-2020 18:32

Re: [L4D2 & CS:GO] VScript File Replacer (1.1) [01-Nov-2019]
 
1 Attachment(s)
Hi Silvers, What would it be like to overwrite a finale vscript?.
for example, I added this in the cfg file:
PHP Code:

  "c1m4_atrium"
    
{
        
// VScript filename to override, searches the Valve file system and gamedir.
        // This matches the script "some_vscript_file".
        
"c1m4_atrium_finale"
        
{
            
// The "override" key is reserved for replacing the whole VScript file with a custom one, if both files exist.
            // The specified value must point to a filename in your servers /scripts/vscripts/vscripts_custom/ folder.
            // The file is copied to the your servers /scripts/vscripts/vscripts_override/ folder.
            
"override"                                "c1m4_atrium_finale_custom"

            
// Can still use other keys to find and replace strings within the override file.
            //"some_random_var = false;"                "some_random_var = true;"
        
}
    } 

i used the same file(c1m4_atrium_finale) obtained from the vscripts_dump folder, copied this to vscripts_custom folder and and rename it with "c1m4_atrium_finale_custom". But when the finale is activated it is as if the rescue arrived, will I have been wrong about something?
pd: i tested this with sm1.9/1.10 on windows

Silvers 01-15-2020 18:36

Re: [L4D2 & CS:GO] VScript File Replacer (1.1) [01-Nov-2019]
 
Should work fine. Is there a problem?

xZk 01-15-2020 21:41

Re: [L4D2 & CS:GO] VScript File Replacer (1.1) [01-Nov-2019]
 
the problem is that the finale is buged when it's override, I just tried it with the finale of the concert and start the helicopter arrives immediately... it is as if the vscript does not read :/

Silvers 01-16-2020 12:18

Re: [L4D2 & CS:GO] VScript File Replacer (1.1) [01-Nov-2019]
 
Quote:

Originally Posted by xZk (Post 2680439)
the problem is that the finale is buged when it's override, I just tried it with the finale of the concert and start the helicopter arrives immediately... it is as if the vscript does not read :/

Thanks. It was expecting an identically named file in the /custom/ folder as the one it's overriding instead of a custom named file. Have fixed it to work as expected.

xZk 01-16-2020 22:16

Re: [L4D2 & CS:GO] VScript File Replacer (1.2) [16-Jan-2020]
 
now it works perfectly ty! :D

Silvers 01-18-2020 08:59

Re: [L4D2 & CS:GO] VScript File Replacer (1.3) [18-Jan-2020]
 
Plugin updated, various plugin fixes and changes for Helms Deep config.

Code:

1.3 (18-Jan-2020)
    - Changed command "sm_vs_exec" to use a logic_script instead, due to script_execute requiring sv_cheats.
    - Fixed not loading scripts where the filename is matched using regex.
    - Fixed error when reporting duplicate keys in config.
    - Updated "data/vscript_replacer.cfg" to fix Helms Deep patches and added various critical cvars being changed.

1.2 (16-Jan-2020)
    - Added command "sm_vs_exec" to execute a VScript file. This is a wrapper to the function "script_execute".
    - Fixed not using the specified "override" filename. Thanks to "xZk" for reporting.


Marttt 01-20-2020 13:11

Re: [L4D2 & CS:GO] VScript File Replacer (1.3) [18-Jan-2020]
 
Is there a way to replace all vscripts in mass? (independent of the file name)

e.g.: I want to change the WitchLimit string in all vscripts, is that possible?

I know that for the map there is a regex for that (".+")

Btw amazing plugin, as always, seems that great things will be done with it.

Silvers 01-20-2020 13:28

Re: [L4D2 & CS:GO] VScript File Replacer (1.3) [18-Jan-2020]
 
Quote:

Originally Posted by Marttt (Post 2681028)
Is there a way to replace all vscripts in mass? (independent of the file name)

The whole regex system inside this script would need to be changed to support multiple files

Edit: After hours of modification everything seems to be working as expected. It's matching and editing multiple files. Note: this will copy/edit/save every matched VScript file into the /vscripts_override/ folder. This is the only way the plugin can work. This also happens on each map change to account for config and vscript modifications so shouldn't affect gameplay. Will release soon.

PM me if you want to beta test.

Kxnrl 01-20-2020 14:18

Re: [L4D2 & CS:GO] VScript File Replacer (1.3) [18-Jan-2020]
 
I have a question, Is it possible get some variables from vscripts?

like this.
local var1 <- 1;
int var = GetVscriptVarInt("var1");

Silvers 01-20-2020 14:20

Re: [L4D2 & CS:GO] VScript File Replacer (1.3) [18-Jan-2020]
 
Quote:

Originally Posted by Kxnrl (Post 2681040)
I have a question, Is it possible get some variables from vscripts?

Get and show where? [L4D2 / CSGO / ANY] Execute Vscript Get Return

Silvers 01-22-2020 15:15

Re: [L4D2 & CS:GO] VScript File Replacer (1.4) [22-Jan-2020]
 
Code:

1.4 (22-Jan-2020)
    - Added RegEx support for matching multiple script names.
    - Updated "data/vscript_replacer.cfg" to fix Helms Deep patches. All working now.

This is quite heavily modified from previous versions, I tried testing everything and it all seems to work as expected, but please let me know if there are any problems.

DARG367 01-30-2020 22:37

Re: [L4D2 & CS:GO] VScript File Replacer (1.4) [22-Jan-2020]
 
I use Mutant Tanks plugin by Crasher_3637 and on all finales regardless of difficulty, I have 2 tanks that always spawn.

But on the No Mercy finale, only one is allowed to spawn. There are a few other finales that I think also have the same 'issue'?

I was wondering if this plugin could help solve this and how to go about it as well if someone didn't mind helping?

Marttt 01-30-2020 22:59

Re: [L4D2 & CS:GO] VScript File Replacer (1.4) [22-Jan-2020]
 
I did some tests once and I could increase the tank amount by changing this line on the c8m5_rooftop_finale.nut script

PHP Code:

    A_CustomFinale3         TANK
    A_CustomFinaleValue3     


But since I don't know much of regex, it would be necessary to check the files that contain *CustomFinale* string = TANK and then increase (or maybe remove?) the next attribute. But it can bug the finale as well, didn't make a full test, was just playing around.

Silvers 01-31-2020 12:38

Re: [L4D2 & CS:GO] VScript File Replacer (1.4) [22-Jan-2020]
 
You could try:

PHP Code:

    "c1m4_atrium"
    
{
        
"c1m4_atrium_finale"
        
{
            
"regex" "2"
            ".+CustomFinale6.+= TANK\r\n.+= 1"            "    A_CustomFinale6 = TANK\n    A_CustomFinaleValue6 = 3"
        
}
    } 

This will work, but note you have to put in the values "6" or in your case "3" because the plugin will search and replace the whole matched string. So it might be easier to just override the file and make the changes you need. Also Linux might handle newlines differently so "\n" instead of "\r\n" which is a Windows thing. You can modify the config, load the map, make various changes to "data/vscripts_override.cfg" and use "sm_vs_reload" to load the new config, then check in the "scripts/vscripts_override" folder if it's actually modified correctly.

The plugin could be made more powerful by using key identifiers to surround and replace only certain parts of the string, eg "CustomFinaleValue[0-9] = {{{3}}}" and whatever is inbetween "{{{}}}" will be replaced with what you specify, but at this time it's not something I plan to add. If more people request I'll consider it. Theres also the possibility that adding such an identifier would conflict with what's written in scripts, e.g. cause false positive, however making it unique enough should suffice. Again, not a current feature and no plan to add.

Use https://regex101.com/ or other equivalent to test RegEx strings.

Marttt 02-01-2020 13:46

Re: [L4D2 & CS:GO] VScript File Replacer (1.4) [22-Jan-2020]
 
@DARG367

I did some tests with the regex that Silvers provided and I could make it work on finales (I'm using the latest version of the plugin [22-Jan-2020]).
The finale didn't bug and I could finish the map.

The snippet above will:
  • Replaces all vscripts with this config
  • Allows spawning of both witches/tanks
  • Set the required amount of 2 tanks being killed to go to next finale trigger.

Notes:
  • Tested on Windows OS
  • If you need to change the amount of tanks on finale just replace the end of the strings
    e.g.: from ...CustomFinaleValue1 = 2" to ...CustomFinaleValue1 = 3"
  • If your server has some "Tank Limit", e.g. 2, and you set it to 3, it will still spawn 2 tanks, but after the first one is dead, it will spawn another one, then the next finale trigger will not fire until have 3 tanks killed.
  • I made it from A_CustomFinale[0-51] because it seems that the c1m4_atrium map has 51 finale triggers.

Spoiler

DARG367 02-01-2020 14:19

Re: [L4D2 & CS:GO] VScript File Replacer (1.4) [22-Jan-2020]
 
Thanks, Silvers and Marttt for the information! I will definitely try these out!

Silvers 02-02-2020 20:00

Re: [L4D2 & CS:GO] VScript File Replacer (1.5) [03-Feb-2020]
 
Code:

1.5 (03-Feb-2020)
    - Fixed previous update breaking support for scripts within folders. Thanks to "Marttt" for reporting.


Mi.Cura 02-05-2020 10:27

Re: [L4D2 & CS:GO] VScript File Replacer (1.5) [03-Feb-2020]
 
Hello Silvers, can help please, i'm use last version.

I received this in the LOG.

L 02/05/2020 - 16:38:27: SourceMod error session started
L 02/05/2020 - 16:38:27: Info (map "c5m1_waterfront") (file "d:\tcafiles\users\34149\left4dead2\addons\so urcemod\logs\errors_20200205.log")
L 02/05/2020 - 16:38:27: [SM] Exception reported: Script execution timed out
L 02/05/2020 - 16:38:27: [SM] Blaming: vscript_replacer.smx
L 02/05/2020 - 16:38:27: [SM] Call stack trace:
L 02/05/2020 - 16:38:27: [SM] [1] Line 675, D:\Games e Programas\PLUGINS\sourcemod-1.10.0-git6460-windows\addons\sourcemod\scripting\vscript_re placer.sp::SaveFile
L 02/05/2020 - 16:38:27: [SM] [2] Line 602, D:\Games e Programas\PLUGINS\sourcemod-1.10.0-git6460-windows\addons\sourcemod\scripting\vscript_re placer.sp::ValidateFileSave
L 02/05/2020 - 16:38:27: [SM] [3] Line 575, D:\Games e Programas\PLUGINS\sourcemod-1.10.0-git6460-windows\addons\sourcemod\scripting\vscript_re placer.sp::SaveOverrides
L 02/05/2020 - 16:38:27: [SM] [4] Line 429, D:\Games e Programas\PLUGINS\sourcemod-1.10.0-git6460-windows\addons\sourcemod\scripting\vscript_re placer.sp::ResetPlugin
L 02/05/2020 - 16:38:27: [SM] [5] Line 375, D:\Games e Programas\PLUGINS\sourcemod-1.10.0-git6460-windows\addons\sourcemod\scripting\vscript_re placer.sp::VScriptServerCompileScript
L 02/05/2020 - 16:44:23: Error log file session closed.

P.S, thanks for sharing this plugin :)

Silvers 02-05-2020 19:18

Re: [L4D2 & CS:GO] VScript File Replacer (1.5) [03-Feb-2020]
 
Quote:

Originally Posted by Mi.Cura (Post 2682823)
Hello Silvers, can help please, i'm use last version.

Any modifications to the source? PM me your data/vscript_override.cfg.

For me it takes 0.5 seconds to dump all vscripts and make changes, so as Marttt said your RegEx maybe too complicated causing delay.

GoGetSomeSleep 03-18-2020 19:54

Re: [L4D2 & CS:GO] VScript File Replacer (1.5) [03-Feb-2020]
 
<Bad Load> vscript_replacer.smx
vscript_replacer.smx: Unable to load plugin (no debug string table)

DHooks (2.2.0-detours9): Dynamic Hooks

SourceMod Version: 1.9.0.6282
SourcePawn Engine: 1.9.0.6282, jit-x86 (build 1.9.0.6282)

Silvers 03-18-2020 23:07

Re: [L4D2 & CS:GO] VScript File Replacer (1.5) [03-Feb-2020]
 
Quote:

Originally Posted by GoGetSomeSleep (Post 2687537)
<Bad Load> vscript_replacer.smx
vscript_replacer.smx: Unable to load plugin (no debug string table)

DHooks (2.2.0-detours9): Dynamic Hooks

SourceMod Version: 1.9.0.6282
SourcePawn Engine: 1.9.0.6282, jit-x86 (build 1.9.0.6282)

Means plugin was compiled with 1.10. Update to 1.10 or compile yourself.

Voevoda 05-22-2020 11:02

Re: [L4D2 & CS:GO] VScript File Replacer (1.7) [10-May-2020]
 
Quote:

L 05/22/2020 - 16:10:07: SourceMod error session started
L 05/22/2020 - 16:10:07: Info (map "c9m2_lots") (file "/home/l4d2_eq_coop/serverfiles/left4dead2/addons/sourcemod/logs/errors_20200522.log")
L 05/22/2020 - 16:10:07: [vscript_replacer.smx] Failed to open file for reading: "scripts/vscripts/vscripts_custom/c9m2_lots_finale.nut"
L 05/22/2020 - 16:10:07: [vscript_replacer.smx] Missing file: Cannot find VScript "scripts/vscripts/vscripts_override/c9m2_lots_finale.nut" to override.
L 05/22/2020 - 16:31:31: Error log file session closed.
L 05/22/2020 - 17:45:34: SourceMod error session started
L 05/22/2020 - 17:45:34: Info (map "c8m5_rooftop") (file "/home/l4d2_eq_coop/serverfiles/left4dead2/addons/sourcemod/logs/errors_20200522.log")
L 05/22/2020 - 17:45:34: [vscript_replacer.smx] Failed to open file for reading: "scripts/vscripts/vscripts_custom/c8m5_rooftop_finale.nut"
L 05/22/2020 - 17:45:34: [vscript_replacer.smx] Missing file: Cannot find VScript "scripts/vscripts/vscripts_override/c8m5_rooftop_finale.nut" to override.
L 05/22/2020 - 17:52:41: [DefibFix] Player NOT FOUND. Using default engine logic.
L 05/22/2020 - 17:53:45: Error log file session closed.

help

Silvers 05-22-2020 11:15

Re: [L4D2 & CS:GO] VScript File Replacer (1.7) [10-May-2020]
 
Please read the error.
Quote:

Missing file: Cannot find VScript "scripts/vscripts/vscripts_override/c8m5_rooftop_finale.nut" to override.

XDglory 07-05-2020 13:22

Re: [L4D2 & CS:GO] VScript File Replacer (1.7) [10-May-2020]
 
What do I have to do if I want command "MaxSpecials=4" is set on every map?
Do I have to create a .nut file to override or I just have to put this command in vscripts_override.cfg on some section?

Silvers 07-05-2020 13:37

Re: [L4D2 & CS:GO] VScript File Replacer (1.7) [10-May-2020]
 
Editing every vscript for this doesn't make much sense. You could try creating a vscript and executing but some vscripts will probably change the value dynamically during gameplay.

It might be better to create a small plugin using Left 4 DHooks and setting the value whenever "MaxSpecials" is being read. Actually I already wrote an example of this here: https://forums.alliedmods.net/showpo...2&postcount=30

I also wrote another plugin for Left4DHooks. It "Uses the z_*_limit cvar values to limit the number of Special Infected." This overrides every other value for limiting special infected, so you can set exactly for example maximum of 2 hunters allowed at any time. Just released: https://forums.alliedmods.net/showpost.php?p=2708749

XDglory 07-05-2020 14:00

Re: [L4D2 & CS:GO] VScript File Replacer (1.7) [10-May-2020]
 
Quote:

Originally Posted by Silvers (Post 2708747)
Editing every vscript for this doesn't make much sense. You could try creating a vscript and executing but some vscripts will probably change the value dynamically during gameplay.

It might be better to create a small plugin using Left 4 DHooks and setting the value whenever "MaxSpecials" is being read. Actually I already wrote an example of this here: https://forums.alliedmods.net/showpo...2&postcount=30

I also wrote another plugin for Left4DHooks. It "Uses the z_*_limit cvar values to limit the number of Special Infected." This overrides every other value for limiting special infected, so you can set exactly for example maximum of 2 hunters allowed at any time. Just released: https://forums.alliedmods.net/showpost.php?p=2708749

Thank you for your prompt reply!
However I am still using SM1.9 since lots of plugins of mine are relative to l4downtown, would need some time to make them compatible with your masterpiece.

Silvers 07-20-2020 00:02

Re: [L4D2 & CS:GO] VScript File Replacer (1.8) [20-Jul-2020]
 
Code:

1.8 (20-Jul-2020)
    - Fixed overrides not working. Not sure why this went undetected for so long.


rtokuda 07-24-2020 10:37

Re: [L4D2 & CS:GO] VScript File Replacer (1.8) [20-Jul-2020]
 
How can I edit the script for an L4d2 campaign? changing the number of tanks in final waves?

rtokuda 07-25-2020 09:27

Re: [L4D2 & CS:GO] VScript File Replacer (1.8) [20-Jul-2020]
 
I didn't understand how I can create a vscript to change an end of campaign in L4D2

Marttt 07-25-2020 11:32

Re: [L4D2 & CS:GO] VScript File Replacer (1.8) [20-Jul-2020]
 
Try reading this post, maybe it helps you to understand how achieve that.

rtokuda 07-25-2020 12:39

Re: [L4D2 & CS:GO] VScript File Replacer (1.8) [20-Jul-2020]
 
Quote:

Originally Posted by Marttt (Post 2711628)
Try reading this post, maybe it helps you to understand how achieve that.

I created a NUT file with the name final_tank in path the scrips / vscripts . But to load this script is the command "sm_vs_reload"?

PHP Code:

".+"
    
{
        
// Matches all script names.
        
".+"
        
{
            
//Spawning limits
            
"\sTankLimit"                            "\t//TankLimit"
            "\sWitchLimit"                            "\t//WitchLimit"
            
            
//General
            
"\sProhibitBosses"                        "\t//ProhibitBosses"
            
            
//Custom Finales
            
"\sA_CustomFinale1\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale1 = TANK\r\n\tA_CustomFinaleValue1 = 2"
            "\sA_CustomFinale2\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale2 = TANK\r\n\tA_CustomFinaleValue2 = 2"
            "\sA_CustomFinale3\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale3 = TANK\r\n\tA_CustomFinaleValue3 = 2"
            "\sA_CustomFinale4\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale4 = TANK\r\n\tA_CustomFinaleValue4 = 2"
            "\sA_CustomFinale5\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale5 = TANK\r\n\tA_CustomFinaleValue5 = 2"
            "\sA_CustomFinale6\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale6 = TANK\r\n\tA_CustomFinaleValue6 = 2"
            "\sA_CustomFinale7\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale7 = TANK\r\n\tA_CustomFinaleValue7 = 2"
            "\sA_CustomFinale8\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale8 = TANK\r\n\tA_CustomFinaleValue8 = 2"
            "\sA_CustomFinale9\s.+= TANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale9 = TANK\r\n\tA_CustomFinaleValue9 = 2"
            "\sA_CustomFinale10\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale10 = TANK\r\n\tA_CustomFinaleValue10 = 2"
            "\sA_CustomFinale11\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale11 = TANK\r\n\tA_CustomFinaleValue11 = 2"
            "\sA_CustomFinale12\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale12 = TANK\r\n\tA_CustomFinaleValue12 = 2"
            "\sA_CustomFinale13\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale13 = TANK\r\n\tA_CustomFinaleValue13 = 2"
            "\sA_CustomFinale14\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale14 = TANK\r\n\tA_CustomFinaleValue14 = 2"
            "\sA_CustomFinale15\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale15 = TANK\r\n\tA_CustomFinaleValue15 = 2"
            "\sA_CustomFinale16\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale16 = TANK\r\n\tA_CustomFinaleValue16 = 2"
            "\sA_CustomFinale17\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale17 = TANK\r\n\tA_CustomFinaleValue17 = 2"
            "\sA_CustomFinale18\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale18 = TANK\r\n\tA_CustomFinaleValue18 = 2"
            "\sA_CustomFinale19\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale19 = TANK\r\n\tA_CustomFinaleValue19 = 2"
            "\sA_CustomFinale20\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale20 = TANK\r\n\tA_CustomFinaleValue20 = 2"
            "\sA_CustomFinale21\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale21 = TANK\r\n\tA_CustomFinaleValue21 = 2"
            "\sA_CustomFinale22\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale22 = TANK\r\n\tA_CustomFinaleValue22 = 2"
            "\sA_CustomFinale23\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale23 = TANK\r\n\tA_CustomFinaleValue23 = 2"
            "\sA_CustomFinale24\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale24 = TANK\r\n\tA_CustomFinaleValue24 = 2"
            "\sA_CustomFinale25\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale25 = TANK\r\n\tA_CustomFinaleValue25 = 2"
            "\sA_CustomFinale26\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale26 = TANK\r\n\tA_CustomFinaleValue26 = 2"
            "\sA_CustomFinale27\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale27 = TANK\r\n\tA_CustomFinaleValue27 = 2"
            "\sA_CustomFinale28\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale28 = TANK\r\n\tA_CustomFinaleValue28 = 2"
            "\sA_CustomFinale29\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale29 = TANK\r\n\tA_CustomFinaleValue29 = 2"
            "\sA_CustomFinale30\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale30 = TANK\r\n\tA_CustomFinaleValue30 = 2"
            "\sA_CustomFinale31\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale31 = TANK\r\n\tA_CustomFinaleValue31 = 2"
            "\sA_CustomFinale32\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale32 = TANK\r\n\tA_CustomFinaleValue32 = 2"
            "\sA_CustomFinale33\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale33 = TANK\r\n\tA_CustomFinaleValue33 = 2"
            "\sA_CustomFinale34\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale34 = TANK\r\n\tA_CustomFinaleValue34 = 2"
            "\sA_CustomFinale35\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale35 = TANK\r\n\tA_CustomFinaleValue35 = 2"
            "\sA_CustomFinale36\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale36 = TANK\r\n\tA_CustomFinaleValue36 = 2"
            "\sA_CustomFinale37\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale37 = TANK\r\n\tA_CustomFinaleValue37 = 2"
            "\sA_CustomFinale38\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale38 = TANK\r\n\tA_CustomFinaleValue38 = 2"
            "\sA_CustomFinale39\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale39 = TANK\r\n\tA_CustomFinaleValue39 = 2"
            "\sA_CustomFinale40\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale40 = TANK\r\n\tA_CustomFinaleValue40 = 2"
            "\sA_CustomFinale41\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale41 = TANK\r\n\tA_CustomFinaleValue41 = 2"
            "\sA_CustomFinale42\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale42 = TANK\r\n\tA_CustomFinaleValue42 = 2"
            "\sA_CustomFinale43\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale43 = TANK\r\n\tA_CustomFinaleValue43 = 2"
            "\sA_CustomFinale44\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale44 = TANK\r\n\tA_CustomFinaleValue44 = 2"
            "\sA_CustomFinale45\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale45 = TANK\r\n\tA_CustomFinaleValue45 = 2"
            "\sA_CustomFinale46\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale46 = TANK\r\n\tA_CustomFinaleValue46 = 2"
            "\sA_CustomFinale47\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale47 = TANK\r\n\tA_CustomFinaleValue47 = 2"
            "\sA_CustomFinale48\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale48 = TANK\r\n\tA_CustomFinaleValue48 = 2"
            "\sA_CustomFinale49\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale49 = TANK\r\n\tA_CustomFinaleValue49 = 2"
            "\sA_CustomFinale50\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale50 = TANK\r\n\tA_CustomFinaleValue50 = 2"
            "\sA_CustomFinale51\s=\sTANK\r\n.+=\s[0-9]*"            "\tA_CustomFinale51 = TANK\r\n\tA_CustomFinaleValue51 = 2"
        
}
    } 


Voevoda 08-03-2020 14:19

Re: [L4D2 & CS:GO] VScript File Replacer (1.8) [20-Jul-2020]
 
hi everyone please explain how to unlock 2 tanks on this map c6m1_riverbank_versus.nut

rtokuda 08-30-2020 12:25

Re: [L4D2 & CS:GO] VScript File Replacer (1.8) [20-Jul-2020]
 
Quote:

Originally Posted by Voevoda (Post 2712868)
hi everyone please explain how to unlock 2 tanks on this map c6m1_riverbank_versus.nut


I would also like to know how to change the number of tanks.


All times are GMT -4. The time now is 22:26.

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