![]() |
|
AI
Door Bug Fix
As some of you mappers
may have noticed, there is a bug where bots can open doors that they should
not be able to. Technical reason: The TBot script has a hacked up bit in it to allow it to open regular movers. It will open a regular mover no matter what, if it bumps into it. Now, the ThDoor script has a bit that will prevent a guard from opening the door, if set to bLocked=true and bGuardsCanOpen=false. The door script works fine, and will return that it couldn't open. However, the TBot script where it tries to open a ThDoor has a bug, and when it tries to frob the ThDoor and fails it will drop down to the code which will trigger a door directly, regardless of its state. The whole upshot of this is, if a bot tries to open a ThDoor, but fails, it assumes it's a regular mover and opens it anyways. I'm working on a ThDoor hack to keep this from happening. I will post the fixed script when I finish it.
The Solution: Ok, I worked out a fix that seems to work. Get the .umod installer here, or just get the raw files with no installer here. This is a modified ThDoor script which will ignore a guards request to open the door if it is set to bGuardsCanOpen=false. This should be compatible with any future Thievery releases (I hope ). The files I included are a readme, the DoorFix.u file, and a test map to demonstrate. If you use the umod version, the .u file will go into the system directory, and the map will get put into the regular Thievery map folder, for solo play test. The manual install zip just has the files, so put 'em wherever you want. To use this script in your maps, before you place the door, enter the line "obj load file=DoorFix.u package=MyLevel" (without quotes) into the command line at the bottom of the UnrealEd window. This will include the script into your map, so you don't need to include the DoorFix.u file in the ThAux.ini or along with your map file. The new door mover will show up in the right-click menu of the Add Mover button. It is named ThDoor2. It works just like a regular ThDoor, but the bots can't open it if it is set as such. This is just a quickie-hack, and I can't guarantee it'll work for everyone, but I did test it, and it seems to work right. This
is NOT an official patch of any sort, and the Thievery team isn't responsible
for it's creation, so don't bug 'em about it if you screw up. This is
just a hacked together script made by me.
Ahh I wish I'd known that. Will it still work if I've already used a script in my map, or will I have to redo all of my double doors that use the TriggerBool.u? Well... Hmmm, that is something I haven't realized would be a problem. When I did Triggerbool, I had (for whatever reason) assumed a mapper would know how to include a script themselves. I had forgotten that the obj load command wouldn't be documented as well as it should, and didn't include those instructions myself. I don't think there is a way to fix it. I've tried to do some package twiddling but UT dosen't like to replace packages. Sorry. I guess you'll either have to keep your maps the same, and distro the file along with it, or replace all of the existing triggerbool's yourself. If you choose to replace, make sure you strip out all of the existing triggerbool's from your map, save, exit Ued, then remove the TriggerBool editpackages line from the thaux.ini file. Reload your map into Ued, and do an obj load on the triggerbool.u package. Place the new triggerbool's into your map. I did the same thing to my map (putting in triggerbool from the .u instead of obj load), so don't feel too bad. I just kinda forgot you needed to load the file using the command box instead of editpackages. Oops.
Ummm.... What's a TriggerBool? Check out Microwave's tutorial on them here. |
|