Left 4 Dead 2

Left 4 Dead 2

Speedrunner Tools
 This topic has been pinned, so it's probably important
シェイディ♑  [developer] 2 Jul, 2020 @ 7:52am
Common Mistakes
I would like to inform speedrunners about some TAS details and facts, which they often ignore and thus violate real in-game processes. After wrong manipulation with scripts, your scripted trick impossible to complete in real game. Read information below attentively, because, probably, you didn't know most of this things and could abuse in your runs time by time. Check your runs, your ScMp more, guys, it's important to make legit speedruns first, than trying to cut more time.

ScriptedTP()
There's some basic information about this script function, that you could abuse very often. Remember, during omni-tp (6.1tp), bot CANNOT teleport, if you see this bot, if distance between you and him less 1500 units and if bot's teleport timer still didn't reach 6.1s. If bot started his movement until 4.8s, he will not teleport. Omni-tp teleport timer starts counting only when bot stands still. Bot can teleport after 16.1s if you still looking at him, but never tp if distance still less 1500. Function do teleport whenever you wish (depends on what arguments you specified) and doesn't check some situations, so, please, use it smart and not for omni-tp, because omni-tp is a stable teleport.

FastTP aka 4.7tp
Check your fast-tps that you used via ScriptedTP(). This type of teleports work differently and less strict, however, still has some rules. Time can be different, relatively of certain situation. May be 4.733 or 5.3+. DO NOT set 4.733 for ScriptedTP() if you aren't sure, that it's rly 4.733, check it before use script func. Also, fast-tp bot will never teleport to stuck player. FastTP doesn't work (or will be converted to omni-tp), if Tank in game.

StuckTP
Be careful with stuck-tp, due to with host_timescale tp time will be less relatively of current scale. Min. time of stuck tp with normal scale in the theory must be 10.1s, but we still recommend to re-test it again. Max. time 11s and more.

NAV
Idle-player cannot teleport in the saferoom, if map leader was enough slow and touched near-saferoom-NAV-area very early – bot will move, when you reached 90% (sometimes 95%) NAV flow distance, and this thing will break bot's tp. Bot WILL teleport, if his tp-timer exceeded 4.6 (rare) 4.8s until he started move. Speedrunners, please, be wise, and DO NOT abuse script function ScriptedTP() for teleports in saferoom.

DO NOT spawn wanderers on the navigation mesh with EMPTY attribute! Check all flags via nav_edit command before spawn zombie.

Bosses
Please, check on-map bosses, for example, most of 1st maps haven't Tanks, thus spawn them – isn't right. c12m1 hasn't Tank after you touched trigger. Below is an example Valve script, attached to trigger on c12m1, that disables bosses (player unable to skip it):
Msg("Initiating Nobosses Script\n"); DirectorOptions <- { // This turns off tanks and witches. ProhibitBosses = true }

AutoCB
Check your CBs and DCBs or use real-cbs instead. I strongly don't recommend to use old AutoCB plugins. Before use SpawnZombieForCB(), check the rage distance, usually it's 530, but sometimes it may be 1000 (c13m1) and 1825, do not spawn it too far. Super fast CBs (if you have about 1000 vel already) cannot be completed, if zombie runs on a flat surface (success only on uneven).

Items
All spawns, that you checked through director_must_create_all_scavenge_items must be checked twice, i.e. and w/o this ConVar, by reason, sometimes forced items aren't match with real one on map.



End
This message focused only on basic things and common mistakes, that TAS speedrunners make. Some of facts are missing and weren't listed here, but it doesn't mean, that they aren't exist. Don't forget to always TEST everything what you do and try not to make mistakes.

– Measure twice, cut once! (c)

P.S.: Also, if you trying to make legit runs, please, post your demos to other players could easily check your speedrun.

Speedrunner Tools API
Speedrunner Tools Full Pack[drive.google.com]
Last edited by シェイディ♑; 19 Sep, 2020 @ 9:34pm