Jump to content
The Dark Mod Forums
demagogue

Newbie DarkRadiant Questions

Recommended Posts

Anybody got some experience with troubleshooting doors that start way outside of their frames?

Figured out this was caused by targeting the doors from lamps. My doors have windows in them that used lit & unlit skins, and that part works alright. But lamps also will open/close the doors in certain situations:

1) if the door is open and the lamp is extinguished the door closes.

2) if the door is closed and the lamp is relit the door opens.

 

And a second bug, which was at the root of my problem I posted about: if the lamp is extinguished at map start the door will start way off elsewhere.

 

Didn't make the connection between lamps and doors until now because I always tested the skin changes only by extinguishing lamps while the doors were closed, which does not correspond to one of the 2 situations above. Will post a bug report of this later on.

Share this post


Link to post
Share on other sites

I'm trying to understand pulsing/flickering light textures. I found this thread: http://forums.thedarkmod.com/topic/19577-electrically-flickering-windows/?p=425559. Springheel wrote:

 

 

The strength of each change is controlled by the "table" the formula uses (that's what candle01 is). A table that uses "0, 0.5, 1, 0.5" will cycle from off to half brightness to full brightness to half and back to off. A table like " 1, 1, 1, 1, 1, 0, 1, 1, 1" would stay on full brightness most of the time but would blink off momentarily (the length of time each number occupies depends on the speed you set using the "time" formula).

I understand the part about tables (I'm going to create my own table to get the pulse I want). But I'm puzzled what this means: "the length of time each number occupies depends on the speed you set using the "time" formula". How does this work?
Jeff

Share this post


Link to post
Share on other sites

See https://www.iddevnet.com/doom3/materials.php under 'Math and Logic' -- notice how time is multiplied by 0.5 in the example. So if normally time counts up 1 per second, time * 0.5 counts upwards at 0.5 per second, meaning it's half as fast.


Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Share this post


Link to post
Share on other sites

Values put in the table will be used throughout one time cycle which is one second by default (if you use the table with time). The more values you put in the table, the more times you'll split that second into parts with different values. If you want longer time cycle, multiply the time by a decimal. AFAIK, the longest cycle is time * 0.1

Edited by Judith
  • Like 1

Share this post


Link to post
Share on other sites

Ah, cheers. I was thinking of how time behaves in something like

{
map whatever
scroll 0, time * 0.1
}

and had forgotten about any differences in tables.


Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Share this post


Link to post
Share on other sites

That's true, although I never understood why you had to divide time function to make the time cycle longer (time * 0.1 = time / 10). If anything, I'd assume that you have to multiply that one-second cycle by something > 1 to make it longer.

 

Btw. the limit isn't 0.1, but the pulse or flicker will be harder to notice with time * 0.01 (which is basically 100 seconds), if you don't have enough values in your table.

Edited by Judith
  • Like 1

Share this post


Link to post
Share on other sites

A quick question about triggers... I have a trigger_hurt in my map, that I want to become activated. In the wiki entry on the matter it says "It may be triggered on/off" which seems to be true, but I can't figure out how to make it start off. Right now it's starting on, and when triggered, it turns off. Is there an easy spawnarg I can put on the trigger_hurt entity to reverse that? I tried "waitfortrigger 1" similar to how you do with speakers, but it doesn't seem to respond to that.

Share this post


Link to post
Share on other sites

A quick check in DR suggests "on" "0". (I haven't tested it.)

Edited by VanishedOne
  • Like 1

Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Share this post


Link to post
Share on other sites

A quick check in DR suggests "on" "0". (I haven't tested it.)

 

Wow. That actually worked! Thanks. In the interest of "teaching a man to fish", when you say a quick check in DR, do you mean looking a specific map or is there a centralized hub of knowledge regarding available spawnargs? "on" seems like such a no-brainer but I had never heard of it...

Share this post


Link to post
Share on other sites

Basically I checked the inherited spawnargs. You can make an entity in DR and use the checkboxes at the top of the Entity tab to see what it inherited. There's also Entity -> Entity Class Tree, which sometimes lets you find out about spawnargs that don't have a value preset in the defs but have an editor_* arg containing the description.

 

Actually I don't recall seeing "On" before offhand; "start_on" or "start_off" seems more common.


Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Share this post


Link to post
Share on other sites

Has anyone managed to get a camera to display its own "monitor" on its display yet..?

I can't seem to get it working as it would, but then... I can't get more than one mirror rendering on screen at once / reflecting a mirror either, which is supposed to be possible in 2.07.

// ends up with noclip effect out of bounds or "doom effect".

Edited by teh_saccade

Share this post


Link to post
Share on other sites

Working on the final bug-squashing before heading into the beta phase, but there are a few things I can't seem to figure out.

 

1. When I start the mission it says AAS100 is out of date. I have no idea what kind of AI use that, and deleting the file did nothing. When dmapping it says "no entities inside". What's wrong and how do I fix it?

 

2. I have one AI that I want to have a path node where he sits down, waits, then flips a page or writes, then continues on patrol. I can't seem to get it to work smoothly. He sits down, then gets up and writes in mid air in the wrong direction, sits back down and then gets up and continues patrolling.

The current setup is path_corner -> path_sit (wait 10) -> path_anim (sit_writing1) -> path_wait and then targets other nodes.

 

3. I want to block the vision of AI in a few places. I looked at the wiki and it said to make a patch with something like entity_gui as texture, but that doesn't work. I tried the patch version, still see through it, and i tried making a brush with entity_gui, make it a func_static and solid 0, still they see through it. Does anyone know how to properly block AI vision of an area?

One weird thing about it is that the area is pitch black and suddenly AI started to notice when a body is laying there, but they didn't in earlier builds. So I'm not sure if it's solved by blocking AI vision or there is some other bugginess at play. Is there a spawnarg that makes AI not react to a body perhaps?

Share this post


Link to post
Share on other sites

1 - You have one or more horses in your map. Each of them is embedded inside either worldspawn or monsterclip at dmap time. What you need to do is move each horse so its origin is at least 50 units from nearby worldspawn or monsterclip.

  • Like 1

Share this post


Link to post
Share on other sites

2 - Remove the "wait" spawnarg from the path_sit. What you want is path_corner->path_sit->path_wait->path_anim->path_wait->path_corner.

 

Adjust the wait times on the path_waits as needed.

  • Like 1

Share this post


Link to post
Share on other sites

3 - It's a bug if the area is black and the AI is spotting a body deposited there. You can have AI not spot bodies by setting chanceNoticePerson to 0, but that's not recommended, because they won't see anybody.

 

The scene needs to be examined to find out where the light is coming from enabling passing AI to see the body.

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for your replies... AAS100 is related to horses huh? It's strange it just now started telling me it's out of date. I have not changed anything about the horse for a long time, but I will try it and see, as well as changing around the writing guy's nodes.

What do you mean by examined? Do you think there is some kind of invisible light hitting it somehow? How to proceed?

Share this post


Link to post
Share on other sites

Let me know when you start beta and I'll look at what's going on.

  • Like 1

Share this post


Link to post
Share on other sites

Let me know when you start beta and I'll look at what's going on.

 

Ok thanks, will do :)

I may still need help blocking AI vision though, since there is one spot where the player can get spotted easily through a narrow gap in a stairwell that is kind of unrealistic and just too hard.

Share this post


Link to post
Share on other sites

 

Ok thanks, will do :)

I may still need help blocking AI vision though, since there is one spot where the player can get spotted easily through a narrow gap in a stairwell that is kind of unrealistic and just too hard.

Try this: http://forums.thedarkmod.com/topic/10003-so-what-are-you-working-on-right-now/page-262?hl=%2Bsmoke+%2Bbomb&do=findComment&comment=376465

  • Like 1

Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Share this post


Link to post
Share on other sites

1 - You have one or more horses in your map. Each of them is embedded inside either worldspawn or monsterclip at dmap time. What you need to do is move each horse so its origin is at least 50 units from nearby worldspawn or monsterclip.

 

That was an annoying bug... I made a workaround where I put the horse in an open area and teleported it to its correct location at map start and works fine now!

 

2 - Remove the "wait" spawnarg from the path_sit. What you want is path_corner->path_sit->path_wait->path_anim->path_wait->path_corner.

 

Adjust the wait times on the path_waits as needed.

 

Yup that definitely solved the problem!

 

3 - It's a bug if the area is black and the AI is spotting a body deposited there. You can have AI not spot bodies by setting chanceNoticePerson to 0, but that's not recommended, because they won't see anybody.

 

The scene needs to be examined to find out where the light is coming from enabling passing AI to see the body.

 

It seems to have resolved itself (??) somehow. I had the ambient light set a bit too high, for mapping purposes. Initially when I lowered it down to a more reasonable level he still spotted the body, but then upon subsequent testing suddenly he didn't. I guess I'll never know, but at least it works!

 

 

My list of bugs grows thin! :) The only one that vexes me at the moment is when I try to "cancel" part of an objective. How do I do that? I can't find any info about it on the wiki. I tried an setobjective_component_state target but triggering it instead fails the mission despite having tried with comp_state set to both 1 and 2.

Share this post


Link to post
Share on other sites

An objective is a single thing. It isn't made of parts (although parts of an objective might have to be satisified for it to be a success).
You will have to make those parts of your objectives as individual pieces to the "ultimate" objective.

Successes 1 AND 2 / 1 or 2 (lowercase "or"). Then, trigger [whatever].

Make it [invisible] optional/not mandatory and have its fail/success [cancel] logic, when your cancel conditions are met, trigger the next objective - it won't fail the mission then, only "cancel" the objective, and perhaps start a new one.
If it's part of a single objective, you will have to split that objective into different parts, or - when that part is "cancelled/failed", have some new objective conditions replace it.

Might have to set as satisfied and ongoing at game start, then click the boolean NOT box, so it's "not do" - without knowing what the objective is...

There used to be a max number of objectives, but I am unsure if that still holds.
Also, invisible/secret objectives do not need to be completed to finish the mission, if they are never revealed.

Don't forget to add the delay as the objective is changed.

Sometimes it helps to make a small flowchart or logic tree for your objectives (if they are more complex than, 1. get this, 2. go here [3 invisible, don't KO civilians - doesn't mean you can't kill them, which means 4. invisible don't kill civs]), so that they can be planned.

// you might have to think backwards and make the failure/cancel a success - as with no kill optional objective - it might be easier.

Edited by teh_saccade

Share this post


Link to post
Share on other sites

I guess there's no way to have a mirror reflect a mirror, nor a camera display its own "monitor", then..?

I've tried using 2 cameras and the result is a black display on the 2nd camera's "monitor", when it is "filming" the 1st camera's "monitor".

Since the way skybox/portalsky has changed - I'm still unable to re-create some visual trickery that was present in 2.05 (and working fine until everything went and changed again).

Edited by teh_saccade

Share this post


Link to post
Share on other sites

An objective is a single thing. It isn't made of parts (although parts of an objective might have to be satisified for it to be a success).

You will have to make those parts of your objectives as individual pieces to the "ultimate" objective.

 

Successes 1 AND 2 / 1 or 2 (lowercase "or"). Then, trigger [whatever].

 

Make it [invisible] optional/not mandatory and have its fail/success [cancel] logic, when your cancel conditions are met, trigger the next objective - it won't fail the mission then, only "cancel" the objective, and perhaps start a new one.

If it's part of a single objective, you will have to split that objective into different parts, or - when that part is "cancelled/failed", have some new objective conditions replace it.

 

Might have to set as satisfied and ongoing at game start, then click the boolean NOT box, so it's "not do" - without knowing what the objective is...

 

There used to be a max number of objectives, but I am unsure if that still holds.

Also, invisible/secret objectives do not need to be completed to finish the mission, if they are never revealed.

 

Don't forget to add the delay as the objective is changed.

 

Sometimes it helps to make a small flowchart or logic tree for your objectives (if they are more complex than, 1. get this, 2. go here [3 invisible, don't KO civilians - doesn't mean you can't kill them, which means 4. invisible don't kill civs]), so that they can be planned.

 

// you might have to think backwards and make the failure/cancel a success - as with no kill optional objective - it might be easier.

 

Thanks for the ideas, that is indeed what I was trying to do... "removing" the knockout part from a compound "do not kill" + "do not knockout more than X" objective. I have tried making it a success, but that fails the objective as a whole, so I think what I'll do is make sure the player can't take that objective on Expert instead, it makes sense anyway.

Share this post


Link to post
Share on other sites

Since the way skybox/portalsky has changed - I'm still unable to re-create some visual trickery that was present in 2.05 (and working fine until everything went and changed again).

Depending on what you were doing, you might be able to restore the old behaviour by making a differently named copy of the portalsky material: http://bugs.thedarkmod.com/view.php?id=4635


Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...