Yay for breaking shit! I can think of a few ways to do what you want, but it would probably require more sleep and some testing.. One easy way is to do what Arch suggested, which is to have your bard signal your ranger to loot.
Here is what I put together so far.. I think having the ranger being the head shouldn't be too hard. Could probably even have the bard follow as the ranger sneaks around if you wanted. Just as I said, testing and sleep..
Assuming you are running both characters from the same machine.. This script will have the ranger, Joe in this case, running a loop which reads a file. When the file reads true then Joe will run sloot, wait for sloot to finish and then set the file to false. Bob who is our bard will be running the script as his loot script in Bigshot. When Bob runs the script he will write true to the file which Joe is reading. He will then read the file himself and wait for it to say false, which will happen after Joe runs sloot. The loot script will then exit for bob and bigshot will resume.
You will of coarse have to update Bob to the name of your bard and Joe to the name of your ranger. Then if you are using a different script then sloot you will want to change the script name for the start_script. Also you can modify the path where the file is being written. I have my lich folder under C:/lich/. Also since we are writing to local files you will need to use ;trust to trust the script before it will run.
Sure there is something I am forgetting.. For Cwolff's problem of splitting the loot. Do you want it random who loots, switching one char then the other, whoever has the lowest encumbrance? Personally I run two chars and I added a few lines to sloot so the head tries to put boxes in the tail's disk before his own. Extended my hunt enough that I haven't really needed to do a full loot spread.
Code:
if "#{Char.name}" == "Bob"
File.open('c:/lich/loot.txt', 'w') { |file| file.write("true") }
loop{
if !File.zero?('c:/lich/loot.txt')
loot = File.open('c:/lich/loot.txt', &:readline)
else
loot = nil
end
if loot == "false"
break
end
sleep 0.5
}
end
if "#{Char.name}" == "Joe"
loop{
if !File.zero?('c:/lich/loot.txt')
loot = File.open('c:/lich/loot.txt', &:readline)
else
loot = nil
end
if loot == "true"
start_script( 'sloot' )
wait_while { running?('sloot')}
File.open('c:/lich/loot.txt', 'w') { |file| file.write("false") }
end
sleep 0.5
}
end