posto lo script creato da vash per la "pulizia" dei bod da sarto.....
vash, non dovrei violare nessuna legge sul copyright, dato che l'hai pubblicata su un tuo 3d :P
nel caso, fammi sapere che la cancello
; Vash Bone Trasher
; -----------------
; Tenete 2 bod book: uno con i bod in leather, l'altro vuoto.
; State accanto ad un trash can.
; Lo script uscirą tutti i bod dal primo libro, e man mano trasherą
; quelli BONE.
; Mettete il filtro su leather small prima di farlo partire.
; E tenete aperto lo zaino, ma nessuno dei due bod book.
; Premete play e basta e seguite le istruzioni in game.
set %trash N/A ; scrivi qui l'id del trash barrel per non targettarlo ogni volta
set %studded #false ; buttiamo anche studded buster/armor/legs/tunic?
set #lpc 100
set %bod EYM
set %delay 8
set %nextaction 0
set %count 0
if %trash <> N/A
goto _book1
_trash:
event sysmessage Targetta il trash barrel
set #targcurs 1
goSub waitforsysvars targcurs = 0
set %trash #ltargetid
finditem %trash G_2
if #findcnt = 0
{
display ok Il trash barrel č troppo lontano
goto _trash
}
_book1:
event sysmessage Targetta il libro di origine
set #targcurs 1
goSub waitforsysvars targcurs = 0
set %book1 #ltargetid
finditem %book1 C_ , #backpackid
if #findcnt = 0
{
display ok Il libro non č nel tuo zaino
goto _book1
}
if #findtype <> DYM
{
display ok Non č un bod book
goto _book1
}
_book2:
event sysmessage Targetta il libro di destinazione
set #targcurs 1
goSub waitforsysvars targcurs = 0
set %book2 #ltargetid
finditem %book2 C_ , #backpackid
if #findcnt = 0
{
display ok Il libro non č nel tuo zaino
goto _book2
}
if #findtype <> DYM
{
display ok Non č un bod book
goto _book2
}
wait 10
finditem * C_ , #backpackid
if #findcnt > 105
{
event display ok Il tuo zaino č troppo pieno.
halt
}
set %countmax ( 125 - #findcnt - 10 )
if %countmax > 40
set %countmax 40
_mainloop:
goSub DropBod
if %count > %countmax
{
goSub Massmove
if full in #result
{
display ok Libro pieno
halt
}
goSub CloseGump
set %count 0
}
goSub CheckSave
goto _mainloop
sub OpenBook
if #contname = generic_gump && #contsize = 615_454
return
set #lobjectid %book1
_openagain:
goSub WaitAction
event macro 17 0
goSub waitforsysvars contname = generic_gump contsize = 615_454 20
if is_empty in #sysmsg
return empty
if ! #result
goto _openagain
wait 5
return #true
sub DropBod
set %tentativi 0
_dropagain:
gosub OpenBook
if #result = empty
{
goSub Massmove
event sysmessage Ok finito.
halt
}
set %tentativi %tentativi + 1
if %tentativi > 4
{
display yesno Sono finiti i bod?
if no in #dispres
{
wait 2s
set %tentativi 0
goto _dropagain
}
goSub Massmove
event sysmessage Ok finito.
halt
}
goSub CheckSave
set %offx #contposx + 42
set %offy #contposy + 105
click %offx %offy f
set %timeout #scnt2 + 20
_waitloop:
goSub CheckSave
if #scnt2 > %timeout
goto _dropagain
finditem %bod C_ , #backpackid
if #findcnt = 0
goto _waitloop
set %currentbod #findid
goSub CheckProperty %currentbod
if ! #result
goSub Drag %currentbod %trash
else
{
ignoreitem %currentbod 1
set %count %count + 1
}
return
sub Massmove
goSub GetProperty %book2
if 500 in #result
{
display ok Il libro di destinazione č pieno
halt
}
ignoreitem reset 1
_massmv:
goSub CheckSave
finditem %bod C_ , #backpackid
if #findcnt = 0
return
for %i 1 #findcnt
{
set #findindex %i
goSub Drag #findid %book2
if full_of_deeds in #sysmsg
return full
}
goto _massmv
return
sub CheckProperty
; restituisce falso se č da buttare
set %check %1
_checkprp:
goSub GetProperty %check
if amount notin #result
{
wait 1
goto _checkprp
}
if ( bone in #property )
return #false
if %studded && ( studded in #property && ( leggings in #property || tunic in #property || bustier in #property || armor in #property ) )
return #false
return #true
sub GetProperty
_getprop:
goSub CheckSave
event property %1
if #property = N/A
{
wait 1
goto _getprop
}
set %property #property
event property %1
if %property <> #property
goto _getprop
return %property
sub Drag
if %0 < 2 || %0 > 3
{
display Error in Drag sub call
halt
}
set %argn %0
goSub WaitAction
if %argn > 2
exevent drag %1 %3
else
exevent drag %1 1
wait 10
exevent dropc %2
return
sub WaitAction
_waitact:
goSub CheckSave
if #scnt2 < %nextaction
goto _waitact
set %nextaction #scnt2 + 8
return
sub CloseGump
set %offx #contposx + 100
set %offy #contposy + 100
click %offx %offy r f
return
sub CheckSave
scanjournal 1
if #jcolor = 53
{
if WORLD_IS_SAVING in #journal
{
event sysmessage Inizio pausa save.
wait 25s
event sysmessage Finita pausa per il save.
}
if CLEANING in #journal
{
event sysmessage Inizio pausa cleaning.
wait 15s
event sysmessage Finita pausa per il cleaning.
}
}
return
Sub waitforsysvars
set %wsvcnt %0 / 3
if ( %0 % 3 = 1 )
set %wsvtimeOut #scnt2 + % . %0
else
set %wsvtimeOut #scnt2 + 100
for %wsvi 1 %wsvcnt
{
set %wsvoffset 3 * %wsvi - 2
set %wsvevaluation %wsvoffset + 1
set %wsvvalue %wsvoffset + 2
if ! ( # . % . %wsvoffset % . %wsvevaluation % . %wsvvalue )
set %wsvi 0
if #scnt2 > %wsvtimeout
return #false
; wait 1
}
return #true
vash, non dovrei violare nessuna legge sul copyright, dato che l'hai pubblicata su un tuo 3d :P
nel caso, fammi sapere che la cancello
; Vash Bone Trasher
; -----------------
; Tenete 2 bod book: uno con i bod in leather, l'altro vuoto.
; State accanto ad un trash can.
; Lo script uscirą tutti i bod dal primo libro, e man mano trasherą
; quelli BONE.
; Mettete il filtro su leather small prima di farlo partire.
; E tenete aperto lo zaino, ma nessuno dei due bod book.
; Premete play e basta e seguite le istruzioni in game.
set %trash N/A ; scrivi qui l'id del trash barrel per non targettarlo ogni volta
set %studded #false ; buttiamo anche studded buster/armor/legs/tunic?
set #lpc 100
set %bod EYM
set %delay 8
set %nextaction 0
set %count 0
if %trash <> N/A
goto _book1
_trash:
event sysmessage Targetta il trash barrel
set #targcurs 1
goSub waitforsysvars targcurs = 0
set %trash #ltargetid
finditem %trash G_2
if #findcnt = 0
{
display ok Il trash barrel č troppo lontano
goto _trash
}
_book1:
event sysmessage Targetta il libro di origine
set #targcurs 1
goSub waitforsysvars targcurs = 0
set %book1 #ltargetid
finditem %book1 C_ , #backpackid
if #findcnt = 0
{
display ok Il libro non č nel tuo zaino
goto _book1
}
if #findtype <> DYM
{
display ok Non č un bod book
goto _book1
}
_book2:
event sysmessage Targetta il libro di destinazione
set #targcurs 1
goSub waitforsysvars targcurs = 0
set %book2 #ltargetid
finditem %book2 C_ , #backpackid
if #findcnt = 0
{
display ok Il libro non č nel tuo zaino
goto _book2
}
if #findtype <> DYM
{
display ok Non č un bod book
goto _book2
}
wait 10
finditem * C_ , #backpackid
if #findcnt > 105
{
event display ok Il tuo zaino č troppo pieno.
halt
}
set %countmax ( 125 - #findcnt - 10 )
if %countmax > 40
set %countmax 40
_mainloop:
goSub DropBod
if %count > %countmax
{
goSub Massmove
if full in #result
{
display ok Libro pieno
halt
}
goSub CloseGump
set %count 0
}
goSub CheckSave
goto _mainloop
sub OpenBook
if #contname = generic_gump && #contsize = 615_454
return
set #lobjectid %book1
_openagain:
goSub WaitAction
event macro 17 0
goSub waitforsysvars contname = generic_gump contsize = 615_454 20
if is_empty in #sysmsg
return empty
if ! #result
goto _openagain
wait 5
return #true
sub DropBod
set %tentativi 0
_dropagain:
gosub OpenBook
if #result = empty
{
goSub Massmove
event sysmessage Ok finito.
halt
}
set %tentativi %tentativi + 1
if %tentativi > 4
{
display yesno Sono finiti i bod?
if no in #dispres
{
wait 2s
set %tentativi 0
goto _dropagain
}
goSub Massmove
event sysmessage Ok finito.
halt
}
goSub CheckSave
set %offx #contposx + 42
set %offy #contposy + 105
click %offx %offy f
set %timeout #scnt2 + 20
_waitloop:
goSub CheckSave
if #scnt2 > %timeout
goto _dropagain
finditem %bod C_ , #backpackid
if #findcnt = 0
goto _waitloop
set %currentbod #findid
goSub CheckProperty %currentbod
if ! #result
goSub Drag %currentbod %trash
else
{
ignoreitem %currentbod 1
set %count %count + 1
}
return
sub Massmove
goSub GetProperty %book2
if 500 in #result
{
display ok Il libro di destinazione č pieno
halt
}
ignoreitem reset 1
_massmv:
goSub CheckSave
finditem %bod C_ , #backpackid
if #findcnt = 0
return
for %i 1 #findcnt
{
set #findindex %i
goSub Drag #findid %book2
if full_of_deeds in #sysmsg
return full
}
goto _massmv
return
sub CheckProperty
; restituisce falso se č da buttare
set %check %1
_checkprp:
goSub GetProperty %check
if amount notin #result
{
wait 1
goto _checkprp
}
if ( bone in #property )
return #false
if %studded && ( studded in #property && ( leggings in #property || tunic in #property || bustier in #property || armor in #property ) )
return #false
return #true
sub GetProperty
_getprop:
goSub CheckSave
event property %1
if #property = N/A
{
wait 1
goto _getprop
}
set %property #property
event property %1
if %property <> #property
goto _getprop
return %property
sub Drag
if %0 < 2 || %0 > 3
{
display Error in Drag sub call
halt
}
set %argn %0
goSub WaitAction
if %argn > 2
exevent drag %1 %3
else
exevent drag %1 1
wait 10
exevent dropc %2
return
sub WaitAction
_waitact:
goSub CheckSave
if #scnt2 < %nextaction
goto _waitact
set %nextaction #scnt2 + 8
return
sub CloseGump
set %offx #contposx + 100
set %offy #contposy + 100
click %offx %offy r f
return
sub CheckSave
scanjournal 1
if #jcolor = 53
{
if WORLD_IS_SAVING in #journal
{
event sysmessage Inizio pausa save.
wait 25s
event sysmessage Finita pausa per il save.
}
if CLEANING in #journal
{
event sysmessage Inizio pausa cleaning.
wait 15s
event sysmessage Finita pausa per il cleaning.
}
}
return
Sub waitforsysvars
set %wsvcnt %0 / 3
if ( %0 % 3 = 1 )
set %wsvtimeOut #scnt2 + % . %0
else
set %wsvtimeOut #scnt2 + 100
for %wsvi 1 %wsvcnt
{
set %wsvoffset 3 * %wsvi - 2
set %wsvevaluation %wsvoffset + 1
set %wsvvalue %wsvoffset + 2
if ! ( # . % . %wsvoffset % . %wsvevaluation % . %wsvvalue )
set %wsvi 0
if #scnt2 > %wsvtimeout
return #false
; wait 1
}
return #true