PDA

View Full Version : Match table



GarrsSoul
10-15-2003, 07:06 PM
Alright well...my friend asked me to make him a script for hunting silverback orcs...one that you have to walk around in orcs manually...but when it sees an orc it will attack it, go stance def, search it if its dead, wait for it to swing, go stance offensive, and attack it again, as well as following it if they run. This is what i did:

Start:
match GetReady You also see a silverback orc
goto Start

GetReady:
put stance def
goto WaitFor

WaitFor:
match Kill A silverback orc swings a
match Kill A silverback orc charges at you!
match Follow A silverback orc trots
match Follow A silverback orc screams in pain
match Search A silverback orc curls
matchwait

Kill:
put stance off
put kill orc
match Search The silverback orc curls
pause roundtime
goto GetReady

Search:
pause roundtime
put search orc
goto Start

Follow:
match North A silverback orc trots north.
match South A silverback orc trots south.
match East A silverback orc trots east.
match West A silverback orc trots west.
match Southeast A silverback orc trots southeast.
match Southwest A silverback orc trots southwest.
match Northwest A silverback orc trots northwest.
match Northeast A silverback orc trots northeast.
matchwait

North:
move n
goto Start

East:
move e
goto Start

South:
move s
goto Start

West:
move w
goto Start

Northwest:
move nw
goto Start

Northeast:
move ne
goto Start

Southeast:
move se
goto Start

Southwest:
move sw
goto Start




alright...i am asking two things of you, tell me if my script in general is alright, and tell me why i'm getting this message when i try to run it:

.orcs.wiz

[Press the ESCape key to abort script.]


MATCH table is full; only 32 MATCHes allowed!




I already went through the script and got rid of some of the not really nescessary matches to try it...and there is less than 32....so if you know why im getting that message, could you also please tell me how to make it work?

Reyek
10-16-2003, 12:43 PM
First off your script isnt going to work right cause you might walk into a room with another person and a orc might swing and you. Secondly your "kill" Subgroup needs some work.

Kill:
Put stance off
Put Att orc
match dead Search The silverback orc curls
match alive Roundtime
matchwait

Alive:
Pause .5
goto getready

etc etc.
And you might want to add your following substrings to the attack second and the others. cause it might miss seeing that if its not looking for it because its trying to attack or something.. this script needs serious help...

GarrsSoul
10-16-2003, 06:33 PM
yeah i know...i was just making a very simple script that would kill orcs on its own...and like i said, i would be walking around...so if i walked into a room with an orc and another person, i could just walk away

GarrsSoul
10-16-2003, 06:36 PM
this also doesnt answer my question on why im getting the match table full message...or how to fix it.

GarrsSoul
10-16-2003, 06:38 PM
I do appreciate the advice though...was just hoping someone could figure out this problem.

Drew2
10-16-2003, 06:53 PM
Search:
pause roundtime
put search orc
goto Start

.

Correct me if I'm wrong, but I don't believe "pause roundtime" is a valid entry.

GarrsSoul
10-16-2003, 07:01 PM
alright, im correcting you...its is a valid comand.

Artha
10-16-2003, 07:37 PM
You could save yourself some typing time by just typing pause. It's probably not reading anything after that, anyway.

Drew2
10-16-2003, 07:37 PM
Like I said.. roundtime is not a valid variable.

IcyPoison
10-16-2003, 07:40 PM
That message comes from having too many matches in the script.. You can only have 32 in the wizard FE.

Switch to Escape and you can have as many as you want and this won't be an issue.

IcyPoison
10-16-2003, 07:41 PM
The wizard doesn't see anything after pause unless its a #.

GarrsSoul
10-16-2003, 07:47 PM
alright well try this....make a short script that says:

put remove <whatever your armor is>
put wear <whatever your armor is>
pause roundtime
put bark (or some other verb like that)


it works for me...so i dont see why it doesnt work for you guys with the Wizard

GarrsSoul
10-16-2003, 07:50 PM
Originally posted by IcyPoison
That message comes from having too many matches in the script.. You can only have 32 in the wizard FE.

Switch to Escape and you can have as many as you want and this won't be an issue.


i dont even have 20 in that script...count them, thers only like 15.

IcyPoison
10-16-2003, 07:56 PM
I didn't realize that was the whole script.. And there are only 15.. Maybe your FE is bugged? I only remember seeing that message if I had 32 or more matches in the script.

Reyek
10-16-2003, 08:01 PM
you only can have 32 matches before a matchwait command and Tayre is right Pause Roundtime is not functional. In the case you give the wizard is pausing for roundtime on its own not cause you said "pause Roundtime" The wizard is seeing the pause and is naturally pausing for 1. The wizard automatically pauses for roundtime if you get it. Escape on the other hand pauses for Roundtime and Cast time. Why would you want to make a hunting script that you have to walk around with why not just make it into a hunting script that moves you around for it?

GarrsSoul
10-16-2003, 08:02 PM
if you would like proof that pause roundtime works...here it is:

the script

#stupid.Wiz

Main:
put remove my brig
put wear my brig
pause roundtime
put bark
goto Main



and what happens when i run the script


>
.stupid.wiz

[Press the ESCape key to abort script.]
remove my brig
wear my brig
You work your way out of some bronzed black leather brigandine.
[Script]>You work your way into some bronzed black leather brigandine.
Roundtime: 15 sec.
[Script]>
Ellsbeth winks at you.
[Script]>bark
[Script]>You bark!

Reyek
10-16-2003, 08:04 PM
and the reason your table is filling is because the lack of thematchwait in the kill section the goto is making the matches "loop" ;)

Reyek
10-16-2003, 08:06 PM
take out the word roundtime and its gonna pause anyway
put pause 1 and its gonna do the same. look up the command list see if pause roundtime is a proper variable. you will see that its not. wizard is ignoring that as a varaible and using the default for pause which is 1 second or till the next line shows and goes. but the wizard is not listening to the term "pause roundtime" its seeing the command of pause looking for a valid variable is which a number and doesnt see it so its pausing for 1. but the roundtime pause is based on the wizard seeing you have roundtime and pausing for that on its own.

GarrsSoul
10-16-2003, 08:08 PM
Originally posted by Reyek
The wizard automatically pauses for roundtime if you get it.

wrong

#stupid.Wiz

Main:
put remove my brig
put wear my brig
waitfor You
move north
goto Main


>
.stupid.wiz

[Press the ESCape key to abort script.]
remove my brig
wear my brig
You work your way out of some bronzed black leather brigandine.
north
[Script]>You work your way into some bronzed black leather brigandine.
Roundtime: 15 sec.
[Script]>
...wait 15 seconds.

Reyek
10-16-2003, 08:11 PM
well in your test instance you line :
You work your way out of some bronzed black leather brigandine
came before it saw the roundtime.
the wizard runs scripts by reading line by line. The Roundtime: 15sec. came after it tried to move and being it was already trying it failed cause now duh your in roundtime. do your orginal test and remove the word roundime. it will still do the same affect. then take your second example and do the same thing take out the waitfor you and see it wait for the roundtime

GarrsSoul
10-16-2003, 08:12 PM
alright....yes its correct if you just have a command of "pause" that it will see your roundtime and wait for it.

Reyek
10-16-2003, 08:14 PM
for example

#stupidasyou can get

put rem armor
waitfor you
put wear armor
put sigh

this is gonna fail because "PUT" doesnt see the timer

same test but different commands

put rem armor
waitfor you
put wear armor
move s

this one should wait and see your in RT and not move till after it.

Reyek
10-16-2003, 08:18 PM
anyway back to your match problem its the lack of matchwaits and its seeing the goto's and looping. implement the fix i gave you and that should fix that.. but i still think you need a few matches of

match Move also here
match Move also in the room

so it doesnt attack other peoples critters. or something like this... not exactly sure how a self moving hunt script would be valid but ...

GarrsSoul
10-16-2003, 08:18 PM
i tried that and here is what i got.

>
.stupid.wiz

[Press the ESCape key to abort script.]
remove my brig
You work your way out of some bronzed black leather brigandine.
wear my brig
north
[Script]>You work your way into some bronzed black leather brigandine.
Roundtime: 16 sec.
...wait 16 seconds.
[Script]>

Reyek
10-16-2003, 08:20 PM
like tayre said the pause or waitfor is what was missing. i missed that part. He was correct. you were still wrong about the pause roundtime part :P

Drew2
10-16-2003, 08:22 PM
Not waitfor, just wait... i'll show you an example of one of my scripts..

I use this for speed reps. it's not fancy, but it gets the job done (assuming I don't fall over during one)

#cart.Cmd

main:
put rgam cart
wait
goto main

Reyek
10-16-2003, 08:25 PM
i have a similar script for my rogue when doing speed reps too. :D

Reyek
10-16-2003, 08:29 PM
By the way dont you hate it cause your posting here and forget to watch your script you get hit and stunned for 12 rounds?

Drew2
10-16-2003, 10:37 PM
Heh.. that's why IE is set to only use the top half of my screen so I can post and watch at the same time.

Jonty
11-10-2003, 05:05 PM
Originally posted by GarrsSoul
alright....yes its correct if you just have a command of "pause" that it will see your roundtime and wait for it.

You don't need to include ANY command for the Wizard FE to wait for roundtime. It does it automatically, though not always accurately.

Example:

#test

goto search

searchW:
wait

search:
match search You
match searchW ...wait
put search
matchWait

-------------------------------

You will search for ever using this script, no matter what the roundtime.