Guest
Sep 3, 2010, 2:52 am UTCHome arrow Ramblings arrow New Stuff Up Till 2.4.242
header image
New Stuff Up Till 2.4.242
Written by Dreamless Dancer   
Jun 22, 2008 at 07:10 AM

Well, a list of new stuff since I last worked up such a list:

  1. WolfScript
    • CONTROL
      1. EXITACT
    • DATABASE
      1. DBEOF(DatabaseID)
      2. DBEXECUTE DatabaseID SqlExecuteCommand
    • LOGFILE
      1. TXGETENTRY(FileName RecordName EntryIndex)
    • MATH
      1. FIX(Number)
      2. INT(Number)
      3. SQR(Number)
    • STRING
      1. FORMAT(ValueToFormat FormatString)
      2. SPRINTF(SourceString %1 ... %9)
  2. Conditions
    • DATABASE
      1. $DATABASE: If field {#0) in table {#1} doesn't exist in database {#0}
        • 0 FieldName
        • 1 TableName
        • 2 Database ID
      2. $DATABASE: If field {#0) in table {#1} exists in database {#2}
        • 0 FieldName
        • 1 TableName
        • 2 Database ID
      3. $DATABASE: If table {#0} doesn't exist in database {#1}
        • 0 TableName
        • 1 Database ID
      4. $DATABASE: If table {#0} exists in database {#1}
        • 0 TableName
        • 1 Database ID
    • LOGFILE
      • $FILESYSTEM: If file {#0} does not exist
        • 0 Filename
      • $FILESYSTEM: If file {#0} exists
        • 0 Filename
  3. Commands
    • CONTROL
      1. Set user button {#0} to run procedure {#1} with the caption of {#2} and tooltip of {#3}
        • 0 Button number (0-7)
        • 1 Procedure name
        • 2 Button Caption (Avoid Wrapping)
        • 3 Tooltip (Optional)
    • WEB
      1. $WEB: Combine the URL {#0} data into variable {#1} optionally adding onto {#2}
        • &0 GET assumed/GET,POST,USER
        • 1 Variable to use
        • 2 Optional prefix data
      2. $WEB: Remove the URL member named {#0} from the {#1} stack
        • 0 Parameter to remove
        • &1 GET assumed/GET,POST,USER,ALL
      3. $WEB: Reset the {#0} URL parameter stack
        • &0 GET assumed/GET,POST,USER,ALL
      4. $WEB: Set URL {#0} Parameter {#1} to the value of {#2}, Strip Special Characters {#3}
        • &0 GET assumed/GET,POST,USER
        • 1 Parameter Name 2 Value to use
        • &3 False assumed/False,True
      5. $WEB: Store the URL parameter named {#0} from the {#1} stack into variable {#2} {#3}
        • 0 Parameter name
        • &1 USER assumed/USER,GET,POST,ANY
        • 2 Variable to use
        • &3 Decoded assumed/Decoded,Raw
      6. $WEB: Store the URL string {#0} to the {#1} stack
        • 0 String to use
        • &1 USER assumed/USER,GET,POST
      7. $WEB: Transfer, Merge, Exchange, or Copy: {#0} the {#1} stack to the {#2} stack
        • &0 Transfer assumed/Transfer,Merge,Exchange,Copy
        • &1 GET assumed/GET,POST,USER
        • &2 USER assumed/USER,GET,POST
      8. $WEB: WebFetch, using {#0}, follow redirection {#1}, include GET parameters {#2}, to variable {#3}
        • &0 GET assumed/GET,POST
        • &1 Follow assumed/True,False
        • &2 GET include assumed/True,False
        • 3 Variable to use

 

Heck of a list, that's a whole bunch of micro adjustments made to the coding which drives furbot. And some things do not show up in that list, like for example, the checks built into various parts of the bot which does error checking on database operations.

Or silly things like _
being able to use the _
underscore character on long lines of _
wolfscript to break it into shorter and _
easier to read lines in the editor.

The rule on using the underscore is that there must be one space preceeding the underscore due to the internal line fetch engine:

Private Function getWolfLine() As String
Dim Results As String
  If (WolfPgmPtr > UBound(WolfLines())) Or (WolfPgmPtr < 0) Then
    errorDetect = True
    Err.Raise getWolfLineErr, "getWolfLine", "WolfScript Ran Out Of Code Inside Handler"
    getWolfLine = ""
  Else
    Results = ""
    Do
      WolfPgmPtr = WolfPgmPtr + 1
      Results = Results & Trim$(WolfLines(WolfPgmPtr))
      If Right$(Results, 1) <> "_" Then Exit Do
      Results = Left$(Results, Len(Results) - 1)
    Loop
    If Left$(Results, 2) = "//" Then Results = ""
    getWolfLine = Results
  End If
End Function
GeSHi parsed in 0.0179951190948 seconds.

Ha, it works. Should also teach getWolfLine to ignore blank lines, bummer, another pot on the stove. However, the command preprocessor ignores blank lines so it's not trying to interpert them, all's not bad.

There's two new overrides in the overrides menu for debugging wolfscript, both of these commands require that the logfile be running because they write the results to the logfile. Wolfscript Trace All does detailed reports of EVERY run of the wolfscript engine, will make HUGE log files if you have a lot of wolfscipt in your bot which is being triggered regularly. Only recommended with test runs. Wolfscript Error Trapping only writes to the log if the wolfscript engine detects an error during the execution of a script. Both commands DO slow down the bot somewhat because they need to collect information about the running script while it's being executed.

Last Updated ( Mar 22, 2009 at 06:25 PM )
<Previous   Next>
header image