Use this script to count and optionally delete the objects made by the PaintBal script. Read the instructions at the begining of the script to customise it. If you chose to delete the objects they will be saved to file in xlg project format. You can use a program kindly written and made available by Andras to extract the scores from this project file, it can be downloaded at http://andras.net/tools/pbscore.zip.
You can download this script: click here.
[Head] Type=Script Version=2.0 [Settings] Origin=0.000n 0.000w 0.00a 0.0° Run [Script] ######################################## # The SkullCounter Bot # # a Xelagot script # # third version # # (c) 1999-2000 Alex Grigny de Castro # ######################################## # This bot script is a complement to the PaintBall Bot # it counts the objects dropped by the paintball bot, # and turns them into a project that can be saved and deleted # using the Survey Manager. # edit $m and $d: # $m is the model your Paintball Bot uses to drop # $d contains part of the description field # The variables @a and @b have the coordinates # of the oposite corners of the world (field) ######################################################### # TO SAVE THE OBJECTS AUTOMATICALLY TO FILE # AND DELETE THEM IN THE WORLD ######################################################### # Test first this script to see whether it counts the # right objects. If it is working ok, # you can enable the 'delete' part of the script # to automatically remove all the 'skulls' or 'flames' # Look for the line in the script, just before the End # statement, some 25 lines below this one. # It looks like this: # # IfInt %c > 0 Gosub Delete # To enable automatic save and delete, # remove the # sign at the begining of that line. ######################################################### OnQueryBeginEvent QB OnQueryCompleteEvent QC %i = 1 @a = "25.1n 25.1w" @b = "25.1s 25.1e" $m = "flame1.rwx" $d = "ejected by" Concat $a "Searching, looking for skulls... model: " $d Say $a FilterClear FilterModel $m FilterDescription $d ProjectClear ProjectBackup @a @b %r Label Loop IfInt %i <= %r Goto Loop ResClear ResFromProjectFilter ResCount %c Concat $a %c " skulls counted." Say $a ProjectClear ProjectFromRes # IfInt %c > 0 Gosub Delete End Event QB # only the first query triggers this event Concat $a "Searching zone " %i " of " %r Say $a EndEvent Event QC inc %i IfInt %i > %r Goto QC1 Concat $a "Searching zone " %i " of " %r Say $a EndEvent Label QC1 Concat $a "Search completed." Say $a OnQueryBeginEvent OnQueryCompleteEvent EndEvent Sub Delete GetMyDir $f GetWorld $w GetDateTime !t GetYear $y !t GetMonth $m !t Length %L $m IfInt %L < 2 Concat $m "0" $m GetDay $d !t Length %L $d IfInt %L < 2 Concat $d "0" $d GetHour $h !t Length %L $h IfInt %L < 2 Concat $h "0" $h GetMinute $n !t Length %L $n IfInt %L < 2 Concat $n "0" $n GetSecond $s !t Length %L $s IfInt %L < 2 Concat $s "0" $s Concat $g "Paintball_" $w "_" $y $m $d $h $n $s ".xlg" Concat $f $f $g SayConcat "Saving the survey as file " $g " in the script folder..." ProjectSave $f Say Deleting them now!... ProjectDestroy EndSub |