Tekil Mesaj gösterimi
Alt 02-10-2008   #1 (permalink)
Wipau
wWw.GameSFoR.neT
Wipau - ait Kullanıcı Resmi (Avatar)
Üyelik tarihi: Aug 2007
Bulunduğu yer: Gayseri'den
Mesajlar: 2.298
Konuları: 1776
Favori Oyunu: Knight Online, Battlefield 2, Generals ve Ultima Online
REP Gücü: 237981
REP Puanı: 1000000
Wipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond reputeWipau has a reputation beyond repute
Wipau - MSN üzeri Mesaj gönder Wipau - YAHOO üzeri Mesaj gönder
Standart Otomatik loot Script Çalışır Halde


Buyrun arkadaslar easy uo için otomatik loot scripti..
Script ile armor, jewelery(takı), her türlü item, yün, scrollar gibi şeyleri lootlayabilirsiniz...

Ayrıca bu scriptin kesme özelliği bulunuyor Resources seçeneğini seçerek hayvanlardaki yünü lootlaya bilirsiniz... Cut corpse seçerek otomatik otomatik kesip yününü alabilrisiniz..
Ben bu script'ide kullanarak otomatik koyun scripti yapmıstım... umarım sizinde işinize yarar.. dosyayı ekte verdim.

Kod:
;=============================================================
; 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_**F_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_**H_
    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_**H_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
}
Eklenmiş Dosya
Dosya tipi: zip BMAutomagicLooting.zip (11,3 KB (Kilobyte), 24x kez indirilmiştir)
__________________
Lütfen Paylaşımlara REP Veriniz..
Paylaşımlarda Şifre Çıkarsa
:
[Sadece Kayıtlı Kullanıcılar Linkleri Görebilir. Üye OL...] veya gamesfor.net










Wipau isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla