Guest
May 20, 2012, 3:53 pm UTCHome arrow Commands arrow Wolfscript arrow Control arrow Wolfscript arrow Control
header image
Control
Written by Dream Dancer   
Apr 16, 2008 at 07:16 AM

Bot control is things which need to be done internally to the bot, they generally don't affect files, furres, or things of that nature.

ACTCONT
No Parameters
Forces the command processor to continue looking for matching Actions or Triggers when the script exits, over-riding the normal Stop command search setting from the botscript.
ACTSTOP
No Parameters
Forces the command processor to stop looking for matching Actions or Triggers when the script exits, over-riding the normal Stop command search setting from the botscript.
APPEXEC ProgramPath Arguments
0 Path To Program
1 Arguments For Program
Executes an external program specified by Program Path with Arguments , and waits until it returns.
ARRAY(ArrayString Delimiter Index)
0 String To Use
1 Delimiter Of 'Array'
2 Element To Get
Returns Index (zero based) element of ArrayString using Delimiter for element separation.
&array({this is a string to test stringarray functions} { } 3) = "string"
Note that the Delimiter is not returned, and you can use more than just one character for the Delimiter . {, } is perfectly legal, along with {i} , in which case the above will return "ng to test str" . Someone will no doubt want to try this:
&newvar #delimiter &char(9) &set #result &array(#tabbedstring #delimiter #index)
And it will work, returning the #index element of a tab delimited string.
COUNT(ArrayString Delimiter)
0 String To Use
1 Delimiter Of 'Array'
Returns the count of elements in ArrayString using Delimiter . Zero based, will return 0 if ArrayString contains no occurances of Delimiter , and should return -1 if the string is empty.
&count({this is a string to test stringarray functions} { }) = "7"
DISCONNECT
No Parameters
Disconnects the bot from the server.
DISPLAY DisplayWhat
0 Text To Display
Display's the text in the connection log.
DSCOUNT()
No Parameters
Returns the total number of events in the DsEvent table. Note that 0=1 in the count, so the count is one more than the upper bound of the table of events, if you get 5 events, they are numbered 0-4.
DSINDEX(Index {dsid,x1,y1,x2,y2,x3,y3})
0 Index
1 {dsid,x1,y1,x2,y2,x3,y3}
Index is which table entry you want from the DsEvent table, note that only Entry 0 will also contain the XY2, & XY3 values, the remainder of the table will only have XY1. Note that the table is Zero based. The secondary optional component is for which part of the table you want, if omitted, returns DSID.
EXITACT
No Parameters
Sets the flag which tells the calling command parser to exit the command when WolfScript exits, does not terminate the running script.
EXITFOR
No Parameters
Exits a FOR loop.
EXITWOLF
No Parameters
Exits the current script. Does not affect the calling command.
FOR ForVariable =StartAt TO EndAt
0 Counter Variable
1 Starting Value
2 End Value
Loops ForVariable starting at StartAt until EndAt is reached. Note that there is no spacing surrounding the equals sign , syntax error if any spacing is found. The TO is not optional either. If StartAt is greater than EndAt, command does not execute, if it is the same, command will execute once. Stepping not allowed (yet), and modification of the actual ForVariable itself can lead to nasty side effects, can anyone say "infinate loops"? Close a FOR loop with ENDFOR.
GETVAR(MainVariable)
0 Main Variable To Get
Returns the named MainVariable or an empty string if it doesn't exist.
IFN LeftOperand Condition RightOperand
0 Left Operand
1 Condition To Test For
2 Right Operand
Numeric test of two operands, execute commands until matching ENDIF is reached if true. Currently there is no ELSE part of the statement, you just have to test for the opposite to gain that. There is also no THEN either, the command stands alone and statements follow. Note that the LeftOperand must be a variable, you cannot use a function here.
Illegal: &IFN &DBF(#player Rank) > #value
Legal: &IFN #value < &DBF(#player Rank)
Available tests: (the  !  may become depreciated.)
IFS LeftOperand Condition RightOperand
0 Left Operand
1 Condition To Test For
2 Right Operand
String test of two operands, execute commands until matching ENDIF is reached if true. Currently there is no ELSE part of the statement, you just have to test for the opposite to gain that. There is also no THEN either, the command stands alone and statements follow. Note that the LeftOperand must be a variable, you cannot use a function here.
Illegal: &IFN &DBF(#player Title) = #string
Legal: &IFN #string = &DBF(#player Title)
Available tests: (the ! may become depreciated.)
NEWVAR Variable Optional SetToWhat
0 Variable Name
1 Initial Value
Creates a new variable named Variable and optionally sets the variable to the value of SetToWhat . Note that this is currently not needed, using the &SET command does the same thing.
Do not count on this behavior, it might change back.
NEXT
No Parameters
Psuedo Control command because I keep using &NEXT, ...
SET Variable SetToWhat
0 Variable Name
1 New Value
Set"s Variable to SetToWhat
&set #result {Their name is: } &set #result #found &set #result &dbf(1 Title)
SETVAR UserVariable SetToWhat
0 Main Bot Variable
1 New Value
Sets the main botscript variable named UserVarible to SetToWhat . Attempting to set a main (bot) variable will result in a message in the connect log, and a failure, however the WolfScript won't notice it.
SLEEP SleepTime
0 Seconds To Sleep
Makes the bot sleep for SleepTime seconds. Should be safe to use, however, sleeping bots do nothing, the program will remain at the sleep statement until finished. If you're using this a lot, then you really do need to look at your code and try to figure out why.
Last Updated ( Feb 20, 2010 at 10:18 PM )
<Previous   Next>
header image