
That tree looks good to me. There are a couple of things I want to double-check but it's late here for me, so I'll have to come back to it tomorrow if no one else has answered already.
Maroonroon wrote:Well, I tried to, but the Node Tree doesn't accept the connection between the "Python File" and the Logic's "Exclude Region"...
But if the door collision is enough, it's good to know.
Tsar Hoikas wrote:Korman automatically generates notify messages for Python scripts.
Deledrius wrote:Honestly, getting sounds to trigger at the right moment before/during/after an animation is not the easiest thing. Especially during. Timing is hard. Thankfully Korman makes iterating Age Development much faster.
Deledrius wrote:You have the button(s) set up to toggle a variable that's kept stored and synced, your SDL variable that is a simple "is this door open?" sort. [...]
The second part is the xStandardDoor script. You hook that up, and tell it about the SDL variable. It will then get notified anytime that value changes. When it does, the script will "respond" by setting off the Responders you have hooked up to it!
Maroonroon wrote:I wasn't sure that the python script handles all the logic...
So, if I understand well, I need 4 Responder and 4 Responder States (1 Responder States for each Responder), but I don't have to (and shouldn't, for this Node Tree) link 2 Responder States together because the python script will handle all the other logic.
Sirius wrote:those colors make the tree MUCH more readable IMHO. (Maybe Korman could provide a similar coloring by default ? Okay, it looks like a xmas garland, but the increased readability might help people learn when they encounter screenshots like these on the wiki.)
Sirius wrote:Maroonroon wrote:Well, I tried to, but the Node Tree doesn't accept the connection between the "Python File" and the Logic's "Exclude Region"...
But if the door collision is enough, it's good to know.
Exclude regions are mostly a way to avoid glitches that might be caused by avatars or kickables being stuck between moving colliders. Think the big doors in Gahreesen's Well - you don't want an avatar squeezed between those, as it would look weird. When an exclude region becomes "solid", it will instantly teleport any avatar away. For thin doors, this is rarely a problem though.
The Python node SHOULD be able to accept an Exclude Region node as input, though. That looks like a bug.
Sirius wrote:Maroonroon wrote:I wasn't sure that the python script handles all the logic...
So, if I understand well, I need 4 Responder and 4 Responder States (1 Responder States for each Responder), but I don't have to (and shouldn't, for this Node Tree) link 2 Responder States together because the python script will handle all the other logic.
The important thing to remember is that Python scripts think (take "decisions" by examining SDL variables and listening to objects triggered), while responders execute a list of commands. Responders CAN have multiple "states" for very specific scenarios, but you shouldn't worry too much about this - usually, you will have only one state per responder.
Aloys wrote:All this just to hook up a regular door?This is slightly scary...
Sirius wrote:Responders CAN have multiple "states" for very specific scenarios, but you shouldn't worry too much about this - usually, you will have only one state per responder.
Sirius wrote:Hmm, are you sure ? NotifyMsgs inside responders are supposed to be a bit like AnimEventModifiers - they are placed by the artist at a very specific place in the responder's command/callback chain. Usually at the end or after a TimerCallbackMsg to signal the responder is not running anymore, but not always. When they are triggered, they send a notification to any Python script which holds a reference to the responder (despite the NotifyMsg itself not having a receiver...).
The Python script can receive those events like so (snippet from xStandardDoor):
Sirius wrote:The Python node SHOULD be able to accept an Exclude Region node as input, though. That looks like a bug.
Tsar Hoikas wrote:Very sure. The most common use case is wanting to be notified at the end of each state, so that's what Korman does. I figured that if a builder wanted notifications at specific points in a responder during a script, that builder would have the know-how to trigger a new state from Python to continue execution
Tsar Hoikas wrote:Very sure. The most common use case is wanting to be notified at the end of each state, so that's what Korman does. I figured that if a builder wanted notifications at specific points in a responder during a script, that builder would have the know-how to trigger a new state from Python to continue executionSirius wrote:The Python node SHOULD be able to accept an Exclude Region node as input, though. That looks like a bug.
I just looked and there is some kind of bug here. I can't even make the connection manually.
Tsar Hoikas wrote:OK, the tree looks really good now. Just two changes to make, I think. On the two xAgeSDLBoolToggle nodes, you need to set the "Extra Info" socket to be either fromInside or fromOutside so that the door knows how to open. Aside from that, this should work correctly!
Tsar Hoikas wrote:Tsar Hoikas wrote:Sirius wrote:The Python node SHOULD be able to accept an Exclude Region node as input, though. That looks like a bug.
I just looked and there is some kind of bug here. I can't even make the connection manually.
This bug will be fixed in the next release of Korman.
Tsar Hoikas wrote:Aloys wrote:All this just to hook up a regular door?This is slightly scary...
Better than all that crazy AlcScript from before
Users browsing this forum: No registered users and 1 guest