PDA

View Full Version : SpiffyLooter updated



Alorn15
10-15-2009, 11:36 PM
I've updated SpiffyLooter (sloot.lic) to do the following:
- Pick up the new arcane spell items
- Pick up any items made of uncommon materials (mats taken from http://www.play.net/gs4/info/armory/materials.asp)

To update to the new version:
1. Download slib.lic, sloot.lic and SpiffyLib-loot-db.xml.txt from the repository
2. Delete Lich\Data\Setting.SAV if you have it

To install fresh, just do #1

Warning: You'll lose your container settings when upgrading

Alorn15
10-16-2009, 12:04 AM
Just updated SpiffyLib-loot-db.xml.txt again to include the following as magic items:
torc
circlet
necklace
stickpin
pin
earcuff
band
headband
armband
clasp
medallion
ring
pendant
crown
bracelet
earring
neckchain
bracer
discus
tiara
talisman

I gave some thought as to whether or not greaves and aventails - two other common enhancive candidates - should be included. I decided against it because they'll be picked up anyway as long as they're made of uncommon material.

SpiffyJr
10-16-2009, 09:31 AM
This message is Spiffy approved.

BigWorm
10-24-2009, 04:21 AM
Got a couple bug reports for this set of scripts:


[fite]>fire
>
You nock an arrow in your composite bow.
You fire an arrow at a hunch-backed dogmatist!
AS: +433 vs DS: +267 with AvD: +35 + d100 roll: +30 = +231
... and hit for 74 points of damage!
Strike through eye, the hunch-backed dogmatist is lobotomized!
The hunch-backed dogmatist awkwardly staggers backwards, falling to her knees. "Why hast ye forsaken me m'lady, served you well I did!" beckons the dogmatist in a desperate prayer.

The dogmatist then goes oddly still.
The scintillating silver light surrounding the arrow fades some.
The arrow sticks in a hunch-backed dogmatist's right eye!
Roundtime: 3 sec.
>
--- Lich: sloot active.
>

A deafening explosion rocks the area as a beam of light shines down from high above and onto the dogmatist. The hunch-backed dogmatist appears rejuvenated!
>
[sloot]>loot #147175117
Geez! It's still alive! Not a good time for that.

The script hung because the dogmatist resurrected itself and the result of the loot command wasn't parsed correctly. Pretty sure I have also seen this in OTF when a seer or initiate raises another Ithzir before I can loot them.


[fite]>fire
You nock an arrow in your composite bow.
You fire an arrow at a hunch-backed dogmatist!
AS: +433 vs DS: +189 with AvD: +35 + d100 roll: +27 = +306
... and hit for 82 points of damage!
Strike clean through neck, what a shot! Good form!
The hunch-backed dogmatist rises to her knees. "Why hast ye forsaken me m'lord, served you well I did!" beckons the dogmatist in a desperate prayer.

Silence hangs heavy in the air as the dogmatist exhales her final breath, collapsing lifelessly to the ground.
The scintillating silver light surrounding the arrow fades some.
The arrow sticks in a hunch-backed dogmatist's neck!
Roundtime: 3 sec.
>
--- Lich: sloot active.
>
[sloot]>loot #147175117
...wait 1 seconds.
>
A hunch-backed dogmatist crumbles in upon herself, her skin flaking away as if it only served as an outer shell.
>
[sloot]>loot #147175117
You can only loot creatures!

Similar issue here, the critter decayed before I could search it, resulted in a hung script.

Alorn15
10-24-2009, 06:05 PM
Fixed this, I'll update it on the repos in a couple days.

BigWorm
10-24-2009, 06:16 PM
Fixed this, I'll update it on the repos in a couple days.

Nice. Thanks for the update. While you are in there, do you think you could add some descriptions for the settings? I figured out what most of them mean eventually, but it would be useful if you at least got a basic description when prompted for a setting.

Alorn15
10-24-2009, 09:22 PM
I uploaded my version to the repository - this includes a fix for the loot hang. I'll address the setup ambiguity when I get back and have time. In the meantime, you can check out SpiffyLib-loot-db.xml.txt to see exactly what items are included for each setting.

Alorn15
11-10-2009, 11:35 AM
Updated on the repository

http://img525.imageshack.us/img525/8272/sloot.jpg

Also, SpiffyLib-loot-db.xml.txt has been updated to pick up teras gems.

Morrff
11-10-2009, 02:08 PM
Curious as to what the "Increase Loot Drop Rate' checked box does?

Alorn15
11-10-2009, 04:12 PM
Curious as to what the "Increase Loot Drop Rate' checked box does?

I can only go so far as to comment that the check box is working as intended.

Belnia
11-10-2009, 09:54 PM
Haha.

pabstblueribbon
11-10-2009, 10:24 PM
I can only go so far as to comment that the check box is working as intended.

LOL Pos rep.

Alorn15
11-16-2009, 07:59 PM
SpiffyLooter has been updated with the following:
- Faster performance
- New command: ;sloot sell

The sell command is currently equipped to sell your gems and alchemy items, although for the latter you will need to add a go2 location called 'alchemysales' for your local alchemy consignment (;go2 alchemist takes you to the order room, which is not the same as the consignment room.) The sell command will then visit the bank, return to the room from which you started the script, and tell you how many silvers richer you are.

Future planned functionality is optionally include the pawnshop and the locksmith on this route.

To upgrade, download the new slib, sloot, and SpiffyLib-loot-db.xml.txt files from the repository. Your old settings will remain intact.

EDIT: Selling options have been put in the GUI, black/white/blue crystals have been removed from the list of items to sell to the alchemist, and can now sell skins.

BigWorm
11-23-2009, 01:41 AM
Wow, I just enabled the Enhanced Loot Drop Rate and you can tell it really makes a difference. I used to be mad that OTF hunts took so long to fry me but I am pulling way more treasure now so it is totally worth it!

BigWorm
11-23-2009, 02:19 AM
Also, there is a bug in the newest version of slib. When I run slib, I get this error:


;slib
--- Lich: slib active.
--- Exception: uninitialized constant SpiffyLib::SpiffyAmmu
slib:940:in `start_script'
--- Lich: slib has exited.

until I run the script ;sammu

deadly
11-23-2009, 06:43 AM
same,

also when trying to run sloot i get that error and sloot wont do anything and if I kill sloot and restart it then sloot is unable to be restarted here is a log.

K>;sloot
--- Lich: slib active.
--- Exception: uninitialized constant SpiffyLib::SpiffyAmmu
--- Lich: slib has exited.
>;list
--- Lich: sloot.
You feel more refreshed.
K>;kill sloot
>;list
--- Lich: no active scripts.
>;sloot
>;optimus setup
--- Lich: optimus active.

| Optimus Prime activated.

>;list
--- Lich: optimus.

SpiffyJr
11-23-2009, 09:10 AM
Also, there is a bug in the newest version of slib. When I run slib, I get this error:


;slib
--- Lich: slib active.
--- Exception: uninitialized constant SpiffyLib::SpiffyAmmu
slib:940:in `start_script'
--- Lich: slib has exited.

until I run the script ;sammu

Bah, I'll fix that this morning. Thanks for posting the actual error message. You have NO IDEA how much that helps.

SpiffyJr
11-23-2009, 09:11 AM
Oh, that was easy. Fixed.

BigWorm
11-23-2009, 11:10 AM
Oh, that was easy. Fixed.

Yeah I took a look at the code after I post that and saw it was just a typo as SpiffyAmmu.<method> instead of SpiffyLib. As an aside, this is why I like to use self.<method> for class methods instead of hardcoding a class name. e.g.:



class MyClass
def self.my_method
# do stuff
end
end

This is especially preferable when you rename a class or reorganize a multi-class hierachy.

deadly
11-24-2009, 05:24 PM
wondering what category these weapons that drop all the time in otf go into?so I can set it so they dont loot these I get loaded down after 3-4 kills and no room for boxes or other real loot.

a gleaming steel broadsword
a curved silvery blade
a gleaming steel broadsword
a gleaming steel longsword
a stained handaxe
a gleaming steel broadsword
a gleaming steel longsword
a twisted crystal-tipped staff
a stained handaxe
a gleaming steel broadsword
a twisted crystal-tipped staff
a spiral-hafted handaxe
a gleaming steel broadsword

Alorn15
11-24-2009, 05:56 PM
Probably unknown.

BigWorm
11-24-2009, 07:10 PM
Yeah I pick up uncommon but not unknown and I never get that stuff.

You probably don't want to have unknown set to be picked up. The loot database especially with the material support is good enough that it gets almost everything I've seen drop.

As an aside, if I had some additions/recommendation for that DB, who should I send them to, Alorn?

Alorn15
11-25-2009, 11:54 AM
Just post them here, either Spiffy or myself will add them when we have time.

Thanks.

deadly
11-29-2009, 10:29 AM
You can't put your trunk in the ebon leather pack. It's closed!

can you add some code so that it opens said container if its closed at that time? I have a backpack that has an auto close script to keep people from stealing from me. but its a pain when I try and stow stuff in it when the script does not catch it and attempt to open the pack.

i have a few that are like this. my gem pouch does this as well.

SpiffyJr
11-29-2009, 10:44 AM
You can't put your trunk in the ebon leather pack. It's closed!

can you add some code so that it opens said container if its closed at that time? I have a backpack that has an auto close script to keep people from stealing from me. but its a pain when I try and stow stuff in it when the script does not catch it and attempt to open the pack.

i have a few that are like this. my gem pouch does this as well.

It's on my list I just haven't done it yet.

Athgo
11-29-2009, 02:33 PM
Is there a way to make sloot run all the time? Also how do you clear the disk full variable after the script thinks your disk is full?

Alorn15
11-29-2009, 03:49 PM
Is there a way to make sloot run all the time?

In a script:

while(line = get)
start_script("sloot") if(line =~ /Insert critter death message here|Another death message|yet another|these are caps sensitive|Hai/)
end

Or at the game prompt:

;e while(line = get); start_script("sloot") if(line =~ /Insert critter death message here|Another death message|yet another|these are caps sensitive|Hai/); end;

Or, here it is with reversed syntax:

until(!(line = get))
start_script("sloot") unless(line !~ /Insert critter death message here|Another death message|yet another|these are caps sensitive|Hai/);
end;

Indirectly through a recursive method that for unknown reasons calls start_exec_script:

def start_sloot(arg)
if(arg == 7)
start_exec_script('start_script("sloot")')
else
start_sloot(arg + 1)
end
end

while(line = get)
if(line =~ /Insert critter death message here|Another death message|yet another|these are caps sensitive|Hai/)
start_sloot(0)
end
end

But no, not the way you probably mean.

I'm not bored at all.

deadly
12-01-2009, 09:18 AM
Sloot was having issues with me tonight. It would not stow the weapon and pick up the box.

>loot
[sloot]>loot #1699762
You search the Ithzir scout.
She had a gleaming steel broadsword.
You discard the scout's remaining useless equipment.
She carried a sturdy modwir strongbox on her!
An Ithzir scout's body shimmers slightly, then fades from view like a dissipating phantom.
>
[sloot]>get #1699964
You need a free hand to pick that up.
>
[sloot]>put #1699964 in ####### disk

>
[sloot]>get #1699964
You are not holding that.
>
You need a free hand to pick that up.
>
[sloot]>put #1699964 in @#@$@$ disk
You are not holding that.
>

>

>
Minor Sanctuary (213) refreshes to 1h 40m. (+1m 35s)
A sense of peace and calm settles over the area.
>

>
You feel fully energetic again.
>

>loot
[sloot]>get #1699964
You need a free hand to pick that up.
>
[sloot]>put #1699964 in ###@$% disk
You are not holding that.
>
The sense of peace and security begins to wane from the area.
>loot
[sloot]>get #1699964
You need a free hand to pick that up.
>
[sloot]>put #1699964 in $@#% disk
You are not holding that.
>sheath
You put an ancient spiked rolaren warmace in your dark-hued silk cloak.
>loot
[sloot]>get #1699964
>
You pick up a sturdy modwir strongbox.
>
[sloot]>put #1699964 in @$%@#% disk
You put a sturdy modwir strongbox in the ###### disk.
>
Spell Surge of Strength (surge) ended. [-16Str]
You begin to lose touch with your internal sources of strength.
>gird
You remove an ancient spiked rolaren warmace from in your dark-hued silk cloak.
You need a free hand to pick that up.
>
Spell Minor Sanctuary (213) ended.
The sense of peace and security passes away from the area.
>;sloot setup

geoffire
12-03-2009, 08:14 PM
Yeah, it could use some checks for if the action fails. I've noticed when my cloak fills up with boxes, sloot doesn't notice if the last box didn't go in. Then i have a box in my hand so picking up the rest of the stuff fails and sloot doesn't notice. Then if i run sloot again it tries to stow the box to get a free hand, and that fails and it doesn't notice and tries to pick up everything again... the only solution there is drop the box and do it manually (as sloot gets boxes first) then run back to town and unload.

as for the autosearch, This one doesn't need death messages, but will only work if you'r hunting solo as it doesn't run if another player is in the room.

loop {
wait_until { GameObj.npcs.find { |npc| npc.status.dead? } and !GameObj.pcs }
start_script("sloot") unless running? "sloot"
wait_while { running? "sloot" }
}

pabstblueribbon
12-03-2009, 08:28 PM
To run with multiple players in your group...

Add in the names of the people in your group in place of Partners_name. You could have multiple by doing ["Dillhole", "Bungbunny", "Dickchin"]


loop {
wait_until { GameObj.npcs.find { |npc| npc.status.dead? } and (GameObj.pcs.to_a - ["Partners_name"]).empty? }
start_script("sloot") unless running? "sloot"
wait_while { running? "sloot" }
}

And there is my loot routine... btw, deadly, why are you using sloot when the group hunting script I gave you already does it and sorts it for you?


def loot

grabthese=["diamond", "emerald", "onyx", "faenor-bloom", "star ruby", "wand", "aetherstone", "agate", "azurite", "beryl", "bloodjewel", "bloodstone", "bluerock", "caederine", "cordierite", "deathstone", "doomstone", "dreamstone", "eostone", "firestone", "galena", "geode", "hyacinth", "pyrite", "peridot", "rhimar", "riftshard", "riftstone", "rosepar", "wyrdshard", "spinel", "faenor", "blazestar", "despanal", "feystone", "ruby", "pearl", "sapphire", "opal", "jacinth", "garnet", "moonstone", "topaz", "gem", "coral", "sunstone", "starstone", "quartz", "heliodor", "glimaerstone", "carbuncle", "turquoise", "chalcedony", "tourmaline", "obsidian", "zircon", "amethyst", "lapis", "amber" , "sphene" , "shell", "stone", "lapis","gem","mother-of-pearl","lazuli", "jade", "ivory", "nugget", "box", "strongbox", "chest", "coffer", "trunk","flagon", "ring", "miniature", "figurine", "bracelet", "amulet", "armband", "torc", "buckle", "necklace", "earrings", "medallion", "talisman", "earcuff", "crown", "barrette", "pin", "stickpin", "neckchain", "headband", "tiara", "earring", "pendant", "wristlet", "band", "brooch", "chalice", "flask", "clasp", "earing", "ewer","crystal","lockpick","humor", "hair", "crystal", "core", "air", "fire", "water", "earth", "shard", "tooth", "globe", "dust", "essence"]

$boxitems=["box", "strongbox", "chest", "coffer", "trunk"]

$gemitems=["diamond", "emerald", "onyx", "faenor-bloom", "star ruby", "aetherstone", "agate", "azurite", "beryl", "bloodjewel", "bloodstone", "bluerock", "caederine", "cordierite", "deathstone", "doomstone", "dreamstone", "eostone", "firestone", "galena", "geode", "hyacinth", "pyrite", "peridot", "rhimar", "riftshard", "riftstone", "rosepar", "wyrdshard", "spinel", "faenor", "blazestar", "despanal", "feystone", "ruby", "pearl", "sapphire", "opal", "jacinth", "garnet", "moonstone", "topaz", "gem", "coral", "sunstone", "starstone", "quartz", "heliodor", "glimaerstone", "carbuncle", "turquoise", "chalcedony", "tourmaline", "obsidian", "zircon", "amethyst", "lapis", "amber" , "sphene" , "shell", "stone", "lapis","gem","mother-of-pearl","lazuli", "jade", "ivory", "nuggget","flagon", "ring", "statue", "miniature", "figurine", "bracelet", "amulet", "orb", "armband", "torc", "buckle", "necklace", "earrings", "medallion", "talisman", "earcuff", "crown", "barrette", "pin", "stickpin", "neckchain", "headband", "tiara", "earring", "pendant", "wristlet", "band", "brooch", "chalice", "flask", "clasp", "earing", "ewer","crystal"]

$pawnitems=["wand","rod","lockpick","crystal amulet","black crystal","white crystal","blue crystal"]

$alchemyitems = ["s'ayanad crystal","ayanad crystal","t'ayanad crystal","humor", "hair", "core", "air", "fire", "water", "earth", "shard", "tooth", "globe", "dust", "essence",]

craplist=["heavy quartz orb","rock crystal","white flask","corroded ring","tarnished ring","dented ring","rusty bracelet"]

fput "stance def"

RoomObj.npcs.each{ |target|
if target.status == "dead"
fput "loot ##{target.id}"
if RoomObj.loot and !(checkloot.to_a & grabthese).empty?
GameObj.loot.each{ |item|
if grabthese.include?(item.noun) and craplist.include?(item.name)
elsif grabthese.include?(item.noun)
if $boxitems.include?(item.noun)
lootcontainer = "#{$boxcontainer}"
elsif $alchemyitems.include?(item.name) or $alchemyitems.include?(item.noun)
lootcontainer = "#{$alchemycontainer}"
elsif $pawnitems.include?(item.name) or $pawnitems.include?(item.noun)
lootcontainer = "#{$pawncontainer}"
elsif $gemitems.include?(item.noun)
lootcontainer = "#{$gemcontainer}"
end
fput "get ##{item.id}"
fput "put left in my #{lootcontainer}"
pause 0.25
fput "drop left" if checkleft
end
}
end
end
}
if checkmind(7)
$pastfried=$pastfried+1
end
end

Jaimaltz
12-06-2009, 09:10 PM
Is there a way to use multiple containers? For example under box sack I'd love to put in "backpack, cloak" and it would stuff boxes into my cloak if the backpack is full.

egreenleaf
03-27-2010, 07:26 PM
as of now, sloot sell only deposits my coins in the bank. is it supposed to do more? how do i fix it?

Kaight
03-31-2010, 02:49 PM
I'm new to lich (only started using it yesterday) and encountered this error while using sloot and hunting storm giants and skeletal giants on the Sentoph. It seems to only occur when a treasure box needs to be looted.


R>;sloot
--- Lich: sloot active.
[sloot]>skin #73539152 right
You botched the job. The giant skin is ruined.
>
[sloot]>loot #73539152
You search the storm giant.
It had a spear.
It didn't carry any silver.
It also left some essence of air behind.
It had nothing else of value.
A storm giant vanishes in a dark swirling cloud rising up into the air.
>
[sloot: IN DISK STORE SLOOT]
[sloot: IN STOW ITEM]
[sloot]>stow right
You put a falchion in your swordbelt.
>
[sloot]>get #7353913973539128735392727353914773377056735391537 3539133735389687353896773537663
>
Get what?
>
--- Exception: undefined method `is_a_number?' for SpiffyLooter:Class
slib:911:in `stow_item'
--- Lich: sloot has exited.


And here are my settings.

--- Kaight's settings
wandsack: pack
failuresack: pack
sack: sack
bountysack:
overflow: pack
magicsack: pack
unknownsack: pack
skinweaponsack: swordbelt
boxsack: disk
foragesack: satchel
alchemysack: sack
herbsack: satchel
scrollsack: pack
skinweapon: falchion
ammosack:
uncommonsack: pack
skinsack: sack
pawnsack: sack
overflow2:
gemsack: sack

Ryvicke
03-31-2010, 03:01 PM
skinweapon: falchion


Get a dagger, kid!

crb
03-31-2010, 04:21 PM
that is sloot3, which is my version, download the new version of slib3, rename it to slib, and give that a try.

also, make sure "disk boxes" is turned off if you're using my version (which automatically disks's boxes).

Itachi
04-01-2010, 05:42 AM
when i DL slib3 and renamed i get error

=============================================
| INCOMPATIBLE VERSIONS DETECTED |
================================================== ==
SpiffyLib version: 112
Required version: 113
You should update ;slib.lic from the repository to run this script.
After you download the new version run ;slib.lic to update the library.


Also, mine doesnt sell anything just turns in silver and i dont have the version with the "increase loot drop rate" option either

crb
04-01-2010, 08:15 AM
make sure you have both sloot3 and slib3, download both, and rename both

Itachi
04-01-2010, 04:07 PM
i did, the error is gone but it still doesnt sell, also still dont have the newer interface with the more loot option.

BigWorm
04-01-2010, 06:01 PM
when i DL slib3 and renamed i get error

=============================================
| INCOMPATIBLE VERSIONS DETECTED |
================================================== ==
SpiffyLib version: 112
Required version: 113
You should update ;slib.lic from the repository to run this script.
After you download the new version run ;slib.lic to update the library.


Also, mine doesnt sell anything just turns in silver and i dont have the version with the "increase loot drop rate" option either

You get the error because you didn't follow the directions, silly! You just needed to rerun ;slib.

Itachi
04-01-2010, 07:02 PM
i did, the error is gone but it still doesnt sell, also still dont have the newer interface with the more loot option.

.