Jump to content
The Dark Mod Forums

Newbie DarkRadiant Questions


demagogue
 Share

Recommended Posts

How do I get a "pickpocket an AI" objective to work?

I made a guard called Bob, gave him a key, and set the objective to read "Pickpocket entity Bob" but stealing his key does not finish the objective.

I also tried changing it to "Player possesses item BobsKey" but that does not work either.

What am I doing wrong?

{ 0 | 🞵 } = funk_tastic

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                              

Link to comment
Share on other sites

3 hours ago, thebigh said:

How do I get a "pickpocket an AI" objective to work?

I don't know how that works but the key that Bob has, is an unique item so I guess this should work, where Tropy shoud be the specific key "BobsKey" and the description "Steal Bob's key". (And forget about the Completion script "DropDead, that should be empty, if you don't want to call a script on completion that is, otherwise there should be the name of the script you want to call) :
objective.jpg

Edited by STRUNK
Link to comment
Share on other sites

DR question: suppose I have a func_static made of a large number of brushes. To select an individual brush, I know I can cycle through the components with Tab (or Shift-Tab the other way). I know I can select an individual face by touching it with Ctrl-Shift LMB. Is there some way to select a component without cycling? Either directly, or by expanding a selected face? Other than by converting the func_static to worldspawn and back.

Link to comment
Share on other sites

17 minutes ago, Geep said:

DR question: suppose I have a func_static made of a large number of brushes. To select an individual brush, I know I can cycle through the components with Tab (or Shift-Tab the other way). I know I can select an individual face by touching it with Ctrl-Shift LMB. Is there some way to select a component without cycling? Either directly, or by expanding a selected face? Other than by converting the func_static to worldspawn and back.

There's a button called "Select Group Parts" on one of the top panes of DR. Rather misleadingly, it won't let you select parts of actual groups.

  • Thanks 1
Link to comment
Share on other sites

Probably "Select Entity Parts" or "Select Entity Primitives" would be better naming.

There's another toolbar button next to it, "Select Entities", that as far as I can see only untoggles any of the other 4 selection-mode buttons. But seems unnecessary to exist because you can just directly untoggle whichever selection button is down. Unless there's some key-binding or accessibility reason to need it.

Link to comment
Share on other sites

I did eventually get the "Player possesses item" thing to work but I still would like to know how to get pickpocket objectives to fire, for future reference. This is what I am looking at:

 

Pickpocket_Bob.thumb.jpg.f0941277433657eaae5221102c80356b.jpg

{ 0 | 🞵 } = funk_tastic

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                              

Link to comment
Share on other sites

On 1/9/2022 at 6:18 PM, thebigh said:

I did eventually get the "Player possesses item" thing to work but I still would like to know how to get pickpocket objectives to fire, for future reference. This is what I am looking at:

I tried to get it to work with no succes. I guess it's meant for the general act of pickpocketing, not for getting a specific item.
I don't really see the practical use of it unless you want to make a: "Pickpocket as many ppl in 10 minutes" sort of challenge : )

Wiki says:

  • pickpocket
An inventory item must be taken from a conscious AI. Note that it doesn't matter what happens to the item after it is pickpocketed. It could be destroyed or dropped, but as long as it was originally pickpocketed, it counts. SDK Name: COMP_PICKPOCKET Number of Specificatons: 1 (Item the player must pickpocket) Applicable Specifiers: All except AI type, team and innocence Expected Arguments: int (number of items to pickpocket, 1 by default) Edited by STRUNK
Link to comment
Share on other sites

Texture material files have the following code in them which is for frob-highlight:

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white.tga
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         path/to/texture
        rgb         0.15 * parm11
    }   

Is this also needed for textures that won't be frobbed like a floor or a wall? If so, why is that?

 

(edit: strictly this isn't entirely DR related, but I didn't want to make a whole topic about it)

Edited by datiswous
Link to comment
Share on other sites

I've got another problem involving objectives that I can't figure out.

I have a pretty standard set of objectives: get a specific item, get X amount of loot, go to the exit when you're done. But I want a door near the exit location to open when your objectives are done and you enter the info_tdm_objective_location. However, triggering the door using a Completion Target does not work- I'm guessing because the mission complete takes priority and never triggers it. How can I get this to work?

{ 0 | 🞵 } = funk_tastic

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                              

Link to comment
Share on other sites

1 hour ago, thebigh said:

I've got another problem involving objectives that I can't figure out.

I have a pretty standard set of objectives: get a specific item, get X amount of loot, go to the exit when you're done. But I want a door near the exit location to open when your objectives are done and you enter the info_tdm_objective_location. However, triggering the door using a Completion Target does not work- I'm guessing because the mission complete takes priority and never triggers it. How can I get this to work?

 

Objective 1 ---> completion target ---> trigger-count_entity XYZ with count N

Objective 2 ---> completion target --> trigger_count_entity XYZ with count N

Objecive N --->dto.

Then simply target the door in question from the trigger_count entity XYZ.

Edited by JackFarmer
Link to comment
Share on other sites

That will open the door when I am away from player_exit, and I already had that working more or less OK. What I was hoping for is this: you've been out on a dangerous mission, grabbed your special treasure and loot objective and it's time to come home. When you approach home, the door swings open welcomingly just as the screen fades to black and you get the "MISSION COMPLETE" text.

The problem is that an objective that completes the mission does not trigger its Completion Target (or script) and I haven't been able to find a way to fake that behaviour.

{ 0 | 🞵 } = funk_tastic

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                              

Link to comment
Share on other sites

39 minutes ago, thebigh said:

That will open the door when I am away from player_exit, and I already had that working more or less OK. What I was hoping for is this: you've been out on a dangerous mission, grabbed your special treasure and loot objective and it's time to come home. When you approach home, the door swings open welcomingly just as the screen fades to black and you get the "MISSION COMPLETE" text.

The problem is that an objective that completes the mission does not trigger its Completion Target (or script) and I haven't been able to find a way to fake that behaviour.

Then this should work if you expand the setup I described above with the following:

 

Objective 1 ---> completion target ---> trigger-count_entity XYZ with count N

Objective 2 ---> completion target --> trigger_count_entity XYZ with count N

Objecive N --->dto.

Further steps:

  1. Place a trigger_once entity brush in the location you want the player to be the door in question shall open
  2. Give the trigger_once entity the property "triggerFirst - 1" (this sets the trigger_once brush inactive - the player cannot activate it by touching - and it waits for its activation)
  3. Target the trigger_once_entity brush from the trigger_count

 

Edited by JackFarmer
  • Like 2
Link to comment
Share on other sites

Perfect! I had to fiddle a bit to get the trigger_once and the player exit to not compete with each other but I think I have it working now

{ 0 | 🞵 } = funk_tastic

My missions:           Stand-alone                                                      Duncan Lynch series                              

                                      Down and Out on Newford Road              the Factory Heist

                                                                                                  A House Call

                              

Link to comment
Share on other sites

  • 3 weeks later...
8 minutes ago, Geep said:

I have a atdm:bonfire and a large surrounding trigger hurt. If the player extinguishes the bonfire, I'd like that shut off the trigger hurt. Possible?

I think you just target the trigger_hurt from the bonfire.

Edit: I guess I finished third. At least my answer was correct. 😁

Edited by joebarnin
  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Another question -

I have a atdm:env_ragdoll_skeleton_white, with a def_head of atdm:ai_head_skeleton_skull. The skeleton is frobbable. When the skeleton is frobbed, the skull doesn't highlight. Is there a relatively easy way to do so?

(Evidently FM "Cole Hurst 1: Eaton" also had this problem... but solved it by making the skeleton unfrobbable.)

It would seem that frob_peer spawnarg set on the skeleton would be appropriate, but how do you figure out or set the name of the skull in that case, so frob_peer can reference it?

Link to comment
Share on other sites

2 minutes ago, Geep said:

Another question -

I have a atdm:env_ragdoll_skeleton_white, with a def_head of atdm:ai_head_skeleton_skull. The skeleton is frobbable. When the skeleton is frobbed, the skull doesn't highlight. Is there a relatively easy way to do so?

(Evidently FM "Cole Hurst 1: Eaton" also had this problem... but solved it by making the skeleton unfrobbable.)

It would seem that frob_peer spawnarg set on the skeleton would be appropriate, but how do you figure out or set the name of the skull in that case, so frob_peer can reference it?

It's a core bug of ragdolls. The best I can think of is to use "set frob_peer on head" "(name of ragdoll)" so that the head is a frob peer of the body.

  • Like 1
Link to comment
Share on other sites

Quote

The best I can think of is to use "set frob_peer on head" "(name of ragdoll)" so that the head is a frob peer of the body.

But doesn't that presume that "head" is the name of the head in the "set" command? Tried it, didn't work.

Link to comment
Share on other sites

10 minutes ago, Geep said:

But doesn't that presume that "head" is the name of the head in the "set" command? Tried it, didn't work.

No, "set" commands for heads are a special feature that I added support for in 2.10. If you use "set x on head" on an AI it'll apply the spawnargs to the head even though there is no name_attach for it.

Well, I dont think this applies to ragdolls since those are a completely different spawnclass from AIs (AFEntity with attached head).

Would it be sufficient to place an AI and KO/kill it at map start?

Link to comment
Share on other sites

I tried without success -

"set frob_peer on def_head" <name of skeleton>

"frob_peer" "atdm_ai_head_skeleton_skull_1"     just guessing what the name might be; only use of this head in game

"frob_peer" "atdm_ai_head_skeleton_skull1"

Link to comment
Share on other sites

5 minutes ago, Dragofer said:

Would it be sufficient to place an AI and KO/kill it at map start?

With that approach, it would be harder to position the skeleton in the right orientation. Nevertheless, I'd do it if it was vital, but in this case, it's just some eye candy.

Thanks for thinking about it. I'm moving on.  🚶‍♂️

Link to comment
Share on other sites

12 minutes ago, Geep said:

"set frob_peer on def_head"

It would be "set frob_peer on head" actually. Anything with def refers to an entityDef (classname), while "head" is just some name given to this particular attachment on this body.

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

    • Nort

      I did it! I finally did it! After 48 hours of frustration and confusion, I managed to finally sort out how to attach equipment to NPC:s properly, and write down coherent instructions on how to do it, both in my manual, and in this forum.
      I can finally rest. I can finally eat breakfast.
      · 0 replies
    • Nort

      Spent most of the day learning and writing about AI navigation. It's stuff I already know, but the magic about writing something down as clearly formulated as possible, is that you then see things that much more clearly. You also find what's unclear to you, and then you figure out exactly how things work. I was hoping to get through it all within just a day, but it looks like this will take tomorrow as well, at this rate. There's also plenty of other nonsense I have to get through as well. Everything's a chore.
      · 0 replies
    • Nort

      I want to be a fish, but I'm not a fish. My mom wants to be a fish too, and so she's killing herself eating plankton and sh***ng blood, and tells me to stop nagging her about taking her medication. I spent several hours today, just lying in bed, having anxiety over just existing, and not being a fish. You fish, you don't know how lucky you are. You can eat all the plankton you want. I tried eating plankton again yesterday, and I just got sick. I hate being a shark.
      · 0 replies
    • Nort

      I just gave myself vertigo. A pleasant kind of vertigo, like the world has been lifted off my shoulders. I'll explain:
      Yesterday I saw to my dismay, that I had made my entire map two - two - units too short on every level - that every set01 piece was sticking 2 units into the ceiling. That's basically 402 brushes that needs to be realigned (minus the ground floor brushes).
      I knew enough about selections to do all of that in a very tense five minutes, and it compiled without leaks. (Thank you so much, Dark Radiant devs, for making an editor with such care for precision that you can align hundreds of brushes perfectly at once (which is not something I can say for Valve's Hammer editor, which has some serious issues on that front, which actually made me just quit it in disgust).) However, the result is that the entire level has now been stretched a barely noticable 2 units, and it will take some getting used to psychologically.
      · 0 replies
    • Nort

      My workflow is basically running from a chain of disasters, eventually trying to seek shelter in former disasters. It's not ideal - it's just my life.
      When I abandoned my first map, it was out of a typical mental breakdown, and so I returned to find a skybox void where the kitchen door should have been (due to a misplaced visportal) and two overlapping brushes Z-fighting on the kitchen floor.
      I've now cleaned up the last bit of mess, by cleanly separating every floor into its own layer. Now I can finally work on each floor in peace.
      ...not that I really needed to. Once you get skilled enough, the orthographic messes, well, I'll let this video speak for itself:
       
      · 1 reply
×
×
  • Create New...