Ho un problema con l'Automagic Looting che offre l'opzioni: Cut Corpses e Drag after cut, ho il seguente problema: l'opzione Drag after cut non và... cerca di tagliare le pelli dentro il corpo del mostro e ovviamente non si può... Quello dello script dice ti attivare queste Cut Corpses, Drag After Cut e infine Resources, cosa che ho ovviamente fatto ma non và. Vi posto le zone di script dove probabilmente c'è qualcosa che non và:
Sopratutto questa:
Grazie
Sopratutto questa:
codice:
;############################################################
; 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
SET %mac_itemtype #FINDTYPE
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
}
GOSUB BMWaitAction
WAIT %bml_waittime
SET %mac_dragtimer #SCNT2 + 50
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 #FINDKIND = -1 || #SCNT2 > %mac_dragtimer
IF ! %bml_freeshard
{
SET %mac_cuttimer #SCNT2 + 50
REPEAT
FINDITEM %mac_itemtype #BACKPACKID
UNTIL #FINDKIND <> -1 || #SCNT2 > %mac_cuttimer
IF #FINDKIND = -1
{
DISPLAY OK WTF!?
PAUSE
}
GOSUB Cut #FINDID
}
RETURN #TRUE
codice:
; CutCorpse=====================
; %1 ID of the corpse to cut
;===============================
SUB CutCorpse
{
SET !cutid %1
FINDITEM !fcontid . 1 G
IF #FINDCNT < 1 || #FINDDIST > 2
RETURN #FALSE
cut_corpse: SUB CutCorpse
{
SET !cutid %1
FINDITEM !fcontid . 1 G
IF #FINDCNT < 1 || #FINDDIST > 2
RETURN #FALSE
cut_corpse:
IF %bml_bwc
FINDITEM %bwarcleaver C
IF ! %bml_bwc || ( %bml_bwc && #FINDKIND = -1 )
FINDITEM %knives C
SET #LOBJECTID #FINDID
SET #LTARGETID !cutid
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
{SUB CutCorpse
{
SET !cutid %1
FINDITEM !fcontid . 1 G
IF #FINDCNT < 1 || #FINDDIST > 2
RETURN #FALSE
cut_corpse:
IF %bml_bwc
FINDITEM %bwarcleaver C
IF ! %bml_bwc || ( %bml_bwc && #FINDKIND = -1 )
FINDITEM %knives C
SET #LOBJECTID #FINDID
SET #LTARGETID !cutid
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
{
IF %bml_bwc
FINDITEM %bwarcleaver C
IF ! %bml_bwc || ( %bml_bwc && #FINDKIND = -1 )
FINDITEM %knives C
SET #LOBJECTID #FINDID
SET #LTARGETID !cutid
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
{
; 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 || #CLILOGGED = 0 || #CHARGHOST = YES || H IN #CHARSTATUS
{
WAIT %bml_action_wait
GOSUB BMWaitAction
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 )
{
WAIT %bml_action_wait
GOSUB BMWaitAction
}
RETURN #TRUE
}
; CheckWeight==================
SUB CheckWeight
{
IF %bml_maxweight = N/A
{
IF #MAXWEIGHT = N/A
{
EVENT MACRO 8 2
GOSUB WaitForVar MAXWEIGHT <> N/A
IF ! #RESULT
{
DISPLAY OK Cannot get your max weight. HALTING!
HALT
}
}
SET %bml_maxweight #MAXWEIGHT - 25
IF ! %bml_freeshard
{
FINDITEM #CHARID
IF #FINDTYPE IN HS_IS
SET %bml_maxweight %bml_maxweight + 60
}
}
IF #WEIGHT > %bml_maxweight
{
;Call your Bag of Sending script here ;)
WHILE #WEIGHT > %bml_maxweight
{
IF #SCNT > %bml_owspamto || %bml_owspamto = N/A
{
EVENT EXMSG #CHARID 3 33 Nearly overweight! Please unload some loot.
SET %bml_owspamto #SCNT + 6
}
WAIT 10
}
}
RETURN
}
codice:
;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
}
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
}
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
}
WAIT %bml_waittime
GOSUB BMWaitAction


Commenta