Jump to content
The Dark Mod Forums

Recommended Posts

Posted
7 hours ago, MirceaKitsune said:

for instance to have a prisoner that lost his mind in a cell or something!

Nice idea. If you need a VA for the crazy prisoner, let me know!

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                The Wizard's Treasure                             A House Call

                                                                                                  The House of deLisle                                                                                                  

                              

Posted

Don't forget that AI's don't see anything but brushes. No entities, no patches, no models etc.

If you want to see what an AI "sees", go into DarkRadiant and hide All Entities.

This is what you see: mzxC3K9.jpg

 

This is what that AI "sees": F6etQrE.jpg

 

So when you say, why does he not follow me onto those bridges, or down to the cave floor? It's because it's not there for him.

  • Thanks 1

I always assumed I'd taste like boot leather.

 

Posted
On 6/22/2021 at 9:13 AM, thebigh said:

Nice idea. If you need a VA for the crazy prisoner, let me know!

Do you also do "regular" voice acting? Are you a native English speaker? If you can answer both question with "yes", then I would be delighted if you could provide your skills for my next project based on an almost complete mission created by the one and only grayman.

Posted
On 6/22/2021 at 9:36 PM, AluminumHaste said:

So when you say, why does he not follow me onto those bridges, or down to the cave floor? It's because it's not there for him.
 

I know this was already solved, but for the record the standard solution to this, the standard practice period, is that you need to always put down invisible clip brush (with the right material to get the step-sounds correct) for all non-brush walkable surfaces, bridges, uneven patch-made floors in caves and natural terrain, even uneven brush work if it's disjointed enough, etc.

Just get into the habit of laying down clip brushes for anything like that every time, then AI will always be able to traverse it.

  • Like 1

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

Posted
12 hours ago, JackFarmer said:

Do you also do "regular" voice acting? Are you a native English speaker? If you can answer both question with "yes", then I would be delighted if you could provide your skills for my next project based on an almost complete mission created by the one and only grayman.

I'm nowhere near professional but I'm a native speaker (Australian accent) and I'd be happy to help out with speaking roles. Until the middle of Jul I'm travelling and I don't have my good microphone with me but if it's, say, something broadcast over a PA and won't matter if I record potato quality on a mobile phone I can easily get started before then.

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                The Wizard's Treasure                             A House Call

                                                                                                  The House of deLisle                                                                                                  

                              

Posted
8 hours ago, thebigh said:

I'm nowhere near professional but I'm a native speaker (Australian accent) and I'd be happy to help out with speaking roles. Until the middle of Jul I'm travelling and I don't have my good microphone with me but if it's, say, something broadcast over a PA and won't matter if I record potato quality on a mobile phone I can easily get started before then.

Wicked. You'll get PM.

  • Like 1
Posted

Running into an issue with objectives: I want an optional objective to not kill any human characters or knock out more than a given number based on difficulty. The Objectives Wiki page says I should be able to use "AI of specified type" with the value "human". I did this but no matter how many humans I kill the objective refuses to fail. Any idea what I might be doing wrong? Here's a screenshot from the configuration of one of those objectives.

Screenshot_20210626_011633.thumb.png.44c6f4bc93baf60b418bf623a480e574.png

 

Posted

ai_type of "human" wont work. I think it's looking for a number, and it looks like humans are 0 (zero). So try "0" instead of "human" for both of those.

Hmm, I just noticed that later in that wiki entry, it says "ai_type  Type of AI: human, beast, undead, steambot, etc. (reads m_AIType in the SDK, which is set by the "type" spawnarg on idActors. Not sure if this is implemented yet)."

Hopefully, 0 will work for humans.

Posted

Using 0 didn't work. I also added "1 OR 2" in the Failure Logic field just to be sure the two conditions aren't being both required, also does nothing just like leaving it empty.

I don't mind using team instead of type, the objective only needs to be applied to AI on certain teams. Problem there is I need multiple teams, and IIRC the team filter only lets me use one number not a list. I was going to add multiple team conditions, but then the counter would only tick for each AI in that team killed... for instance if the objective says "don't knockout more than 5 people" and I use conditions for two teams, I can still knockout 4 people from one and 4 from another thus 8 people in total.

Posted

You could also try to set the "type" spawnarg manually. If it is already usable, but the type spawnarg is missing, then this might work. However, as joebarnin noticed, with the "Specifier Argument Type Expected: int" it seems to require an integer, which contradicts the use of different AI types. You could also try to set the "type" spawnarg to "1" and see if this lets you mark AI that count towards this objective.

Posted

I had the same experience. What ultimately worked for me is to give any AI I didn't want killed (such as non-guards) the spawnarg "innocent 1", then:

Objective: Don't kill anyone except guards
Flags: Mandatory, Ongoing

Component
Type: AI is killed
Flags: Satisfied at start, Boolean NOT, Player responsible
Kill target: Any AI with specified combat status   1
Amount: 0

Posted
47 minutes ago, Geep said:

I had the same experience. What ultimately worked for me is to give any AI I didn't want killed (such as non-guards) the spawnarg "innocent 1", then:

Objective: Don't kill anyone except guards
Flags: Mandatory, Ongoing

Component
Type: AI is killed
Flags: Satisfied at start, Boolean NOT, Player responsible
Kill target: Any AI with specified combat status   1
Amount: 0

In my case I need guards and even thugs to be included, so I'm afraid this wouldn't work here. The AI type option must have some sort of working value, it wouldn't be there if that wasn't the case... if neither "human" nor "0" work though what would it be?

Posted

What I meant before: have you given the AI, you don't want killed the spawnarg "type human"? This spawnarg ist not defined by default, but if you add it manually, it could work.

Posted
2 hours ago, Destined said:

What I meant before: have you given the AI, you don't want killed the spawnarg "type human"? This spawnarg ist not defined by default, but if you add it manually, it could work.

Tried that as well in various combinations, no luck. Looking at another possibility: There is "any entity of specified class" as well as well as "any entity with SDK-level spawnclass". I wonder if either of them can be used to detect inheritance from atdm:ai_humanoid or another common property? I'll need to try it but figured I'd ask first if I should even bother attempting that.

In the meantime I have another question, also related to objectives. How do you make an objective become visible after the player reads the last page of a note? The problem here is that to make an objective visible you must trigger an atdm:target_setobjective_visibility entity... how do you make a readable trigger a target once the player finished reading it?

Posted

I don't know about ensuring that the last page was read, but you can trigger when a readable is opened then closed. Create a hidden objective, select the type "readable is closed", set the "name of single entity" to your readable, and go from there. In my case, this objective on completion calls a script function. If you did likewise, you could have that function then make the real objective visible.

Posted (edited)
52 minutes ago, Geep said:

I don't know about ensuring that the last page was read, but you can trigger when a readable is opened then closed. Create a hidden objective, select the type "readable is closed", set the "name of single entity" to your readable, and go from there. In my case, this objective on completion calls a script function. If you did likewise, you could have that function then make the real objective visible.

Doesn't seem to work. "Readable is closed" is offered as condition to complete the objective, there don't appear to be any customizable conditions to show it without having to use an atdm:target_setobjective_visibility for that. I created one and targeted the readable to it, however neither opening nor closing the note will make my objective show up so far. And yeah it doesn't need to be a specific page of the note, it can enable the objective either on open or close.

Screenshot_20210626_224700.thumb.jpg.b0eebe9126ddee4be2bf5e2ebbf73572.jpg

Edited by MirceaKitsune
Posted

Regarding the "don't kill more than X people" objective, I managed to figure out the embarrassing reason why that wasn't working: I forgot had to enable the ongoing flag! Upon turning that on, AI type 0 registers and the objective is failed whenever I kill a human.

So the only one I'm still stuck on is making the an optional objective appear when using note. Please let me know how I can make it so that accessing a readable turns an objective visible.

Posted (edited)

I got so curious about that objective not working that I jumped in to DR to try it myself. I used two AI, a human and a spider. "Do NOT kill 1 AI of type 0" does indeed work on humans, but it apparently also triggers on spiders.

That said, I tried setting the "type" spawnarg on both AI, as @joebarnin (and @Destined) suggested above (for example, type 1 for human, type 2 for spider) and adjusted the objective to only fail if type 1 was killed. This worked perfectly. 

I can recall at least one mission that would fail the "no kill" objective even when killing spiders, so I guess the author forgot to make this distinction. :awesome:

 

Edited by roygato
Posted
4 hours ago, MirceaKitsune said:

In the meantime I have another question, also related to objectives. How do you make an objective become visible after the player reads the last page of a note? The problem here is that to make an objective visible you must trigger an atdm:target_setobjective_visibility entity... how do you make a readable trigger a target once the player finished reading it?

According to the objectives wiki, there is the option that the player has to reach a certain page in a readable for the obective to be fulfilled (see "readable_page_reached"). If you use the "Completion Target" line in a hidden objective to target a "atdm:target_setobjective_visibility"-entitiy you should be able to activeate the entity as soon as the page in question is reached.

Posted

Just to be clear about what I earlier and Destined now are saying...

You have to have TWO objectives. The first one is hidden and stays hidden. It uses either "readable is closed" or "readable page reached", which then triggers the target_setobjective_visibility on the second objective, changing it from hidden to visible.

Posted (edited)
3 hours ago, Destined said:

According to the objectives wiki, there is the option that the player has to reach a certain page in a readable for the obective to be fulfilled (see "readable_page_reached"). If you use the "Completion Target" line in a hidden objective to target a "atdm:target_setobjective_visibility"-entitiy you should be able to activeate the entity as soon as the page in question is reached.

Indeed, I already used that ability in the past. I know how to make an objective become completed when you reach a page in a readable, but not how to have it become visible then complete by other means. I can't use another objective to make this objective visible either, as finding the note which triggers the objective isn't itself part of an objective but something random the player can come across.

And thanks for mentioning that @roygato so I can be aware. I didn't try spiders or other creatures, only verified that type 0 works on humans. What you're describing sounds like a bug in TDM: Spiders shouldn't be triggering a type reserved for humans, nor should werebeasts and even undead I'd imagine.

Edited by MirceaKitsune
Posted

@MirceaKitsune

Quote

I can't use another objective to make this objective visible either, as finding the note which triggers the objective isn't itself part of an objective but something random the player can come across.

Sure you can. This first always-hidden objective should be thought of as just an implementation mechanism. It just lurks in the background waiting for its triggering event (i.e., the player finding a particular readable, opening it, then closing it) to happen. If the player never finds the note, no problem (other than electrons wasted).

Posted (edited)
35 minutes ago, MirceaKitsune said:

Spiders shouldn't be triggering a type reserved for humans, nor should werebeasts and even undead I'd imagine.

Yeah, I wouldn't know how this type business is supposed to work. Many articles refer to "AI type", but I couldn't find a specific one just for that topic. This one https://wiki.thedarkmod.com/index.php?title=AI_Relations_(Editing) uses type and team interchangeably, which is odd since those are distinct spawnargs. So a human guard might be of team 2, but also type 0 I guess? Would like to see a list of all the AI and their types, if such a thing even exists.

Edited by roygato
Posted
9 hours ago, Geep said:

@MirceaKitsune

Sure you can. This first always-hidden objective should be thought of as just an implementation mechanism. It just lurks in the background waiting for its triggering event (i.e., the player finding a particular readable, opening it, then closing it) to happen. If the player never finds the note, no problem (other than electrons wasted).

Hmmm, I see what you mean. I could do that but it feels kinda wrong: Objectives are meant to appear to the player, using a hidden objective just for a trigger feels like an ugly hack to compensate for a missing implementation. If nothing else works I can do that I guess, I will consider if I can make that work in some form.

Can it be confirmed however that there's currently no other way? More specifically, that notes cannot trigger targets upon being read, and objectives are the only thing that can scan whether a readable was accessed and target something based on that? If yes I at least know my options for sure. Also I'll probably make a report regarding this limitation, the next TDM release could use a proper trigger for readables from what I'm seeing.

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.


  • Recent Status Updates

    • JackFarmer

      "The Year of the Rat." 
      😄

      Al Stewart must be proud of you!
      Happy testing!
      @MirceaKitsune
      · 1 reply
    • datiswous

      I posted about it before, but I think the default tdm logo video looks outdated. For a (i.m.o.) better looking version, you can download the pk4 attached to this post and plonk it in your tdm root folder. Every mission that starts with the tdm logo then starts with the better looking one. Try for example mission COS1 Pearls and Swine.
      tdm_logo_video.pk4
      · 2 replies
    • JackFarmer

      Kill the bots! (see the "Who is online" bar)
      · 3 replies
    • STiFU

      I finished DOOM - The Dark Ages the other day. It is a decent shooter, but not as great as its predecessors, especially because of the soundtrack.
      · 5 replies
×
×
  • Create New...