sub Crea_Pulsanti
menu font bgcolor $006600
Menu Font Color White
Menu font size 6
Menu Button HelpScript 175 7 70 15 INFO/UPDATE
Menu font size 8
set !ymenu !ypietre - 4
Menu Button HelpPietre 228 !ymenu 15 20 ?
set !ymenu !yfuga
Menu Button HelpFuga 228 !ymenu 15 20 ?
Menu Button HelpAutoPausa 10 455 15 20 ?
Menu Button HelpLasciaOggetto 10 427 15 20 ?
menu font bgcolor $005555
set !ymenu !yincima + 29
Menu Button SettaPosCasa 195 !ymenu 30 15 Set
set !ymenu !ypietre + 16
Menu Button SettaCassaCasa 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreNormali 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreDull 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreShadow 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreCopper 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreBronze 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreGold 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreAgaphite 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreVerite 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreValorite 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreSand 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaCassaGemme 195 !ymenu 30 15 Set
set !ymenu !ymenu + 15
Menu Button SettaPietreTrash 195 !ymenu 30 15 Set
Menu Font bgColor gray
menu font color black
Menu font size 6
set !ymenu !ypietre - 1
Menu Button butReset 163 !ymenu 62 15 RESET CASSE
Menu Font Color Green
Menu font size 8
;Menu Button Start 10 455 230 20 Inizia
return
;=========================================================
sub AntiBlock
gosub AutoScriptScorna Normale
set !timescript #scnt - %startscript
if !liab = N/A
set !liab #JINDEX
set %maxpausa #scnt + 40
for !sjabi !liab #JINDEX
{
if #MENUBUTTON = Start
{
SET #menubutton N/A
Menu Delete Start
gosub crea_menu
goto quidainterrotto
}
if #MENUBUTTON = Azzera
{
SET #menubutton N/A
gosub azzera_stat
}
scanjournal !sjabi
if protection in #journal
{
if You_are_now_under_the_protection in #journal && %guard = #false
{
menu set txtGuards SI
set %guard #true
DELETEJOURNAL
}
if You_have_left_the_protection in #journal && %guard = #true
{
menu set txtGuards NO
set %guard #false
DELETEJOURNAL
}
}
if The_world_is_saving in #journal || The_world_will_save in #journal || Cleaning_resources in #journal
{
menu shape shpsave 5 356 240 30 3 7 1 black 7 black
Menu font size 18
Menu Font Color Red
menu font bgcolor black
Menu Text save2 10 356 SAVE IN CORSO
aspettaskip:
set %displsave SAVE , #spc , IN , #spc , CORSO
for !sjabi !liab #JINDEX
{
scanjournal !sjabi
if World_save_complete in #journal || Resources_cleaned in #journal
{
wait 1s
DELETEJOURNAL
Menu delete shpsave
Menu delete save2
goto fine
}
wait 5
Menu set save2 %displsave
set %displsave %displsave , #dot
}
if #scnt > %maxpausa
{
DELETEJOURNAL
Menu delete shpsave
Menu delete save2
goto fine
}
goto aspettaskip
}
}
fine:
set !liab #JINDEX
return
;=========================================================
sub AntiBlock2
gosub AutoScriptScorna Normale
if %usahiding = #true
{
gosub hiding
}
set %maxpausa #scnt + 40
for %i 6 1
{
if #MENUBUTTON = Start
{
SET #menubutton N/A
Menu Delete Start
gosub crea_menu
goto quidainterrotto
}
if #MENUBUTTON = Azzera
{
SET #menubutton N/A
gosub azzera_stat
}
scanjournal %i
if protection in #journal
{
if You_are_now_under_the_protection in #journal && %guard = #false
{
menu set txtGuards SI
set %guard #true
DELETEJOURNAL
}
if You_have_left_the_protection in #journal && %guard = #true
{
menu set txtGuards NO
set %guard #false
DELETEJOURNAL
}
}
if The_world_is_saving in #journal || The_world_will_save in #journal || Cleaning_resources in #journal
{
menu shape shpsave 5 356 240 30 3 7 1 black 7 black
Menu font size 18
Menu Font Color Red
menu font bgcolor black
Menu Text save2 10 356 SAVE IN CORSO
aspettaskip2:
set %displsave SAVE , #spc , IN , #spc , CORSO
for %i 5 1
{
scanjournal %i
if World_save_complete in #journal || Resources_cleaned in #journal
{
wait 1s
DELETEJOURNAL
Menu delete shpsave
Menu delete save2
goto fine2
}
wait 5
Menu set save2 %displsave
set %displsave %displsave , #dot
}
if #scnt > %maxpausa
{
DELETEJOURNAL
Menu delete shpsave
Menu delete save2
goto fine2
}
goto aspettaskip2
}
}
fine2:
return
;======================================================
sub hiding
if H notin #charstatus
{
if #scnt > %timehiding
{
event macro 13 21
set %timehiding #scnt + %hidingdelay
}
}
return
;=======================================================
sub Recall
set %_runenumber %nruneatt
set %bookx 0
set %booky 0
set %_oldx #charposx
set %_oldy #charposy
set %_runex 138
set %ymagie 180
rirecalldopofiz:
set %runabloccata #false
if %magie = 1
{
set %ymagie 145
}
set %_page 0
set %_side 0
;pagina
set %_page %_runenumber + 1
set %_page %_page / 2
;side
set %_num %_runenumber / 2
set %_num %_num * 2
if %_num = %_runenumber
set %_side 1
if %_side = 1
set %_runex 298
set %risp #true
set %xc 0
set %yc 0
set %_pagexmod %_page * 34
set %_pagex 104
set %_pagex %_pagex + %_pagexmod
if %_page > 4
set %_pagex %_pagex + 31
recallopenagain:
wait 5
set #LOBJECTID %book
event macro 17 0
wait 5
set %error #scnt + 2
gosub AntiBlock
gosub wait_gump generic_gump
looprecall:
if #contname = generic_gump
{
goto finelooprecall
}
if #scnt > %error
goto recallopenagain
}
goto looprecall
finelooprecall:
set %bookx #CONTPOSX
set %booky #CONTPOSY
set %xc %bookx + %_pagex
set %yc %booky + 195
click %xc %yc
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
set %bookx #contposx
set %booky #contposy
set %xc %bookx + %_runex
set %yc %booky + %ymagie
if %usafirebeetle = #true
{
msg all follow me $
}
set !jindex #jindex
click %xc %yc
set !w4serr #scnt + 4
wait 50
wait4secondrecall:
if %_oldx = #charposx && %_oldy = #charposy && #scnt < !w4serr
{
wait 50
goto wait4secondrecall
}
gosub AntiBlock
if %_oldx = #charposx
{
if %_oldy = #charposy
{
for %i !jindex #jindex
{
scanjournal %i
if THAT_LOCATION_IS_BLOCKED in #journal
{
DELETEJOURNAL
set %runabloccata #true
}
if ENCUMBERED_TO_MOVE in #journal
{
DELETEJOURNAL
gosub posa_sovrappeso
goto rirecalldopofiz
}
}
set %risp #false
}
}
return %risp
;=======================================================
sub posa_sovrappeso
ciloopps:
finditem %ore c_ , #BACKPACKID
if #findkind = -1
{
ignoreitem reset
return
}
if #findCol <> 0
{
ignoreitem #findid
goto ciloopps
}
ignoreitem reset
set !posatot #findstack
if !posatot > 5
set !posatot 5
Exevent Drag #findID !posatot
gosub AntiBlock
wait 10
Exevent Dropg #charposx #charposy #charposz
wait 10
return
;=======================================================
sub setProgressBarMenu
set %p1 %1
set %p2 %2
set %pBarSize ( ( 229000 * %p1 ) / %p2 ) / 1000
menu delete ProgressBar
menu shape ProgressBar 11 481 %pBarSize 19 3 1 1 gray 7 gray
return
;========================================================
sub Get_Meditation
chooseSkill medi
if #skill > 0
set %Meditation #true
else
set %Meditation #false
return
;========================================================
sub aspetta_mana
gosub VisualizzaStato Recupera_Mana
set !usatameditation #false
aspettaancoraaspettamana:
if #MANA = n/a
{
gosub Chiudi_Gump
gosub Apri_Gump
}
if #MANA < 20 && #MANA < #MAXMANA
{
if !usatameditation = #false && %Meditation = #true
{
event Macro 13 46
set !usatameditation #true
}
wait 1s
goto aspettaancoraaspettamana
}
return
;========================================================
sub smelta
gosub VisualizzaStato Smelta
smeltaancora:
gosub AntiBlock
finditem %forgia g_ , 2
if #findkind = -1
{
return #false
}
set %fid #findid
gosub restack_ores
splitsmeltsingolo:
findItem %ore c_ , #backpackid
for #findindex 1 #findcnt
{
if #findstack > 1
{
if %usasmelt
{
if 2219 = #findcol || 2207 = #findcol || 2425 = #findcol
{
if #FINDSTACK > %limitesmelt
{
gosub antiblock
exevent drag #findid %limitesmelt
wait 2
exevent dropc #backpackid 0 0
wait 7
goto splitsmeltsingolo
}
}
}
set #lobjectid #findid
event macro 17
TARGET 5s
set #LTARGETID %fid
set #LTARGETKIND 1
event macro 22 0
wait 10
goto smeltaancora
}
}
return
;=========================================================
sub restack_ores
namespace push
namespace local restack_ores
set !colfound
_regroup:
set !regrouped #true
finditem %small_ore C_ , #backpackid
if #findcnt = 0
return
for #findindex 1 #findcnt
{
if ( #findcol in !colfound && #findcol <> 0 ) || ( #findcol = 0 && iron in !colfound )
{
exevent drag #findid #findcnt
wait 5
exevent dropc #backpackid
set !regrouped #false
break
}
if #findcol = 0
set !colfound !colfound , _ , iron
else
set !colfound !colfound , _ , #findcol
set !findindex . #findcol #findid
}
if ! !regrouped
{
namespace clear
goto _regroup
}
namespace clear
namespace pop
return
;=========================================================
sub VisualizzaSalvataggio
set %p1 %1
Menu set txtSalvataggio %p1
return
;=======================================================
sub Check_PickAxe
wait 10
finditem %PickAxe c_ , #BACKPACKID
if #findkind <> -1
{
return #true
}
return #false
return
;=======================================================
sub Prendi_PickAxe
gosub VisualizzaStato Prendi_Shovel
prendi_pickaxesg:
finditem %pickaxe c_ , %cassacasa
if #findkind <> -1
{
event property #findid
if gargoyle in #property
{
ignoreitem #findid
goto prendi_pickaxesg
}
gosub Prendi_Oggetto %pickaxe %cassacasa 1 antiblock
}
else
{
return #false
}
return #result
;=======================================================
sub Check_ToolKit
wait 10
finditem %toolkit c_ , #BACKPACKID
if #findkind <> -1
{
event property #findid
set !proptt #property
if %strUsi in !proptt
{
if %tinkering > 399
{
gosub crea_tinkertool
}
}
return #true
}
return #false
return
;=======================================================
sub Check_ProspectorTool
wait 10
finditem %prosptool c_ , #BACKPACKID
if #findkind <> -1
{
return #true
}
return #false
return
;=======================================================
sub Prendi_ToolKit
gosub VisualizzaStato Prendi_ToolKit
gosub Prendi_Oggetto %toolkit %cassacasa 1 antiblock
return #result
;=======================================================
sub Prendi_ProspectorTool
gosub VisualizzaStato Prendi_Prospector
gosub Prendi_Oggetto %prosptool %cassacasa 1 antiblock
return #result
;=======================================================
sub Prendi_Iron
gosub VisualizzaStato Prendi_IRON
piapricassa:
gosub AntiBlock
set #NEXTCPOSX 100
set #NEXTCPOSY 100
finditem %cassacasa g_ , 2
if #findkind = -1
{
gosub Torna_a_Casa
}
set #LOBJECTID %cassacasa
event macro 17 0
wait 10
if #contID <> %cassacasa
{
goto piapricassa
}
contpos 100 100
wait 10
piloop:
gosub AntiBlock
finditem %lingotti c_ , %cassacasa
if #findkind = -1
{
ignoreitem reset
return #false
}
if #findCol <> 0
{
ignoreitem #findid
goto piloop
}
ignoreitem reset
wait 10
piridrag:
gosub AntiBlock
if #findstack < 4
{
return #false
}
set %fspi #findstack
if %fspi > 40
{
set %fspi 40
}
Exevent Drag #findID %fspi
gosub AntiBlock
wait 10
Exevent Dropc #BACKPACKID
gosub check_iron
if #result = #false
{
gosub apri_gump
goto piapricassa
}
set %fspi 0 - %fspi
gosub conta 0 %fspi
return #true
return
;=======================================================
sub Check_Iron
wait 10
ciloop:
finditem %lingotti c_ , #BACKPACKID
if #findkind = -1
{
ignoreitem reset
return #false
}
if #findCol <> 0
{
ignoreitem #findid
goto ciloop
}
ignoreitem reset
return #FINDSTACK
return
;=======================================================
sub Vai_a_Minare
riprovaminare:
gosub aspetta_mana
gosub VisualizzaStato Vai_a_Minare
gosub AntiBlock
if %nrunemineratt > %runeminermax
{
set %bookmineratt %bookmineratt + 1
if %bookmineratt > %bookminermax
{
set %bookmineratt 1
set %tot_cicli %tot_cicli + 1
Menu Set txtcicli %tot_cicli
}
set %nrunemineratt 1
}
set %nposto ( %bookMinerAtt - 1 ) * 16 + %nrunemineratt
if %numfiloni . %nposto = N/A || %numfiloni . %nposto > 0
{
set %book %bookminer . %bookmineratt
set %nruneatt %nrunemineratt
set %runemax %runeminermax
event ExMsg #charID 3 0 Libro %bookmineratt Runa %nruneatt
gosub recall
}
else
{
set %book %bookminer . %bookmineratt
set %nruneatt %nrunemineratt
event ExMsg #charID 3 33 Salto: Libro %bookmineratt Runa %nruneatt
set #result #false
set %runabloccata #true
wait 5
}
if #result = #false
{
if %runabloccata
{
set %nrunemineratt %nrunemineratt + 1
if %nrunemineratt > %runeminermax
{
set %bookmineratt %bookmineratt + 1
if %bookmineratt > %bookminermax
{
set %bookmineratt 1
set %tot_cicli %tot_cicli + 1
Menu Set txtcicli %tot_cicli
}
set %nrunemineratt 1
}
}
goto riprovaminare
}
event ExMsg #charID 3 0 Libro %bookmineratt Runa %nruneatt
return
;===================================================================
sub check_HP
rchp:
if #HITS = N/A
{
gosub AntiBlock
gosub apri_gump
goto rchp
}
if #HITS < %limiteHP
{
return #false
}
return #true
return
;===================================================================
sub check_peso
rcp:
if #WEIGHT = N/A
{
gosub AntiBlock
gosub apri_gump
goto rcp
}
set %maxw #maxweight + %modweight
set %maxw %maxw - 30
if #WEIGHT > %maxw
{
return #false
}
if *359 = BOD
{
return #false
}
return #true
return
;===================================================================
sub check_peso_FB
gosub Find_FB
rcpfb:
if #WEIGHT = N/A
{
gosub AntiBlock
gosub apri_gump
goto rcpfb
}
set %maxw #maxweight + %modweight
set %maxw %maxw - 30
if #WEIGHT > %maxw
{
gosub Smelta_FB
gosub conta_lingotti
set !valtxt %limitelingotti - #result
menu set txtLimite !valtxt
if #result > %limitelingotti
return #false
if #WEIGHT > ( %maxw - 100 )
{
return #false
}
}
if *359 = BOD
{
return #false
}
return #true
return
;=====================================================
sub posa_gargoyle
rifind_gargoyle:
finditem %pickaxe c_ , #BACKPACKID
if #findkind <> -1
{
event property #findid
if gargoyle in #property
{
gosub sposta_oggetto #findid %cassacasa 1 2
}
ignoreitem #findid
goto rifind_gargoyle
}
ignoreitem reset
return
;=====================================================
sub conta_lingotti
;conteggio lingotti
set !lingotti_adesso 0
conta_lingotti_per_limite:
finditem %lingotti c_ , #BACKPACKID
if #findkind <> -1
{
set !lingotti_adesso !lingotti_adesso + #findstack
ignoreitem #findid
goto conta_lingotti_per_limite
}
ignoreitem reset
return !lingotti_adesso
;======================================================
; dalla 1.27 adesso crea le shovel
sub Crea_PickAxe
if %tinkering < 400
{
return #false
}
gosub AntiBlock
gosub VisualizzaStato Crea_Shovel
csriprova:
gosub AntiBlock
gosub check_toolkit
if #result = #false
{
return #false
}
gosub check_iron
if #result < 4
{
return #false
}
finditem %toolkit c_ , #backpackid
set #LOBJECTID #findid
event macro 17 0
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
return #false
if %ironsettato = N/A
{
gosub ChooseMaterial iron
set %ironsettato SI
}
set %tinkx #contposx + 30
set %tinky #contposy + 110
click %tinkx %tinky
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
return #false
set %tinkx #contposx + 380
set %tinky #contposy + 270
click %tinkx %tinky
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
return #false
set %tinkx #contposx + 235
set %tinky #contposy + 70 ; era 190 per le pick axe
click %tinkx %tinky
gosub AntiBlock
wait 1s
ricliccatink:
gosub AntiBlock
wait 30
set %tinkx #contposx + 235
set %tinky #contposy + 110
click %tinkx %tinky r
if #CONTNAME = generic_gump
{
goto ricliccatink
}
wait 20
gosub check_pickaxe
if #result = #false
{
goto csriprova
}
set %pickaxe_tot %pickaxe_tot + 1
menu set txtPickAxe %pickaxe_tot
return #true
return
;======================================================
sub Crea_TinkerTool
if %tinkering < 400
{
return #false
}
gosub AntiBlock
gosub VisualizzaStato Crea_TinkerTool
csriprovatt:
gosub AntiBlock
finditem %toolkit c_ , #BACKPACKID
if #findkind = -1
{
return #false
}
gosub check_iron
if #result < 2
{
return #false
}
finditem %toolkit c_ , #backpackid
set #LOBJECTID #findid
event macro 17 0
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
return #false
if %ironsettato = N/A
{
gosub ChooseMaterial iron
set %ironsettato SI
}
set %tinkx #contposx + 30
set %tinky #contposy + 110
click %tinkx %tinky
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
return #false
set %tinkx #contposx + 235
set %tinky #contposy + 130
click %tinkx %tinky
gosub AntiBlock
wait 2s
ricliccatinktt:
gosub AntiBlock
wait 30
set %tinkx #contposx + 235
set %tinky #contposy + 110
click %tinkx %tinky r
if #CONTNAME = generic_gump
{
goto ricliccatinktt
}
wait 20
finditem %toolkit c_ , #BACKPACKID
if #findkind = -1
{
goto csriprovatt
}
set %tinkertool_tot %tinkertool_tot + 1
menu set txttinkertool %tinkertool_tot
return #true
return
;========================================================
sub wait_gump
set !gumpdaattendere %1
set !errwg #scnt + 10
wgsubloop:
wait 2
if #CONTNAME = !gumpdaattendere
return #true
if #scnt < !errwg
goto wgsubloop
return #false
;===========================================================
sub Conta
set %p1 %1
set %p2 %2
set %varstattotale N/A
if %p1 = %iron_col
{
set %iron_tot %iron_tot + %p2
set %varstattotale iron
}
if %p1 = %dull_col
{
set %dull_tot %dull_tot + %p2
set %varstattotale dull
}
if %p1 = %shadow_col
{
set %shadow_tot %shadow_tot + %p2
set %varstattotale shadow
}
if %p1 = %copper_col
{
set %copper_tot %copper_tot + %p2
set %varstattotale copper
}
if %p1 = %bronze_col
{
set %bronze_tot %bronze_tot + %p2
set %varstattotale bronze
}
if %p1 = %gold_col
{
set %gold_tot %gold_tot + %p2
set %varstattotale gold
}
if %p1 = %agaphite_col
{
set %agaphite_tot %agaphite_tot + %p2
set %varstattotale agaphite
}
if %p1 = %verite_col
{
set %verite_tot %verite_tot + %p2
set %varstattotale verite
}
if %p1 = %valorite_col
{
set %valorite_tot %valorite_tot + %p2
set %varstattotale valorite
}
set %t . %varstattotale %t . %varstattotale + %p2
set %varstattotale2 t , %varstattotale
gosub putGlobalVar %idscript %idscript #charid %varstattotale2
set %varstattotale3 txtt , %varstattotale
menu set %varstattotale3 %t . %varstattotale
return
;===========================================================
sub aggiorna_bar_statistiche
set %totestratti %tiron + %tdull + %tshadow + %tcopper + %tbronze + %tgold + %tagaphite + %tverite + %tvalorite
menu set txtttutti %totestratti
if %totestratti < 1
return
set %rapbr 220000 / %totestratti
set %rapval1 ( ( %rapbr * %tiron ) / 1000 + 1 )
set %rapval2 ( ( %rapbr * %tdull ) / 1000 + 1 )
set %rapval3 ( ( %rapbr * %tshadow ) / 1000 + 1 )
set %rapval4 ( ( %rapbr * %tcopper ) / 1000 + 1 )
set %rapval5 ( ( %rapbr * %tbronze ) / 1000 + 1 )
set %rapval6 ( ( %rapbr * %tgold ) / 1000 + 1 )
set %rapval7 ( ( %rapbr * %tagaphite ) / 1000 + 1 )
set %rapval8 ( ( %rapbr * %tverite ) / 1000 + 1 )
set %rapval9 ( ( %rapbr * %tvalorite ) / 1000 + 1 )
set %xbr 220 + 11 + 9
for %cntstat 9 2
{
set %xbr %xbr - %rapval . %cntstat
menu delete prgbar . %cntstat
set %wbr %rapval . %cntstat + 1
menu shape prgbar . %cntstat %xbr 316 %wbr 19 3 1 1 %colbr . %cntstat 7 %colbr . %cntstat
}
set %wbr %xbr - 10
set %xbr 11
menu delete prgbar1
menu shape prgbar1 %xbr 316 %wbr 19 3 1 1 %colbr . %cntstat 7 %colbr . %cntstat
return
;===========================================================
sub Conta_pietre
set %p1 %1
set %p2 %2
set %p3 %3
if %p3 = get
{
set %tot_pietre . %p1 %tot_pietre . %p1 + %p2
}
else
{
set %p1 %p1 , trash
set %tot_pietre . %p1 %tot_pietre . %p1 + %p2
}
return
;===========================================================
sub Conta_gemme
set %p1 %1
set %p2 %2
set %p3 %3
set %tot_gemme . %p1 %tot_gemme . %p1 + %p2
return
;================================================================
sub Refresh_Conteggio_pietre
Menu set txtp1 %tot_pietrenormali
Menu set txtp2 %tot_pietredull
Menu set txtp3 %tot_pietreshadow
Menu set txtp4 %tot_pietrecopper
Menu set txtp5 %tot_pietrebronze
Menu set txtp6 %tot_pietregold
Menu set txtp7 %tot_pietreagaphite
Menu set txtp8 %tot_pietreverite
Menu set txtp9 %tot_pietrevalorite
Menu set txtpt1 %tot_pietrenormalitrash
Menu set txtpt2 %tot_pietredulltrash
Menu set txtpt3 %tot_pietreshadowtrash
Menu set txtpt4 %tot_pietrecoppertrash
Menu set txtpt5 %tot_pietrebronzetrash
Menu set txtpt6 %tot_pietregoldtrash
Menu set txtpt7 %tot_pietreagaphitetrash
Menu set txtpt8 %tot_pietreveritetrash
Menu set txtpt9 %tot_pietrevaloritetrash
return
;================================================================
sub Refresh_Conteggio
Menu set txtl1 %iron_tot
Menu set txtl2 %dull_tot
Menu set txtl3 %shadow_tot
Menu set txtl4 %copper_tot
Menu set txtl5 %bronze_tot
Menu set txtl6 %gold_tot
Menu set txtl7 %agaphite_tot
Menu set txtl8 %verite_tot
Menu set txtl9 %valorite_tot
return
;========================
sub apri_cassa_casa
accriapri:
set #NEXTCPOSX 100
set #NEXTCPOSY 100
finditem %cassacasa g_ , 2
if #findkind = -1
{
gosub Torna_a_Casa
}
set #LOBJECTID %cassacasa
event macro 17 0
gosub antiblock
wait 5
if #contID <> %cassacasa
{
goto accriapri
}
contpos 100 100
return
;====================================================
sub AutoScriptScorna
if %usaautopausa = #false
return #false
set %p1 %1
set %valreturnass #false
if *359 = PAUSE && %p1 = NORMALE
{
gosub VisualizzaStato Pausa_Script
set *359 PAUSED
attendiass:
if *359 <> PAUSED
{
goto fineass
}
goto attendiass
}
if *359 = BOD && %p1 = PAUSABOD
{
gosub VisualizzaStato Pausa_BOD
set *359 PAUSEDBOD
attendiassbod:
if *359 <> PAUSEDBOD
{
gosub chiudi_gump
gosub apri_gump
gosub Check_Skill_Recall
set %valreturnass #true
goto fineass
}
goto attendiassbod
}
fineass:
return %valreturnass
;=====================================================
sub HelpUsoScript
set %p1 %1
if %p1 = helppietre
{
set %strhelp Puoi , #spc , settare , #spc , un , #spc , contenitore , #spc , diverso , #spc , per , #spc , ogni , #spc , tipo , #spc , di , #spc , pietre , $
set %strhelp %strhelp , Settando , #spc , lo , #spc , stesso , #spc , contenitore , #spc , per , #spc , più , #spc , tipi , #spc , di , #spc , pietre , #spc , il , #spc , contenitore , #spc , sarà , #spc , condiviso , #spc , fra , #spc , quelle , $
set %strhelp %strhelp , NON , #spc , Settando , #spc , il , #spc , contenitore , #spc , per , #spc , un , #spc , tipo , #spc , le , #spc , pietre , #spc , di , #spc , quel , #spc , tipo , #spc , verranno , #spc , messe , #spc , nella , #spc , Cassa , #spc , Risorse , $
set %strhelp %strhelp , Quando , #spc , il , #spc , contenitore , #spc , sarà , #spc , pieno , #spc , le , #spc , pietre , #spc , verranno , #spc , messe , #spc , nel , #spc , contenitore , #spc , Trash , $
set %strhelp %strhelp , Per , #spc , non , #spc , incorrere , #spc , in , #spc , Bug , #spc , setta , #spc , Trash , #spc , con , #spc , un , #spc , Trash , #spc , Barrel
display ok %strhelp
}
if %p1 = helpautopausa
{
set %strhelp Permette , #spc , la , #spc , pausa , #spc , dello , #spc , script , #spc , imposta , #spc , dallo , #spc , script , #spc , 'Scorna , #spc , Alarm'
display ok %strhelp
}
if %p1 = helpscript
{
display yesno Informazioni sullo script disponibili sul Web $ Vuoi apripre la pagina Web ?
if #dispRes = yes
{
set %pagweb
www.scorna.net/easyuo/euscript.asp?IDScript= set %pagweb %pagweb , %idscript , &VScript=
set %pagweb %pagweb , %versionscript
execute %pagweb
}
}
if %p1 = helpfuga
{
display ok Selezionando questa opzione attivi la fuga automatica. $ Limite HP si riferisce a quanto gli HP dovrebbero scendere per attivare la fuga. $ Inserendo 'Max' il limite HP sarà il tuo valore massimo degli HP. $ Se sei mago puoi selezionare anche l'opzione Protection per castarti automaticamente Protection all'avvio dello script.$
}
if %p1 = helpgemme
{
display ok Puoi settare un contenitore dove verrano messe le gemme trovate. $ Non settando alcun contenitore le gemme eventualmente trovate verranno messe nella 'Cassa Risorse'.
}
if %p1 = helplasciaoggetto
{
display ok Può accadere che lo script si blocchi per eventuali bug.$ Lo script stesso cercherà di sbloccarsi chiudendo tutti i gump. $ A volte questo potrebbe non bastare quindi lo script cerca anche di appaggiore eventuali oggetti nella lista dei drag. $ Per poterlo fare devi però assegnare l'opzione 'Lascia quello che stai tenendo' di Razor ad un tasto specifico $ e poi selezionare quel tasto in questa casella.
}
return
;===============================================================
sub Find_FireBeetle
if %usaFirebeetle = #false
{
return #true
}
;lo cerca prima addosso
rifindfbm:
finditem %FBMType C_ , #CHARID
if #findkind <> -1
{
set #lobjectid #charid
event macro 17 0
wait 20
goto rifindfbm
}
;in terra
rifindfb:
finditem %FBType G_1
if #findkind = -1
{
;se non lo trova a terra nell'arco di 1 lo cerca nello schermo
finditem %FBType G_10
if #findkind = -1
{
;se non lo trova a terra nell'arco di 10 interrompe
display ok Nessun fire Beetle trovato
return #false
}
else
{
msg all follow me $
wait 50
goto rifindfb
}
}
;id
finditem %FBType G_1
if #findkind = -1
{
goto rifindfbm
}
set %FBID #findid
msg all follow me $
return #true
;===============================================================
sub ChooseMaterial
if %0 < 1 || %1 = N/A
{
display ok Wrong use of Sub ChooseMaterial: some required arguments are missing!
+$Script will be halted.
halt
}
nameSpace Push
nameSpace Local ChooseMaterial , #time , #random , #scnt2
set !Material #false
if %1 = iron || %1 = leather || %1 = wood
set !Material 1
if %1 = dull || %1 = spined || %1 = oak
set !Material 2
if %1 = shadow || %1 = horned || %1 = ash
set !Material 3
if %1 = copper || %1 = barbed || %1 = yew
set !Material 4
if %1 = bronze || %1 = heartwood || %1 = heart
set !Material 5
if %1 = gold || %1 = bloodwood || %1 = blood
set !Material 6
if %1 = agapite || %1 = frostwood || %1 = frost
set !Material 7
if %1 = verite
set !Material 8
if %1 = valorite
set !Material 9
if %1 = nocolor
set !Material 11
if ! !Material
{
display ok Unkwon material %1 ! $Script will be halted.
halt
}
set !MaterialX #contposx + 30
set !MaterialY #contposy + 370
click !MaterialX !MaterialY dmc f
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
return #false
set !ColorX #contposx + 235
set !ColorY #contposy + 50 + 20 * !Material
click !ColorX !ColorY dmc f
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
return #false
nameSpace Clear
nameSpace Pop
return
;===============================================================
sub Find_FB
if %usaFirebeetle = #false
{
return
}
;in terra
riffb:
finditem %FBID G_1
if #findkind = -1
{
;se non lo trova a terra nell'arco di 1 lo cerca nello schermo
finditem %FBID G_10
if #findkind = -1
{
msg all follow me $
event ExMsg #CHARID 3 25 Non trovo il Fire Beetle. Aspetto 4 secondi.
wait 4s
goto riffb
;se non lo trova a terra nell'arco di 10 interrompe
;display ok Nessun fire Beetle trovato $ Script fermato
;halt
}
else
{
msg all follow me $
wait 50
goto riffb
}
}
return
;========================================================
sub smelta_FB
gosub VisualizzaStato Smelta_Fire_Beetle
smeltaancorafb:
gosub AntiBlock
gosub find_fb
findItem %ore c_ , #backpackid
if #findcnt = 0
return
for #findindex 1 #findcnt
{
if #findtype = %small_ore && #findstack = 1
continue
if ( #findtype <> %small_ore ) || ( #findtype = %small_ore && #findstack > 1 )
{
set #lobjectid #findid
event macro 17
TARGET 5s
set #LTARGETID %FBID
set #LTARGETKIND 1
event macro 22 0
wait 20
goto smeltaancorafb
}
}
return
sub reset_casse
set %boxpietrenormali N/A ;ID cassa Pietre
set %boxpietredull N/A ;ID cassa Pietre
set %boxpietreshadow N/A ;ID cassa Pietre
set %boxpietrecopper N/A ;ID cassa Pietre
set %boxpietrebronze N/A ;ID cassa Pietre
set %boxpietregold N/A ;ID cassa Pietre
set %boxpietreagaphite N/A ;ID cassa Pietre
set %boxpietreverite N/A ;ID cassa Pietre
set %boxpietrevalorite N/A ;ID cassa Pietre
set %boxpietresand N/A ;ID cassa sabbia
set %boxpietretrash N/A ;ID TrashBarrel
set %boxgemme N/A ;ID cassa Gemme
gosub putGlobalVar %idscript %idscript #charid boxpietrenormali
gosub putGlobalVar %idscript %idscript #charid boxpietredull
gosub putGlobalVar %idscript %idscript #charid boxpietreshadow
gosub putGlobalVar %idscript %idscript #charid boxpietrecopper
gosub putGlobalVar %idscript %idscript #charid boxpietrebronze
gosub putGlobalVar %idscript %idscript #charid boxpietregold
gosub putGlobalVar %idscript %idscript #charid boxpietreagaphite
gosub putGlobalVar %idscript %idscript #charid boxpietreverite
gosub putGlobalVar %idscript %idscript #charid boxpietrevalorite
gosub putGlobalVar %idscript %idscript #charid boxpietresand
gosub putGlobalVar %idscript %idscript #charid boxpietretrash
gosub putGlobalVar %idscript %idscript #charid boxgemme
gosub Get_Cassa_Pietre normali
gosub Get_Cassa_Pietre dull
gosub Get_Cassa_Pietre shadow
gosub Get_Cassa_Pietre copper
gosub Get_Cassa_Pietre bronze
gosub Get_Cassa_Pietre gold
gosub Get_Cassa_Pietre agaphite
gosub Get_Cassa_Pietre verite
gosub Get_Cassa_Pietre valorite
gosub Get_Cassa_Pietre sand
gosub Get_Cassa_Pietre trash
gosub Get_Cassa_Gemme
return
sub init_var
set %steptotal 30
if |CEO*FILESYSTEM_MODIFIED| notin * . %IDSCRIPT
set * . %IDSCRIPT |CEO*FILESYSTEM_MODIFIED|
set %esiste #false
gosub getGlobalVar %idscript %idscript #charid esiste
if #result = #false
{
Menu Clear
menu Window Title Scorna Miner Script
menu window transparent 0
Menu Window size 250 200
Menu Window Color $000000
Menu Font bgcolor $000000
Menu Font Style b
Menu Font Name tahoma
Menu font size 16
Menu font color Aqua
Menu Text txt 20 60 Inizializza Variabili
Menu font size 10
Menu font color gray
Menu Text txt 25 20 Primo avvio di:
Menu font color yellow
Menu Text txt 125 20 %idscript
Menu font size 8
Menu font color white
Menu Text txt 65 160 Attendi per favore
Menu font size 7
Menu font color gray
Menu Text txt 5 180 Questa Operazione sarà eseguita solo una volta
menu shape ProgressBarOutline 10 105 230 20 3 7 1 Gray 2 0
menu show 300 250
gosub fadein
gosub setProgressBar 1 %steptotal
gosub putGlobalVar %idscript %idscript #charid usalasciaoggetto
gosub setProgressBar 2 %steptotal
gosub putGlobalVar %idscript %idscript #charid tastolasciaoggetto
gosub setProgressBar 3 %steptotal
gosub putGlobalVar %idscript %idscript #charid usahiding
gosub setProgressBar 4 %steptotal
gosub putGlobalVar %idscript %idscript #charid usafirebeetle
gosub setProgressBar 5 %steptotal
gosub putGlobalVar %idscript %idscript #charid usaautopausa
gosub setProgressBar 6 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietrenormali
gosub setProgressBar 7 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietredull
gosub setProgressBar 8 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietreshadow
gosub setProgressBar 9 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietrecopper
gosub setProgressBar 10 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietrebronze
gosub setProgressBar 11 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietregold
gosub setProgressBar 12 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietreagaphite
gosub setProgressBar 13 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietreverite
gosub setProgressBar 14 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietrevalorite
gosub setProgressBar 15 %steptotal
gosub putGlobalVar %idscript %idscript #charid boxpietretrash
gosub setProgressBar 16 %steptotal
gosub putGlobalVar %idscript %idscript #charid xcasa
gosub setProgressBar 17 %steptotal
gosub putGlobalVar %idscript %idscript #charid ycasa
gosub setProgressBar 18 %steptotal
gosub putGlobalVar %idscript %idscript #charid zcasa
gosub setProgressBar 19 %steptotal
gosub putGlobalVar %idscript %idscript #charid cassacasa
gosub setProgressBar 20 %steptotal
set %esiste #true
gosub putGlobalVar %idscript %idscript #charid esiste
gosub setProgressBar 21 %steptotal
gosub getGlobalVar %idscript %idscript #charid _totaletime
if ! #result
{
set %_totaletime 0
gosub putGlobalVar %idscript %idscript #charid _totaletime
}
gosub setProgressBar 22 %steptotal
gosub putGlobalVar %idscript %idscript #charid tiron
gosub setProgressBar 23 %steptotal
gosub putGlobalVar %idscript %idscript #charid tdull
gosub setProgressBar 24 %steptotal
gosub putGlobalVar %idscript %idscript #charid tshadow
gosub setProgressBar 25 %steptotal
gosub putGlobalVar %idscript %idscript #charid tcopper
gosub setProgressBar 26 %steptotal
gosub putGlobalVar %idscript %idscript #charid tbronze
gosub setProgressBar 27 %steptotal
gosub putGlobalVar %idscript %idscript #charid tgold
gosub setProgressBar 28 %steptotal
gosub putGlobalVar %idscript %idscript #charid tagaphite
gosub setProgressBar 29 %steptotal
gosub putGlobalVar %idscript %idscript #charid tverite
gosub setProgressBar 30 %steptotal
gosub putGlobalVar %idscript %idscript #charid tvalorite
gosub fadeout
}
return
sub Get_Statistiche
gosub getGlobalVar %idscript %idscript #charid tiron
gosub getGlobalVar %idscript %idscript #charid tdull
gosub getGlobalVar %idscript %idscript #charid tshadow
gosub getGlobalVar %idscript %idscript #charid tcopper
gosub getGlobalVar %idscript %idscript #charid tbronze
gosub getGlobalVar %idscript %idscript #charid tgold
gosub getGlobalVar %idscript %idscript #charid tagaphite
gosub getGlobalVar %idscript %idscript #charid tverite
gosub getGlobalVar %idscript %idscript #charid tvalorite
return
sub fadeout
for %i 100 1
{
wait 1
set %i %i - 5
menu window transparent %i
}
menu window transparent 0
return
sub fadein
menu window transparent 0
menu show
for %i 1 100
{
wait 1
set %i %i + 5
menu window transparent %i
}
menu window transparent 100
return
;*********************************************************
sub azzera_stat
Menu set message Aspetta
set %tiron 0
set %tdull 0
set %tshadow 0
set %tcopper 0
set %tbronze 0
set %tgold 0
set %tagaphite 0
set %tverite 0
set %tvalorite 0
menu delete prgbar1
menu delete prgbar2
menu delete prgbar3
menu delete prgbar4
menu delete prgbar5
menu delete prgbar6
menu delete prgbar7
menu delete prgbar8
menu delete prgbar9
gosub putGlobalVar %idscript %idscript #charid tiron
gosub putGlobalVar %idscript %idscript #charid tdull
gosub putGlobalVar %idscript %idscript #charid tshadow
gosub putGlobalVar %idscript %idscript #charid tcopper
l
gosub putGlobalVar %idscript %idscript #charid tbronze
gosub putGlobalVar %idscript %idscript #charid tgold
gosub putGlobalVar %idscript %idscript #charid tagaphite
gosub putGlobalVar %idscript %idscript #charid tverite
gosub putGlobalVar %idscript %idscript #charid tvalorite
set %scriptstart #scnt
set %_totaletime 0
set %startetime 0
gosub getGlobalVar %idscript %idscript #charid _totaletime
menu set txttiron 0
menu set txttdull 0
menu set txttshadow 0
menu set txttcopper 0
menu set txttbronze 0
menu set txttgold 0
menu set txttagaphite 0
menu set txttverite 0
menu set txttvalorite 0
menu set etempo 0
Menu set message #spc
gosub aggiorna_bar_statistiche
return
;************************************************************
sub setProgressBar
set %p1 %1
set %p2 %2
set %pBarSize ( ( 229000 * %p1 ) / %p2 ) / 1000
menu delete ProgressBar
menu shape ProgressBar 11 106 %pBarSize 19 3 1 1 gray 7 gray
return
;=======================================================
sub Prendi_Oggetto
set !Oggetto %1
set !Contenitore %2
set !Quantita %3
set !antiblock %4
set !usabanca #false
set !bancaid N/A
if %0 > 5
{
set !usabanca %5
set !bancaid %6
}
if !usabanca = #true && !contenitore = N/A
set !contenitore !bancaid
set #NEXTCPOSX 100
set #NEXTCPOSY 100
set !prove 0
;gosub VisualizzaStato Prendi_ToolKit
po_find_contenitore:
if !usabanca
{
if !prove > 5
return #false
;cerca la banca
if #contid <> !bancaid
{
;banca ancora chiusa
set !prove !prove + 1
msg Bank $
wait 50
gosub !antiblock
goto po_find_contenitore
}
;controlla se il contenitore non è la banca
if !Contenitore <> !bancaid
{
;in tal caso lo cerca nella banca
finditem !Contenitore c_ , !bancaid
if #findkind = -1
{
return #false
}
}
}
else
{
finditem !Contenitore g_ , 2
if #findkind = -1
{
return #false
}
}
set !prove 0
po_apri_contenitore:
if !usabanca = #true
{
if !Contenitore <> !bancaid
{
if !prove > 5
return #false
set !prove !prove + 1
set #LOBJECTID !Contenitore
event macro 17 0
wait 30
gosub !antiblock
if #contID <> !Contenitore
{
goto po_apri_contenitore
}
}
}
if !usabanca = #false
{
if !prove > 5
return #false
set !prove !prove + 1
set #LOBJECTID !Contenitore
event macro 17 0
wait 30
gosub !antiblock
if #contID <> !Contenitore
{
goto po_apri_contenitore
}
}
finditem !Oggetto c_ , !Contenitore
if #findkind = -1
{
return #false
}
if !Quantita > #FINDSTACK
set !Quantita #FINDSTACK
set !prove 0
po_prendi_oggetto:
if !prove > 5
return #false
Exevent Drag #findID !Quantita
gosub !antiblock
Exevent Dropc #BACKPACKID
gosub !antiblock
wait 30
finditem !Oggetto c_ , #BACKPACKID
if #findkind = -1
{
set !prove !prove + 1
goto po_prendi_oggetto
}
return #true
;************************************************************
sub DisplayElapsedTime
set %elaspedtime #scnt - %scriptstart
set %totaletime %startetime + %elaspedtime
set %_totaletime %totaletime
gosub putGlobalVar %idscript %idscript #charid _totaletime
set %ehours %totaletime / 3600
set %emins ( %totaletime / 60 ) - ( %ehours * 60 )
if %lastehours <> %ehours
{
set %lastehours %ehours
}
if %lastemins <> %emins
{
set %lastemins %emins
}
menu set etempo %ehours , h , #spc , %emins , m
return
;=======================================================
; Global VAR
;=======================================================
;=======================================================
Sub getGlobalVar
nameSpace push
nameSpace local #systime , _ , %4 , GET
set !lpc #lpc
set #lpc 1000
set !global * . %1
set !varName v , %4 , |
str pos !global !varName
set #result #strres <> 0
if #result
{
set !varNamePos #strres
str len !varName
set !delString !varNamePos + #strres - 1
str del !global 1 !delString
set !global #strres
str pos !global |
set !varNamePos #strres - 1
str left !global !varNamePos
set % . %4 #strres
}
else
{
set % . %4 N/A
}
set #lpc !lpc
nameSpace Clear
nameSpace Pop
return #result
;=======================================================
Sub putGlobalVar
nameSpace push
nameSpace local #systime , _ , %4 , PUT
set !lpc #lpc
set #lpc 1000
set !global * . %1
set !varName v , %4 , |
str pos !global !varName
if #strres = 0
{
if |CEO*FILESYSTEM_MODIFIED| notin !global
set !global |CEO*FILESYSTEM_MODIFIED|
set * . %1 !global , !varName , % . %4 , |
set #lpc !lpc
nameSpace clear
nameSpace pop
return #true
}
set !varNamePos #strres
str len !varName
set !splitString !varNamePos + #strres - 1
str left !global !splitstring
set !globalPart1 #strres
str del !global 1 !splitString
set !global #strres
str len !global
set !globalLen #strres
str pos !global |
set !splitString !globalLen - #strres + 1
str right !global !splitstring
set !global #strres
set * . %1 !globalPart1 , % . %4 , !global
set #lpc !lpc
nameSpace clear
nameSpace pop
return #true