Jump to content
The Dark Mod Forums

Newbie DarkRadiant Questions


demagogue
 Share

Recommended Posts

How to make two AI play cards?

Thanks!

 

They are sitting AI with special spawnargs. You might want to examine the guardhouse in phrase_book. The city watch building just next to the street generator, which is opposite to the main manor.

 

The mod has also a prefab card players, but the players were set incorrectly, they clip into the table. Phrase_book card players should be able to get up without problems, so it is a good model how to do it.

 

IIRC there was special sitting setup so that the AI swivels in the chair to face the table. Also I think the sitting slide distance was changed to make the system work a bit better.

 

Investigating the example probably reveals how to set it up.

  • Like 1

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

How to make two AI talk all the time?

 

Like a never ending conversation?

1) make a conversation with the conversation editor.

2) start the conversation with the target_startconversation (or something similar)

3) check how long the conversation takes in time.

4) have a trigger_timer with firing time with the conversation time + cooloff time and have it trigger the target_startconversation. I think the spawnarg is "wait" or "delay" check from the entitymanager which one was correct. I think the trigger_timer defaults to being disabled upon map start, so you need to set the "start_on" "1" spawnarg. (or something similar)

 

The trigger_timer fires the target_startconversation between the time interval you define. In effect, the conversation starts and plays to the end. Then it gets fired again, and it is repeated. The conversation is played again and again until you trigger the tigger_timer and it is disabled. The AI's won't start the conversation if they are searching or hunting the player.

 

You'd better design the conversation so that the soundshaders presents some variety and does not repeat exatly the same words again and again. The conversations in phrase_book were designed so that they are fired every now and then. One soundshader definition had multiple different lines the AI could say. Then the other AI would reply with a few possible lines that would match the firsts comment.

 

AI A: [complain about something]

AI B: [tell the other they can stuff their complaints and you have it more bigger problems]

AI A: [say that B:s problems are nothing and everything is better for AI B]

AI B: [tell the other you don't have time or interest the hear their whining and go away.]

...and so forth. Each of the [brackets] had three different things the AI would say.

  • Like 1

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Thank you Sotha!

How seal non-90 degrees room?

leak_01.jpg

Looks like seams are messsd up. I got similar problems in other areas. What is best to do? Overlap seams? Pointfile leakpoint?

Thanks!

Noticed just now the other side of room wall became transparent))

Edited by someTaff

What excuse do we have not to sculpt, and sculpt, and sculpt, until the job is done?

Link to comment
Share on other sites

I don't understand the picture.

Ceiling beams are worldpawn - bad. Detail work should usually be func_static.

Lots of visportals are visible through a doorway that is closed by a closed visportal - really strange. Something is definitely wrong.

 

I would avoid non-90-degree sealing geometry at all costs. Build something like this:

JVNKx8H.png

Red is sealing geometry. Green is visportal. Blue is func_static decoration in the room, which you need to monsterclip. This kind of design makes life much more easy: Achieve non-90-degree features with func_static decoration, leave sealing geometry into 90-degree work.

 

Sometimes you will need to make non-90-degree sealing geometry, like a roof of a building where the player can go inside. Do it then if you must but avoid it like a plague in your normal mapping workflow. If you really have to do it, keep the sealing brushes thick.

 

I think if the thickness is less than 8 units, sound will pass through and all kinds of problems crop up. This WILL happen if you have 8 unit thick brush, that you stretch into a 45 degree brush. In Glenham tower, the tower itself has non-90-degree walls, which I had to thicken when I realized sound from the outside was leaking in.

 

Tl;Dr:

Do NOT do non-90-degree sealing geometry it if you really don't need to. In most of the cases you'll get away easily with the scheme I show above.

 

If you work in 90-degrees, 8 unit thick brushes is enough. If you go non-90-degree, have the thickness at least to be double.

  • Like 2

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

so sealing depends on brush thickness??

 

Not necessarily. You may have some accidental leaks due to other reasons than brush thickness. Building sealing geometry in non-90-degree mode increases the risk of accidental leaks drastically.

 

I *DO* know that some problems arise from non-90-degree building. It was fixed by increasing the brush thickness.

 

Hey somehow i managed to seal this room))

Now the next one is un sealed((

 

Can you detect the leak point with the DR pointfile? If it is easy to fix, fix it and leave it. In any case, I advice to try to avoid non-90-degree sealing geometry if possible.

  • Like 1

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Can you detect the leak point with the DR pointfile? If it is easy to fix, fix it and leave it. In any case, I advice to try to avoid non-90-degree sealing geometry if possible.

No, i got one huge skybox area and entire map is within

 

How bad is overlapping brushes? I mean substract often leaves gaps and leaks

If portal not visible - it means area leaking?

Edited by someTaff

What excuse do we have not to sculpt, and sculpt, and sculpt, until the job is done?

Link to comment
Share on other sites

Maybe the thing to do is to stay away from "non-90 degree" architecture until you get the hang of how visportaling and sealing works. Once you learn to use the pointfile to fix leaks, you'll begin to see what causes leaks, and from that you'll know what to do and what not to do.

 

A word of caution: when working with "non-90 degree" architecture, try your best to keep your doors oriented north/south or east/west. AI have a difficult time walking through doors that are angled.

  • Like 1
Link to comment
Share on other sites

No, i got one huge skybox area and entire map is within

 

Err... A big room and you map within it? You do know that is the wrong way to go? The compartmentalization will not work at all!

 

 

How bad is overlapping brushes? I mean substract often leaves gaps and leaks

I would avoid the subtracting as a building technique. Rather build a boxy room with the 'create room' function and use the clipper to cut doorways and such. OR alternatively build a floor brush, clone, move it to form ceiling. Make wall brush, clone and move it to make another wall. After you have a room, use clipper to make holes in the geometry. You select the brush, You click 2 dots so show the line how to clip a brush. You press shift + enter and the brush is cut along the clipping line into two brushes.

 

 

If portal not visible - it means area leaking?

 

The map is leaking if it will not dmap at all. You should not have a big box with the mission inside it. You mission should consist of interconnected, visportallized rooms. If your map leaks to the void, the dmap will simply fail. Then you can check where the leak is, by

1) dmap

2) open pointfile, detect leak, fix it

 

Repeat 1 and 2 until the map dmapping succeeds. Note that if the pointfile shows the leak starts in the void, it is not really a geometry leak, but a func_static or other entity, whose origin is in the void.

  • Like 1

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Yeah, some things I would say from my experience on my map is:

 

1) never use the subtract tool - I had one instance where I used it and it created brushes that caused internal leaks when I tried setting up visportals.

 

2) If you run into a situation where you have an internal leak (i.e. a leak where the map is compiling but you can't create a working visportal), do your best to narrow down where the hole is by building BSP walls around the suspected spot until your visportal works, and then start peeling back the walls until you find your trouble spot.

 

3) Like Sotha said, do your very, very best to not visportal angled geometry, I did it in my map and while it was too late for me to change that, it caused a whole mess of problems before I got everything solved.

  • Like 1

But you should walk having internal dignity. Be a wonderful person who can dance pleasantly to the rhythm of the universe.

-Sun Myung Moon

 

My work blog: gfleisher.blogspot.com

Link to comment
Share on other sites

They already said it all. AVOID THE SUBTRACT TOOL LIKE THE PLAGUE!!

Haha, if you take nothing else from this exchange.

I saw that screenshot and knew immediately what the problem was.

 

Yes, use the clipper instead. It's always better to cut out angles than make them by rotating brushes. To make an angled roof, for example, have a big box brush and cut out the angled parts with the clipper, so you know the seams will be flush, rather than rotating brushes to get it that will only meet at a strange angle & have slivers. In fact, you shouldn't ever try to make a weird angle by-hand at all if you can help it. (Or take Sotha's advice & never use them at all, just fake them with func_stats.)

 

Brushwork that has little overlaps, slivers, gaps or mis-connects can lead to bad things very often. The engine freaks, and it just opens a hole there & either breaks the seal or (worse) you get the black walls of death. So try not to do that also. After you've gotten burnt by it enough times, like most of us have, you learn to just stay away from doing it entirely.

  • Like 1

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Found solution to non 90-degree rooms - make a 90 box of a room and rotate to any angle. Room is stiil square though

 

..But you still probably have great difficulty in attaching this rotated room into some other non-rotated geometry?

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

LOL, that still won't work. To see what I mean, select the entire room then press "V" to enter Vertex mode. Check the vertex points of your geometry, do they land on a grid point or in between?

If they aren't you will get rounding errors, which in turn will mean weird things in game. The only time you can get away with that is to make it a func_static, then it's a model and it doesn't matter where the points are.

I always assumed I'd taste like boot leather.

 

Link to comment
Share on other sites

Yes, you're rolling the dice if you rotate since there will be rounding errors so you'll get the slivers & overlaps. It's probably better to do angles like 90, 45, 30, and 60 if you have a choice. Another thing, if you do it at all, be sure to rotate everything together. If you rotate brushes separately you're *really* asking for trouble. Of course anything that works works so ... just a matter of when you want to roll the dice.

  • Like 1

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

Why don't you just move the vertices of the brush to get angled geometry instead of rotating it. That's how I do it all the time and it never caused any problems to me.

 

Another thing. The substract tool isn't that bad, you should just avoid using it for complicated geometric things. I use it to create doorways. Works nice to me.

  • Like 1

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

I've been trying to avoid using scripts up to this point, but I think I've run into something I can't do w/out a script. Basically I want to remove a key from the player's inventory after they've used it once. I tried setting up a remove stim/response on the key but this causes a crash because while it appears to actually remove the item, it's HUD icon is still present in the inventory and when I go to drop the key, the game crashes.

 

I got it to work using a very simple script ($player1.replaceInvItem ($key1, $null_entity)), but is there any way to do this without resorting to a script?

Edited by Moonbo

But you should walk having internal dignity. Be a wonderful person who can dance pleasantly to the rhythm of the universe.

-Sun Myung Moon

 

My work blog: gfleisher.blogspot.com

Link to comment
Share on other sites

Probably not if the entity removal via SR effect does not work.

 

Why do you want to avoid scripting so much? You trigger an entity that runs the script or you trigger an entity that does stuff. Not big differences in those, but in scripting you can easily chain a lot of commands which makes it more handy. Very useful skill to learn.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

The problems with the substract tool are my greatest source of heartache in DarkRadiant. :( I would love to use it more.

Come the time of peril, did the ground gape, and did the dead rest unquiet 'gainst us. Our bands of iron and hammers of stone prevailed not, and some did doubt the Builder's plan. But the seals held strong, and the few did triumph, and the doubters were lain into the foundations of the new sanctum. -- Collected letters of the Smith-in-Exile, Civitas Approved

Link to comment
Share on other sites

Thanks Sotha, for more complicated scripts I've read of instances where the scripts break when TDM is updated and I wanted to make my FM as stable as possible, and for simpler scripts it's just an annoyance because I'm continually renaming my map when I make saves which means I need to copy over the script file as well. But I guess there's no choice at this point.

But you should walk having internal dignity. Be a wonderful person who can dance pleasantly to the rhythm of the universe.

-Sun Myung Moon

 

My work blog: gfleisher.blogspot.com

Link to comment
Share on other sites

@Moonbo: Did you've tried func_itemremove? ;)

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
Share on other sites

Thanks Sotha, for more complicated scripts I've read of instances where the scripts break when TDM is updated and I wanted to make my FM as stable as possible, and for simpler scripts it's just an annoyance because I'm continually renaming my map when I make saves which means I need to copy over the script file as well. But I guess there's no choice at this point.

You could use scriptobjects instead, so you don't have to rename them.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

Link to comment
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.

 Share


  • Recent Status Updates

    • snatcher

      TDM Modpack v2.6 released!
      · 0 replies
    • peter_spy

      Perhaps an unpopular opinion: TDM team might benefit from someone with actual QA experience; someone with naturally and professionally developed curiosity, who is interested in how and why things work, how they break At least to me it's kind of mind-boggling how untested some rather important features are (first the absence alert feature for items, now the rope +body carry behavior).
      · 4 replies
    • nbohr1more

      The Dark Mod is hosting an Ask Me Anything thread on the PC Gaming reddit forum:  https://www.reddit.com/r/pcgaming/comments/10nfcwj/hello_we_are_the_international_development_team/
      Feel free to join the discussion there
      · 2 replies
    • stgatilov

      Bumped into an interesting piece of wisdom called Hyrum's Law:
      With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
      · 5 replies
    • The Black Arrow

      I love playing The Dark Mod when it's cold in my place. Bonus points when it's a bit (or even very) dark and it's raining, too.
      · 2 replies
×
×
  • Create New...