View Full Version : Lich hunting script, example please?
I'm looking for a decent example of a Lich hunting script. All I want to do is go around and kill kobolds/thyrils/gnomes until I've gathered a certain number of boxes so stance dancing isn't a problem (since the character is 50 levels above them), just really need to not swing when others are in the room and gather a specified number of boxes. Can anyone post some examples of a lich hunting script so I can try my hand at modifying it a bit?
Doughboy
06-26-2006, 09:40 AM
Yeah, it's a pretty weak ass script, but it does work...
MoveOn:
fput "look"
loop {
walk
if checkpcs
next
end
if checknpcs
break
end
}
KillIt:
loop {
fput "stance off"
fput "attack"
if waitfor("A muscular supplicant drops to the floor, quite dead", "With an ear-piercing cry of agony, the muscular supplicant dies", "A muscular supplicant spasms one last time and then dies", "A muscular supplicant spasms one last time and then dies", "A muscular supplicant spasms in death and then goes still", "A muscular supplicant staggers, then falls to the floor and dies", "A muscular supplicant moans in agony and then goes still", "A muscular supplicant thrashes one last time and goes still", "A muscular supplicant dies, falling down like a rag doll", "An emaciated hierophant drops to the floor, quite dead", "An emaciated hierophant staggers, then falls to the floor and dies", "An emaciated hierophant thrashes violently and then dies", "An emaciated hierophant moans in agony and then goes still", "An emaciated hierophant spasms in death and then goes still", "An emaciated hierophant thrashes one last time and goes still", "With an ear-piercing cry of agony, the emaciated hierophant dies", "Silence hangs heavy in the air as the dogmatist exhales his final breath, collapsing lifelessly to the ground", "Silence hangs heavy in the air as the dogmatist exhales her final breath, collapsing lifelessly to the ground", "A muscular supplicant dies and collapses to the floor", "An emaciated hierophant dies, falling down like a rag doll", "Roundtime") =~ /Roundtime/
waitrt?
next
else
waitrt?
fput "loot"
fput "stance def"
fput "stow right"
fetchloot
fput "ready weapon"
break
end
}
goto "MoveOn"
Shaelun
06-28-2006, 01:10 PM
It's written for a bard, there isn't a single explanation of what line does what or how it works, I took the critter names out so that everybody and their uncle can't just copy/paste the thing and fill the game with bot-scripters, and a good half of it is nothing but juggling spellsongs and whatnot without frying nerves, etc., etc., etc: in other words, it may be useless to you, but if you can figure out enough of it to use this as an example then enjoy.
Oh, and just to cover my ass... please note that it doesn't keep going on its own, and is written based on the assumption that it'll be watched anytime it's running.
unless stance 'def' or stance 'gua'
fput 'stance defensive'
end
unless checkspell 'sonic blade song'
fput 'sheath' if checkright
tmp = ''
until tmp =~ /roundtime/i or mana < 18
fput 'prep 1012'
fput 'cast hammer'
tmp = waitfor 'roundtime', 'armor prevents'
pause 3
end
end
start_script 'signs' unless running? 'signs'
before_dying { stop_script 'signs' }
%w[ striking smiting swords warding defending shields dissipation ].each { |sign| fput sprintf('sign of %s', sign) }
fput 'cman cmovement'
unless checkspell 'song of noise'
if Spellsong.timeleft < 5 and mana(80)
fput 'stop 1018' if checkspell 'song of power'
fput 'renew all'
pause 3
waitrt?
cast 1018
cast 1017, Char.name
end
end
diskoverride = false
until fried?
walked = false
unless !checkpcs and checknpcs('critter_one', 'critter_two', 'critter_three') and !diskoverride
walked = true
diskoverride = false
walk {
!checkpcs and checknpcs('critter_one', 'critter_two', 'critter_three')
}
end
diskcheck = waitfor "You also (?:see|notice) " if walked
disks = diskcheck.scan(/\w+ disk/)
if disks.find { |disk| disk.split.first != Char.name }
diskoverride = true
next
end
fput 'stance offensive'
fput 'stand' if not standing?
waitrt?
fput 'kill'
waitrt?
until waitfor('no valid target', 'Roundtime', 'dies', 'still', 'collapsing lifelessly', 'could not find', 'target', 'what\?') =~ /dies|collapsing lifelessly|still|no valid target/
fput 'stand' if not standing?
waitrt?
fput 'kill'
waitrt?
end
waitrt?
fput 'stance defensive'
fput 'loot'
fetchloot
end
fput 'stop 1017'
start_script 'goto', 'table'
sleep 0.1
wait_while { running? 'goto' }
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.