-
Posts
1179 -
Joined
-
Last visited
-
Days Won
60
Everything posted by Geep
-
@JackFarmer, if you look at that video closely, you will see the guards heads (and shoulders) are constantly rotating slowly from side to side. That's what I need to stop... or at least keep the eyes pointed in exactly one direction. The head movement is fine for casual chit-chat, less so for vital high-drama engagement.
-
I've been trying without success to get a standing AI to deliver a Conversation Talk with a steady gaze, without moving the head around. My experiments to overlap a Talk with a PlayAnim that points to an anim def with "no_random_headturning" haven't been fruitful. Tried the "Turn Towards" and "Look at" commands too. Head still shifting. Ideas?
-
FYI. I've added a new section to the Doors wiki article, "Initially Blocking a Door - Partially or Fully", that summarizes the recent discussion here about that.
-
@Petike the Taffer, a few thoughts... I dunno about the transparent room idea. Maybe you could achieve the same thing (I'm guessing a minor improvement in performance in some circumstance) with lots less effort by using a horizontal visportal at the interface between floors. A design with a spire or tower in the center of the courtyard, extending up to the skybox, could serve as an anchor for radial visportals to the courtyard walls. Festoon with worldspawn buttresses and arches as needed to make that work.
-
I've gotten myself confused about keys on AI and doors. Am I correct that all the following are true? If a key on an AI is pickpocketed, by default the AI can no longer go through a closed door needing that key Most gamers and game developers would recommend the opposite: letting the AI still go through the door That is achieved by adding spawnarg "can_unlock<num> <door name>" on the AI There is no difference between def_attached and bound keys in this regard There is no difference between def_attached and bound keys in ANY aspect of key use (not counting visual-appearance-when-animated issues) I recognize that (2) is an opinion, while the the others are factual.
-
Here's a hack solution I used recently. Create a movable (I guess a rock in your case) that gets pushed, but it can't really move because the other side of it runs into something immobile, like a world spawn chunk. Yet the player can pick the rock up and let the door open, or a script can remove the rock when no longer needed.
-
@kin, since no one responded otherwise, I think what you have here is a New Feature Request. You can add it to the bug tracker if you have an account (bugs.thedarkmod.com) or ask someone (including me) to do that for you. I have no opinion on whether it's technically feasible.
-
Sorry, false alarm. Problem (1) was due to an AI renaming I did a while ago breaking the script. I only noticed the effect of the breakage coincident with the 2.08 -> 2.09 upgrade. Likewise, I have a hypothesis of what caused problem (2) and have applied a fix to prevent recurrence.
-
(2) is beginning to look non-reproducible, so maybe not due to 2.09. Using "g_entityBindNew 0" did not solve problem (1). Dragofer, I'll have to re-establish a 2.08 environment. Done for tonight, try again tomorrow.
-
I upgraded 2.08 to 2.09 using the new installer, and there are preliminary indications that it's causing 2 new problems with my FM WIP. 1) the traditional teleporting by script method seems to not work: $myAI.setOrigin($myNewLocation.getOrigin()); 2) I have a custom atdm:mover_door, that should be opened only by scripting, so it has "frobable 0". Yet the script call no longer opens it: sys.trigger($myCustomDoor); Is this expected behavior? Workarounds?
-
That worked out OK. Though I imagine Dante's Inferno has a circle of hell populated by folks trying to loop animations with a text editor.
-
OK, I will look into that. Unfortunately, the viewer in DR shows time in seconds, but not frame number (that I know of), so makes it harder than need be. I guess I can do some percentage estimating tho.
-
REQUEST FOR HELP from someone with rig and skills for working with TDM humanoid md5anim. This would probably take you a few hours. It would take me, I dunno, until the end of time. Specifically, I need a shorter version of an existing md5 animation, sotha's pray, by cutting off the beginning and end and making sure the results loops OK. PM me if you can help with that, and to discuss details. Thanks.
-
- 9193 replies
-
- 10
-
-
I need to use the alternate mission success method. To test it, I set up a copy of the startmap FM (but with objectives simplified). I can get my alternative to play OK. BUT... Only if I use the console "map" command to launch it. Otherwise, if I do the launch through the main menu, the mission complete sound plays briefly, say 1/2 second, then the main menu music supersedes it! If I revert to the standard "mission complete" music, I see the same thing. Works fine launched with "map". If begun through the main menu, there's the kettle drums, but cut off before getting to the bing bong bing tones. Anyone else seeing this problem with startmap or their FMs?
-
Yup, (3) is working.
-
That's a pretty long, opaque article. I was hoping for a more focused suggestion. But what I gathered is: 1) "Any AI of specified type" is expecting a predefined enum, but where that is defined, I don't know. Searching the source code for "type" or SPEC_AI_TYPE wasn't fruitful. So I conclude this wiki comment can be answered in the negative: "Not sure if this is implemented yet" 2) I guess I could use the example "don't hurt AI" script, though it doesn't differentiate between player-caused and AI-caused hurt... probably won't be an issue in my case. 3) Evidently there's an "innocent" boolean I can set on each AI. Is that what the Objective Editor calls "Any AI with specified combat status"? If so, that would be my go-to solution, to decorate the 2 dozen AIs with innocent flags.
-
I'm setting up a "do not kill civilians" objective, which is a bit hard to test quickly, so let me ask here if I'm doing it right. It's always kinda unclear what should be entered in the component subfields. In particular, should the "Kill target" be "Any AI of specified type" "is_civilian"? With Amount = 0? Here's all the details: Initial State INCOMPLETE Flags: Mandatory - TRUE (for the moment) Ongoing - TRUE Irreversible - FALSE Visible - FALSE (later TRUE) Component #1 ============ Component Type: Type AI is killed Flags: Satisfied at start - TRUE Irreversible - FALSE Boolean NOT - TRUE Player responsible - TRUE Kill target: Any AI of specified type : is_civilian Amount: 0
-
Good to hear about setKey. Since I have a working system, I'll just stick with that. I likely couldn't just drop "setKey" into my current script code, because that code is triggered by the door opening, so would probably be too late to change the door limits. I'd likely have to set up another trigger zone in front of the door to see if rotate changes stick. As for a notPushable moveable, I wonder, if you shoot an arrow at it, does the arrow pass right through it? Because that's what the door does. I'm not saying that's wrong, just for me unexpected (and perhaps undocumented).
-
Solved! I didn't need to copy/paste, your suggestion was enough. I arranged a moveable plank on the floor that is hit by the opening door. The other end of the plank is against an immovable knob of worldspawn... required! Regarding the earlier attempts, it remains surprising to me that setting "notPushable 1" on a moveable doesn't make it act like worldspawn to the physics engine.
-
Didn't seem like the player grabbing the movable first made any difference. I tried wrapping the hammer in a forcefield and giving it a nudge with that too, to activate physics. No luck. I guess I could use an AI as door stop, that might work... but will introduce other problems.
-
Here's my problem du jour... I've got a door that, depending on conditions I evaluate in a script, either opens fully or just cracked. If I needed to do just one of those two, I'd just set the "rotate" value appropriately. But I don't think there's a way to set "rotate" from script. (The setSpawnArg function would only work before you spawn the door, not afterwards. It would get messy to spawn the door dynamically just-in-time.) So I tried creating a named "door stop" object, which I can easily remove via script when I need to. The problem now is that the door travels through the door stop as if it's not there. This is true with both a func_static door stop, and a stock moveable (the builder stone hammer) with "notpushable 1" set. Anything else to try?
-
@mmij, here's a thought. If you've set your speaker up to play a non-looped sound when triggered, you have to remember to add the spawnarg "s_waitfortrigger 1". Otherwise, the sound plays on world start, and you're probably not positioned to hear it. Unfortunately, s_waitfortrigger is not listed among the default spawnargs in the Entity Inspector, so it's easy to overlook.