triggering relays

Questions about how to create your own dungeons and replacement graphics and sounds.

Moderator: George Gilbert

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

triggering relays

Post by THOM »

I am trying to have a relay only triggered if monster-x ist swapt to monster-y.

I entered as relay-conditions VALUE OF MONSTER-X IS LESS THAN 1
and respectively VALUE OF MONSTER-Y IS GREATER THAN 0

Both terminates RTC emediatly - without writing a logfile or anything else.

Did I something wrong or is it a bug?

Or has someone a better Idea to manage this??

THOM
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

No idea - can you send me your RTC file with instructions on exactly what to do to cause the crash?

Also, can you send me the txt file so I can see if there's some weird combination of relays that's the cause of the problem?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

The vlaue of a monster isn't if it exists or not - surely checking for the tvalue of a triggering monster that doesn't now exist could be crash worthy?
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

He's got a good point there!

The value returned for a monster is it's health. If it's dead, then anything could happen (it doesn't have 0 health, the monster doesn't exist).

Having said that, it still shouldn't crash without giving you an error.
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

Post by THOM »

George I have send you RTC-File + TXT.

If you want to understand what happens you have to have a look at level 12 where the mechanic is placed (and on the new attack method "fuse 2").
Tonari
Craftsman
Posts: 146
Joined: Sun Jul 23, 2006 1:32 pm
Location: Japan

Post by Tonari »

It is likely to work perhaps well if the counter is used.
Refer to the counter for the condition of the relay.
And, when monster's state changes, the counter is changed at the same time, too.
Please forgive poor English.
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

Post by THOM »

well, Tonari, could be a good Idea!

I will play around with it...
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

thom wrote:George I have send you RTC-File + TXT.

If you want to understand what happens you have to have a look at level 12 where the mechanic is placed (and on the new attack method "fuse 2").
That's great thanks - as suspected, the crash *is* because the relay queries the health of a dead monster.

I've now fixed this for V0.44 and your existing mechanics appear to work (though obviously I can't tell, because I don't know what you intended!). Having said that, I'd strongly recommend that you change the way your relay works, querying the health of a dead monster isn't a valid operation and so there could be other unintended side-effects!
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

Post by THOM »

Thanks George.

You are right - the crash dissappeared and my mechanics works as expected.
I am happy because this is the last big problem in my costum dungeon :D

But to change the mechanics, as suggested from you, makes everything rolling up again :(

Also your suggestion, Tonari, does not help:

The Problem is always the same: how to query if a monster is in the level or not!

What you cannot do in RTC is query, what kind of monster is in front of you.

I think I leave it now as it is and will have a change, when got a flash of wit! :idea:


THOM
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Why do you want to know what creature is infront of you?

If you are making sure ia creature swaps, then have this as part of the swapping mechanism to activate the relay
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

Post by THOM »

I have designed a weappon that swaps a monster in front of you. For this reason I have to make sure, that there is the monster in front of you and not an empty tile or another monster etc.
but the swapping happens in many steps (like the fusing of Lord Chaos) and you should have a cloud appearing no matter if the attack is successfull or not.

that means I have designed:

Code: Select all

attack -> cloud 
       -> relay1 (swap1) -> relay2(swap2) etc.
of course relay1 is triggering a SWAP_TILE_INFRONT but because it also triggers relay2 this relay2 is triggered everytime (no matter if there was a monster to swap or not)

understand my problem??
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

???

Surely the purpose of the swap funcion is you swap one thing to another...if it's not there, no swap... you don't need a relay to determine if there is a creature there at all. You only need a relay chain there as a way to target multiple effects, and then you do it unconditionally

And the cloud can be created seperatley of course so no problem there

So it should be attack goes to relay that targets a create cloud action and another relay chain, each relay in the cahin is delayed by one say and targets a swap monster action and the next relay
Tonari
Craftsman
Posts: 146
Joined: Sun Jul 23, 2006 1:32 pm
Location: Japan

Post by Tonari »

I has understood a little.

First of all, attack method makes two relays active.
One relay makes action of SWAP_TILE_INFRONT active.
Action converts the monster-x into item.
Item has lifetime of -1. And, it changes into the monster-y when expiring. The counter is operated with additional action at the same time. (For instance, the counter of 0 is set to one. )
The second relay makes another relay(not clone)active after delay of one. Refer to the counter for the another relay.
(Refer to the counter for the relay when it is made to active.Therefore, to delay the timing, it does in this manner. )
If the counter is one, the relay will move, and action for which you hope be executed.

If you wants to delay the appearance of the monster-y, as follows is done.
Item changes into another monster when expiring.
Because the monster doesn't have graphic of dungeon, it is transparent.
Moreover, no attack is effective, too. Neither the attack nor the movement are done.
And, after your action ends, it exchanges it for the monster-y.
(The purpose of handling a transparent monster is to prevent the party from moving to the tile)

I wishes the thing that my idea for your help becomes it.
And, I am looking forward to play with your dungeon.
Please forgive poor English.
Tonari
Craftsman
Posts: 146
Joined: Sun Jul 23, 2006 1:32 pm
Location: Japan

Post by Tonari »

Sorry. I noticed a useless effort done. :oops:
Please make attack method that changes the monster-x into item only.
And, please make your mechanic active by using additional action when expiring.
And, it is all. The relay and the counter were unnecessary. :oops:
Please forgive poor English.
User avatar
THOM
Artisan
Posts: 198
Joined: Sat Feb 28, 2004 9:22 pm
Location: Cologne, Germany
Contact:

Post by THOM »

TONARI SUPERSTAR!!!!!!! :mrgreen:

You have made it!

In fact it is easyer than your Idea:
monster-x swaps to object-x
object-x expires emediatly and swaps to monster-y and activates
relay-clone-z which swaps monster-y to monster-z and so on!

Thats it! It works!

I would had neved gained the Idea to swap a Monster to an Object!!! And the Idea to let it expire is great!

Thanks a lot Tonari.

Image
Post Reply