Jump to content
The Dark Mod Forums

Newbie DarkRadiant Questions


demagogue
 Share

Recommended Posts

@Geep

Ok, I don't know what this trigger thing is you want, but I have a solution for s flawless swap : )

You should have one of them outside of the players view in a small space and call the following script with a callscriptfunction:

void change()
{
vector org1 =$guy1.getWorldOrigin();
org1_z = org1_z + 4; //Dunno if it's needed but it might prevent getting stuck in the floor)
vector org2 =$guy2.getWorldOrigin();
org2_z = org2_z + 4; //Dunno if it's needed but it might prevent getting stuck in the floor)
$guy1.setWorldOrigin(org2);
$guy2.setWorldOrigin(org1);
}

 

Edited by STRUNK
  • Like 1
Link to comment
Share on other sites

Finishing up on my first FM, only a few tiny things pop to mind. One of them is: For a winter setting, when an AI is outside, is it possible to make steam come out of their mouth occasionally? I don't remember if I've ever seen this effect in other FM's but it would be nice to add it here if it's available.

  • Like 1
Link to comment
Share on other sites

@STRUNK, thanks for trying that AI spawn; the game freeze does kinda rule that method out. Interesting idea to use setKey in addition to setName, and a script wrapper function. I'll play around with that approach when get the project to that point...other bigger (but familiar) alligators being wrestled currently.

@Destined, I wasn't so much concerned about the name the player sees, but what the trigger entities and scripts reference. To elaborate, suppose I have a path_waitfortrigger, which expects the AI to be triggered. If you have 2 versions of the AI, either of which might be going down this path, and you can't swap the names while preserving the trigger link, then you'll have to trigger both instances. And hope that the one in the blue room absorbs the trigger without consequence. That will be my fallback if the STRUNK approach doesn't pan out.

Link to comment
Share on other sites

2 minutes ago, Geep said:

@STRUNK, thanks for trying that AI spawn; the game freeze does kinda rule that method out. Interesting idea to use setKey in addition to setName, and a script wrapper function. I'll play around with that approach when get the project to that point...other bigger (but familiar) alligators being wrestled currently.

@Destined, I wasn't so much concerned about the name the player sees, but what the trigger entities and scripts reference. To elaborate, suppose I have a path_waitfortrigger, which expects the AI to be triggered. If you have 2 versions of the AI, either of which might be going down this path, and you can't swap the names while preserving the trigger link, then you'll have to trigger both instances. And hope that the one in the blue room absorbs the trigger without consequence. That will be my fallback if the STRUNK approach doesn't pan out.

Ah, ok. I see the problem. One workaround would be to copy the whole setup for both AIs. I.e. copy all triggers, scripts, etc., so you have one version of the same setup for each AI. That way it does not matter which of the two AIs is currently active, but it would always activate everything for the currently active one. This would be rather tedious, but you could avoid any mixup between the two versions.

  • Like 1
Link to comment
Share on other sites

My first FM is almost over, doing the final testing tonight. You might just be able to expect something interesting tomorrow :) There's really one remaining issue that's major enough to require fixing immediately... followed by the AI freaking out over dead bodies when they shouldn't, but I cannot do anything about that one.

When the mission starts everything appears super bright. It takes a few seconds until the luminosity adjusts to the correct brightness. I know this must have something to do with my ambientlightinfo but I cannot think of what.

Screenshot_20201103_004639.png.e5c401d39d85877d0865c81f88afb227.png

Link to comment
Share on other sites

17 minutes ago, STRUNK said:

Huh: "acuity_tact 0" seems to have solved it or at least greatly improved the issue. Why did I remember trying it and getting no results? Only downside is that bumping into the AI doesn't alert it, they'll only attack if they see or hear you... for undead though I guess this works and is more logical anyway.

Please let me know how to fix the initial brightness issue. Also if anyone knows how you add steam coming from the mouths of AI in winter settings. I should have those two things fixed by tomorrow ideally.

Link to comment
Share on other sites

16 hours ago, MirceaKitsune said:

Nice. How do they do it and how do I put this on my AI?

If possible I would do it by attaching a particle source to a bone near the mouth (like idSoftware did for the fire breath of some Doom 3 monsters) and if a bone is not available, bind a particle source to the head at character spawn time and then use a trigger timer (or better a script) to turn on and off the particle source effect to simulate breath. 

Link to comment
Share on other sites

Go look at how I created this in Cleighmoor. It uses location entities, spawnargs on the AI, and scripting. Search for “breath” in the ws3_cleighmoor.script file.

You need to mark location entities as warm or cold, also, so a puffing guard stops puffing when he comes in from the cold.

Link to comment
Share on other sites

@Strunk:

The script looks ok so far. However, having to let the poltergeist entities to target each moveable that should be moved by it seems like a tiresome procedure. How long did it take you, as there are over houndret of entities in question?

It would also be a good idea to specify the editor appearence in the def

[code]
    "editor_color"                "0 .5 .8"
    "editor_mins"                "-8 -8 -8"
    "editor_maxs"                "8 8 8"

[/code]

Ths way you can see and select the entity in the editor. Change the color so you can differentiate it from other entities.

In the future it would be nice if you could boundle your stuff (map, def, script, etc...) as zip and upload it instead of each file individually. There is a certain motivational gap to download each file seperately and to setup the folder structure onself. ;)

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

One question that would help me a lot to know the answer to: When launching TDM, is there a command line parameter I can give to the engine binary, in order to override the installed FM and launch it with a custom FM?

I'm asking because this would make testing missions I'm working on a lot easier; Whenever I work on a map I need to go into the New Game menu and select that FM there for installation. Then if I want to take a break and play a mission normally, I need to go back to the menu and select the FM I currently wish to play. Then when I get back to work I must once more find my entry in the mission list and install it to resume working, etc.

This way I could launch TDM normally when I wish to play the FM I've chosen to go through, but have a custom shortcut calling TDM with my FM directory when launching it for development of that mission. Is this possible?

Link to comment
Share on other sites

25 minutes ago, STRUNK said:

@MirceaKitsune

Just have 2 computers : P Or maybe a virtual machine? Don't know how that works ...

Would be easier to just have two TDM installations at this rate, but nah. I tried "./thedarkmod.x64 -h" and "./thedarkmod.x64 --help" but they seem to be unknown commands... normally calling a binary this way gives you a list of parameters. The wiki suggests there aren't many params though... I wonder if fs_game does what I want?

https://wiki.thedarkmod.com/index.php?title=Doom3_command_line_arguments

Edit: I tried "./thedarkmod.x64 +set fs_game_base darkmod +set fs_game mymap" as suggested on another page but this doesn't change the installed FM on launch either :(

https://wiki.thedarkmod.com/index.php?title=Startpack_Mappers'_Guide

Edited by MirceaKitsune
Link to comment
Share on other sites

Okay so there's another inconvenience I have when mapping, which I'd really like to fix in my setup to make things work more smoothly... I went with this for years and it's kind of annoying at this stage. It's related to dmap.

I compile a map by starting up TDM and using dmap from the console. This is good but there are three issues:

  • First of all, for some very bizarre reason, I need to use "dmap mymap.map.map". I have to write .map twice, using the extension once or not adding it at all will not work, I always checked and both "dmap mymap.map" and "dmap mymap" give a file not found error. Is this normal and impossible to avoid?
  • That leads to the second issue: Most of the produced files have the map extension where they shouldn't and need to be renamed. Instead of getting the file "mymap.proc" which is the right format, I get "mymap.map.proc"... same for aas and others. The .map part always needs to be manually renamed out!
  • Finally the path is not the desired one, the files always have to be moved. The produced files are placed under "darkmod/maps" rather than "darkmod/fms/mymap/maps". Is it possible to change this so dmap automatically puts them in the same directory as the map file, thus I don't have to move them each time?
Edited by MirceaKitsune
Link to comment
Share on other sites

There's something wrong with your setup. You don't need to specify the extension at all when dmapping. You should be able to type 'dmap', autocomplete the rest of the map name with Tab and hit enter. Do you use project structure and are you sure there are no weird things in your paths (spaces, weird characters etc.)

Link to comment
Share on other sites

1 hour ago, peter_spy said:

There's something wrong with your setup. You don't need to specify the extension at all when dmapping. You should be able to type 'dmap', autocomplete the rest of the map name with Tab and hit enter. Do you use project structure and are you sure there are no weird things in your paths (spaces, weird characters etc.)

I haven't changed anything that should be causing this. And like I said, this has been happening for years... I've been playing with and testing maps locally since at least 5 years ago and it did those things then too.

Could it be a Linux specific issue? I run TDM and DarkRadiant on openSUSE Tumbleweed x64.

No weird path I can think of: I have TDM installed in /home/mircea/Games/Quake/TheDarkMod/darkmod.

What could perhaps be relevant is that I symlink the FM directory to fms from another location. I also prefix it with pk4dir, so usually I have darkmod/fms/map_mymap.pk4dir. It may just be the cause of my problem now that you mention it... I'll try without those things and see if that makes the issue go away.

Edit: It actually was the cause :D I renamed darkmod/fms/map_mymap.pk4dir to just darkmod/fms/mymap and now dmap does everything with a simple "dmap mymap". I can even keep the symlink without having to put the real directories inside fms! Can't believe how much a prefix and directory suffix can do.

Edited by MirceaKitsune
Solved
Link to comment
Share on other sites

6 minutes ago, peter_spy said:

Is mymap.pk4dir a folder name? 😮 Remove the dot from it.

Yeah, and doing that solved it. It was actually called map_mymap.pk4dir: The "map_" part so I could easily label each project for what it is, the ".pk4dir" because other Quake engines (like Xonotic) support pk3dir and at the time I thought this would make some things work more easily in TDM. Never paid any mind to it but it's a little obvious now why this was unhealthy xD

Edited by MirceaKitsune
  • Like 1
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

×
×
  • Create New...