v0.2 - added a weight check of 400, before it stores in the keys.
ive noticed some issues with the weight loop, i adjusted it down to 350. sometimes it gets stuck in an infinite claim loop when your over the weight limit. i will havto rework what it does when your backpack is overwieght.
Code: Select all
//[UOSteam] Alamiester's EasySkinner V0.2u
//29Mar2018
//updated to version 0.2u to reflect Excelsior changelog.
//This macro is based off of skin and loot mobs posted by dartanis, originally posted by Dyeus Phater. I took it a few steps farther. You need a dagger, a scissors, wood worker's keys, and tailor's keys to use this script.
//
//create list for raw food to be harvested.
if not listexists 'foodbag'
createlist 'foodbag'
pushlist 'foodbag' '0x9f1' //raw ribs
pushlist 'foodbag' '0x9b9' //raw bird
pushlist 'foodbag' '0x1609' //raw leg of lamb
endif
pause 200
//
//create list for raw materials.
if not listexists 'materialbag'
createlist 'materialbag'
pushlist 'materialbag' '0x1079' //leather
pushlist 'materialbag' '0x1bd1' //feather
pushlist 'materialbag' '0x26b4' //scales
pushlist 'materialbag' '0xdf8' //wool
endif
pause 200
//
//setup aliases.
if not @findobject 'foodbag'
headmsg 'Select a bag to store food.'
promptalias 'foodbag'
endif
if not @findobject 'materialbag'
headmsg 'Select a bag to store material.'
promptalias 'materialbag'
endif
if not @findalias 'blade'
headmsg 'Which blade will you use?'
promptalias 'blade'
endif
if not @findalias 'scissors'
headmsg 'Which scissors will you use?'
promptalias 'scissors'
endif
if not findalias 'tailorkeys'
headmsg 'Select Tailers Keys'
promptalias 'tailorkeys'
endif
if not findalias 'woodkeys'
headmsg 'Select Wood Workers Keys'
promptalias 'woodkeys'
endif
//
//look for corpses.
if weight <= '350'
if not @findtype '0x2006' 'any' 'ground' '1' '2'
sysmsg ' **** No Corpse Found - Exiting ****' '28'
stop
else
@setalias! 'o' 'found'
endif
//
//cut corpse.
@useobject 'blade'
msg "Ewww, there's blood everywhere!"
waitfortarget '1500'
target! 'o'
pause 500
//
//find food from created list.
sysmsg ' **** Looking for Food ****' '20'
for 0 to 'foodbag'
while @findtype! foodbag[] 'any' 'o' 'any' '2'
sysmsg ' **** Grabbing Food ****' '20'
if @injournal 'cannot hold more'
sysmsg ' !!! WARNING: Your bag is full. Exiting script !!!' '28'
clearjournal
stop
else
moveitem 'found' 'foodbag'
pause 1700
endif
endwhile
endfor
//
//find material from created list.
sysmsg ' **** Looking for Material ****' '20'
for 0 to 'materialbag'
while @findtype! materialbag[] 'any' 'o' 'any' '2'
sysmsg ' **** Grabbing Material ****' '20'
if @injournal 'cannot hold more'
sysmsg ' !!! WARNING: Your bag is full. Exiting script !!!' '28'
clearjournal
stop
else
moveitem 'found' 'materialbag'
pause 1700
endif
endwhile
endfor
//
//cut hides.
while @findtype! '0x1079' 'any' 'materialbag'
sysmsg ' **** Hides found - Cutting ****' '20'
@useobject 'scissors'
waitfortarget '1500'
target! 'found'
pause 500
endwhile
else
//
//adds leather too Tailor's Keys.
while @targettype! '0x1081' 'any' 'materialbag'
useobject 'tailorkeys'
sysmsg ' **** Filling Keys ****' '20'
pause 500
@replygump 0x41f8fc19 60028
waitforgump 1106836505 500
waitfortarget 500
@targettype! '0x1081' 'any'
pause 500
@replygump 0x41f8fc19 0
endwhile
@canceltarget!
//
//adds scales too Tailor's Keys.
while @targettype! '0x26b4' 'any' 'materialbag'
useobject 'tailorkeys'
sysmsg ' **** Filling Keys ****' '20'
pause 500
@replygump 0x41f8fc19 60028
waitforgump 1106836505 500
waitfortarget 500
@targettype! '0x26b4' 'any'
pause 500
@replygump 0x41f8fc19 0
endwhile
@canceltarget!
//
//adds wool too Tailor's Keys.
while @targettype! '0xdf8' 'any' 'materialbag'
useobject 'tailorkeys'
sysmsg ' **** Filling Keys ****' '20'
pause 500
@replygump 0x41f8fc19 60028
waitforgump 1106836505 500
waitfortarget 500
@targettype! '0xdf8' 'any'
pause 500
@replygump 0x41f8fc19 0
endwhile
@canceltarget!
//
//adds feathers too Wood Worker's Keys.
while @targettype! '0x1bd1' 'any' 'materialbag'
useobject 'woodkeys'
sysmsg ' **** Filling Keys ****' '20'
pause 500
@replygump 0xa57934d 60018
waitforgump 173511501 500
waitfortarget 500
@targettype! '0x1bd1' 'any'
pause 500
@replygump 0xa57934d 0
endwhile
@canceltarget!
endif
//
//claim corpse.
msg '[claim'
sysmsg ' **** Corpse claimed. ****' '20'
sysmsg '**** Skin another one! ****' '20'
waitfortarget 500
target! 'o'
pause '500'
@canceltarget!
@unsetalias 'found'