0 [spell works; default messages for spells]
1 [spell doesn't work, no message]
2 THAT IS A DIFFICULT SPELL. STUDY IT.
3 THE SPELL FIZZLES.
4 THE SPELL FIZZLES AND DIES.
5 THIS SPELL IS TOO DIFFICULT.
6 [champion] NEEDS MORE PRACTICE WITH THIS SPELL.
7 THIS SPELL REQUIRES A COMPONENT.
Edit:
8 [spell works, default messages for spells]
/Edit
9 [spell works, default messages for spells]
18 [spell works, default messages for spells]
I wonder where/how these messages can be modified
and whether a complete list is somewhere available
(if there is need for it, I could complete this list)
for getting a refresh on things visit:
http://www.dianneandpaul.net/CSBwin/doc ... ilter.html
Spell filter built-in messages
Moderator: Zyx
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
- Paul Stevens
- CSBwin Guru
- Posts: 4318
- Joined: Sun Apr 08, 2001 6:00 pm
- Location: Madison, Wisconsin, USA
My fault, you are right, there is only 7 possiblilities:
the eighth one was when I cast 1100 for speeding things up,
since all spell messages in this example DSA are the same
for any combination of runes..
So the number 8 would work as if no filtering was in effect.
I realised that 9 and 18 would not change much, but did
not notice number 8 was also not changing anything;
forgive me, after some hours of figuring out the spell filter,
reading about stack , temporary variable 'i' and @,! -param, I got careless/did not notice)
Here is the story:
I used the mechanism for modifying (Filtering) the spell's effect
(obtained the action parameter by using the &PARAM@ command;
The parameter was modified with &! and then sent back to the runtime engine using &PARAM! .)
For clarification:
I tried to understand the spell filter dsa that is shipped with the
overlaydemo.rar, managed after some hours , and then wanted
to see what "results" there are
to be honest I first wanted to see what messages there were
built-in and ended up cracking my skull with the dsa :
Description = Disable Zo Until Scroll is Found
State = 0
StateLocation = 0
GroupID = 0
Number of States = 1
First Displayed State = 0
Number of non-empty states = 1
#Whenever a spell is cast, a 'Set 0' (set north)message
#will be sent
#to this location, that not only holds this dsa, but also
#the "Important Location" Spell Filter Location
#
State Number = 0
#normally there are only 2 actions, but when splitting lines,
#each split counts as one 'extra' action, so there are 4
Number of Actions = 4
#the following : L1 L0 &PARAM@
#will fetch L1 Parameter (L1 =integer='1') from
#the spell filter event/runtime engine and starts storing
#the value at slot 0 (L0) in the temp. variable 'i',
#which is an array if I see it correctly
#since there is only one Parameter, only one slot gets filled
S0 = L1 L0 &PARAM@
#L2 L0 &! will put an integer value='2'(L2) on slot 0(L0), #changing value of (slot L0) from 0 to 2
#I changed L2 to L3,L4,L5 for result no.3,4,5 etc
S0+ = L2 L0 &!
#we give the runtime engine back their modified parameter
#L1(=integer 1) parameter will be stored(!) starting with L0
S0+ = L1 L0 &PARAM!
#
#C0 gets activated when the scroll is found the first time #('clear 0' message will be sent to state 0, C0)
#do nothing and go to state 1 when the next message arrives;
#the next message will be a set 0 message when a spell is cast
#the dsa will be on a dead end (because it is in state 1 and
#a set 0 message will not find any instructions there)
C0 = 1N
signature = 7BFCB5F35ADB90DBF037E192792AA2E7
Timer Trace:
(I loaded 13 parameters and cast lo Zo spell,1600;
action parameter was modified to 5, gave me result:
THIS SPELL IS TOO DIFFICULT. )
DSA Disable Zo Until Scroll is Found State 0 MSG 0
(0)Execute DSA at 0(1,4) master at 0(1,4) state=0,msg=0
LOAD INTEGER 13 (13)
LOAD INTEGER 0 (13 0)
&PARAM@ { 0 1600 0 -1 -1 131 0 -1 -1 -1 -1 -1 -1} ()
LOAD INTEGER 5 (5)
LOAD INTEGER 0 (5 0)
&Store ()
LOAD INTEGER 1 (1)
LOAD INTEGER 0 (1 0)
&PARAM! 5} ()
(0)RETURN ()
(another "spell" :1310, again changed action parameter to 5)
DSA Disable Zo Until Scroll is Found State 0 MSG 0
(0)Execute DSA at 0(1,4) master at 0(1,4) state=0,msg=0
LOAD INTEGER 13 (13)
LOAD INTEGER 0 (13 0)
&PARAM@ { 0 1310 0 -1 -1 131 0 -1 -1 -1 -1 -1 -1} ()
LOAD INTEGER 5 (5)
LOAD INTEGER 0 (5 0)
&Store ()
LOAD INTEGER 1 (1)
LOAD INTEGER 0 (1 0)
&PARAM! 5} ()
(0)RETURN ()
(scroll is found)
DSA Disable Zo Until Scroll is Found State 0 MSG 1
(0)Execute DSA at 0(1,4) master at 0(1,4) state=0,msg=1
NOOP ()
(0)RETURN ()
(spell is cast, filter became inactive:)
DSA Disable Zo Until Scroll is Found State 1 MSG 0
(0)Execute DSA at 0(1,4) master at 0(1,4) state=1,msg=0
()
you get the idea how I got these messages
Anyway the list is complete now, and I updated it in my
previous post. I have to look at the say command, thanks.
the eighth one was when I cast 1100 for speeding things up,
since all spell messages in this example DSA are the same
for any combination of runes..
So the number 8 would work as if no filtering was in effect.
I realised that 9 and 18 would not change much, but did
not notice number 8 was also not changing anything;
forgive me, after some hours of figuring out the spell filter,
reading about stack , temporary variable 'i' and @,! -param, I got careless/did not notice)
Here is the story:
I used the mechanism for modifying (Filtering) the spell's effect
(obtained the action parameter by using the &PARAM@ command;
The parameter was modified with &! and then sent back to the runtime engine using &PARAM! .)
For clarification:
I tried to understand the spell filter dsa that is shipped with the
overlaydemo.rar, managed after some hours , and then wanted
to see what "results" there are
to be honest I first wanted to see what messages there were
built-in and ended up cracking my skull with the dsa :
Description = Disable Zo Until Scroll is Found
State = 0
StateLocation = 0
GroupID = 0
Number of States = 1
First Displayed State = 0
Number of non-empty states = 1
#Whenever a spell is cast, a 'Set 0' (set north)message
#will be sent
#to this location, that not only holds this dsa, but also
#the "Important Location" Spell Filter Location
#
State Number = 0
#normally there are only 2 actions, but when splitting lines,
#each split counts as one 'extra' action, so there are 4
Number of Actions = 4
#the following : L1 L0 &PARAM@
#will fetch L1 Parameter (L1 =integer='1') from
#the spell filter event/runtime engine and starts storing
#the value at slot 0 (L0) in the temp. variable 'i',
#which is an array if I see it correctly
#since there is only one Parameter, only one slot gets filled
S0 = L1 L0 &PARAM@
#L2 L0 &! will put an integer value='2'(L2) on slot 0(L0), #changing value of (slot L0) from 0 to 2
#I changed L2 to L3,L4,L5 for result no.3,4,5 etc
S0+ = L2 L0 &!
#we give the runtime engine back their modified parameter
#L1(=integer 1) parameter will be stored(!) starting with L0
S0+ = L1 L0 &PARAM!
#
#C0 gets activated when the scroll is found the first time #('clear 0' message will be sent to state 0, C0)
#do nothing and go to state 1 when the next message arrives;
#the next message will be a set 0 message when a spell is cast
#the dsa will be on a dead end (because it is in state 1 and
#a set 0 message will not find any instructions there)
C0 = 1N
signature = 7BFCB5F35ADB90DBF037E192792AA2E7
Timer Trace:
(I loaded 13 parameters and cast lo Zo spell,1600;
action parameter was modified to 5, gave me result:
THIS SPELL IS TOO DIFFICULT. )
DSA Disable Zo Until Scroll is Found State 0 MSG 0
(0)Execute DSA at 0(1,4) master at 0(1,4) state=0,msg=0
LOAD INTEGER 13 (13)
LOAD INTEGER 0 (13 0)
&PARAM@ { 0 1600 0 -1 -1 131 0 -1 -1 -1 -1 -1 -1} ()
LOAD INTEGER 5 (5)
LOAD INTEGER 0 (5 0)
&Store ()
LOAD INTEGER 1 (1)
LOAD INTEGER 0 (1 0)
&PARAM! 5} ()
(0)RETURN ()
(another "spell" :1310, again changed action parameter to 5)
DSA Disable Zo Until Scroll is Found State 0 MSG 0
(0)Execute DSA at 0(1,4) master at 0(1,4) state=0,msg=0
LOAD INTEGER 13 (13)
LOAD INTEGER 0 (13 0)
&PARAM@ { 0 1310 0 -1 -1 131 0 -1 -1 -1 -1 -1 -1} ()
LOAD INTEGER 5 (5)
LOAD INTEGER 0 (5 0)
&Store ()
LOAD INTEGER 1 (1)
LOAD INTEGER 0 (1 0)
&PARAM! 5} ()
(0)RETURN ()
(scroll is found)
DSA Disable Zo Until Scroll is Found State 0 MSG 1
(0)Execute DSA at 0(1,4) master at 0(1,4) state=0,msg=1
NOOP ()
(0)RETURN ()
(spell is cast, filter became inactive:)
DSA Disable Zo Until Scroll is Found State 1 MSG 0
(0)Execute DSA at 0(1,4) master at 0(1,4) state=1,msg=0
()
you get the idea how I got these messages
Anyway the list is complete now, and I updated it in my
previous post. I have to look at the say command, thanks.