Hell's Knights Guild

Autoloot

« Older   Newer »
  Share  
view post Posted on 26/8/2010, 12:03
Avatar

ShuN
*****

Group:
Administrator
Posts:
1,690

Status:


Lo scriptino di autoloot per soldi e monili chi puņ passarmelo?
 
Top
view post Posted on 26/8/2010, 19:26

xXx
*****

Group:
Member
Posts:
2,071
Location:
Siracusa

Status:


nn funziona quello che ti ho passato io peppe?
 
Web  Top
Cesare II
view post Posted on 27/8/2010, 11:47




Se riuscite postatelo che servirebbe anche me.grazie
 
Top
view post Posted on 27/8/2010, 20:23

xXx
*****

Group:
Member
Posts:
2,071
Location:
Siracusa

Status:


shun ho cancellato il tuo messaggio dove hai postato lo scrept..Purtroppo l'ha fatto il mio amico e non so se magari se la prende se lo posto..Sta sera quando lo vedo glielo chiedo se possiamo upparlo e magari lo postiamo..Ma prima perdonami devo chiedere il suo permesso...Privatamente a chi serve mi puo contattare e glielo passo naturalmente...
 
Web  Top
Cesare II
view post Posted on 19/9/2010, 14:49




puoi postarlo pls o passarmelo
 
Top
Arthas_Demon
view post Posted on 26/3/2011, 03:19




Eccolo
CODICE
;=============================================================
; Script Name:  BadManiac's Automagic Looting 2
; Author: BadManiac
; Version: 2.62
; Client Tested with: 5.0.1c
; EUO version tested with: 1.5 Test Version 62
; Shard OSI / FS: OSI / works on FS with correct item types
; Revision Date: 22/11/2005
; Public Release: 05/12/2004
; Global Variables Used:
;        *bml_busy Denotes Script is busy looting
;        *bml_minvalue Contains the last min value for equipment
;        *bml_settings Contains the last used settings for the script
;        *bml_hotkey Stores the current looting hotkey
; Purpose:
; Powerful fast Automagic Looting with item evaluation, corpse cutting,
; resource gathering and cutting, and looting equipment over a certain value
;=============================================================
SET #LPC 50
;=============================================================
;###############  USER SETTINGS BELOW ONLY!  #################
;=============================================================
; One delay timing, this timer is the only thing you need to
; edit if the script has problems.
; Should be around 5, but lowering it to 2-3 works fine for
; low ping high speed conn's. FS'ers should leave it at 4-5
; Dialup and high ping users might have to set it as high as
; 6 or 7.
;=============================================================
SET %bml_waittime 5
;=============================================================
; Time to wait between actions to prevent errors.
; Minimum on EA is 10, and for freeshards 5, for fast conn's.
; Recommended 13 as this is UO's default action delay.
;=============================================================
SET %bml_action_wait 13
;=============================================================
; user1 and user2 are for the users personal lists. They are selectable
; in the menu and you can add your own loot types to them.
; The lists below are examples of what you may want to include
;=============================================================
;Plate of Cookies, Fertile Dirt, Tribal Mask,Mask of Orcish Kin, Evil Orc Helm, Fire Horn
SET %­user1 SLI_NZF_PZH_VSH_NWL_IWL_ZWF_
;Bandage, Raw Ribs
SET %­user2 ZLF_VRD_
;=============================================================
;#############  EDIT NOTHING BELOW THIS LINE  ################
;=============================================================
; The lootlists are set here, other is a list of various
; other loot that doesn't fit anywhere else.
;=============================================================
SET %­gold POF_
SET %­jewels HVF_UVF_FVF_EVF_OVF_VUF_GVF_RVF_BVF_VVF_NVF_ZVF_
SET %­reagents KUF_JUF_KZF_JZF_MZF_WZF_RZF_SZF_DUF_TZF_UZF_YZF_IUF_
SET %­scrolls AUL_BUL_CUL_DUL_EUL_FUL_GUL_HUL_IUL_JUL_KUL_LUL_MUL_NUL_OUL_PUL_QUL_RUL_SUL_TUL_UUL_VUL_WUL_XUL_YUL_ZUL_AVL_GVL_FVL_IVL_HVL_CVL_NTL_OTL_PTL_QTL_RTL_STL_TTL_UTL_VTL_WTL_XTL_YTL_ZTL_QXL_PXL_ZXL_NXL_WXL_VXL_YXL_XXL_ZFJ_BYL_CYL_DYL_EYL_FYL_GYL_HYL_IYL_JYL_KYL_KYM_PYM_SYM_TYM_WYM_UYM_GCR_ZBR_NCR_ACR_HCR_LCR_ICR_CCR_UCR_OCR_KCR_DCR_JCR_FCR_
SET %arrowsbolts RWF_LNK_FKF_
SET %­solenloot GMF_OKF_TTO_IJG_
SET %­jukaloot JSL_USL_WOH_YWL_
SET %­paragonloot IIF_IKF_BUD_HIF_
set %­questloot YJM_MSG_GHH_UVH_RY_QY_SY_PY_
;Resource loot lists
SET %feather VLK_
SET %­wool HFG_
SET %­scale STO_
SET %bones OJK_XIK_SJK_IJK_TJK_BJK_UJK_DJK_MJK_AJK_LJK_FJK_RJK_EJK_ZIK_YIK_JJK_GJK_KJK_HJK_
SET %­leather EEG_GED_DEG_
;Itemtypes for bones and leather after cutting with scissor
SET %cutresources JJG_GUF_
;Seeds, TMap, Gargoyle Pickaxe, Demon Bones, Tribal Berry, Origami Paper, Healthy Gland
SET %­other PDF_XVH_QPF_OZF_QQD_QIP_NWK_
;=============================================================
;This is a list of the different bags types that will be opened and looted,
;as well as types for knives and scissors for cutting corpses and leather.
;DON'T EDIT.
;=============================================================
SET %bags ZJF_LKF_CKF_YKK
SET %­knives TSF_GMH_BNF_CNF_FMH_WSF
SET %­scissors KAG_JAG
;=====================================
;Set lootlists for equippment
;=====================================
GOSUB SetEquipLootlists
;=====================================
; Script INIT
;=====================================
GOSUB BMEuoVer
IF #RESULT < 15000
{
  DISPLAY OK This script does not support your version of EasyUO. , $ , You must use Version 1.5 , $ , HALTED!
  HALT
}
GOSUB CheckFreeShard bml_freeshard
GOSUB ShowLootMenu
GOSUB LootInit
;=====================================
; Script MAIN LOOP
;=====================================
WHILE #TRUE
{
       ;Make script less intrusive by checking for lifted objects, target cursor, charcter status or char movement.
 REPEAT
 {
   GOSUB CheckStatus
   WAIT 1
 }
 UNTIL #RESULT
       GOSUB CheckWeight
       ;If hotkey is set, wait until the specified key is pressed before starting to loot.
       IF %bml_hotkey
       {
   WHILE #TRUE
   {
       ONHOTKEY *bml_hotkey
          BREAK
       WAIT 0
   }
       }
       ;All is well, go ahead and look for corpses in range to loot.
       GOSUB LookForCorpse
       IF #RESULT <> #FALSE
       {
               ;Set global to denote that we are busy looting
               SET *bml_busy #TRUE
               GOSUB LootPack %bml_corpseid %bml_corpsetype
               IF #RESULT = #TRUE
               {
      FINDITEM %bml_corpseid
      IF #FINDCNT > 0
         IGNOREITEM %bml_corpseid BmLooter
   }
               IF #RESULT = lootright || #RESULT = instanced
      GOSUB IgnoreList %bml_corpseid
 }
       ;Set global to denote that we are done looting
       SET *bml_busy #FALSE
       GOSUB IgnoreList
       WAIT %bml_waittime
}
;================================================================
;SUBROUTINES START HERE.
;================================================================
;LootInit=====================
SUB LootInit
{
       IF %bml_cutcorpse
       {
               FINDITEM %­scissors C_ , #BACKPACKID
               IF #FINDKIND = -1
               {
                       DISPLAY OK You need scissors to cut looted resources. $ HALTED!
                       HALT
               }
               FINDITEM %­knives C_ , #BACKPACKID
               IF #FINDKIND = -1
               {
                       DISPLAY OK You need a knife to cut corpses to loot resources. $ HALTED!
                       HALT
               }
       }
       IF %bml_lootequipment
       {
   SET #RESULT #FALSE
   CALL BMItemEval.euo INIT
   IF #RESULT <> BMItemEval_OK
   {
     DISPLAY YESNO You selected equipment loot options , $ , But you don't have the BMItemEval.euo script file in the same folder as this file. , $ , Would you like to simply loot all equipment items regardless of item value?
     IF #DISPRES = NO
     {
       DISPLAY OK Please read the setup instructions in the EasyUO PSL thread for this script. , $ , HALTED!
       HALT
     }
     SET *bml_minvalue 0
   }
 }
       IF %­lootbag = #TRUE
       {
               SET #LTARGETID N/A
               DISPLAY OK Please target your LOOTBAG and click it. $
               SET #TARGCURS 1
   WHILE #TARGCURS = 1
     WAIT 0
               SET %­lootbagid #LTARGETID
               SET %­regbagid %­lootbagid
       }
       IF %­regbag = #TRUE
       {
               DISPLAY OK Please target our REGBAG and click it.$
               SET #LTARGETID N/A
               SET #TARGCURS 1
   WHILE #TARGCURS = 1
     WAIT 0
               SET %­regbagid #LTARGETID
       }
       IGNOREITEM RESET BmLooter
       EXEVENT DROPC #BACKPACKID
       GOSUB BMWaitAction
       SET %­idx 0
       ;Reset globals for Seg'sBandage healer and CEOMedic
       SET *510 ok
       SET *BUSY 0
       RETURN
}
;LookForCorpse================
SUB LookForCorpse
{
       FINDITEM YFM G_2
       ;If the corpse is too far away. Don't loot it.
       IF #FINDCNT < 1 || #FINDDIST > 2 || #FINDTYPE <> YFM
               RETURN #FALSE
       ;If everything is fine, the found object is a corpse, and it is within range.
       ;Confirm the loot- and reg bags
       SET %bml_corpseid #FINDID
       SET %bml_corpsetype #FINDTYPE
       FINDITEM %­lootbagid C
       IF #FINDKIND = -1
       {
               EVENT EXMSG #CHARID 3 33 Can't find lootbag, paused.
               PAUSE
               RETURN #FALSE
       }
       IF %­regbag = #TRUE
       {
         FINDITEM %­regbagid C
         IF #FINDKIND = -1
         {
                 EVENT EXMSG #CHARID 3 33 Can't find regbag, paused.
                 PAUSE
                 RETURN #FALSE
         }
 }
 RETURN %bml_corpseid
}
;LootPack=====================
; %1 is the source cont ID
; %2 is the source cont type
;=============================
SUB LootPack
{
 IF %1 = %­lootbagid || %1 = %­regbagid || %1 = #BACKPACKID || %1 = #CHARID || %0 <> 2
    RETURN #FALSE
 SET %­idx %­idx + 1
 NAMESPACE PUSH
 NAMESPACE LOCAL BMLootPack . %­idx
 SET !fcontid . %­idx %1
 SET !conttype . %­idx %2
 SET !success #TRUE
 ;Make script less intrusive by checking for lifted objects, target cursor, or char movement.
 REPEAT
 {
   GOSUB CheckStatus
   WAIT 1
 }
 UNTIL #RESULT
       ;Cut corpse if specified
       IF %bml_cutcorpse && %­idx = 1
       {
               GOSUB CutCorpse !fcontid . %­idx
               IF #RESULT <> #TRUE
               {
       NAMESPACE CLEAR
       NAMESPACE POP
       SET %­idx %­idx - 1
       RETURN #RESULT
         }
 }
 REPEAT
 {
   GOSUB CheckStatus
   WAIT 1
 }
 UNTIL #RESULT
 ;Open corpses and containers near the lower right corner of the game area for 800x600 res.
 IF %­idx = 1 || !conttype . %­idx = YFM
   GOSUB OpenCorpse !fcontid . %­idx
 IF %­idx > 1 || !conttype . %­idx <> YFM
   GOSUB OpenContainer !fcontid . %­idx !conttype . %­idx
       IF #RESULT <> #TRUE
       {
    NAMESPACE CLEAR
    NAMESPACE POP
    SET %­idx %­idx - 1
    RETURN #RESULT
 }
       SET !contid . %­idx #CONTID
       IF !contid . %­idx <> !fcontid . %­idx
       {
   FINDITEM YFM CA_ , !fcontid . %­idx
   IF #FINDCNT > 1
           SET !success instanced
 }
        IF ! %bml_freeshard
        {
   WAIT %bml_waittime
   GOSUB BMWaitAction
 }
 ;=====================
 ; Looting starts here
 ;=====================
 GOSUB LootItems !contid . %­idx
 IF %bml_lootequipment
    GOSUB LootEquipment !contid . %­idx
 WHILE %bml_openbags
 {
   FINDITEM %bags C_ , !contid . %­idx
   IF #FINDCNT < 1 || #FINDBAGID <> !contid . %­idx
     BREAK
   SET !bml_currentbag #FINDID
   GOSUB LootPack !bml_currentbag #FINDTYPE
   IF #RESULT <> #TRUE
     IGNOREITEM !bml_currentbag BmLooter_temp
 }
 ; Loot end-----
 ;=====================
 ; Close Container
 ;=====================
 IF %bml_closecorpse || %­idx > 1
       {
               SET !closetimeout #SCNT2 + 20
   WHILE #SCNT2 < !closetimeout
               {
                       IF #CONTID <> !contid . %­idx
                       {
                               CLICK 730 440 F DMC
                               WAIT %bml_waittime
     }
                       IF #CONTID = !contid . %­idx
                          CLICK 730 440 F R DMC
     GOSUB WaitForVar CONTID <> !contid . %­idx 10
                       IF #RESULT
       BREAK
   }
       }
       FINDITEM %bml_corpseid G
 IF #FINDDIST > 2
   SET !success range
 FINDITEM !contid . %­idx
       IF #FINDCNT > 0 && %­idx > 1
               IGNOREITEM !contid . %­idx BmLooter
       SET %­idx %­idx - 1
       SET #RESULT !success
 NAMESPACE CLEAR
 NAMESPACE POP
       RETURN #RESULT
}
;LootItems====================
; %1 is the source cont ID
;=============================
SUB LootItems
{
 SET !contid %1
 SET !done #FALSE
 WHILE #TRUE
 {
   FINDITEM %bml_corpseid G
   IF #FINDCNT < 1 || #FINDDIST > 2
     BREAK
         ;Make script less intrusive by checking for target cursor, or char movement and waiting.
   REPEAT
   {
     GOSUB CheckStatus
     WAIT 1
   }
   UNTIL #RESULT
   ;Check weight before each drag operation to make sure we're not overweight.
         GOSUB CheckWeight
         FINDITEM %bml_lootlist C_ , !contid
   IF #FINDCNT < 1 && !done
      BREAK
         IF #FINDCNT < 1 && ! !done
         {
      IGNOREITEM RESET BmLooter_once
      SET !done #TRUE
      CONTINUE
   }
   IF #FINDBAGID <> !contid
   {
      IGNOREITEM #FINDID BmLooter_temp
      CONTINUE
   }
         SET #RESULT #TRUE
         SET !lastitem #FINDID
         IF #findtype IN %­reagents , %­necroregs
         {
                  GOSUB MoveItem !lastitem #FINDBAGID %­regbagid
                  GOTO li_finishcurrent
         }
         IF #FINDTYPE IN %­leather , %bones
         {
                  GOSUB MoveAndCut !lastitem %­lootbagid
                  GOTO li_finishcurrent
         }
         IF #FINDTYPE IN IJG_QPF
         {
      GOSUB BMGetProperty !lastitem
                  IF binding NOTIN #PROPERTY && gargoyle NOTIN #PROPERTY
                  {
                    IGNOREITEM !lastitem BmLooter_temp
                    GOTO li_finishcurrent
                  }
         }
         GOSUB MoveItem !lastitem #FINDBAGID %­lootbagid
li_finishcurrent:
         ;Last drag failed, temporarily ignore the item before proceeding.
         IF #RESULT = #FALSE
                  IGNOREITEM !lastitem BmLooter_once
         ELSE
                  IGNOREITEM RESET BmLooter_once
 }
 IGNOREITEM RESET BmLooter_temp
 RETURN
}
;LootEquipment================
; %1 is the source cont ID
;=============================
SUB LootEquipment
{
 SET !contid %1
 SET !done #FALSE
 WHILE #TRUE
 {
   FINDITEM %bml_corpseid G
   IF #FINDCNT < 1 || #FINDDIST > 2
     BREAK
   REPEAT
   {
     GOSUB CheckStatus
     WAIT 1
   }
   UNTIL #RESULT
   ;Check weight before each drag operation to make sure we're not overweight.
         GOSUB CheckWeight
   SET #RESULT 0
         FINDITEM %bml_equiplootlist C_ , !contid
   IF #FINDCNT < 1 && !done
      BREAK
         IF #FINDCNT < 1 && ! !done
         {
      IGNOREITEM RESET BmLooter_once
      SET !done #TRUE
      CONTINUE
   }
   IF #FINDBAGID <> !contid
   {
      IGNOREITEM #FINDID BmLooter_temp
      CONTINUE
   }
         SET !lastitem #FINDID
         CALL BMItemEval.euo !lastitem
         IF %bml_lootsets
         {
                  IF Only , #SPC , When , #SPC , Full , #SPC , Set , #SPC , Is , #SPC , Present: IN #PROPERTY
                          SET #RESULT *bml_minvalue
         }
         IF #RESULT < *bml_minvalue
            IGNOREITEM !lastitem BmLooter
         ELSE
                  GOSUB MoveItem !lastitem #FINDBAGID %­lootbagid
         ;Last drag failed, temporarily ignore the item before proceeding.
   IF #RESULT = #FALSE
                  IGNOREITEM %­lootitem BmLooter_once
         ELSE
                  IGNOREITEM RESET BmLooter_once
 }
 IGNOREITEM RESET BmLooter_temp
 RETURN
}
;OpenCorpse================
; %1 is the ID of the corpse to open
;=============================
SUB OpenCorpse
{
       IF %1 = %­lootbagid || %1 = %­regbagid || %1 = #BACKPACKID || %1 = #CHARID
               RETURN #FALSE
 NAMESPACE PUSH
 NAMESPACE LOCAL opencorpse
 SET !corpseid %1
oc_opencorpse:
 SET #LOBJECTID !corpseid
 SET !timeout #SCNT2 + 50
 SET !jstart #JINDEX + 1
 GOSUB BMWaitAction %bml_action_wait
 SET #nextCPosX 656
       SET #nextCPosY 388
 EVENT MACRO 17 0
 GOSUB BMWaitAction
 WAIT %bml_waittime
 SET !success #TRUE
 WHILE YFM NOTIN #CONTTYPE && !success = #TRUE
 {
   IF #SCNT2 > !timeout
     RETURN #FALSE
   FOR !i !jstart #JINDEX
   {
     SCANJOURNAL !i
     IF You_must_wait IN #JOURNAL
      GOTO oc_opencorpse
                 IF may_not_loot IN #JOURNAL || criminal_action IN #JOURNAL || did_not_earn_the_right IN #JOURNAL || did_not_slay_this_creature IN #JOURNAL
       SET !success lootright
     IF I_can't_reach_that. IN #JOURNAL || Out_of_sight || #JOURNAL
                   SET !success range
   }
   WAIT %bml_waittime
 }
 IF !success && ( #CONTPOSX <> 656 || #CONTPOSY <> 388 )
   CONTPOS 656 388
 SET #RESULT !success
 NAMESPACE CLEAR
 NAMESPACE POP
 RETURN #RESULT
}
;OpenContainer================
; %1 is the ID of the container to open
; %2 is the TYPE of the container
;=============================
SUB OpenContainer
{
       IF %1 = %­lootbagid || %1 = %­regbagid || %1 = #BACKPACKID || %1 = #CHARID
               RETURN #FALSE
       NAMESPACE PUSH
       NAMESPACE LOCAL opencont
       SET !contid %1
       SET !conttype %2
oc_opencont:
       SET !timeout #SCNT2 + 50
       SET !success #TRUE
       SET #LOBJECTID !contid
       GOSUB BMWaitAction %bml_action_wait
       SET !jstart #JINDEX + 1
       SET !oldcontid #CONTID
        SET #nextCPosX 660
       SET #nextCPosY 390
       EVENT MACRO 17 0
       GOSUB BMWaitAction
       WAIT %bml_waittime
 WHILE #CONTID = !oldcontid && #CONTID <> !contid && #CONTTYPE <> !conttype
 {
               IF #SCNT2 > !timeout
               {
                 SET !success #FALSE
                 BREAK
   }
   FOR !j !jstart #JINDEX
   {
     SCANJOURNAL !j
                 IF You_must_wait IN #JOURNAL
             GOTO oc_opencont
                 IF I_can't_reach_that. IN #JOURNAL || Out_of_sight || #JOURNAL
                 {
                         SET !success range
                         BREAK
     }
   }
   IF !success <> #TRUE
     BREAK
   WAIT 0
       }
       SET #RESULT !success
       NAMESPACE CLEAR
       NAMESPACE POP
       RETURN #RESULT
}
;############################################################
;==================================
;* @packageversion   1.10
;* @purpose   move an item from one location to another
;* @author   Tecmo, Bad_Maniac
;* @param
;      %1 req Item to move
;      %2 req Move from location
;      %­3 req Move to location
;      %­4 opt Quantity
;* @return      Returns the value True or False
;* @Calling Example
;           Inside script = gosub moveItem [Item to Move] [From location] [To location] [Quantity] (nothing in qty uses #findstack)
;         Outside calling = call subMoveItem.txt [Item to Move] [From location] [To location] [Quantity] (nothing in qty uses #findstack)
;==================================
SUB MoveItem
{
   IF %0 < 3 || %0 > 4
       RETURN #FALSE
   SET !_itemId %1
   IF G_ notin %2 && %2 <> C
       SET !_itemLocation C_ , %2
   ELSE
       SET !_itemLocation %2
   SET !_newItemLocation %­3
   IF %0 = 4
       SET !_qty %­4
   ELSE
       SET !_qty 0
   IF %bml_freeshard
   {
       SET !actionwait 5
       SET !dragdropwait 5 ; Increase this number if you recieve 'You must wait' messages
       SET !dropg dropg , #SPC , #CHARPOSX , #SPC , #CHARPOSY
   }
   ELSE
   {
       SET !actionwait %bml_action_wait
       SET !dragdropwait %bml_waittime
       SET !_XdropOffset #CHARPOSX - 1
       SET !dropg dropg , #SPC , #CHARPOSX , #SPC , !_XdropOffset
   }
   moveLoop:
   FINDITEM !_itemId !_itemLocation
   IF #FINDKIND <> -1
   {
      SET !_litemID #FINDID
      GOSUB BMWaitAction !actionwait
      IF !_qty = 0
        SET !qty #FINDSTACK
      ELSE
        SET !qty !_qty
      EXEVENT drag #FINDID !qty
      WAIT !dragdropwait
      SET !droptimeout #SYSTIME + 2000
      REPEAT
      {
        IF !_newItemLocation = ground
          EXEVENT !dropg
        ELSE
          EXEVENT dropc !_newItemLocation
        FINDITEM !_litemID !_itemLocation
      }
      UNTIL #FINDKIND = -1 || #FINDCNT = 0 || #SYSTIME < !droptimeout
      GOSUB BMWaitAction
   }
   RETURN
}
;############################################################
; MoveAndCut====================
; %1 is the item ID to drag
; %2 ID of the dest container
;===============================
SUB MoveAndCut
       SET %­mi_itemid %1
       SET %­mi_destcont %2
       IF %­mi_itemid <> #FINDID
         FINDITEM %­mi_itemid
       IF #FINDCNT < 1
               RETURN #FALSE
       SET %­mac_cont #FINDBAGID
       IF %bml_freeshard
       {
               ;Cut the resource on the corpse
               GOSUB Cut %­mi_itemid
   FINDITEM %cutresources C_ , %­mac_cont
         IF #RESULT = #FALSE || #FINDCNT < 1
                       RETURN #FALSE
               SET %­mi_itemid #FINDID
       }
       SET %­mac_dragtimer #SCNT2 + 25
 IF %bml_freeshard
   GOSUB MoveItem %­mi_itemid %­mac_cont %­mi_destcont
 ELSE
         GOSUB MoveItem %­mi_itemid %­mac_cont #BACKPACKID
 REPEAT
       {
               FINDITEM %­mi_itemid C_ , %­mac_cont
       }
       UNTIL #FINDCNT = 0 || #SCNT2 > %­mac_dragtimer
       IF ! %bml_freeshard
       {
         GOSUB Cut %­mi_itemid
         IF %bml_dragcut
         {
           WHILE #TRUE
     {
             FINDITEM %cutresources C_ , #BACKPACKID
             IF #FINDCNT < 1
         BREAK
       IF #FINDBAGID <> %­mi_destcont
         GOSUB MoveItem #FINDID #FINDBAGID %­mi_destcont
     }
   }
       }
RETURN #TRUE
; Cut===========================
; %1 ID of the item to cut
;===============================
SUB Cut
{
 SET %cut_itemid %1
       SET #LTARGETKIND 1
       SET #LTARGETID %cut_itemid
       FINDITEM %­scissors C_ , #BACKPACKID
       SET #LOBJECTID #FINDID
       SET %bml_cut_timeout #SCNT2 + 50
       SET %bml_jindex #JINDEX
cut_start:
   GOSUB BMWaitAction %bml_action_wait
         EVENT MACRO 17 0
          TARGET 5s
          WAIT %bml_waittime
         IF You_must_wait_to_perform_another_action IN #SYSMSG
         {
     GOSUB BMWaitAction
     GOTO cut_start
         }
         EVENT MACRO 22 0
         GOSUB BMWaitAction
         WAIT %bml_waittime
   REPEAT
   {
     FINDITEM %cut_itemid
     FOR %­i %bml_jindex #JINDEX
           {
                   SCANJOURNAL %­i
                   IF That_is_too_far_away IN #JOURNAL
                           RETURN #FALSE
           }
   }
   UNTIL #FINDCNT < 1 || #SCNT2 > %bml_cut_timeout
 }
       RETURN #TRUE
}
; CutCorpse=====================
; %1 ID of the corpse to cut
;===============================
SUB CutCorpse
{
 FINDITEM !fcontid . 1 G
 IF #FINDCNT < 1 || #FINDDIST > 2
   RETURN #FALSE
cut_corpse:
       FINDITEM %­knives C
       SET #LOBJECTID #FINDID
       SET #LTARGETID %1
       SET #LTARGETKIND 1
       GOSUB BMWaitAction %bml_action_wait
       SET !bml_jstart #JINDEX + 1
       EVENT MACRO 17 0
       TARGET 5s
       EVENT MACRO 22 0
       GOSUB BMWaitAction
       WAIT %bml_waittime
       SET !cut_corpse_timeout #SCNT2 + 25
       SET !bml_jend #JINDEX + 1
 WHILE #SCNT2 < !cut_corpse_timeout
 {
   FOR !ji !bml_jstart !bml_jend
   {
     SCANJOURNAL !ji
                       IF You_see_nothing_useful_to_carve IN #JOURNAL || You_carve_some IN #JOURNAL || You_skin_it IN #JOURNAL || You_pluck_the_bird IN #JOURNAL || You_may_not_dismember_that IN #JOURNAL
        RETURN #TRUE
                       IF  I_can't_reach_that. IN #JOURNAL || too_far IN #JOURNAL
                               RETURN range
                       IF may_not_loot IN #JOURNAL || criminal_action IN #JOURNAL || You_did_not_earn_the_right_to_loot IN #JOURNAL || did_not_slay_this_creature IN #JOURNAL
                               RETURN lootright
                       IF You_must_wait_to_perform_another_action. IN #JOURNAL
                               GOTO cut_corpse
               }
       }
       RETURN #FALSE
}
; CheckStatus===================
SUB CheckStatus
{
       IF %cs_statustimer = N/A
               SET %cs_statustimer #SYSTIME + 600
       IF %cs_charpos = N/A
               SET %cs_charpos #CHARPOSX , #CHARPOSY
       IF %cs_charpos <> #CHARPOSX , #CHARPOSY
       {
               IF #SYSTIME > %cs_statustimer
               {
     SET %cs_charpos #CHARPOSX , #CHARPOSY
     SET %cs_statustimer #SYSTIME + 600
   }
               RETURN #FALSE
       }
       IF #LLIFTEDKIND = 1 || #CONTNAME = drag_gump || #CONTNAME = stack_gump || #TARGCURS = 1
               RETURN #FALSE
       IF #CLILOGGED = 0 || #CHARGHOST = YES || H IN #CHARSTATUS
               RETURN #FALSE
       ;Check if other scripts are busy.
       ;Currently supports CEOMedic and Seg's stable bandage healer 11.0
       IF ( N/A NOTIN *BUSY && *BUSY <> 0 ) || ok NOTIN *510 && paused NOTIN *510
               GOSUB BMWaitAction
       RETURN #TRUE
}
; CheckWeight==================
SUB CheckWeight
{
       IF %bml_maxweight = N/A
       {
               SET %bml_maxweight #MAXWEIGHT - 30
   IF ! %bml_freeshard
               {
                 FINDITEM #CHARID
     IF #FINDTYPE IN HS_IS
       SET %bml_maxweight %bml_maxweight + 60
   }
       }
       IF #WEIGHT >= %bml_maxweight
       {
               EVENT EXMSG #CHARID 3 33 Nearly overweight, please unload some loot.
   WHILE #WEIGHT >= %bml_maxweight
           WAIT 20
 }
       RETURN
}
; BMWaitAction==================
; %1 time to wait in 10th of a second
; If no arguments are passed, it sets
; the timer to the current time
;===============================
SUB BMWaitAction
{
       IF %0 < 1 || %1 = N/A || %bmwatimer = N/A
       {
               SET %bmwatimer #SCNT2
   SET %1 0
       }
       WHILE ( %bmwatimer + %1 ) > #SCNT2
   WAIT 0
       RETURN
}
; WaitForVar====================
; %1 sysvar to wait for without #
; %2 comparison operator = <> ...
; %­3 value to compare with
; %­4 optional timeout, default 5 seconds
;===============================
SUB WaitForVar
{
       SET %­wfv_timeout #SCNT2 + 50
       IF %0 = 4
               SET %­wfv_timeout #SCNT2 + %­4
wfv_waitloop:
               IF #SCNT2 > %­wfv_timeout
                       RETURN #FALSE
               IF ! ( # . %1 %2 %­3 )
                       GOTO wfv_waitloop
       RETURN #TRUE
}
; IgnoreList====================
; %1 Item to ignore for 3 minutes
;===============================
SUB IgnoreList
{
 NAMESPACE PUSH
 NAMESPACE LOCAL IgnoreList
 SET !item #FALSE
 IF %0 > 0
   SET !item %1
 IF !timer < #SCNT || !timer = N/A
 {
   IF !timer <> N/A
      SET !resetcnt ( #SCNT - !timer ) / 10 + 1
   ELSE
     SET !resetcnt 1
   SET !timer #SCNT - ( #SCNT % 10 ) + 10
   FOR !i 1 !resetcnt
   {
     SET !resetlist !timer - ( 190 + ( !i * 10 ) )
     IGNOREITEM RESET !resetlist
   }
 }
 IF !item <> #FALSE
   IGNOREITEM !item !timer
 NAMESPACE POP
 RETURN
}
;SetEquipLootlists===============
SUB SetEquipLootlists
{
       ;WEAPON TYPES=============================================================
       SET %­sword YPO_BNF_CPH_INF_FSF_OSF_ASF_HNF_FMH_CNF_LSF_NSF_ISF_SMH_RMH_CSF_ZRF_MPH_LPH_MSF_BSF_KPO_GUO_KTF_JTF_BPH_EPH_ZSF_ATF_JPH_SOH_POH_NMH_OMH_LPO_ZTO_XTH_YTH_HSF_KSF_NPO_XPO_FUO_JPO_QPF_NPF_KPH_FYG_RHM_SFR_
       SET %fencing SRH_AQF_PPF_TSF_WSF_BUO_VPO_WPO_WRH_VRH_XRH_YRH_LTF_MTF_OPO_RRH_CUO_
       SET %­mace OLH_JOH_URH_EMH_WTH_DMH_QMH_CFF_BFF_PMH_GMH_ZPF_CQF_FFF_RPF_TRH_YSF_XSF_FBG_VTH_AUH_ZTH_UOH_VOH_AUO_MPO_BUH_CUH_DMH_GFF_QOH_HFF_TLH_GBG_
       SET %bow WOH_TOH_QPO_SPO_WOH_TOH_JSF_USF_LMH_MMH_QPO_SPO_PPO_RPO_JSF_USF_LMH_MMH_PPO_RPO_JSF_
       ;Samurai Empire Weapons---
       SET %­se_sword CSF_ZRF_MPH_LPH_MSF_BSF_KPO_GUO_KTF_JTF_BPH_EPH_ZSF_ATF_JPH_SOH_POH_NMH_OMH_LPO_ZTO_XTH_YTH_HSF_KSF_NPO_XPO_FUO_JPO_QPF_NPF_KPH_FYG_RHM_JDP_EDP_YCP_KDP_
       SET %­se_fencing LDP_HDP_ZCP_FDP_
       SET %­se_mace DDP_ADP_IDP_
       SET %­se_bow XCP_
       ;Mondain's Legacy Weapons---
       SET %­ml_sword RFR_NFR_SFR_OFR_EFR_YFR_XFR_DFR_
       SET %­ml_fencing KFR_GFR_LFR_HFR_IFR_MFR_FFR_JFR_
       SET %­ml_mace VFR_BFR_WFR_CFR_
       SET %­ml_bow VER_PFR_wer_QFR_
       ;ARMOR TYPES================================================================
       ;Medable first----
       SET %­leatherarmor VKH_NJL_QJL_JKH_QKH_DLH_HKH_PKH_SKH_KKH_ELH_PSF_QSK_ATK_ZSK_OSK_YSK_NSK_
       SET %­medhelmet NJL_QJL_NZH_TDI_VVI_KZH_PZH_DZH_
       SET %­medgorget JKH_RJG_SJG_FJG_MWL_
       SET %­medarm HKH_PKH_
       SET %­medtunic QKH_DLH_
       SET %femalemedtunic ATK_ZSK_OSK_NSK_
       SET %­medglove KKH_SKH_WTO_
       SET %­medlegging VKH_ELH_
       SET %femalemedlegging QSK_YSK_PSK_
       ;Hats---
       SET %­hats CZH_HZH_GZH_BWI_WVI_XVI_YVI_IWI_HWI_KWI_JWI_EWI_JJN_OZH_DZH_BZH_EZH_VSH_QSH_VSH_NWL_
       ;Samurai Empire Medable Armor---
       SET %­se_leatherarmor RWO_GCP_UBP_OWO_LCP_SWO_GWO_CCP_NCP_OCP_
       SET %­se_medhelmet GWO_CCP_
       SET %­se_medgorget SWO_
       SET %­se_medarm OWO_
       SET %­se_medtunic RWO_NCP_
       SET %­se_medglove OCP_
       SET %­se_medleggins GCP_UBP_LCP_ECP_
       SET %­se_medarmor %­se_leatherarmor , %­se_medhelmet , %­se_medgorget , %­se_medarm , %­se_medtunic , %­se_medglove , %­se_medleggins
       ;Mondain's Legacy Medable Armor---
       SET %­ml_medhelmet IJQ_
       SET %­ml_medgorget BAS_
       SET %­ml_medarm MAS_
       SET %­ml_medtunic ZZR_
       SET %­ml_medglove CAS_
       SET %­ml_medleggings OAS_LAS_
       SET %­ml_medarmor %­ml_medhelmet , %­ml_medgorget , %­ml_medarm , %­ml_medtunic , %­ml_medglove , %­ml_medleggings
       ;---
       SET %­medarmor %­leatherarmor , %­medHelmet , %­hats , %­medGorget , %­medArm , %­medTunic , %femaleMedTunic , %­medGlove , %­medLegging , %femaleMedLegging , %­se_medarmor , %­ml_medarmor
       ;Non medable---
       SET %­studdedarmor ALH_ULH_LLH_YKH_GLH_XKH_FLH_RLH_MLH_SSK_RSK_
       SET %bonearmor ZPH_YPH_WPH_PPH_BQH_QPH_VPH_XPH_CQH_AQH_
       SET %­nonmedhelmet DSH_ASH_TSH_ESH_YPH_GSH_OSH_ZPH_ZRH_IWL_CSH_CSH_BSH_FSH_DPH_LKO_NWL_MKH_
       SET %­nonmedgorget NSH_ALH_
       SET %­nonmedarm BQH_JSH_XLH_GLH_MSH_YLH_QPH_YKH_DLO_
       SET %­nonmedtunic HSH_ULH_LLH_ZOH_IKH_VLH_KSH_WLH_WPH_PKO_PPH_RSK_
       SET %femalenonmedtunic USK_SSK_MSK_TSK_LSK_USK_
       SET %­nonmedglove VPH_ISH_AQH_BMH_USH_XKH_FLH_KMH_RKO_
       SET %­nonmedlegging HMH_LSH_IMH_CQH_WSH_APH_MLH_RLH_NKH_XPH_NKO_
       ;Samurai Empire Non Medable Armor---
       SET %­se_studdedarmor MWO_NWO_FCP_PCP_TBP_
       SET %­se_nonmedhelmet RBP_DCP_QWO_DWO_SBP_VBP_FWO_
       SET %­se_nonmedgorget PCP_
       SET %­se_nonmedarm NWO_WBP_
       SET %­se_nonmedtunic MWO_LWO
       SET %­se_nonmedleggins FCP_TBP_ZBP_
       SET %­se_nonmedarmor %­se_studdedarmor , %­se_nonmedhelmet , %­se_nonmedgorget , %­se_nonmedarm , %­se_nonmedtunic , %­se_nonmedleggins
       ;Mondain's Legacy Non Medable Armor---
       SET %­ml_nonmedhelmet RJQ_UJQ_TJQ_
       SET %­ml_nonmedgorget QJQ_JJQ_
       SET %­ml_nonmedarm PJQ_GJQ_
       SET %­ml_nonmedtunic OJQ_ZIQ_
       SET %­ml_nonmedgloves NJQ_MJQ_
       SET %­ml_nonmedleggings AKQ_LJQ_
       SET %­ml_nonmedarmor %­ml_nonmedhelmet , %­ml_nonmedgorget , %­ml_nonmedarm , %­ml_nonmedtunic , %­ml_nonmedgloves , %­ml_nonmedleggings
       ;---
       SET %­nonmedarmor %­studdedarmor , %bonearmor , %­nonmedHelmet , %­nonmedGorget , %­nonmedArm , %­nonmedTunic , %femaleNonMedTunic , %­nonmedGlove , %­nonmedLegging , %­se_nonmedarmor , %­ml_nonmedarmor
       ;INIT LISTS====================================================================
       SET %bml_swordlist %­sword  , %­se_sword , %­ml_sword
       SET %bml_fencinglist %fencing , %­se_fencing , %­ml_fencing
       SET %bml_macelist %­mace , %­se_mace , %­ml_mace
       SET %bml_bowlist %bow , %­se_bow , %­ml_bow
       SET %bml_armorlist %­medarmor , %­nonmedarmor
       SET %bml_shieldlist LIK_MIK_CLK_AIK_CIK_LYD_GIK_NIK_ZHK_HLK_BLK_FIK_BIK_OIK_
       SET %bml_jewelerylist CWL_LWL_UJG_IJG
       SET %bml_instrumentlist OQF_LQF_PRF_KRF_MQF_QRF_RGP_ ;RGP is the Samurai Empire Instrument
       RETURN
}
;--------- EasyUO Menu Designer Code Begin ---------
sub showLootMenu
{
       menu Clear
       menu Window Title Automagic Looting
       menu Window Color BtnFace
       menu Window Size 222 330
       menu Font Transparent #true
       menu Font Align Right
       menu Shape EUOShape1 0 216 221 2 3 7 1 Black 7 Black
       menu Shape EUOShape2 0 124 225 2 3 7 1 Black 7 Black
       menu Shape EUOShape3 52 268 109 29 3 7 2 Black 7 BtnFace
       menu Shape EUOShape4 0 100 225 2 3 7 1 Black 7 Black
       menu Shape EUOShape5 0 268 221 2 3 7 1 Black 7 Black
       menu Font Name MS Sans Serif
       menu Font Size 8
       menu Font Style
       menu Font Color WindowText
       menu Font Transparent #false
       menu Font Align Left
       ;---
       menu Text EUOLabel1 28 196 Minimum Loot Score:
       menu Text EUOLabel2 156 196 (1-40)
       menu Font BGColor Window
       menu Edit value 128 192 25 10
       menu Edit hotkey 144 272 13 A
       menu Font BGColor BtnFace
       ;---
       menu Check goldchk 0 0 109 17 #false Gold
       menu Check gemchk 0 16 109 17 #false Gems
       menu Check regchk 0 32 109 17 #false Reagents
       menu Check ammochk 0 48 109 17 #false Ammo
       menu Check scrollchk 0 64 109 17 #false Scrolls
       menu Check instrumentchk 0 80 109 17 #false Instruments
       menu Check solenchk 112 0 109 17 #false Solen Loot
       menu Check jukachk 112 16 109 17 #false Juka Loot
       menu Check paragonchk 112 32 109 17 #false Paragon Loot
       menu Check questchk 112 48 109 17 #false Quest Loot
       menu Check resourcechk 112 64 109 17 #false Resources
       menu Check otherchk 112 80 109 17 #false Other
       ;---
       menu Check user1chk 0 104 109 17 #false User1
       menu Check user2chk 112 104 109 17 #false User2
       ;---
       menu Check swordchk 0 128 109 17 #false Swords
       menu Check fencechk 112 128 109 17 #false Fencing
       menu Check macechk 0 144 109 17 #false Maces
       menu Check bowchk 112 144 109 17 #false Bows
       menu Check armorchk 0 160 109 17 #false Armor
       menu Check shieldchk 112 160 109 17 #false Shields
       menu Check jewelchk 0 176 109 17 #false Jewellery
       menu Check setchk 112 176 109 17 #false Equipment Sets
       ;---
       menu Check allchk 0 220 109 13 #false Everything
       menu Check closechk 112 220 109 13 #true Close Corpse
       menu Check regbagchk 0 236 109 13 #false Use Regbag
       menu Check cutchk 112 236 109 13 #false Cut Corpses
       menu Check dragcutchk 0 252 109 13 #false Drag After Cut
       menu Check bagchk 112 252 109 13 #false Open Sub Bags
       menu Check hotkeychk 56 276 85 13 #false Use HotKey
       ;---
       menu Button startbutton 52 298 109 29 [ START ]
       ;---
       SET %­null
       IF *bml_minvalue <> %­null && *bml_minvalue <> N/A
               MENU SET value *bml_minvalue
       IF *bml_hotkey  <> %­null && *bml_hotkey <> N/A
               MENU SET hotkey *bml_hotkey
       IF *bml_settings <> %­null && *bml_settings <> N/A
       {
               IF gold IN *bml_settings
                       menu SET goldchk #TRUE
               IF gem IN *bml_settings
                       menu SET gemchk #TRUE
               IF reg IN *bml_settings
                       menu SET regchk #TRUE
               IF ammo IN *bml_settings
                       menu SET ammochk #TRUE
               IF scroll IN *bml_settings
                       menu SET scrollchk #TRUE
               IF instrument IN *bml_settings
                       menu SET instrumentchk #TRUE
               IF solen IN *bml_settings
                       menu SET solenchk #TRUE
               IF juka IN *bml_settings
                       menu SET jukachk #TRUE
               IF paragon IN *bml_settings
                       menu SET paragonchk #TRUE
               IF quest IN *bml_settings
                       menu SET questchk #TRUE
               IF resource IN *bml_settings
                       menu SET resourcechk #TRUE
               IF sword IN *bml_settings
                       menu SET swordchk #TRUE
               IF fence IN *bml_settings
                       menu SET fencechk #TRUE
               IF mace IN *bml_settings
                       menu SET macechk #TRUE
               IF bow IN *bml_settings
                       menu SET bowchk #TRUE
               IF armor IN *bml_settings
                       menu SET armorchk #TRUE
               IF shield IN *bml_settings
                       menu SET shieldchk #TRUE
               IF jewel IN *bml_settings
                       menu SET jewelchk #TRUE
               IF sets IN *bml_settings
                       menu SET setchk #TRUE
               IF other IN *bml_settings
                       menu SET otherchk #TRUE
               IF user1 IN *bml_settings
                       menu SET user1chk #TRUE
               IF user2 IN *bml_settings
                       menu SET user2chk #TRUE
               IF all IN *bml_settings
                       menu SET allchk #TRUE
               IF close NOTIN *bml_settings
                       menu SET closechk #FALSE
               IF regbag IN *bml_settings
                       menu SET regbagchk #TRUE
               IF cut IN *bml_settings
                       menu SET cutchk #TRUE
               IF dragcut IN *bml_settings
     menu SET dragcutchk #TRUE
   IF openbags IN *bml_settings
     menu SET bagchk #TRUE
               IF hotkey IN *bml_settings
                       menu SET hotkeychk #TRUE
       }
       menu Show
       SET #MENUBUTTON N/A
 WHILE #TRUE
 {
   IF #MENUBUTTON = startbutton
     BREAK
         IF #MENUBUTTON = closed
                 HALT
 }
       Menu HIDE
       ;=========================================================================================================
       ;Below the lootlist is set according to the users menu choices, everything specified will be looted automagically.
       ;=========================================================================================================
       GOSUB ClearGlobal bml_settings
       GOSUB ClearGlobal bml_minvalue
       SET %bml_lootlist
       SET %­lootbag #TRUE
       SET %bml_closecorpse #FALSE
       SET %bml_openbags #FALSE
       SET %bml_hotkey #FALSE
       MENU GET goldchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­gold
               GOSUB WriteToGlobal bml_settings gold
       }
       MENU GET gemchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­jewels
               GOSUB WriteToGlobal bml_settings gem
       }
       MENU GET regchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­reagents
               GOSUB WriteToGlobal bml_settings reg
               MENU GET regbagchk
               SET %­regbag #MENURES
               IF #MENURES
                       GOSUB WriteToGlobal bml_settings regbag
       }
       MENU GET ammochk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %arrowsbolts
               GOSUB WriteToGlobal bml_settings ammo
       }
       MENU GET solenchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­solenloot
               GOSUB WriteToGlobal bml_settings solen
       }
       MENU GET jukachk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­jukaloot
               GOSUB WriteToGlobal bml_settings juka
       }
       MENU GET paragonchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­paragonloot
               GOSUB WriteToGlobal bml_settings paragon
       }
       MENU GET questchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­questloot
               GOSUB WriteToGlobal bml_settings quest
       }
       MENU GET resourcechk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­leather
               SET %bml_lootlist %bml_lootlist , %feather
               SET %bml_lootlist %bml_lootlist , %bones
               SET %bml_lootlist %bml_lootlist , %­wool
               SET %bml_lootlist %bml_lootlist , %­scale
               GOSUB WriteToGlobal bml_settings resource
       }
       MENU GET instrumentchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %bml_instrumentlist
               GOSUB WriteToGlobal bml_settings instrument
       }
       MENU GET otherchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­other
               GOSUB WriteToGlobal bml_settings other
       }
       MENU GET scrollchk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­scrolls
               GOSUB WriteToGlobal bml_settings scroll
       }
       MENU GET user1chk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­user1
               GOSUB WriteToGlobal bml_settings user1
       }
       MENU GET user2chk
       IF #MENURES
       {
               SET %bml_lootlist %bml_lootlist , %­user2
               GOSUB WriteToGlobal bml_settings user2
       }
       MENU GET cutchk
       SET %bml_cutcorpse #MENURES
       IF #MENURES
               GOSUB WriteToGlobal bml_settings cut
       ;=======================================
       ;Set the Equipment lootlist from the user selection
       ;=======================================
       SET %bml_equiplootlist
       SET %bml_lootequipment #FALSE
       SET %bml_lootsets #FALSE
       MENU GET value
       SET *bml_minvalue #MENURES
       MENU GET swordchk
       IF #MENURES
       {
               SET %bml_equiplootlist %bml_equiplootlist , %bml_swordlist
               GOSUB WriteToGlobal bml_settings sword
       }
       MENU GET  fencechk
       IF #MENURES
       {
               SET %bml_equiplootlist %bml_equiplootlist , %bml_fencinglist
               GOSUB WriteToGlobal bml_settings fence
       }
       MENU GET macechk
       IF #MENURES
       {
               SET %bml_equiplootlist %bml_equiplootlist , %bml_macelist
               GOSUB WriteToGlobal bml_settings mace
       }
       MENU GET bowchk
       IF #MENURES
       {
               SET %bml_equiplootlist %bml_equiplootlist , %bml_bowlist
               GOSUB WriteToGlobal bml_settings bow
       }
       MENU GET armorchk
       IF #MENURES
       {
               SET %bml_equiplootlist %bml_equiplootlist , %bml_armorlist
               GOSUB WriteToGlobal bml_settings armor
       }
       MENU GET shieldchk
       IF #MENURES
       {
               SET %bml_equiplootlist %bml_equiplootlist , %bml_shieldlist
               GOSUB WriteToGlobal bml_settings shield
       }
       MENU GET jewelchk
       IF #MENURES
       {
               SET %bml_equiplootlist %bml_equiplootlist , %bml_jewelerylist
               GOSUB WriteToGlobal bml_settings jewel
       }
       MENU GET setchk
       IF #MENURES
       {
               SET %bml_lootsets #TRUE
               GOSUB WriteToGlobal bml_settings sets
       }
       ;=====================
       ; Other check boxes
       ;=====================
       MENU GET closechk
       IF #MENURES
       {
               GOSUB WriteToGlobal bml_settings close
               SET %bml_closecorpse #TRUE
       }
       MENU GET hotkeychk
       IF #MENURES
       {
               GOSUB WriteToGlobal bml_settings hotkey
               MENU GET hotkey
               SET *bml_hotkey #MENURES
               SET %bml_hotkey #TRUE
       }
       IF %bml_equiplootlist <> %­null
               SET %bml_lootequipment #TRUE
       MENU GET bagchk
 IF ! #MENURES
   SET %bml_lootlist %bml_lootlist , %bags
 IF #MENURES
 {
   GOSUB WriteToGlobal bml_settings openbags
   SET %bml_openbags #TRUE
 }
 MENU GET dragcutchk
 IF #MENURES
 {
   GOSUB WriteToGlobal bml_settings dragcut
   SET %bml_dragcut #TRUE
 }
       MENU GET allchk
       IF #MENURES
       {
               GOSUB WriteToGlobal bml_settings all
               SET %bml_lootlist *
               RETURN
       }
       ;=======================================
       IF %bml_lootlist = %­reagents
       {
               SET %­lootbag #FALSE
               SET %­regbag #TRUE
       }
       IF %bml_lootlist = %­null && %bml_equiplootlist = %­null
       {
               DISPLAY OK No loot selected!$Halting script.
               HALT
       }
RETURN
;------------------------------
;* @name CheckFreeShard
;* @ver 1.0 2Feb05
;* @author  Roadkill
;* @purpose  checks if you're on a known OSI shard or not
;* @params %1 optional, variablename to return #true/#false in, #true if on a freeshard
;* @returns #result and @%1 #true if on a freeshard, #false if on a known OSI shard.
;* @example call rksubs.txt CheckFreeShard <@%1 varname, opt><@#result #true if #shard notin osi list
;------------------------------
sub CheckFreeShard
       set !OSIshards pacific_sonoma_baja_legends_atlantic_chesapeake_catskills_lake , #spc , austin
       +_napa , #spc , valley_lake , #spc , superior_great , #spc , lakes_siege , #spc , perilous_europa
       +_drachenfels_oceania_origin_wakoku_formosa_arirang_balhae_asuka_yamato_mugen_hokuto_misuho_izumo_sakura_
       set !result #shard notin !OSIshards
       if %0 >= 1 && %1 <> n/a
               set % . %1 !result
return !result
;BMEuoVer========================
; Returns the numerical EUO version
;================================
SUB BMEuoVer
{
       SET %euover #EUOVER
 REPEAT
       {
               STR POS %euover _
               IF #STRRES > 0
               {
                       STR DEL %euover #STRRES 1
                       SET %euover #STRRES
               }
       }
 UNTIL #STRRES = 0
}
RETURN %euover
;BMGetProperty======================
;%1 is the itemID to get the property of
;================================
SUB BMGetProperty
{
 SET %­prop_timeout #SYSTIME + 1500
 EVENT PROPERTY %1
 WHILE #PROPERTY = $ || No , #SPC , Data IN #PROPERTY
 {
   IF No , #SPC , Data IN #PROPERTY
     EVENT PROPERTY %1
   IF #SYSTIME > %­prop_timeout
     RETURN #FALSE
 }
 RETURN #TRUE
}
;WriteToGlobal======================
;%1 is the global to write to (no *)
;%2 to %­N are the words or values to write
;================================
SUB WriteToGlobal
{
       FOR %­i 2 %0
       {
               IF % . %­i NOTIN * . %1
                       SET * . %1 * . %1 , % . %­i , _
       }
       RETURN
}
;ClearGlobal=======================
;%1 is the global to clear (no *)
;================================
SUB ClearGlobal
{
       SET * . %1
       RETURN
}
 
Top
5 replies since 26/8/2010, 12:03   51 views
  Share