This is an older script that I cleaned up a bit - probably should have rewrote entirely, but it is as it is.
The purpose is to line the MSLs and Fed with a fighter wall in games that you are locking down due to a sysOp not rebanging a game or whatever reason you have. Not a lot of safeties and it will leave the wall fighters around dock sectors that are in the MSLs. The MSLs will have 1 fighter, but sometimes an errant drop will be made. Make sure you have plenty of cash because it will refurb fighters and there will be a lot of sectors to wall off. Check the file it creates when it does not wall off one-way sectors - yes, you can code around that - I didn't bother.
Code:
# msl tunnel / fed liner
setVar $numFigs "1"
setVar $attackFigs "100"
setVar $figString "f" & $numFigs & "*cd"
echo ANSI_11 "**Enter the number of fighters used to line the msl*"
getConsoleInput $mslLinerFigs
getword currentline $prompt 1
if (CURRENTSECTOR <> STARDOCK) or ($prompt <> "Command")
echo ansi_12 "**-- You must start at the sector prompt at Stardock!!"
halt
end
getTime $mslStart "hh:mm:ss am/pm"
# get ship fighter wave
send "c;"
waitfor "TransWarp Drive:"
getText CURRENTLINE $figWave "Per Attack:" "TransWarp Drive:"
stripText $figWave " "
send "q"
setVar $rylos RYLOS
setVar $alphaCentauri ALPHACENTAURI
if ($rylos = 0)
echo ANSI_12 "*The sector for Rylos was not found!!!*"
echo ANSI_12 "Enter the sector for Rylos or 0 to halt!*"
getConsoleInput $rylos
if ($rylos = 0)
halt
end
end
if ($alphaCentauri = 0)
echo ANSI_12 "*The sector for Alpha Centauri was not found!!!*"
echo ANSI_12 "Enter the sector for Alpha Centauri or 0 to halt!*"
getConsoleInput $alphaCentauri
if ($alphaCentauri = 0)
halt
end
end
:begin
# dock to rylos to alpha centauri to dock
setVar $mowstring $rylos & " " & $alphaCentauri & " " & STARDOCK & " "
setVar $mowstring $mowString & $alphaCentauri & " " & $rylos & " " & STARDOCK & " "
setVar $mowstring $mowString & "1 2 3 4 5 6 7 8 9 10 1 " & STARDOCK & " "
:beginScript
killtrigger endIt
setTextOutTrigger endit :endIt "!"
setVar $routePath ""
setVar $path ""
getword $mowString $mow 1
isnumber $test $mow
if ($test = 0)
echo ansi_12 $mow " is not a valid number"
halt
end
setVar $counter 1
:getCF
killalltriggers
# insert photon and interdictor triggers
if ($mow = CURRENTSECTOR)
add $counter 1
getword $mowString $mow $counter
end
setVar $path ""
send "* cf*" $mow "*"
setTextLineTrigger start :getCfHops "The shortest path"
setTextTrigger noPath :noPath "No route within"
pause
:getCfHops
killtrigger noPath
getword CURRENTLINE $hops 4
striptext $hops "("
add $hops 1
setarray $moveArray $hops
:startgp
setTextTrigger doneLines :doneLines "Computer command"
setTextLineTrigger path :path ""
pause
:nopath
send "nq"
echo "***" ANSI_12 "-------- No Path --------***"
add $counter 1
getword $mowString $mow $counter
if ($mow <> 0)
goto :getCF
else
goto :beginScript
end
:path
killtrigger doneLines
setVar $path $path & CURRENTLINE
goto :startgp
:doneLines
killtrigger doneLines
killtrigger path
striptext $path ">"
striptext $path "("
striptext $path ")"
setVar $icnt 2
while ($icnt <= $hops)
getword $path $tmp $icnt
setVar $moveArray[$icnt] $tmp
add $icnt 1
end
send "q"
setVar $i 1
while ($i < $hops)
add $i 1
if ($moveArray[$i] > 10) and ($moveArray[$i] <> STARDOCK)
send "m " $moveArray[$i] "*z a9999*z * " $figString "*"
if ($moveArray[$i] = $rylos) or ($moveArray[$i] = $alphacentauri)
send "pt"
setTextLineTrigger getFigs :getFigs "B Fighters :"
pause
:getFigs
getword currentline $getFigs 8
send "b" $getFigs "*q"
end
else
send "m " $moveArray[$i] & "*"
if ($moveArray[$i] = STARDOCK)
send "p s g y g q s p"
setTextLineTrigger dockFig :dockFig "B Fighters :"
pause
:dockFig
getword currentline $getFigs 8
send "b" $getFigs "*qqq"
end
end
waitfor "[" & $moveArray[$i] & "] ("
gosub :surround
end
add $counter 1
getword $mowString $mow $counter
if ($mow > 0)
goto :getCF
end
killalltriggers
getTime $mslEnd "hh:mm:ss am/pm"
halt
:surround
setArray $adjacent 7
gettext currentline $curSector "]:[" "] ("
send "sh"
waitfor "Select (H)olo Scan"
setTextlineTrigger adjSector :adjSector "Sector :"
setTextLineTrigger fighters :fighters "Fighters: "
setTextLineTrigger planet :planet "Planets :"
setTextTrigger cmdLine :startSurround "Command [TL"
pause
:adjSector
getword currentline $sector 3
setTextlineTrigger adjSector :adjSector "Sector :"
pause
:fighters
setTextLineTrigger fighters :fighters "Fighters: "
pause
:planet
setTextLineTrigger planet :planet "Planets :"
if ($sector > 10) and ($sector <> STARDOCK)
setVar $secAvoid[$sector] TRUE
write gamename & "tunnelMissed.txt" $adjacent[$s]
end
pause
:startsurround
killalltriggers
setVar $warps sector.warpcount[$curSector]
setVar $x 1
WHILE ($x <= $warps)
setVar $adjacent[$x] SECTOR.Warps[$curSector][$x]
add $x 1
end
setVar $s 1
setVar $burst ""
setVar $path $path & " "
:moveSector
while ($s <= $warps)
# if (SECTOR.WARPS[$curSector][$s] > 0)
getdistance $dist $adjacent[$s] $curSector
if ($dist = 1) and ($adjacent[$s] > 10) and ($secAvoid[$adjacent[$s]] <> TRUE)
if ($adjacent[$s] <> STARDOCK)
getwordpos $path $inMow " " & $adjacent[$s] & " "
if ($inMow = 0) and ($adjacent[$s] <> RYLOS) and ($adjacent[$s] <> alphacentauri)
setVar $burst $burst & "m" & $adjacent[$s] & "* z a9999*znf " & $mslLinerFigs & "* cd<* "
else
setVar $burst $burst & "m" & $adjacent[$s] & "* z a9999*znf 1* cd<* "
end
setSectorparameter $adjacent[$s] "FigSec" TRUE
end
elseif ($dist < 1) or ($dist > 1)
if ($adjacent[$s] <> STARDOCK) and ($adjacent[$s] > 10)
send "cf" $adjacent[$s] "*" $curSector "*q"
setTextTrigger getit :getIt "from sector " & $adjacent[$s]
pause
:getIt
getword currentline $check 4
stripText $check "("
if ($check = 1)
setVar $dist 1
setVar $burst $burst & "m" & $adjacent[$s] & "* z a9999*znf " & $mslLinerFigs & "* cd<* "
setSectorparameter $adjacent[$s] "FigSec" TRUE
end
end
end
if ($dist > 1)
echo "**" ANSI_12 "One way warp: " $adjacent[$s] " distance is " $dist
if ($adjacent[$s] > 10) and ($adjacent[$s] <> STARDOCK)
write gamename & "tunnelMissed.txt" $adjacent[$s]
end
end
# end
add $s 1
end
send $burst
return
_________________
/ Promethius / Enigma / Wolfen /
"A man who has no skills can be taught, a man who has no honor has nothing."