
No More Room in Hell






《地狱已满》中的病毒基于现实病毒。 病毒及其影响 《地狱已满》中的病毒以“昏睡性脑炎”为原型。这是一种在1917年至1928年间影响世界多地的“已灭绝”病毒。但由于当时世界大战肆虐以及流感导致的高死亡率,该病毒被许多人忽视。“昏睡性脑炎”与《地狱已满》中的病毒(732-ZH)有诸多关联:两者都会导致感染者在发病前不久失明(即被咬伤时出现的屏幕效果);都会使受害者出现严重的精神错乱(与现实脱节的精神状态),导致其无法正常反应或做出有意识的决定;两种病毒最终都会引发严重且无法治愈的帕金森症。此外还有肌肉疼痛和肌肉协调能力丧失的症状。这意味着受害者在某种程度上无法再控制自己的行为或身体动作。受害者最终会倒下,并因力竭和疼痛而死亡。然而,感染732-ZH病毒后,受害者的大脑仍保持活跃,他们会“复活”。他们几乎没有疼痛感,并且只受一个任务的驱使——残害并吞噬任何他们能找到的活物。这两种疾病都通过咬伤和输血传播。昏睡性脑炎目前尚无已知治愈方法,并且已从地球上消失。关于零号病人是谁以及这种病毒是如何产生的,仍然没有任何线索。我们不知道它发生了什么,也不知道我们是否已准备好应对它的卷土重来。患有昏睡性脑炎的受害者









使用后可以随心所欲地捣乱。作弊码:打开控制台输入sv_cheats 1开启作弊功能。所有武器弹药:impulse 101。当前武器弹药:givecurrentammo。穿墙:noclip。补给箱:give item_inventory_box。医疗类:医疗包:give item_first_aid;绷带:give item_bandages;药:give item_pills;医疗箱:give nmrih_health_station。近战武器类:消防斧:give me_axe_fire;棒球棍:give me_bat_metal;电锯:give me_chainsaw;撬棒:give me_crowbar;小斧头:give me_hatchet;小刀:give me_kitknife;大刀:give me_machete;铅管:give me_pipe_lead;铁铲:give me_shovel;大锤:give me_sledge;扳手:give。me_wrench 弓箭:获取猎鹿人弓 手电筒:获取美光手电筒 对讲机:获取对讲机 建木板锤:获取 barricade 工具 灭火器:获取灭火器工具 信号枪:获取信号枪工具 焊枪:获取焊枪工具 手枪类 柯尔特45 M1911:获取fa_1911 格洛克:获取fa_glock17 伯莱塔M92F:获取fa_m92fs 鲁格MKiii:获取fa_mkiii 史密斯威森686:获取fa_sw686 【当前武器弹药】:givecurrentammo 步枪类 鲁格10/22:获取fa_1022 CZ858:获取fa_cz858 M16A4:获取fa_m16a4 萨科85:获取fa_sako85 SKS 7.62mm:give fa_sks ☆当前武器弹药:givecurrentammo 霰弹枪类 Mossberg 500a:give fa_500a 雷明顿870:give fa_870 温彻斯特Super X3:give fa_superx3 伯莱塔Perennia SV10:give fa_sv10 温彻斯特1892:give fa_winchester1892 ☆当前武器弹药:givecurrentammo 冲锋枪类 英格拉姆Mac-10:give fa_mac10 黑克勒&科赫MP5A3:give fa_mp5a3 ☆当前武器弹药:givecurrentammo 爆炸类 TNT:give exp_tnt 手榴弹:give exp_grenade 燃烧瓶:give exp_molotov
I've been bored and at work tweaking and testing little things in this game to produce the best results possible, so I decided to document some of the fancy little things I manage to utilise in the maps I've worked on. I'm sure there's way better and more tricks out there, but I'm just putting it in a more convenient spot related to the game. Hopefully something here helps. item_inventory_box (AKA The Supply Box) Originally, mappers would consider passing a commands to make these non-solid objects, as to prevent creating safe spots for players to tower over zombies. Now, this is no longer needed in recent versions of NMRIH, as it now exists as a KeyValue you can easily toggle on and off! You can still use the passing command method to do it, if needed, but otherwise it's a simple set and forget now. random_spawner This entity allows you to set a random selection of gear, either by pre-made category or hand picking weapons, explosives, ammo, items and tools, and their percent chances to spawn. You do not need to explicitly make the values calculate to 100 across all modified variables, but it helps keep things clear and easier to understand. Having cumulative values below 100% will leave a chance for a location to be empty, which can promote a scarcity in items that appear. A related entity also exists, called random_spawner_controller, which allows a mapper to set a max value to the amount of objects that spawn. As long as the values are set to a sensible degree, you will see most of the available random_spawner locations be filled with varied gear with reduced repeating, which can prevent ammo and weapons from being one sided in type. func_zombie_spawn Many times when I investigate maps, people set custom "Spawn Density" and "Spawn Regeneration Target" values in the provided KeyValues, but neglect to toggle on "Allow Spawn Density Override" and "Allow Regen Target Override", meaning these values have no effect! Additionally, the input "InputInstantSpawn" requires you to pass a numerical value in the parameter override to succeed, otherwise the game will do nothing and spit an error in console. This allows you rapidly occupy a zone, without using npc_template and npc_maker to force spawn. Ignore Visibility is an important KeyValue, which allows zombies to spawn without care for what the player sees. At times, based on how a level may be setup, this might be the only option which will ensure fresh zombies come in. Ideally, you build a concealed area and set the func_zombie_spawn in there instead. These zombies will count towards a level's cap, so be wary that if they're not killed off or despawned, later zones will have minimal to no zombies. nmrih_barricade This entity tells the game where you can place Barricade Boards in a map, with a few caveats on getting blocked by entities and such. The only variable present is angles, controlling the pitch yaw and roll of the board. While you can set these boards up to be a pathway you can manually construct with boards, instead of being a wall to hold back the undead, I have a small optimisation that can be used. Turn SmartEdit off, and add "targetname" with a custom name, like many other entities you can name. By adding a targetname, you can now pass Input/Output commands to it. In maps where the barricade point may be inaccessible due to path RNG, it could be good to bind a Kill Input to them, deleting them from the current round and freeing up potential edicts. (max 2048 networked, 2048 non-networked (client side and server side.)) func_clip_vphysics This brush entity allows you to define a wall that will prevent objects from passing through, like thrown weapons, ammunition and objective items. You can select multiple brushes at once before converting them into a func_clip_vphysics, and the collision will be treated mostly the same, while consuming significantly less edicts! I can't ensure a huge area covered in a single assortment of func_clip_vphysics will work perfectly fine, but in my current experimentation it works just fine. (compiling 60+ brushes into one across a large open area.) func_nav_blocker This brush entity is one of my favourites to employ in stages when I update/overhaul them! This allows you to state that a path is blocked to the Zombies in a stage, and they will take a smarter path to you (when applicable!!!) rather than gaggling around some areas that would otherwise let them through. While you could do a fair amount of what this does with just smarter navmesh creation, I use it to specify breakable walls, windows and more. This usually will funnel them through the normal doors and openings, until otherwise available to them. A caveat of this, is that if you oversize it or put it in the wrong place, it may block more mesh than intended. You also need to pass Enable/Disable in a logic_auto to ensure that the blockers are active from the start of a round. You can also further control them with Input/Output on other entities. This one's very handy, and great to utilise despite the edict cost. You don't need to overuse it either, just when other solutions may not be so clean. func_viscluster Another disgustingly powerful brush entity, which when used incorrectly WILL wreck your performance ingame. The main use of this is to tell the visleaf calculation system that all leaves in this brush entity can see one another, which at times can simplify rendering and accelerate compile times. There's a lot of guides and information online for this one, and it's very up to situational applications. At least one or two spots in most maps could benefit from them, after other forms of optimisation like func_detail and more have been applied. logic_case (AKA How I love RNG) This entity is very common, and not super required unless you want to cause some random selections within a stage. I recommend using it to augment areas within survival, as this entity is not required within the objective mode for modifying the level's objectives or geometry. It's a bit of a headache to wrap around, but other guides explain it better. With suitable rng of side, optional areas not directly linked to items/weapons, but rather layout of some objects, Survival could be made significantly more varied with enough planning. This entity is also used to set a code for keypads when multiple options are present to try, but only one works. Got tips? Got any tips? I'm always willing to post more that I find, though your mileage may vary in actually utilising them. Share your own in the comments if you wish. Hopefully with a little bit of care and effort, maps can be the best they can be. Either way, thanks for reading, and have a good rest of your day. tool textures (Block LOS, and others) Block LOS is a immensely powerful tool to help give the players a degree of stealth against zombies, if such an effect is desired. Since Zombies can be set to go towards a target, as well as hear gunshots, you can build an area with models that you'd like zombies to not see through, create a box enveloping the area with this texture, and the zombies won't see through it. The same effect can be achieved in models themselves, if the appropriate flag is set in the .qc file. Most models in NMRIH, do not feature this. Likely to avoid zombies getting lost or not spotting the player.





Weapons guide and information. I will update as soon as possible if I notice something is wrong or find new information that is important Melee damages Zombies have 500 health on normal, and 1,000 in nightmare, so for charging weapons is twice as long; The max charge power is 3.5, and you gain 0.571 per second, you can charge for 6.13 seconds def charge(_dmg): _time = 500 / ( _dmg * 0.571 ) return _time if _time <= 6.13 else False Weapon damage list(the max carrying mass is 10 kg) weapon damage (head) damage charge to kill (casual) mass bat 225 80 3.9 seconds 1.8 kg fire axe 400 95 2.1 seconds 4 kg cleaver 200 75 4.4 seconds 0.8 kg crowbar 320 80 2.7 second 2.2 kg e-tool 230 80 3.8 seconds 2 kg fist 50 25 inf 0 fubar 680 110 1.3 4.5 kg hatchet 280 70 3.1 seconds 0.9 kg kit-knife 140 60 inf 0.5 kg machete 350 80 2.5 seconds 1.2 kg pickaxe 500 90 1.7 3.8 kg pipe lead 320 90 2.7 second 2.15 kg shovel 270 80 3.2 seconds 3.5 kg sledge 600 100 1.5 4 kg wrench 190 70 4.6 seconds 0.8 kg hammer 210 70 4.2 seconds 0.8 kg Firearm Damage Firearm Damage Damage (head) .22 25 300 9mm 35 300 .45 75 600 .556 100 500 .357 125 600 .762 150 600 .308 200 800 12 guag 250 2,000 Damages and health Important and useful information Bleeding does 1 dmg 5% chance of bleeding from injury 15% chance of bleeding from injury when below 45 health bandages stop bleeding and give an additional 15 health medkits give 30 health and stop bleeding if you are Screen turns gray at 35 health (I'm 99% sure) Fire does 1 dmg/unit Molotov fire does 3 dmg/unit Electrocution does 25 dmg/unit (or 100 in some cases) Barricades have 150 health Infection takes 120 seconds to kill Pills stave off the infection for 200 seconds Gene therapy has a 10% chance of blinding you for 60 seconds Zombies can't survive longer than 10 seconds on fire Flare guns do 50 damage, and molotovs do 30 damage Gas cans do 8 damage Zombies can reach 44 inches (3.7 ft [about 1 meter]) Molotov damage radius is 96 inches (8 ft [2.4 m]) Molotov burn frequency is 0.5 seconds Molotov damage duration is 20 seconds Grenade blast radius is 256 inches (21.3 ft [6.5 m]) TNT blast radius is 512 inches (42.7 ft [13 m]) TNT shake screen radius is 2048 inches (170.7 ft [52 m]) Probability of zombie dropping loot 10% List of zombie damages Bites always do 15 Hits always do 15 from regular zombies Runners do 20 and 40 damage for 1 and 2 hands respectively Kids do 8 and 16 damage for 1 and 2 hands respectively Here is health fraction of zombies Runner Kid Crawler 0.7 0.2 Always 50 hp Mathematics Probability of getting infected fₘ = infection chance modifier (0.975 on casual and 0.14 on nightmare) fₕ = health as a fraction (You are twice as likely to get infected in survival mode) P = (1 - (fₕ ⋅ fₘ))² Fall damage My calculator (theoretical)[xyzpw.github.io] My theory is fall damage is (25/55) ⋅ (V - 480) Because half-life has the same formula, but the multiplication factor is different, and it matches up with maximum fall velocity to 100 dmg and minimum 0; which, g = 20 m/s^2 Stamina I've messed around with crouching and it never seems to increase stamina regain, so that's most likely a myth. Stamina cost list Stamina cost is 2-fold when bleeding Shove cost 20 Jump cost 20 12 per second when sprinting Not moving regain rate 12 Regain rate crouch 9 Regain rate moving 6 Light breathing plays at 80 stamina Medium breathing plays at 60 stamina Heavy breathing plays at 40 stamina Maximum stamina is 130














