annuncio

Comprimi
Ancora nessun annuncio.

[easyuo]Vash Bone Trasher

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • [easyuo]Vash Bone Trasher

    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
    Ultima modifica di ciurry; 30-12-2008, 14:06.
    [Amdir]Firma Irregolare[/Amdir]
Sto operando...
X