Context
I've been working on a config for two months that I temporarily named "MvM singleplayer". Basically it streamlines the process of getting ally bots to work on listenservers, so that the user can play MvM without having to deal with toxic players and obnoxious wait times, or not have to spend hours just to get ally bots working in MvM. I am also making this config to push the limits of the Source scripting (CFGs not Vscript).
Unfortunately I have ran into problems that I haven't been able to fix yet. Some of these problems are simply impossible to fix with CFGs, and others need feedback that I have not gotten yet. Here's a list of them:
- Ally bot snipers only work with the huntsman.
- Ally bot engineers only build a sentry and not a teleporter or dispenser.
- I can't seem to properly create triggers with ent_create and ent_fire alone (I need to set the trigger model to get it to work, but I can't seem to do so). This means I cannot implement a pseudo money collection system, pseudo upgrade system, or force engis to build dispensers.
- I'm uncertain on how I should model the customization, or if it even needs any.
- Ally bot engineers choose to use a "random" sentry hint regardless if he is on the same team or not. I think this only happens with engineer nest hints created via ent_create and ent_fire, but I haven't done proper empirical testing on this yet.
- Ally bots never use a dispenser on their own.
Notes:
- For the sniper issues, I tried to use the bot_controller and logic_timer to force the Sniper to fire, and while that does work this method is really bad without being able to make triggers; I'd rather just use tf_bots instead.
Downloading and Compiling
Download link
I'm currently making this config using Scalu so that I can cut down the time spent on programming. When the config has reached its final form and enough people want it, I'll make it run off native CFGs. There is a compilation script I made, but it references the scalu directory in documents and is a BASH script, so I'd just ignore it and compile the program (the file mvmsp.scalu) manually. The preexisting CFGs in cfg/_internal are required for this config to function, so do not delete them!
To execute this program you first need to run "exec scalu" in console to initialize Scalu, and then after creating a listenserver on an MvM map run "$init_mvm_sp" to initialize the actual config itself. Do "$bot_team_custom" in console to instantly create a team of bots defined in the mvmsp.scalu file, or just run "$bot_team_random" in console to make a randomized team.
Oh btw sv_allow_point_servercommand needs to be set to "always" before creating an MvM listenserver for this config to work properly.
[b][h]Context[/h][/b]
I've been working on a config for two months that I temporarily named "MvM singleplayer". Basically it streamlines the process of getting ally bots to work on listenservers, so that the user can play MvM without having to deal with toxic players and obnoxious wait times, or not have to spend hours just to get ally bots working in MvM. I am also making this config to push the limits of the Source scripting (CFGs not Vscript).
Unfortunately I have ran into problems that I haven't been able to fix yet. Some of these problems are simply impossible to fix with CFGs, and others need feedback that I have not gotten yet. Here's a list of them:
[list]
[*] Ally bot snipers only work with the huntsman.
[*] Ally bot engineers only build a sentry and not a teleporter or dispenser.
[*] I can't seem to properly create triggers with ent_create and ent_fire alone (I need to set the trigger model to get it to work, but I can't seem to do so). This means I cannot implement a pseudo money collection system, pseudo upgrade system, or force engis to build dispensers.
[*] I'm uncertain on how I should model the customization, or if it even needs any.
[*] Ally bot engineers choose to use a "random" sentry hint regardless if he is on the same team or not. I think this only happens with engineer nest hints created via ent_create and ent_fire, but I haven't done proper empirical testing on this yet.
[*] Ally bots never use a dispenser on their own.
[/list]
Notes:
[list]
[*] For the sniper issues, I tried to use the bot_controller and logic_timer to force the Sniper to fire, and while that does work this method is really bad without being able to make triggers; I'd rather just use tf_bots instead.
[/list]
[b][h]Downloading and Compiling[/h][/b]
[url=https://mega.nz/file/tp5wmZpY#McK8XIXBkX4lA_laPDpgcfiaoD0pxHuIMNGYPYZ1--s]Download link[/url]
I'm currently making this config using [url=https://github.com/ArgosOfIthica/scalu]Scalu[/url] so that I can cut down the time spent on programming. When the config has reached its final form and enough people want it, I'll make it run off native CFGs. There is a compilation script I made, but it references the scalu directory in documents and is a BASH script, so I'd just ignore it and compile the program (the file mvmsp.scalu) manually. The preexisting CFGs in cfg/_internal are [i]required[/i] for this config to function, so do not delete them!
To execute this program you first need to run "exec scalu" in console to initialize Scalu, and then after creating a listenserver on an MvM map run "$init_mvm_sp" to initialize the actual config itself. Do "$bot_team_custom" in console to instantly create a team of bots defined in the mvmsp.scalu file, or just run "$bot_team_random" in console to make a randomized team.
Oh btw sv_allow_point_servercommand needs to be set to "always" before creating an MvM listenserver for this config to work properly.