DSA help needed !

Discuss Chaos Strikes Back for Windows and Linux, an unofficial port of Chaos Strikes Back to PC by Paul Stevens, as well as CSBuild, an associated dungeon editor.

Moderator: Zyx

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

DSA help needed !

Post by Adamo »

Help! I need a DSA, that a sends clear message to tile X, when the hellhound dies on level 6, and another DSA, that sends a clear message to tile Y, when the ruster dies on level 9.

here`s a similar DSA responsible for setting a special tile (wchich is chosen by parameter B), when a worm dies on level 4:

Code: Select all

0S0: L8 L0 &PARAM@ L4 &@ ??{(3,3S0)}
1S0: L11 &@ L10 &NEG &+ LA &+ L99 &! J2
2S0: L15 L1 &@ L10 &SHIFT L2 &@ L5 &SHIFT &+ L3 &@ &+ L0 L99 &@ L15 L65535 F &%ADD
3S0: L0 &@ L10 L2 &MONSTER@ L1 &@ ??{(4,4S0)} J1
4S0: L11 &@ L15 &NEG &+ ?J1 MSB J1
This DSA is set on Monster Death Filter.
Do I have to increase existing DSA or to make two new ones?
Thanx!

***************************

PS. I used to add a pressure pad, that monster carries and drops when dies, activated by object X. Monster drops:
- pressure pad (every pad set to special destination) activated by object X,
- object, that activates that pressure pad.

It works fine, but when a 2nd monster dies on the same tile, where 1st monster dies, the second pressure pad doesn`t work. So I think I can do this correctly only by DSA.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

You increase the existing DSA, and you would use similar code - in the 3S0 line, you would add additional checks for 3 and for 9, pointing to new lines

They would look like line 4S0, except they should be checking for the value of the hellhound and the ruster instead of the L15 called (assume that is the worm value)

Also, you would store the trigger value in, say, C and D (the two parameters of a blank DSA on the same square as the monster death filter) and use or LC MC*, LD MC* to clear the tiles necessary
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

so, the whole code would look like:

Code: Select all

0S0: L8 L0 &PARAM@ L4 &@ ??{(3,3S0)}

1S0: L11 &@ L10 &NEG &+ LA &+ L99 &! J2

2S0: L15 L1 &@ L10 &SHIFT L2 &@ L5 &SHIFT &+ L3 &@ &+ L0 L99 &@ L15 L65535 F &%ADD

3S0: L0 &@ L10 L2 &MONSTER@ L1 &@ ??{(4,4S0)(6,5S0)(9,6S0)} J1
4S0: L11 &@ L15 &NEG &+ ?J1 MSB J1

5S0: L11 &@ L4 &NEG &+ ?J1 MSB J1

6S0: L11 &@ L5 &NEG &+ ?J1 MSB J1
?
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

If those are the right numbers for the monster type then that should work, EXCEPT you ignored my last statement - all those codes are activating the same location B

You need to create a blank DSA type with no code, and then make one in the same location as the monster filter. This put the two new locations as parameters into this DSA.

Now, in the above code, instead of 'MSB' you would put 'LC MC*' and 'LD MC*' respectively to clear the two locations now stored in parameters 'C' and 'D' in your blank DSA
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

you mean like this?

Code: Select all

0S0: L8 L0 &PARAM@ L4 &@ ??{(3,3S0)}

1S0: L11 &@ L10 &NEG &+ LA &+ L99 &! J2

2S0: L15 L1 &@ L10 &SHIFT L2 &@ L5 &SHIFT &+ L3 &@ &+ L0 L99 &@ L15 L65535 F &%ADD

3S0: L0 &@ L10 L2 &MONSTER@ L1 &@ ??{(4,4S0)(6,5S0)(9,6S0)} J1
4S0: L11 &@ L15 &NEG &+ ?J1 MSB J1

5S0: L11 &@ L4 &NEG &+ ?J1 LC MC J1

6S0: L11 &@ L5 &NEG &+ ?J1 LD MC J1
?
sorry for all these questions, but I`m total ignorant of DSAs.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

you need the * - 'MC* '
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

thanx Beo! :D
now everything works fine, except that when a Monster Death Filter is used, I get a Warning Mesages like:

Code: Select all

Wargning Message:
Undefined Slave DSA
Level Index
DSA at -1 (*;*)
Row= *; Col= *
* - various numbers

This message appears when I kill three first monsters of one type. Then it doesn`t. But everything seems fine (it all works), except that game is interruptet by warning messages.

The empty DSA I set above the proper one is signed as "illegal" in the editor.
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

You need to assign a DSA - simple go to global menu, and create a DSA, call it 'blank' and save it.

The add it in the levl list. The selcect it when you create the DSA

Also, don't put it above the filter DSA, put it below the filter
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

1000 x thanx !!! :D:D:D:D:D:D:D
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
Post Reply

Return to “Chaos Strikes Back for Windows & Linux (CSBWin) / CSBuild”