Hell's Knights Guild

[Cerco]Script x Lumb con easy uo

« Older   Newer »
  Share  
Fixate
view post Posted on 10/8/2010, 11:14




Raga qlcn ha lo script x macrare lumb con easy uo?
 
Top
Toruck
view post Posted on 28/10/2010, 14:46




interesserebbe anche al mio boscaiolo
^^
 
Top
view post Posted on 28/10/2010, 16:50
Avatar

ShuN
*****

Group:
Administrator
Posts:
1,690

Status:


;==================================
; Script Name: LumberScorna
; Author: Scorna
; Version: 1.221
; Client Tested with: 6.0.1.3
; EUO version tested with: 1.5 v115
; Shard OSI / FS: FS
; Revision Date: 23/01/08
; Public Release: 09/12/06
; Purpose: Get Logs or board and more
;==================================
set %­idscript LUMBERSCORNA
set %­versionscript 1.221
;==================================
;
; version 1.221
; Forse risolto bug sovrappeso.
; Adesso l'info spot segnala il legno più pregiato trovato in quel posto.
; La prima volta che si usa il tinker tool verrà impostato l'iron come Materiale.
; I Gump verranno chiusi solo se lo script cerca di sbloccarsi.
; I Gump non vengono più spostati.
; version 1.22
; Aggiunta la fuga se ferito.
; version 1.21
; Risolto un bug che non leggeva la skill Carpentery.
; version 1.2
; Revisionato totalmente.
; version 1.1
; Risolto alcuni bug.
;

;==================================
;Persistent Variabili Scorna Script Monitorata =========
;*359 AutoPaused Script Scorna Alarm
set *359 Start ;casomai fosse stato interrotto
;Variabili Modificabili ================================
set %­ricaricarunebook 1s
set %­hidingdelay 5
;Type ==================================================
set %­t_fungi XWS
set %­t_bark NWS
set %­t_Brilliant FXS
set %­t_Switch BWR
set %­t_Parasitic YWS
set %accetta FSF
set %­sega EGG
set %­toolkit KTL
set %­lingotti ENK
set %­tronchi ZLK
set %board TLK
;Variabili Usate =======================================
set %­guard #false
set %­usaautopausa #false
set %­usaProtection #false ;cast protection
set %­usafuga #true ;fuggi se attaccato
set %­meditation #false ;uso ella skill meditation
set %­radiusfind 5
set %­lastwood N/A
set %carpwood 0
set %carpoak 650
set %carpash 800
set %carpyew 950
set %carpblood 1000
set %carpheart 1000
set %carpfrost 1000
set %debug #false
set %­magie 0 ;1 Magery 2 Chivarly
set %­tinkering 0
set %bookcasa N/A
set %­nrunecasaatt 1
set %­nrunecasamin 1
set %­runecasamax 8
set %­nrunealberiatt 1
set %­runealberimax 16
set %bookalberiMax N/A
set %bookalberiAtt 1
set %bancaid N/A
set %­xcasa N/A
set %­ycasa N/A
set %­zcasa N/A
set %book N/A
set %­nruneatt N/A
set %­runemax N/A
set %accetasi #false
set %­segasi #false
set %­toolsi #false
set %­ironsi #false
set %­usabanca #false
set %­timehiding #scnt + %­hidingdelay
set %­maxBoard 1500
set %­usahiding #false
set %CassaCasa N/A
set %CassaNormali N/A
set %CassaOak N/A
set %CassaAsh N/A
set %CassaYew N/A
set %CassaBlood N/A
set %CassaHeart N/A
set %CassaFrost N/A
set %CassaBrilliant N/A
set %CassaBark N/A
set %CassaFungi N/A
set %CassaSwitch N/A
set %CassaParasitic N/A
set %CassaTrash N/A
set %­usalasciaoggetto #true
set %­tastolasciaoggetto P
;contatori =============================================
set %­naccetate 0
set %­tot_cicli 0
set %­tot_log_normali 0
set %­tot_board_normali 0
set %­tot_log_oak 0
set %­tot_board_oak 0
set %­tot_log_ash 0
set %­tot_board_ash 0
set %­tot_log_yew 0
set %­tot_board_yew 0
set %­tot_log_blood 0
set %­tot_board_blood 0
set %­tot_log_heart 0
set %­tot_board_heart 0
set %­tot_log_frost 0
set %­tot_board_frost 0
set %­tot_brilliant 0
set %­tot_bark 0
set %­tot_fungi 0
set %­tot_switch 0
set %­tot_parasitic 0
set %­tnormali 0
set %­toak 0
set %­tash 0
set %­tyew 0
set %­tblood 0
set %­theart 0
set %­tfrost 0
;colori barre statistiche =======================================
set %colbr1 $739CC6 ;normali
set %colbr2 $2984A5 ;oak
set %colbr3 $73ADAD ;ash
set %colbr4 $00528C ;yew
set %colbr6 red ;blood
set %colbr5 green ;heart
set %colbr7 blue ;frost
;txt info spot =======================================
set %­tif1 WOOD
set %­tif2 OAK
set %­tif3 ASH
set %­tif4 YEW
set %­tif5 HRT
set %­tif6 BLD
set %­tif7 FRST
;=======================================================
;inizializzazione
quidainterrotto:
gosub init_var
gosub Get_Hiding
gosub Get_LasciaOggetto
gosub Get_AutoPausa
gosub Get_Radius
gosub Get_Meditation
gosub Crea_Menu
gosub get_modifier_peso
set %­steptotal 28
Menu Shape prgMenu 10 %­ybuttinizia 230 20 4 7 1 gray 7 black
gosub setProgressBarMenu 1 %­steptotal
;gosub Chiudi_Gump
gosub setProgressBarMenu 2 %­steptotal
gosub Apri_Gump
gosub setProgressBarMenu 3 %­steptotal
gosub Check_Skill_Recall
gosub setProgressBarMenu 4 %­steptotal
gosub Check_Skill_Tinker
gosub setProgressBarMenu 5 %­steptotal
gosub Check_Book_Casa
gosub setProgressBarMenu 6 %­steptotal
gosub Check_Book_Alberi
gosub setProgressBarMenu 7 %­steptotal
gosub Get_Posizione_Casa
gosub setProgressBarMenu 8 %­steptotal
gosub Get_BancaID
gosub setProgressBarMenu 9 %­steptotal
gosub Get_UsaBanca
gosub setProgressBarMenu 10 %­steptotal
gosub Get_MaxBoard
gosub setProgressBarMenu 11 %­steptotal
gosub Get_Cassa oak
gosub setProgressBarMenu 12 %­steptotal
gosub Get_Cassa ash
gosub setProgressBarMenu 13 %­steptotal
gosub Get_Cassa yew
gosub setProgressBarMenu 14 %­steptotal
gosub Get_Cassa blood
gosub setProgressBarMenu 15 %­steptotal
gosub Get_Cassa heart
gosub setProgressBarMenu 16 %­steptotal
gosub Get_Cassa frost
gosub setProgressBarMenu 17 %­steptotal
gosub Get_Cassa brilliant
gosub setProgressBarMenu 18 %­steptotal
gosub Get_Cassa bark
gosub setProgressBarMenu 19 %­steptotal
gosub Get_Cassa fungi
gosub setProgressBarMenu 20 %­steptotal
gosub Get_Cassa switch
gosub setProgressBarMenu 21 %­steptotal
gosub Get_Cassa parasitic
gosub setProgressBarMenu 22 %­steptotal
gosub Get_Rune_Usate
gosub setProgressBarMenu 23 %­steptotal
gosub Get_Statistiche
gosub setProgressBarMenu 24 %­steptotal
gosub Get_Cassa Casa
gosub setProgressBarMenu 25 %­steptotal
gosub Get_Cassa normali
gosub setProgressBarMenu 26 %­steptotal
gosub check_skill_carpentery
gosub setProgressBarMenu 27 %­steptotal
gosub Get_Sopravvivi
gosub setProgressBarMenu 28 %­steptotal
gosub getGlobalVar %­idscript _totaletime
set %­startetime %­_totaletime
Menu delete prgMenu
menu delete ProgressBar
;=======================================================
; RIAVVIO
;=======================================================
;=======================================================
riavvio:
set %buttoninizia #false
gosub VisualizzaStato Selezione_Utente
;=======================================================
; LOOP MENU
;=======================================================
;=======================================================
loopmenu:
set %­valido #true
; reset casse
if #MENUBUTTON = resetcasse
{
SET #menubutton N/A
gosub reset_casse
}
; USABANCA
if #MENUBUTTON = USABANK
{
SET #menubutton N/A
gosub Set_Usa Bank
gosub VisualizzaStato Selezione_Utente
}
; USACASA
if #MENUBUTTON = USACASA
{
SET #menubutton N/A
gosub Set_Usa Casa
gosub VisualizzaStato Selezione_Utente
}
; Posizione Restock
if #MENUBUTTON = SettaPosCasa
{
SET #menubutton N/A
gosub Set_Posizione_Casa
gosub Get_Posizione_Casa
gosub VisualizzaStato Selezione_Utente
}
; Setta Casse
if SettaCassa in #MENUBUTTON
{
set %buttpremuto #menubutton
SET #menubutton N/A
gosub Get_Val_Cassa_Button %buttpremuto
set %buttpremuto #result
gosub Set_Cassa %buttpremuto
gosub Get_Cassa %buttpremuto
gosub VisualizzaStato Selezione_Utente
}
; Help
if Help in #MENUBUTTON
{
set %buttpremuto #menubutton
SET #menubutton N/A
gosub helpusoscript %buttpremuto
}
; Inizia
if #MENUBUTTON = Start
{
SET #menubutton N/A
gosub validate_fuga
if #result = #true
{
gosub set_maxBoard
gosub set_radius
gosub set_RuneCasa
gosub set_hiding
gosub set_AutoPausa
goto inizio
}
}

; controlli per pulsante inizia
if %­xcasa = N/A || %­ycasa = N/A || %­zcasa = N/A
{
set %­valido #false
}
if %cassacasa = N/A && %­usabanca = #false
set %­valido #false
menu get edtMboard
set %cMB #menures
set %cMBprova ( ( ( %cmb + 1 ) * 2 ) - 2 ) / 2
if %cMB <> %cMBprova
set %­valido #false
menu get edtRadius
set %crad #menures
set %cradprova ( ( ( %crad + 1 ) * 2 ) - 2 ) / 2
if %crad <> %cradprova || %crad < 1 || %crad > 10
set %­valido #false
menu get edtrcmin
set %cRmin #menures
set %cRminProva ( ( ( %cRmin + 1 ) * 2 ) - 2 ) / 2
if %cRmin <> %cRminProva || %cRmin < 1 || %cRmin > 16
set %­valido #false
menu get edtrcmax
set %cRmax #menures
set %cRmaxProva ( ( ( %cRmax + 1 ) * 2 ) - 2 ) / 2
if %cRmax <> %cRmaxProva || %cRmax < %cRmin || %cRmax > 16
set %­valido #false

if %­valido = #false
{
if %buttoninizia = #true
{
menu delete start
set %buttoninizia #false
}
}
if %­valido = #true
{
if %buttoninizia = #false
{
menu font size 8
menu font bgcolor Green
Menu Font Color Yellow
Menu Button Start 10 %­ybuttinizia 230 20 Inizia
set %buttoninizia #true
}
}
goto loopmenu
;=======================================================
; CICLO SCRIPT
;=======================================================
;=======================================================
inizio:
gosub Crea_Menu_Avviato
if %­magie = 1 && %­magery > 50 && %­usaprotection = #true
gosub Cast_Protection
set %­scriptstart #scnt
restock:
gosub DisplayElapsedTime
gosub aspetta_mana
gosub Torna_a_Casa
gosub check_HP
if #result = #false
gosub heal all
gosub Check_Oggetto %accetta
set %accettasi #result
if %accettasi = #false
{
gosub Prendi_Oggetto %accetta %cassacasa 1 antiblock %­usabanca %bancaid
set %accettasi #result
}
gosub Check_Oggetto %­sega
set %­segasi #result
if %­segasi = #false
{
gosub Prendi_Oggetto %­sega %cassacasa 1 antiblock %­usabanca %bancaid
set %­segasi #result
}

if %accettasi = #false
{
if %­tinkering < 300
{
display OK Hai finito le accette e non hai Tinkering sufficiente per craftarle
halt
}
gosub Check_Oggetto %­toolkit
set %­toolsi #result
if %­toolsi = #false
{
gosub Prendi_Oggetto %­toolkit %cassacasa 1 antiblock %­usabanca %bancaid
set %­toolsi #result
}
if %­toolsi = #false
{
display OK Hai finito i ToolKit
halt
}
gosub Check_Iron
set %­ironsi #result
if %­ironsi < 12
{
set %­qidp 12 - %­ironsi
gosub Prendi_iron %­lingotti %cassacasa %­qidp antiblock %­usabanca %bancaid
set %­ironsi #result
}
}
if %­tinkering > 300
{
gosub Check_Iron
set %­ironsi #result
if %­ironsi < 12
{
set %­qidp 12 - %­ironsi
gosub Prendi_iron %­lingotti %cassacasa %­qidp antiblock %­usabanca %bancaid
set %­ironsi #result
}
}
gosub Crea_Board
gosub sposta_board
menu set txtLimite %­maxboard
gosub sposta_log
gosub sposta_altro fungi
gosub sposta_altro bark
gosub sposta_altro brilliant
gosub sposta_altro switch
gosub sposta_altro parasitic
gosub AutoScriptScorna PAUSABOD
if #result = #true
{
goto cicloscript
}
gosub aggiorna_bar_statistiche %­ybarrastat
;=======================================================
loop:
gosub DisplayElapsedTime
gosub aspetta_mana
gosub vai_a_tagliare
gosub hiding
set %exlpc #lpc
set #lpc 1000
set %­nposto %bookAlberiAtt - 1
set %­nposto %­nposto * 16
set %­nposto %­nposto + %­nrunealberiatt
set %­ntype %­typeruna . %­nposto
if %­oldposto <> %­nposto
{
set %­oldposto %­nposto
set %­oldalbero 0
set %­nalbero 1
}
if %­ntree . %­nposto = N/A
{
wait 50
gosub find_tree_in_zona
gosub crea_info_spot %­nposto #true
gosub crea_info_tree_spot %­nposto
}
else
{
gosub crea_info_spot %­nposto #true
gosub crea_info_tree_spot %­nposto
}
set #lpc %exlpc
if %­ntree . %­nposto < 1
{
gosub crea_info_spot %­nposto #false
set %­nrunealberiatt %­nrunealberiatt + 1
goto loop
}
loop_albero:
if %­oldalbero <> %­nalbero
{
set %­oldalbero %­nalbero
gosub crea_info_subspot %­nposto %­nalbero #true
}
gosub vai_albero %­nposto %­nalbero
if #result = #false
{
gosub crea_info_subspot %­nposto %­nalbero #false
set %­nalbero %­nalbero + 1
if %­nalbero > %­ntree . %­nposto
{
gosub crea_info_spot %­nposto #false
set %­nrunealberiatt %­nrunealberiatt + 1
goto loop
}
goto loop_albero
}
set %­tdtav %­nposto , _ , %­nalbero
set %­tdtx %­treex . %­tdtav
set %­tdty %­treey . %­tdtav
gosub find_tree %­tdtx %­tdty
if #result = #false
{
gosub crea_info_subspot %­nposto %­nalbero #false
goto loop_albero
}
ricioppa:
gosub DisplayElapsedTime
gosub check_peso
if #result = #false
{
gosub Crea_Board
gosub check_peso 50
if #result = #false
{
goto restock
}
}
gosub equip_axe
if #result = #false
{
goto restock
}
gosub chop_tree
if #result = FUGA
{
set %­ntree . %­nposto -2
gosub crea_info_spot %­nposto #false
set %­nrunealberiatt %­nrunealberiatt + 1
goto restock
}
if #result = #true
{
if %­treevalido . %­tdtav <> #true
{
set %­treevalido . %­tdtav #true
gosub crea_info_subspot %­nposto %­nalbero #true
}
goto ricioppa
}
gosub crea_info_subspot %­nposto %­nalbero #false
set %­nalbero %­nalbero + 1
if %­nalbero > %­ntree . %­nposto
{
gosub crea_info_spot %­nposto #false
set %­nrunealberiatt %­nrunealberiatt + 1
goto loop
}
goto loop_albero

halt

;=======================================================
; SUB Generiche
;=======================================================
sub validate_fuga
;fuga
menu get chkFuga
set %­usafuga #menures
gosub putGlobalVar %­idscript usafuga
menu get edtLimiteHP
set %­limiteHP #menures
gosub putGlobalVar %­idscript limiteHP
if %­magie = 1 && %­magery > 50
{
menu get chkprotection
set %­usaprotection #menures
gosub putGlobalVar %­idscript usaprotection
}
if %­usafuga = #true
{
if #MAXHITS = N/A
gosub apri_gump
if %­limiteHP > #MAXHITS
set %­limiteHP #MAXHITS
if %­limiteHP = MAX
{
set %­limiteHP #MAXHITS
}
set %cProvaNum ( ( ( %­limiteHP + 1 ) * 2 ) - 2 ) / 2
if %cProvaNum <> %­limiteHP || %­limiteHP < 1
{
display OK Se usi Sopravvivi devi settare anche 'Limite HP'. $ Mettendo 'MAX' il limite sarà il massimo valore di HP.
return #false
}
}
return #true
;======================================================
sub Cast_Protection
gosub VisualizzaStato Cast_Protection
loopcastprot:
if #AR = N/A
gosub apri_gump
set !actar #AR
ricastprot:
set !jicp #JINDEX + 1
event macro 15 14
waitcastprot:
wait 20
for !jscp !jicp #JINDEX
{
scanjournal !jscp
if You_have_not_yet_recovered in #journal
{
wait 50
DELETEJOURNAL
goto ricastprot
}
}
if #ar = !actar
goto waitcastprot
if #ar > !actar
{
wait 50
goto loopcastprot
}
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
{
if !usatameditation = #false && %­Meditation = #true
{
event Macro 13 46
set !usatameditation #true
}
wait 1s
goto aspettaancoraaspettamana
}
return
;====================================================
sub vai_albero
set !posto %1
set !albero %2
set !addvar !posto , _ , !albero
gosub VisualizzaStato Vai_Albero

if %­treevalido . !addvar = #false
return #false

prova_vai_albero:
set !xgo %­treex . !addvar
set !ygo %­treey . !addvar
set !zgo %­treez . !addvar
if !xgo = #charposx && !ygo = #charposy
{
return #true
}
if !xgo <> N/A
{
gosub vai_con_tolleranza !xgo !ygo !zgo
if #result = #true
{
return #true
}
}
set %­treevalido . !addvar #false
return #false
;====================================================
sub DisplayElapsedTime
set %elaspedtime #scnt - %­scriptstart
set %­totaletime %­startetime + %elaspedtime
set %­_totaletime %­totaletime
gosub putGlobalVar %­idscript _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
;=======================================================
sub azzera_stat

set %­tnormali 0
set %­toak 0
set %­tyew 0
set %­tash 0
set %­tblood 0
set %­tfrost 0
set %­theart 0
menu delete prgbar1
menu delete prgbar2
menu delete prgbar3
menu delete prgbar4
menu delete prgbar5
menu delete prgbar6
menu delete prgbar7
gosub putGlobalVar %­idscript tnormali

gosub putGlobalVar %­idscript toak

gosub putGlobalVar %­idscript tash

gosub putGlobalVar %­idscript tyew
l
gosub putGlobalVar %­idscript tblood

gosub putGlobalVar %­idscript tfrost

gosub putGlobalVar %­idscript theart

set %­scriptstart #scnt
set %­_totaletime 0
set %­startetime 0
gosub putGlobalVar %­idscript _totaletime

menu set txttnormali 0
menu set txttoak 0
menu set txttash 0
menu set txttyew 0
menu set txttheart 0
menu set txttblood 0
menu set txttfrost 0
menu set etempo 0
gosub aggiorna_bar_statistiche %­ybarrastat
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 AntiBlock
gosub AutoScriptScorna Normale
gosub hiding
set %­maxpausa #scnt + 40
for %­i 5 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 240 240 60 3 7 1 black 7 black
Menu font size 18
Menu Font Color Red
menu font bgcolor black
Menu Text save2 20 255 SAVE IN CORSO
aspettaskip:
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 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:
return
;======================================================
sub hiding
if %­usahiding = #false
{
return
}
if H notin #charstatus
{
if #scnt > %­timehiding
{
event macro 13 21
set %­timehiding #scnt + %­hidingdelay
}
}
return
;======================================================
sub Crea_Accetta
if %­tinkering < 300
{
return #false
}
gosub AntiBlock
gosub VisualizzaStato crea_accetta
cariprova:
gosub AntiBlock
gosub check_oggetto %­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 + 235
set %­tinky #contposy + 150
click %­tinkx %­tinky
wait 2s
ricliccaaccetta:
gosub AntiBlock
wait 30
set %­tinkx #contposx + 235
set %­tinky #contposy + 110
click %­tinkx %­tinky r
if #CONTNAME = generic_gump
{
goto ricliccaaccetta
}
wait 20
gosub check_oggetto %accetta
if #result = #false
{
goto cariprova
}
return #true
return
;======================================================
sub Crea_Sega
if %­tinkering < 300
{
return #false
}
gosub AntiBlock
gosub VisualizzaStato Crea_Sega
csriprova:
gosub AntiBlock
gosub check_oggetto %­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 + 235
set %­tinky #contposy + 210
click %­tinkx %­tinky
wait 2s
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_oggetto %­sega
if #result = #false
{
goto csriprova
}
return #true
return
;=======================================================
sub chop_tree
gosub VisualizzaStato Chopping
_CHOP_TREE:
finditem %axe C_ , #charid
if #findkind = -1
{
set %axe N/A
return #false
}
_richop_tree:
gosub AntiBlock
set #lobjectid %axe
event macro 17 0
target 1s
if #targcurs <> 1
{
goto _chop_tree
}
set %error #scnt + 10
set %­jindex #jindex + 1
event macro 22 0
set %­naccetate %­naccetate + 1
event sysmessage %­naccetate gocce di sudore!
wait 20
ctloop:
gosub check_HP
if #result = #false
{
if %­guard = #true
{
msg Guards $
gosub heal uno
wait 10
}
if %­guard = #false && %­usafuga = #true
{
return FUGA
}
}
for %­line #jindex %­jindex
{
scanjournal %­line
if HACK in #journal || LOGS in #journal
{
if YOU_CHOP_SOME in #journal then
{
if %­mat . %­nposto = N/A
set %­mat . %­nposto 1
gosub guarda_che_tipo #journal
if #result > %­mat . %­nposto
{
set %­mat . %­nposto #result
gosub crea_info_spot %­nposto #true
}
}
deletejournal
return #true
}
if CAN'T in #journal || HARVEST in #journal
{
deletejournal
return #false
}
}
if #scnt < %error
{
goto ctloop
}
return #false
;=======================================================
sub guarda_che_tipo
set !pj %1
if oak in !pj
return 2
if ash in !pj
return 3
if yew in !pj
return 4
if heart in !pj
return 5
if blood in !pj
return 6
if frost in !pj
return 7
if verite in !pj
return 8
return 1
;===================================================================
sub equip_axe
riequip:
gosub AntiBlock
finditem %accetta C_ , #charid
if #findkind <> -1
{
set %axe #findid
return #true
}
gosub VisualizzaStato equip_accetta
finditem %accetta C_ , #backpackid
if #findkind = -1
{
gosub crea_accetta
if #result = #false
{
set %axe N/A
return #false
}
goto riequip
}
set !inizioj #JINDEX + 1
set %axe #findid
set #lhandid %axe
Event Macro 24 1
gosub Antiblock
wait 10
finditem %accetta C_ , #charid
if #findkind = -1
{
for !scjequip !inizioj #JINDEX
{
scanjournal !scjequip
if You_can_only_wield in #journal
{
display ok Hai gia qualcosa in mano! $ Clicca su ok per continuare. $ Hai 5 secondi per disarmare.
wait 5s
}
}
goto riequip
}

return #true
;=======================================================
sub get_modifier_peso
finditem #charid
set %­modweight 0
if #findtype in HS_IS
set %­modweight %­modweight + 60
return
;=======================================================
sub check_peso
if %0 = 1
{
set !addw %1
}
else
{
set !addw 0
}
set %­maxw #maxweight + %­modweight
rcp:
if #WEIGHT = N/A
{
gosub apri_gump
goto rcp
}
set %­maxw %­maxw - 50
set %­maxw %­maxw - !addw
if #WEIGHT > %­maxw
{
return #false
}
if *359 = BOD
{
return #false
}
set !boardinzaino 0
conta_board_checkpeso:
finditem %board c_ , #BACKPACKID
if #findkind = -1
{
ignoreitem reset
return #true
}
set !boardinzaino !boardinzaino + #findstack
set %actBoardtolimite %­maxboard - !boardinzaino
if !boardinzaino > %­maxBoard
{
return #false
}
ignoreitem #findid
goto conta_board_checkpeso
return #true
;=======================================================
sub find_tree
set !ftx %1
set !fty %2
tile init
tile cnt !ftx !fty
for %­tilekind 0 #tilecnt
{
tile get !ftx !fty %­tilekind
if TREE in #tilename
{
set #ltargetx !ftx
set #ltargety !fty
set #ltargetz #tilez
set #ltargettile #tiletype
set #ltargetkind 3
return #true
}
}
return #false
;=======================================================
sub find_tree_in_zona
tile init
gosub VisualizzaStato Cerca_Alberi_in_Zona
set %­start_x #charposx - %­radiusfind
set %­start_y #charposy - %­radiusfind
set %end_x #charposx + %­radiusfind
set %end_y #charposy + %­radiusfind
set %­ntree . %­nposto 0
for %­x %­start_x %end_x
{
for %­y %­start_y %end_y
{
tile cnt %­x %­y
for %­tilekind 0 #tilecnt
{
tile get %­x %­y %­tilekind
if TREE in #tilename
{
set %­ntree . %­nposto %­ntree . %­nposto + 1
set !addvar %­nposto , _ , %­ntree . %­nposto
gosub split #tilename _
set %­treename . !addvar %­strleft
set %­treex . !addvar %­x
set %­treey . !addvar %­y
set %­treez . !addvar #TILEZ
set %­treemat . !addvar N/A
set %­pgx . !addvar N/A
set %­pgy . !addvar N/A
}
}
}
}
return
;=======================================================
sub Vai_a_Tagliare
gosub VisualizzaStato Vai_a_Tagliare
riprovatagliare:
gosub AntiBlock
if %­nrunealberiatt > %­runealberimax
{
set %bookalberiatt %bookalberiatt + 1
if %bookalberiatt > %bookalberimax
{
set %bookalberiatt 1
set %­tot_cicli %­tot_cicli + 1
Menu Set txtcicli %­tot_cicli
}
set %­nrunealberiatt 1
}

set %­nposto ( %bookalberiatt - 1 ) * 16 + %­nrunealberiatt
if %­ntree . %­nposto = N/A || %­ntree . %­nposto > 0
{
set %book %bookalberi . %bookalberiatt
set %­nruneatt %­nrunealberiatt
set %­runemax %­runealberimax
event ExMsg #charID 3 0 Libro %bookalberiatt Runa %­nruneatt
gosub recall
}
else
{
set %book %bookalberi . %bookalberiatt
set %­nruneatt %­nrunealberiatt
event ExMsg #charID 3 33 Salto: Libro %bookmineratt Runa %­nruneatt
set #result #false
wait 5
}

if #result = #false
{
set %­nrunealberiatt %­nrunealberiatt + 1
if %­nrunealberiatt > %­runealberimax
{
set %bookalberiatt %bookalberiatt + 1
if %bookalberiatt > %bookalberimax
{
set %bookalberiatt 1
set %­tot_cicli %­tot_cicli + 1
Menu Set txtcicli %­tot_cicli
}
set %­nrunealberiatt 1
}
goto riprovatagliare
}
event ExMsg #charID 3 0 Libro %bookalberiatt Runa %­nruneatt
return
;===================================================================
sub check_HP
;gosub VisualizzaStato check_peso
rchp:
if #HITS = N/A
{
gosub AntiBlock
gosub apri_gump
goto rchp
}
if #HITS < %­limiteHP
{
return #false
}
return #true
;=======================================================
sub heal
set !typeheal %1
gosub VisualizzaStato Heal
ripetiheal:
if #TARGCURS <> 0
{
key esc
}
wait 10
if #HITS = n/a
{
gosub apri_gump
}
if #HITS < #MAXHITS
{
if %­magie = 1
{
event macro 15 3
}
else
{
event macro 15 202
}
target 2s
event macro 23 0
if !typeheal = all
{
wait 20
goto ripetiheal
}
}
return
;=======================================================
sub sposta_altro
set %cisp %1
gosub VisualizzaStato Sposta_Altro
spostaancoraaltron:
findItem %­t_ . %cisp c_ , #backpackid
if #findkind <> -1
{
set %­pdsid #findid
set %­pdsfs #findstack

set %cdsp %cassa . %cisp
if %cdsp = N/A
{
if %­usabanca = #true
set %cdsp %bancaid
else
set %cdsp %cassacasa
}
gosub sposta_oggetto %­pdsid %cdsp %­pdsfs 2
gosub Conta_Altro %cisp %­pdsfs
menu set txt_ . %cisp %­tot_ . %cisp
goto spostaancoraaltron
}
return
;======================================================
sub sposta_board
gosub VisualizzaStato Sposta_Board
spostaancoraboardn:

findItem %board c_ , #backpackid
if #findkind <> -1
{
event property #findid
set %­tipolegno #property
set %­pdsid #findid
set %­pdsfs #findstack

set %cisp normali

if OAK in %­tipolegno
set %cisp oak

if ASH in %­tipolegno
set %cisp ash

if YEW in %­tipolegno
set %cisp yew

if BLOOD in %­tipolegno
set %cisp blood

if HEART in %­tipolegno
set %cisp heart

if FROST in %­tipolegno
set %cisp frost

set %cdsp %cassa . %cisp
event property %cdsp
set %box_prop #property

if %cdsp = N/A
{
if %­usabanca = #true
set %cdsp %bancaid
if %­usabanca = #false
set %cdsp %cassacasa
}

gosub sposta_oggetto %­pdsid %cdsp %­pdsfs 2
gosub Conta_Board %cisp %­pdsfs
menu set txt_board_ . %cisp %­tot_board_ . %cisp

goto spostaancoraboardn
}
return
;===========================================================
sub sposta_log
gosub VisualizzaStato Sposta_Log
spostaancoralogdn:

findItem %­tronchi c_ , #backpackid
if #findkind <> -1
{
event property #findid
set %­tipolegno #property
set %­pdsid #findid
set %­pdsfs #findstack

set %cisp normali

if OAK in %­tipolegno
set %cisp oak

if ASH in %­tipolegno
set %cisp ash

if YEW in %­tipolegno
set %cisp yew

if BLOOD in %­tipolegno
set %cisp blood

if HEART in %­tipolegno
set %cisp heart

if FROST in %­tipolegno
set %cisp frost

set %cdsp %cassa . %cisp
event property %cdsp
set %box_prop #property

if %cdsp = N/A
{
if %­usabanca = #true
set %cdsp %bancaid
else
set %cdsp %cassacasa
}

gosub sposta_oggetto %­pdsid %cdsp %­pdsfs 2
gosub Conta_log %cisp %­pdsfs
menu set txt_log_ . %cisp %­tot_log_ . %cisp

goto spostaancoralogdn
}
return
;===========================================================
sub Conta_altro
set %­p1 %1
set %­p2 %2
set %­p3 %­3
set %­tot_ . %­p1 %­tot_ . %­p1 + %­p2
return
;===========================================================
sub Conta_board
set !pcb1 %1
set !pcb2 %2
set !globalvar

set %­tot_board_ . !pcb1 %­tot_board_ . !pcb1 + !pcb2
set %­t . !pcb1 %­t . !pcb1 + !pcb2
set !globalvar t . !pcb1
gosub putGlobalVar %­idscript !globalvar
set %­varstattotale3 txtt , %­varstattotale
menu set txt . !globalvar %­t . !pcb1
return
;===========================================================
sub Conta_log
set !pcb1 %1
set !pcb2 %2

set %­tot_log_ . !pcb1 %­tot_log_ . !pcb1 + !pcb2
set %­t . !pcb1 %­t . !pcb1 + !pcb2
set !globalvar t . !pcb1
gosub putGlobalVar %­idscript !globalvar
set %­varstattotale3 txtt , %­varstattotale
menu set txt . !globalvar %­t . !pcb1
return
;=======================================================
sub Sposta_Oggetto
set %­sogg %1
set %­star %2
set %­togg %­3
set %­range %­4
if %­range = n/a
{
set %­range 1
}
if %­usabanca
{
gosub apri_banca
}
else
{
finditem %­star g_ , %­range
if #findkind = -1
{
gosub Torna_a_Casa
}
}
wait 10
Exevent Drag %­sogg %­togg
gosub AntiBlock
Exevent Dropc %­star
wait 20
return
;=====================================================
sub apri_banca
set #NEXTCPOSX 10
set #NEXTCPOSX 40
riprovachiamarebankab:
if #CONTID = %bancaid
{
return
}
msg Bank $
wait 50
gosub antiblock
goto riprovachiamarebank2
return
;======================================================
sub Crea_Board
gosub VisualizzaStato crea_board
ricercatronchicb:
finditem %­tronchi c_ , #backpackid
if #findkind = -1
{
goto escicreaboard
}
set !legnoid #findid
gosub trova_tipo_legno !legnoid #true
set !tipo #result
if %carpentery < %carp . !tipo
{
ignoreitem !legnoid
goto ricercatronchicb
}
cbriprova:
gosub check_oggetto %­sega
if #result = #false
{
gosub crea_sega
if #result = #false
{
goto escicreaboard
}
goto cbriprova
}
finditem %­sega c_ , #backpackid
if #findkind = -1
{
goto escicreaboard
}
set #LOBJECTID #findid
event macro 17 0
wait 5
gosub AntiBlock
gosub wait_gump generic_gump
if #result = #false
goto escicreaboard
if #CONTNAME = generic_gump
set !contidgump #CONTID
if %­lastwood <> !tipo
{
gosub chooseMaterial !tipo
set %­lastwood !tipo
gosub waitgump !contidgump 5
}

if %­makeboardlast = #true
{
set !mbx #contposx + 280
set !mby #contposy + 410
click !mbx !mby dmc f
gosub waitgump !contidgump 5
gosub AntiBlock
}
else
{
set !mbx #contposx + 30
set !mby #contposy + 90
click !mbx !mby dmc f
gosub waitgump !contidgump 5
gosub AntiBlock
set !mbx #contposx + 235
set !mby #contposy + 70
click !mbx !mby dmc f
gosub waitgump !contidgump 5
gosub AntiBlock
set %­makeboardlast #true
}
finditem !legnoid c_ , #backpackid
if #findkind <> -1
{
set %­makeboardlast #false
set %­lastwood N/A
}
goto ricercatronchicb

escicreaboard:
if %actBoardtolimite <> N/A
menu set txtLimite %actBoardtolimite
wait 30
if #CONTNAME = generic_gump
{
set !mbx #contposx + 235
set !mby #contposy + 70
click !mbx !mby r
goto escicreaboard
}
ignoreitem reset
return
;=======================================================
sub waitgump
set !gid %1
set !terr %2
set !ttoerror #scnt + !terr
lwaitgumptemp:
if #scnt > !ttoerror
return #false
wait 5
if #CONTID = !gid
return #true
goto lwaitgumptemp
return
;=======================================================
sub trova_tipo_legno
set !oggettoid %1
set !short %2

event property !oggettoid
set !tipolegno #property

if OAK in !tipolegno
return oak
if ASH in !tipolegno
return ash
if YEW in !tipolegno
return yew
if BLOOD in !tipolegno
{
if !short = #true
return blood
else
return bloodwood
}
if HEART in !tipolegno
{
if !short = #true
return heart
else
return heartwood
}
if FROST in !tipolegno
{
if !short = #true
return frost
else
return frostwood
}
return wood
;=======================================================
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 Prendi_Iron
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
poi_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 poi_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_iron:
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_iron
}
}
}
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_iron
}
}

poi_rifind:
finditem !Oggetto c_ , !Contenitore
if #findkind = -1
{
ignoreitem reset
return #false
}
if #findCol <> 0
{
ignoreitem #findid
goto poi_rifind
}
ignoreitem reset

if !Quantita > #FINDSTACK
set !Quantita #FINDSTACK

set !prove 0
poi_prendi_oggettoiron:
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 poi_prendi_oggettoiron
}
return #true
;=======================================================
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 Check_Iron
set !fsk 0
ciloop:
finditem %­lingotti c_ , #BACKPACKID
if #findkind = -1
{
ignoreitem reset
return #false
}
if #findCol <> 0
{
ignoreitem #findid
goto ciloop
}
set !fsk #FINDSTACK
ignoreitem reset
return !fsk
;=======================================================
sub Check_Oggetto
set !oggck %1
finditem !oggck c_ , #charid
if #findkind <> -1
{
return #true
}
finditem !oggck c_ , #BACKPACKID
if #findkind <> -1
{
return #true
}
return #false
;=======================================================
sub Torna_a_Casa
gosub VisualizzaStato Torna_a_Casa
riprovacasatc:
if #CHARPOSX = %­xcasa && #CHARPOSY = %­ycasa
{
goto fattopathtc
}
gosub AntiBlock
set %book %bookcasa
set %­nruneatt %­nrunecasaatt
set %­runemax %­runecasamax

gosub recall

if #result = #false
{
wait 1s
set %­nrunecasaatt %­nrunecasaatt + 1
if %­nrunecasaatt > %­runecasamax
{
set %­nrunecasaatt %­runecasamin
}
goto riprovacasatc
}
gosub vai %­xcasa %­ycasa %­zcasa
fattopathtc:
return
;=======================================================
sub Recall
set %­_runenumber %­nruneatt
set %bookx 0
set %booky 0
set %­_oldx #charposx
set %­_oldy #charposy
set %­_runex 138
set %­ymagie 180
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
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
{
set %­risp #false
}
}
return %­risp
;========================================================
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 Split
str pos %1 %2
if #strres = 0
{
set %­StrLeft %1
set %­StrRight na
}
else
{
set %­Temp #strres - 1
str left %1 %­Temp
set %­StrLeft #strres

str Len %2
set %­Temp %­Temp + #strres
str del %1 1 %­Temp
set %­StrRight #strres
str len %­StrRight
if #strres = 0
set %­StrRight na
}
return
;=======================================================
sub Get_Val_Cassa_Button
set !pgvcb %1
gosub Split !pgvcb settacassa
return %­strright
;=======================================================
sub check_use_bank
set !provebank 0
if %­xcasa = N/A || %­ycasa = N/A || %­zcasa = N/A
{
display ok Devi prima settare la tua posizione restock! $ Lo script proverà ad aprire la banca da quella posizione per vedere se è valida.
return #false
}
gosub vai %­xcasa %­ycasa %­zcasa
if #result = #false
{
display ok Lo script non riesce a spostare il Pg nella posizione Restock. $ Recallati in quella zona prima di cliccare 'Usa Banca'.
return #false
}
riprovachiamarebankcub:
set !provebank !provebank + 1
set #NEXTCPOSX 10
set #NEXTCPOSY 30
msg Bank $
wait 10
if !provebank > 5
{
display ok Lo script non riesce ad aprire la Banca.
return #false
}
if #CONTTYPE <> IKF
{
wait 50
goto riprovachiamarebankcub
}

set %bancaid #CONTID
gosub putGlobalVar %­idscript bancaid
return #true
;=======================================================
sub vai
set !vx %1
set !vy %2
set !vz %­3
set !inizioj #JINDEX + 1
if #CHARPOSX = !vx && #CHARPOSY = !vy
{
goto fattopathvai
}
riprovacasavai:
event PathFind !vx !vy !vz
set !error #scnt + 10
attendipathvai:
for !scjvai !inizioj #JINDEX
{
scanjournal !scjvai
if Can't_get_there in #journal || That_location_is_blocked in #journal
{
DELETEJOURNAL
return #false
}
}
if #CHARPOSX = !vx && #CHARPOSY = !vy
{
goto fattopathvai
}
if #scnt > !error
{
goto riprovacasavai
}
goto attendipathvai
fattopathvai:
return #true
;=======================================================
sub vai_con_tolleranza
set !vx %1
set !vy %2
set !vz %­3
set !inizioj #JINDEX + 1
set !tollx #CHARPOSX - !vx
set !tolly #CHARPOSy - !vy
if !tolly > -2 && !tollx > -2 && !tolly < 2 && !tollx < 2
{
goto fattopathvaict
}
riprovacasavaict:
event PathFind !vx !vy !vz
set !error #scnt + 10
attendipathvaict:
for !scjvai !inizioj #JINDEX
{
scanjournal !scjvai
if Can't_get_there in #journal || That_location_is_blocked in #journal
{
DELETEJOURNAL
return #false
}
}
set !tollx #CHARPOSX - !vx
set !tolly #CHARPOSy - !vy
if !tolly > -2 && !tollx > -2 && !tolly < 2 && !tollx < 2
{
goto fattopathvaict
}
if #scnt > !error
{
goto riprovacasavaict
}
goto attendipathvaict
fattopathvaict:
return #true
;=======================================================
sub Check_Book_Alberi
gosub VisualizzaStato Get_Libri_Alberi
set %­libri 0
cercarunebookalberi:
finditem ZBN C_ , #backpackid
if #findkind = -1
{
if %­libri = 0
{
display OK Non c'è nessun Rune Book nominato Alberi nello Zaino
halt
}
else
{
goto trovatorunebookalberi
}
}

event property #findid
if ALBERI in #property
{
set %­libri %­libri + 1
set %bookalberi . %­libri #findid
ignoreitem #findid
}
else
{
ignoreitem #findid
}
goto cercarunebookalberi
trovatorunebookalberi:
ignoreitem reset
set %bookalberiMax %­libri
Menu set txtBookAlberi %bookalberiMax
return
;=======================================================
sub Check_Book_Casa
gosub VisualizzaStato Get_Libro_Casa
cercarunebookcasa:
finditem ZBN C_ , #backpackid
if #findkind = -1
{
display OK Non c'è nessun Rune Book nominato Casa nello Zaino $ Script fermato
halt
}

event property #findid
if CASA in #property
{
set %bookcasa #findid
goto trovatorunebookcasa
}
else
{
ignoreitem #findid
}
goto cercarunebookcasa
trovatorunebookcasa:
ignoreitem reset
Menu set txtBookCasa %bookcasa
return
;=======================================================
sub Check_Skill_carpentery
gosub VisualizzaStato Get_Skill_Carpentery
chooseSkill Carpe
set %carpentery #SKILL
return
;=======================================================
sub Check_Skill_Tinker
gosub VisualizzaStato Get_Skill_Tinker
chooseSkill Tinke
set %­tinkering #SKILL
set %­tinkstr %­tinkering
Menu set txtTinker %­tinkstr
return
;=======================================================
sub Check_Skill_Recall
gosub VisualizzaStato Get_Skill_Recall
set %­magery
set %chiva
set %­skillsel

chooseSkill Mager
set %­magery #SKILL

chooseSkill Chiva
set %chiva #SKILL

set %­magie 0
if %­magery > ( %chiva - 1 )
{
set %­skillsel %­magery
set %­magie 1
Menu set txtMagia Recall
}
else
{
set %­skillsel %chiva
set %­magie 2
Menu set txtMagia Sacred Journey
}

if %­skillsell < 250
{
display OK Hai skill per recallarti troppo basse $ Script fermato.
halt
}
if %­skillsell < 50
{
event ExMsg #CHARID 3 25 Hai la skill per recallarti un po' bassina... cercheremo di alzarla via via^^ $
}

return
;=======================================================
sub VisualizzaStato
set %­p1 %1
Menu set txtStato %­p1
return
;=======================================================
sub Chiudi_Gump
gosub VisualizzaStato Chiudi_Gump
_CLOSE_GUMPS:
if %­usalasciaoggetto = #true
{
key %­tastolasciaoggetto
msg $
}
set %error #scnt + 1
event macro 31 0 ; CLOSES ALL GUMPS
loopclose:

if #contname = spellicon_gump || #contname = skillicon_gump
{
set !x #contposx + 10
set !y #contposy + 10
click !x !y r
wait 2
}
if #CONTNAME = BuffIcons_Gump
{
set !x #contposx + 10
set !y #contposy + 10
click !x !y r
wait 2
}
if #contname <> GameAreaEdgeGump
{
event macro 31 0
goto loopclose
}
return
;=========================================================
sub Apri_Gump
gosub VisualizzaStato Apri_Gump
_OPEN_PAPERDOLL:
set %error #scnt + 1
event macro 8 1
loopa:
if #contname = PAPERDOLL_GUMP
{
goto fineloopa
}

if #scnt > %error
goto _OPEN_PAPERDOLL
}
goto loopa
fineloopa:
wait 10
;contpos 650 493
wait 10
set %­paperdollx #CONTPOSX
set %­paperdolly #CONTPOSY

_OPEN_STATUS:
set %error #scnt + 1
event macro 8 2
loopb:
if #contname = STATUS_GUMP
{
goto fineloopb
}

if #scnt > %error
goto _OPEN_STATUS
}
goto loopb
fineloopb:
wait 10
;contpos -24 493

_OPEN_BACKPACK:
set %error #scnt + 1
event macro 8 7
loopc:
if #contID = #backpackid
{
goto fineloopc
}

if #scnt > %error
goto _OPEN_BACKPACK
}
goto loopc
fineloopc:
wait 10
;contpos 400 493
set %­zainox #CONTPOSX
set %­zainoy #CONTPOSY
return
;=======================================================
; SET Variabili
;=======================================================
;=======================================================
sub Set_RuneCasa
menu get edtrcmin
set %­runecasamin #menures
gosub putGlobalVar %­idscript runecasamin
menu get edtrcmax
set %­runecasamax #menures
gosub putGlobalVar %­idscript runecasamax
set %­nrunecasaatt %­runecasamin
return
;=======================================================
sub Set_Hiding
menu get chkHiding
set %­usahiding #menures
gosub putGlobalVar %­idscript usahiding
return
;======================================================
sub Set_AutoPausa
menu get chkAutoPausa
set %­usaautopausa #menures
gosub putGlobalVar %­idscript usaautopausa
return
;======================================================
sub Set_MaxBoard
menu get edtMboard
set !csmb #menures
set !csmb !csmb + 1
set !csmb !csmb * 2
set !csmb !csmb - 2
set !csmb !csmb / 2
if !csmb <> #menures
{
display OK Il numero immesso per il Limite delle Board non è un numero!
return #false
}
set %­MaxBoard !csmb
gosub putGlobalVar %­idscript MaxBoard
return #true
;======================================================
sub Set_Radius
menu get edtradius
set !csmb #menures
set !csmb !csmb + 1
set !csmb !csmb * 2
set !csmb !csmb - 2
set !csmb !csmb / 2
if !csmb <> #menures
{
display OK Il numero immesso per il Radius find non è un numero!
return #false
}
set %­radiusfind !csmb
gosub putGlobalVar %­idscript radiusfind
return #true
;======================================================
sub Set_Cassa
set !typecassa %1
set !casid N/A
ignoreItem reset
set #lTargetID X
set #targCurs 1
set #lTargetKind 1

event sysmessage Clicca sulla Cassa

wscscl:
wait 1
if #lTargetID = X
{
if #targcurs = 0
{
return
}
goto wscscl
}

if %­usabanca = #true
{
finditem #lTargetID
if #findkind = -1
{
event ExMsg #CHARID 3 25 Non trovo il contenitore! $
return
}
if #FINDBAGID <> %bancaid
{
event ExMsg #CHARID 3 25 Il contenitore deve essere nella Banca e non dentro un'altro contenitore! $
return
}
event property #findid
if contents notin #property || items notin #property
{
event ExMsg #CHARID 3 25 Devi selezionare un contenitore! $
return
}
set !casid #findid
}
else
{
finditem #lTargetID g_ , 2
if #findkind = -1
{
event ExMsg #CHARID 3 25 Deve essere al max a due tile di distanza! $
return
}
event property #findid
if secure notin #property || stones notin #property
{
event ExMsg #CHARID 3 25 Devi selezionare un contenitore! $
return
}
set !casid #findid
}

set !varcassa cassa , !typecassa
set % . !varcassa !casid
gosub putGlobalVar %­idscript !varcassa
return
;=======================================================
sub Set_Posizione_Casa
gosub VisualizzaStato Set_Posizione_Restock
set %­xcasa #CHARPOSX
set %­ycasa #CHARPOSY
set %­zcasa #CHARPOSZ
gosub putGlobalVar %­idscript xcasa
gosub putGlobalVar %­idscript ycasa
gosub putGlobalVar %­idscript zcasa
return
;=======================================================
sub Set_Usa
set !pusa %1
set !pvis Set_Usa_ , !pusa

gosub VisualizzaStato !pvis
if %­usabanca = #true && !pusa = BANK
return
if %­usabanca = #false && !pusa = CASA
return

if !pusa = BANK
{
gosub check_use_bank
if #result = #false
{
set %bancaid N/A
gosub puGlobalVar %­idscript bancaid
return
}
set %­usabanca #true
}
if !pusa = CASA
{
set %bancaid N/A
gosub puGlobalVar %­idscript bancaid
set %­usabanca #false
}
gosub putGlobalVar %­idscript usabanca
gosub reset_casse
return
;=====================================================
sub reset_casse
set %cassacasa N/A
set %CassaNormali N/A
set %CassaOak N/A
set %CassaAsh N/A
set %CassaYew N/A
set %CassaBlood N/A
set %CassaHeart N/A
set %CassaFrost N/A
set %CassaBrilliant N/A
set %CassaBark N/A
set %CassaFungi N/A
set %CassaSwitch N/A
set %CassaParasitic N/A
gosub putGlobalVar %­idscript cassacasa
gosub putGlobalVar %­idscript CassaNormali
gosub putGlobalVar %­idscript CassaOak
gosub putGlobalVar %­idscript CassaAsh
gosub putGlobalVar %­idscript CassaYew
gosub putGlobalVar %­idscript CassaBlood
gosub putGlobalVar %­idscript CassaHeart
gosub putGlobalVar %­idscript CassaFrost
gosub putGlobalVar %­idscript CassaBrilliant
gosub putGlobalVar %­idscript CassaBark
gosub putGlobalVar %­idscript CassaFungi
gosub putGlobalVar %­idscript CassaSwitch
gosub putGlobalVar %­idscript CassaParasitic
gosub Get_UsaBanca
gosub get_cassa casa
gosub get_cassa Normali
gosub get_cassa Oak
gosub get_cassa Ash
gosub get_cassa Yew
gosub get_cassa Blood
gosub get_cassa Heart
gosub get_cassa Frost
gosub get_cassa Brilliant
gosub get_cassa Bark
gosub get_cassa Fungi
gosub get_cassa Switch
gosub get_cassa Parasitic
return
;=====================================================
sub HelpUsoScript
set %­p1 %1

if %­p1 = helpcasse
{
if %­usabanca = #true
{
display ok Se vuoi usare contenitori specifici puoi selezionarli attraverso i pulsanti 'Set' accanto alla voce relativa. $ I contenitori devono essere in Banca. $ Se non selezioni nessun contenitore gli oggetti saranno messi nella cassa della Banca.
}
if %­usabanca = #false
{
display ok Se vuoi usare contenitori specifici puoi selezionarli attraverso i pulsanti 'Set' accanto alla voce relativa. $ I contenitori devono essere al massimo a 2 tile di distanza dalla posizione restock. $ Se non selezioni nessun contenitore gli oggetti saranno messi nella cassa restock. $ Devi selezionare obbligatoriamente almeno la 'Cassa Restock'.
}
}
if %­p1 = helprune
{
display ok Lo script per tornare al punto di Restock deve recallarsi con una runa contenuta in un Runebook $ Con le 2 caselle sottostanti puoi specificare la posizione delle rune utilizzabili nel RuneBook $ Più rune permetteranno di trovare comunque un punto libero per recallarsi.
}
if %­p1 = helprestock
{
display ok Una volta che lo script si recalla al punto di restock si muoverà, all'occorrenza, verso il punto restock che setti. $ Il punto di restock deve essere facilmente raggiungibile dalle rune che usi per tronare a casa.
}
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
;=======================================================
; GET Variabili
;=======================================================
;=======================================================
sub Get_Statistiche
gosub getGlobalVar %­idscript tnormali
gosub getGlobalVar %­idscript toak
gosub getGlobalVar %­idscript tash
gosub getGlobalVar %­idscript tyew
gosub getGlobalVar %­idscript tblood
gosub getGlobalVar %­idscript theart
gosub getGlobalVar %­idscript tfrost
return
;=======================================================
sub Get_Sopravvivi
gosub getGlobalVar %­idscript UsaFuga
gosub getGlobalVar %­idscript UsaProtection
gosub getGlobalVar %­idscript LimiteHP

if %­usaFuga = n/a
{
set %­usaFuga #true
}
if %­UsaProtection = n/a
{
set %­UsaProtection #true
}
if %­LimiteHP = n/a
{
set %­LimiteHP MAX
}
if %­magie = 1 && %­magery > 50
{
menu font bgcolor $111111
menu font color gray
set !ymenu !yfuga + 20
Menu Check chkProtection 130 !ymenu 105 15 %­usaProtection Usa Protection
}
menu set chkFuga %­usaFuga
menu set chkProtection %­usaProtection
menu set edtLimiteHP %­limiteHP
return
;=======================================================
sub Get_BancaID
gosub VisualizzaStato Get_Eventuale_Banca_ID
gosub getGlobalVar %­idscript bancaid
return
;=======================================================
sub Get_UsaBanca
gosub VisualizzaStato Get_Usa_Banca
gosub getGlobalVar %­idscript usabanca

Menu Delete usaCasa
Menu Delete usaBank
Menu Delete txtIDBANCA

if %­usabanca = #true
{
Menu Font Color Gray
menu Font BGColor $000000
if %bancaid <> N/A
{
Menu font size 6
Menu text txtIDBANCA 10 139 ID Bank: %bancaid
}
Menu font size 8
Menu Button usaCasa 25 %­yf 105 20 USA CASA
Menu Font Color yellow
menu Font BGColor green
Menu Button usaBank 130 %­yf 110 20 USA BANCA
}
else
{
Menu font size 8
Menu Font Color yellow
menu Font BGColor green
Menu Button usaCasa 25 %­yf 105 20 USA CASA
Menu Font Color Gray
menu Font BGColor $000000
Menu Button usaBank 130 %­yf 110 20 USA BANCA
}
return
;======================================================
sub Get_Rune_Usate
gosub VisualizzaStato Get_Rune_Usate
gosub getGlobalVar %­idscript runecasamin
gosub getGlobalVar %­idscript runecasamax
if %­runecasamin = n/a
set %­runecasamin 1
if %­runecasamax = n/a
set %­runecasamin 8
Menu set edtrcmin %­runecasamin
Menu set edtrcmax %­runecasamax
return
;======================================================
sub Get_MaxBoard
gosub VisualizzaStato Get_Limite_Board
gosub getGlobalVar %­idscript maxboard
if %­MaxBoard = n/a
{
set %­MaxBoard 1500
}
Menu set edtmboard %­maxboard
return
;======================================================
sub Get_Radius
gosub getGlobalVar %­idscript radiusfind
if %­radiusfind = n/a
{
set %­radiusfind 5
}
Menu set edtradius %­radiusfind
return
;======================================================
sub Get_Cassa
set %­pvc cassa . %1
set %­pvs Get_Cassa_ , %1
gosub VisualizzaStato %­pvs
gosub getGlobalVar %­idscript %­pvc
if %­usabanca
set %­pvs BANK , _ , % . %­pvc
else
set %­pvs CASA , _ , % . %­pvc

Menu set txt . %­pvc %­pvs
return
;========================================================
sub Get_Meditation
chooseSkill medi
if #skill > 0
set %­Meditation #true
else
set %­Meditation #false
return
;=======================================================
sub Get_Posizione_Casa
gosub VisualizzaStato Get_Posizione_Restock
gosub getGlobalVar %­idscript xcasa
gosub getGlobalVar %­idscript ycasa
gosub getGlobalVar %­idscript zcasa

Menu set txtPosX %­xcasa
Menu set txtPosY %­ycasa
Menu set txtPosZ %­zcasa
return
;=======================================================
sub Get_AutoPausa
gosub getGlobalVar %­idscript usaAutoPausa
if %­usaAutoPausa = n/a
{
set %­usaAutoPausa #false
}
return
;=======================================================
sub Get_Hiding
gosub getGlobalVar %­idscript UsaHiding
if %­usaHiding = n/a
{
set %­usaHiding #false
}
return
;=======================================================
; MENU
;=======================================================
;=======================================================
sub crea_info_spot
set !pposto %1
set !sel %2
set !nbookinfospot ( ( !pposto - 1 ) / 16 ) + 1
set !nruneinfospot !pposto - ( ( !nbookinfospot - 1 ) * 16 )


menu delete shpInfospot . !pposto
menu delete txtinfospot . !pposto
if %­ntree . !pposto > -1
{
if %­mat . !pposto > 1
{
set !varsfondospot %­mat . !pposto
set %­matsfondoinfospot %colbr . !varsfondospot
set %colsfondoinfospot $111111
set %colinkinfospot %­matsfondoinfospot
set !valtxt %­mat . !pposto
if !valtxt = N/A
set !valtxt 1
set %­txtinfospot !nruneinfospot , #SPC , %­tif . !valtxt , #SPC , %­ntree . !pposto
}
else
{
set %colsfondoinfospot $111111
set %colinkinfospot white
set %­txtinfospot !nruneinfospot , #SPC , TREE , #SPC , %­ntree . !pposto
}
}
if %­ntree . !pposto = -1
{
set %colsfondoinfospot red
set %colinkinfospot yellow
set %­txtinfospot !nruneinfospot , ERR
}
if %­ntree . !pposto = -2
{
set %colsfondoinfospot black
set %colinkinfospot red
set %­txtinfospot !nruneinfospot , S , #spc , O , #spc , S
}
if %­ntree . !pposto = N/A
{
set %colsfondoinfospot black
set %colinkinfospot gray
set %­txtinfospot !nruneinfospot , #spc
}
menu font size 6
menu font style n
menu font color %colinkinfospot
menu font bgcolor %colsfondoinfospot
set %­xis ( ( !pposto - 1 ) / 32 ) * 45 + 256
set %­yis 25 + ( !pposto * 12 ) - ( ( !pposto - 1 ) / 32 ) * 384
if %­yis > 220
set %­yis %­yis + 20
set %colbordoinfospot $333333
if !sel = #true
set %colbordoinfospot aqua
menu shape shpInfospot . !pposto %­xis %­yis 42 12 3 7 1 %colbordoinfospot 7 %colsfondoinfospot
set %­yis %­yis + 1
set %­xis %­xis + 4
menu text txtinfospot . !pposto %­xis %­yis %­txtinfospot
return
;=======================================================
sub crea_info_subspot
set !ppostoruna %1
set !ppostoalbero %2
set !sel %­3


menu delete shpInfosubspot . !ppostoalbero
menu delete txtinfosubspot . !ppostoalbero
set %­matsfondoinfospot %colbr1

menu font size 6
menu font style n

set !addvar !ppostoruna , _ , !ppostoalbero
set %­xis ( ( !ppostoalbero - 1 ) / 4 ) * 40 + 5
set %­yis 240 + ( !ppostoalbero * 12 ) - ( ( !ppostoalbero - 1 ) / 4 ) * 48

set %colbordoinfospot $333333
if %­treevalido . !addvar = N/A
set !coltext gray
if %­treevalido . !addvar = #false
set !coltext red
if %­treevalido . !addvar = #true
set !coltext white
if !sel = #true
set %colbordoinfospot aqua

menu font color !coltext
menu font bgcolor black
menu shape shpInfosubspot . !ppostoalbero %­xis %­yis 40 12 3 7 1 %colbordoinfospot 7 black
set %­yis %­yis + 1
set %­xis %­xis + 4
menu text txtinfosubspot . !ppostoalbero %­xis %­yis !ppostoalbero %­treename . !addvar
return
;=======================================================
sub crea_info_tree_spot
set !pposto %1
if %­ntree . !pposto > 0
{
for !ciclo 1 %­ntree . !pposto
{
gosub crea_info_subspot !pposto !ciclo
}
}
if %­oldmenutree <> N/A && %­oldmenutree > %­ntree . !pposto
{
set !ifor %­ntree . !pposto + 1
for !ciclo !ifor %­oldmenutree
{
menu delete shpInfosubspot . !ciclo
menu delete txtinfosubspot . !ciclo
}
}
set %­oldmenutree %­ntree . !pposto
return
;======================================================
sub Crea_Menu_Avviato
set !lpc #lpc
set #lpc 1000
set %­yfine 380

Menu Clear
menu Window Title Scorna Lumber Script
menu window transparent 80
set %­numerimaxinfospot %bookalberimax * 16
set %­xwmenu ( ( %­numerimaxinfospot - 1 ) / 32 ) * 45 + 300

Menu Window size %­xwmenu 450
Menu Window Color $000000
Menu Font bgcolor $000000


set %­wshp %­xwmenu - 257
menu shape shpInfospot 255 0 %­wshp 450 3 7 1 $333333 7 $111111

Menu font color gray
Menu Font Style b
Menu font size 6
Menu Font Name tahoma
set %­wshp 248 + %­wshp / 2
menu text txt %­wshp 3 INFO
menu text txt %­wshp 12 SPOT

Menu font style n
Menu font size 6
Menu font bgcolor $331111
Menu font color aqua

for %finfospot 1 %bookalberimax
{
set %­xis ( ( %finfospot - 1 ) / 2 ) * 45 + 256
set %­yis 25 + ( ( %finfospot - 1 ) * 212 ) - ( ( %finfospot - 1 ) / 2 ) * 424
menu shape shplibrospot . %finfospot %­xis %­yis 42 12 3 7 1 $333333 7 $331111
set %­yis %­yis + 1
set %­xis %­xis + 6
menu text txtlibrospot . %finfospot %­xis %­yis LIBRO %finfospot
}

for %finfospot 1 %­numerimaxinfospot
{
gosub crea_info_spot %finfospot
}

menu shape shpactspot 5 240 240 13 3 7 1 $333333 7 $331111
menu shape shpactspot 5 252 240 48 3 7 1 $333333 7 $111111
Menu font bgcolor $331111
Menu font color aqua
menu text txtlibrospot 80 243 S P O T #spc A T T U A L E

Menu Font Style b
Menu font size 8
Menu Font Name tahoma

Menu Font Color Green
Menu Font bgcolor $000000
Menu Text Info 60 5 'Segaiolo' by Scorna

Menu Shape mnuRect3 5 38 240 18 3 7 1 $222222 7 $331111
Menu Shape mnuRect4 5 169 240 18 3 7 1 $222222 7 $331111

Menu font color Aqua
Menu font bgcolor $331111
Menu Text txt 10 40 Legna
Menu Text txt 95 40 Board
Menu Text txt 182 40 Log
Menu Text txt 10 171 Altro

Menu Shape mnuRect1 5 188 240 50 3 7 1 $222222 7 $111111
Menu Shape mnuRect2 5 58 240 110 3 7 1 $222222 7 $111111

Menu font color gray
Menu font bgcolor $111111
Menu Text txt 10 60 Normale
Menu Text txt 10 75 Oak
Menu Text txt 10 90 Ash
Menu Text txt 10 105 Yew
Menu Text txt 10 135 Bloodwood
Menu Text txt 10 120 Heartwood
Menu Text txt 10 150 Frostwood


Menu Text txt 10 190 Brilliant
Menu Text txt 10 205 Bark
Menu Text txt 10 220 Fungi
Menu Text txt 130 190 Switchs
Menu Text txt 130 205 Parasitic


Menu font color white
set !xlog 190
set !xboard 110
Menu Text txt_log_normali !xlog 60 %­tot_log_normali
Menu Text txt_board_normali !xboard 60 %­tot_board_normali

Menu Text txt_log_oak !xlog 75 %­tot_log_oak
Menu Text txt_board_oak !xboard 75 %­tot_board_oak

Menu Text txt_log_ash !xlog 90 %­tot_log_ash
Menu Text txt_board_ash !xboard 90 %­tot_board_ash

Menu Text txt_log_yew !xlog 105 %­tot_log_yew
Menu Text txt_board_yew !xboard 105 %­tot_board_yew

Menu Text txt_log_blood !xlog 135 %­tot_log_blood
Menu Text txt_board_blood !xboard 135 %­tot_board_blood

Menu Text txt_log_heart !xlog 120 %­tot_log_heart
Menu Text txt_board_heart !xboard 120 %­tot_board_heart

Menu Text txt_log_frost !xlog 150 %­tot_log_frost
Menu Text txt_board_frost !xboard 150 %­tot_board_frost

Menu Text txt_brilliant 75 190 %­tot_brilliant
Menu Text txt_bark 75 205 %­tot_bark
Menu Text txt_fungi 75 220 %­tot_fungi
Menu Text txt_switch 190 190 %­tot_switch
Menu Text txt_parasitic 190 205 %­tot_parasitic

menu font bgcolor black
set %­ys %­yfine + 15
Menu Text txt 10 %­ys Stato:
set %­ys %­yfine + 15
Menu Text txt 195 %­ys Cicli:

Menu Font Color Aqua
set %­ys %­yfine + 15
Menu Text txtStato 50 %­ys Inizializzazione
set %­ys %­yfine + 15
Menu Text txtCicli 230 %­ys %­tot_cicli

Menu Font Color Red
set %­ys %­yfine + 32
Menu Button Start 10 %­ys 230 20 Interrompi

set !ystat 303
set !yo !ystat + 7
Menu Shape mnuRect5 10 !yo 230 80 4 7 1 gray 7 $111111
set !yo !ystat + 46
menu shape ProgressBarOutline 10 !yo 230 20 3 7 1 Gray 2 0
Menu Font Color Aqua
menu font bgcolor black
Menu Text txt 25 !ystat Statistiche
menu font bgcolor $111111
Menu font size 6
Menu Font Color gray
set !yo !ystat + 12
Menu Text txt 15 !yo Norm.
set !yo !yo + 10
Menu Text txt 15 !yo Oak
set !yo !yo + 10
Menu Text txt 15 !yo Ash
set !yo !ystat + 12
Menu Text txt 100 !yo Yew
set !yo !yo + 10
Menu Text txt 100 !yo Blood
set !yo !yo + 10
Menu Text txt 100 !yo Heart
set !yo !ystat + 12
Menu Text txt 170 !yo Frost
set !yo !yo + 10
;Menu Text txt 160 !yo Verite
set !yo !yo + 10
;Menu Text txt 160 !yo Valorite
set !yo !ystat + 72
Menu Text txt 15 !yo Totale:
Menu text txt 100 !yo Total Time:

Menu Font Color white
set !yo !ystat + 12
Menu Text txttnormali 50 !yo %­tnormali
Menu Text txttyew 130 !yo %­tyew
Menu Text txttfrost 200 !yo %­tfrost
set !yo !yo + 10
Menu Text txttoak 50 !yo %­toak
Menu Text txttblood 130 !yo %­tblood
;Menu Text txttverite 200 !yo %­tverite
set !yo !yo + 10
Menu Text txttash 50 !yo %­tash
Menu Text txttheart 130 !yo %­theart
;Menu Text txttvalorite 200 !yo %­tvalorite
set %­totestratti %­tnormali + %­toak + %­tash + %­tyew + %­tblood + %­theart + %­tfrost
set !yo !ystat + 72
Menu Text txtttutti 47 !yo %­totestratti
Menu text etempo 148 !yo 0h 0m
set !yo !ystat + 69
Menu Button Azzera 190 !yo 40 15 RESET

set %­ys %­yfine + 55
Menu font size 8
menu font bgcolor $000000
Menu Font Color gray
menu text txt 10 %­ys Limite Board
Menu Font Color white
menu text txtLimite 90 %­ys %­maxBoard
Menu Font Color gray
menu text txt 145 %­ys Sotto Guards
Menu Font Color white
menu text txtGuards 225 %­ys NO

Menu font size 16
Menu Font Color Red
Menu Text message 10 355 #spc
set %­ybarrastat !ystat + 47
gosub aggiorna_bar_statistiche %­ybarrastat
menu show 670 0
set #lpc !lpc
return
;=======================================================
sub crea_menu_init
set !twmi %1
Menu Clear
menu Window Title Scorna Lumber Script
menu window transparent !twmi
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
return
;=======================================================
sub Crea_Menu
set !ydausaingiu 465
set %­ybuttinizia 520
set !yfindradius 437
set !yfuga 389
Menu Clear
Menu Window size 250 560
Menu Window Color $000000
Menu Font bgcolor $000000
menu Window Title Scorna Lumber Script
Menu Font Style b
Menu font size 8
Menu Font Name tahoma
Menu Font Color Green
Menu Text Info 70 5 'Segaiolo' by Scorna
Menu Font Color Gray
Menu Text Info 95 19 Version %­versionscript

Menu Font Color yellow
Menu Text Info1 10 40 Magia
Menu Text Info2 130 40 Tinkering
Menu Text Info3 10 57 Libro Casa
Menu Text Info4 130 55 Libri Alberi
set !yo !yfindradius + 3
Menu text txtRadius 10 !yo Find Radius
Menu text txtmaxBoard 117 !yo Limite Board
Menu Shape mnuRect1 10 82 100 55 4 7 1 gray 7 black
Menu Text Info5 40 75 Rune Usate
Menu Text Info5 20 95 Dalla
Menu Text Info5 20 113 Alla
Menu Shape mnuRect1 115 82 125 55 4 7 1 gray 7 black
Menu Text Info5 145 75 Pos. Restock
Menu Text Info5 120 95 X
Menu Text Info5 163 95 Y
Menu Text Info5 207 95 Z
Set %­yf 150
Menu Shape mnuRect1 10 %­yf 230 227 3 7 1 gray 7 $111111

Menu Font Color Gray
Menu Button usaCasa 25 %­yf 105 20 USA CASA
Menu Button usaBank 130 %­yf 110 20 USA BANCA

menu Font BGColor $111111
Menu Font Color yellow
Menu Text Info7 18 175 Cassa Restock
Menu Font Color Gray
Menu Text Info7 18 190 Normali
Menu Text Info7 18 205 Oak
Menu Text Info7 18 220 Ash
Menu Text Info7 18 235 Yew
Menu Text Info7 18 250 Bloodwood
Menu Text Info7 18 265 Heartwood
Menu Text Info7 18 280 Frostwood
Menu Text Info7 18 295 Brilliant Amber
Menu Text Info7 18 310 Bark Fragments
Menu Text Info7 18 325 Luminescent Fungi
Menu Text Info7 18 340 Switchs
Menu Text Info7 18 355 Parasitic Plants

Menu font size 6
Menu Font Style
Menu Font Color white
Menu Text txtCassaCasa 130 177 N/A
Menu Font Color gray
Menu Text txtCassaNormali 130 192 N/A
Menu Text txtCassaOak 130 207 N/A
Menu Text txtCassaAsh 130 222 N/A
Menu Text txtCassaYew 130 237 N/A
Menu Text txtCassaBlood 130 252 N/A
Menu Text txtCassaHeart 130 267 N/A
Menu Text txtCassaFrost 130 282 N/A
Menu Text txtCassaBrilliant 130 297 N/A
Menu Text txtCassaBark 130 312 N/A
Menu Text txtCassaFungi 130 327 N/A
Menu Text txtCassaSwitch 130 342 N/A
Menu Text txtCassaParasitic 130 357 N/A
Menu Font Color white
Menu Font Style b
Menu font size 8
menu Font BGColor black
Menu Text txtMagia 75 40 N/A
Menu Text txtTinker 200 40 N/A
Menu Text txtBookCasa 75 57 N/A
Menu Text txtBookAlberi 200 55 N/A
Menu Edit edtrcmin 80 92 20 1
Menu Edit edtrcmax 80 109 20 1
Menu Text txtPosX 130 95 N/A
Menu Text txtPosY 173 95 N/A
Menu Text txtPosZ 216 95 N/A

Menu Font Color Gray
Menu Button SettaCassaNormali 205 190 30 15 Set
Menu Button SettaCassaOak 205 205 30 15 Set
Menu Button SettaCassaAsh 205 220 30 15 Set
Menu Button SettaCassaYew 205 235 30 15 Set
Menu Button SettaCassaBlood 205 250 30 15 Set
Menu Button SettaCassaHeart 205 265 30 15 Set
Menu Button SettaCassaFrost 205 280 30 15 Set
Menu Button SettaCassaBrilliant 205 295 30 15 Set
Menu Button SettaCassaBark 205 310 30 15 Set
Menu Button SettaCassaFungi 205 325 30 15 Set
Menu Button SettaCassaSwitch 205 340 30 15 Set
Menu Button SettaCassaParasitic 205 355 30 15 Set
Menu Font Color White
Menu Button HelpCasse 10 150 15 20 ?
Menu Button SettaCassaCasa 205 175 30 15 Set
set !yo !ydausaingiu + 31
Menu Button HelpAutoPausa 10 !yo 15 20 ?
Menu Button HelpLasciaOggetto 10 !ydausaingiu 15 20 ?
Menu Button HelpScript 230 2 15 20 I
set !yo !ydausaingiu -1
Menu Edit edttasto 225 !yo 15 %­tastolasciaoggetto

Menu Edit edtmboard 200 !yfindradius 40 %­maxBoard
Menu Edit edtradius 80 !yfindradius 20 %­radiusfind
Menu font size 6
Menu Button helpRune 20 75 15 15 ?
Menu Button helpRestock 125 75 15 15 ?
Menu Button SettaPosCasa 125 115 110 15 Setta Posizione Restock

menu Font BGColor gray
menu Font Color black
Menu Button resetcasse 75 370 110 15 RESET


Menu Font Color gray
Menu Font Style b
menu Font BGColor black
Menu font size 8

set !ymenu !yfuga + 7
Menu Shape mnuRect1 10 !ymenu 230 35 3 7 1 gray 7 $111111
Menu Font Color white
Menu Text Info7 55 !yfuga Sopravvivi
set !ymenu !yfuga - 2
Menu Check chkFuga 35 !ymenu 15 20 %­usaFuga
menu font bgcolor $111111
Menu Font Color gray
set !ymenu !yfuga + 20
Menu Text Info7 20 !ymenu Limite HP
set !ymenu !yfuga + 16
Menu Font Color white
Menu Edit edtLimiteHP 75 !ymenu 35 %­LimiteHP
set !ymenu !yfuga
Menu Button HelpFuga 18 !ymenu 15 15 ?
menu font bgcolor $000000

set !yo !ydausaingiu + 33
Menu Check chkAutoPausa 30 !yo 200 20 %­usaautopausa Usa Auto Pausa Scorna Alarm
set !yo !ydausaingiu - 1
Menu Check chkLasciaOggetto 30 !yo 190 20 %­usalasciaoggetto Usa 'Lascia Oggetto' sul tasto
set !yo !ydausaingiu + 16
Menu Check chkHiding 30 !yo 90 20 %­usaHiding Usa Hiding
set !yo !ydausaingiu + 80
Menu Text Stato1 10 !yo Stato:

Menu Font Color Aqua
Menu Text txtStato 50 !yo Inizializzazione

menu window transparent 0
menu show 670 0
menu show 670 0
menu window transparent 100
if %debug = #false
{
menu HideEUO
}
return
;===========================================================
sub aggiorna_bar_statistiche
set !ybs %1
set %­totestratti %­tnormali + %­toak + %­tash + %­tyew + %­tblood + %­theart + %­tfrost
menu set txtttutti %­totestratti
if %­totestratti < 1
return

set %­rapbr 222000 / %­totestratti

set %­rapval1 ( ( %­rapbr * %­tnormali ) / 1000 + 1 )
set %­rapval2 ( ( %­rapbr * %­toak ) / 1000 + 1 )
set %­rapval3 ( ( %­rapbr * %­tash ) / 1000 + 1 )
set %­rapval4 ( ( %­rapbr * %­tyew ) / 1000 + 1 )
set %­rapval5 ( ( %­rapbr * %­tblood ) / 1000 + 1 )
set %­rapval6 ( ( %­rapbr * %­theart ) / 1000 + 1 )
set %­rapval7 ( ( %­rapbr * %­tfrost ) / 1000 + 1 )

set %­xbr 222 + 11 + 7

for %cntstat 7 2
{
set %­xbr %­xbr - %­rapval . %cntstat
menu delete prgbar . %cntstat
set %­wbr %­rapval . %cntstat + 1
menu shape prgbar . %cntstat %­xbr !ybs %­wbr 19 3 1 1 %colbr . %cntstat 7 %colbr . %cntstat
}
set %­wbr %­xbr - 10
set %­xbr 11
menu delete prgbar1
menu shape prgbar1 %­xbr !ybs %­wbr 19 3 1 1 %colbr . %cntstat 7 %colbr . %cntstat
return
;=======================================================
; INIT VAR
;=======================================================
;=======================================================
sub init_var
set %­steptotal 36
if |CEO*FILESYSTEM_MODIFIED| notin * . %­IDSCRIPT
set * . %­IDSCRIPT |CEO*FILESYSTEM_MODIFIED|
set %esiste #false
gosub getGlobalVar %­idscript esiste
if #result = #false
{
gosub crea_menu_init 0
gosub fadein
gosub setProgressBar 1 %­steptotal
gosub putGlobalVar %­idscript usalasciaoggetto
gosub setProgressBar 2 %­steptotal
gosub putGlobalVar %­idscript tastolasciaoggetto
gosub setProgressBar 3 %­steptotal
gosub putGlobalVar %­idscript bookcasa
gosub setProgressBar 4 %­steptotal
gosub putGlobalVar %­idscript runecasamin
gosub setProgressBar 5 %­steptotal
gosub putGlobalVar %­idscript runecasamax
gosub setProgressBar 6 %­steptotal
gosub putGlobalVar %­idscript xcasa
gosub setProgressBar 7 %­steptotal
gosub putGlobalVar %­idscript ycasa
gosub setProgressBar 8 %­steptotal
gosub putGlobalVar %­idscript zcasa
gosub setProgressBar 9 %­steptotal
gosub putGlobalVar %­idscript cassacasa
gosub setProgressBar 10 %­steptotal
gosub putGlobalVar %­idscript usabanca
gosub setProgressBar 11 %­steptotal
gosub putGlobalVar %­idscript maxBoard
gosub setProgressBar 12 %­steptotal
gosub putGlobalVar %­idscript usahiding
gosub setProgressBar 13 %­steptotal
gosub putGlobalVar %­idscript CassaNormali
gosub setProgressBar 14 %­steptotal
gosub putGlobalVar %­idscript CassaOak
gosub setProgressBar 15 %­steptotal
gosub putGlobalVar %­idscript CassaAsh
gosub setProgressBar 16 %­steptotal
gosub putGlobalVar %­idscript CassaYew
gosub setProgressBar 17 %­steptotal
gosub putGlobalVar %­idscript CassaBlood
gosub setProgressBar 18 %­steptotal
gosub putGlobalVar %­idscript CassaHeart
gosub setProgressBar 19 %­steptotal
gosub putGlobalVar %­idscript CassaFrost
gosub setProgressBar 20 %­steptotal
gosub putGlobalVar %­idscript CassaBrilliant
gosub setProgressBar 21 %­steptotal
gosub putGlobalVar %­idscript CassaBark
gosub setProgressBar 22 %­steptotal
gosub putGlobalVar %­idscript CassaFungi
gosub setProgressBar 23 %­steptotal
gosub putGlobalVar %­idscript CassaSwitch
gosub setProgressBar 24 %­steptotal
gosub putGlobalVar %­idscript CassaParasitic
gosub setProgressBar 25 %­steptotal
gosub putGlobalVar %­idscript CassaTrash
gosub setProgressBar 26 %­steptotal
gosub putGlobalVar %­idscript usaautopausa
gosub setProgressBar 27 %­steptotal
gosub getGlobalVar %­idscript _totaletime
if ! #result
{
set %­_totaletime 0
gosub putGlobalVar %­idscript _totaletime
}
gosub setProgressBar 28 %­steptotal
gosub putGlobalVar %­idscript tnormali
gosub setProgressBar 29 %­steptotal
gosub putGlobalVar %­idscript toak
gosub setProgressBar 30 %­steptotal
gosub putGlobalVar %­idscript tash
gosub setProgressBar 31 %­steptotal
gosub putGlobalVar %­idscript tyew
gosub setProgressBar 32 %­steptotal
gosub putGlobalVar %­idscript tblood
gosub setProgressBar 33 %­steptotal
gosub putGlobalVar %­idscript theart
gosub setProgressBar 34 %­steptotal
gosub putGlobalVar %­idscript tfrost
gosub setProgressBar 35 %­steptotal
gosub putGlobalVar %­idscript bancaid
gosub setProgressBar 36 %­steptotal
set %esiste #true
gosub putGlobalVar %­idscript esiste
gosub fadeout
}
return
;=======================================================
sub fadeout
for %­i 100 1
{
wait 1
set %­i %­i - 5
menu window transparent %­i
}
menu window transparent 0
menu hide
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 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 setProgressBarMenu
set %­p1 %1
set %­p2 %2
set %­pBarSize ( ( 229000 * %­p1 ) / %­p2 ) / 1000
menu delete ProgressBar
set !yo %­ybuttinizia + 1
menu shape ProgressBar 11 !yo %­pBarSize 19 3 1 1 gray 7 gray
return
;=======================================================
; Global VAR
;=======================================================
;=======================================================
Sub getGlobalVar
nameSpace push
nameSpace local #systime , _ , %2 , GET
set !lpc #lpc
set #lpc 1000
set !global * . %1
set !varName v , %2 , |
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 % . %2 #strres
}
else
{
set % . %2 N/A
}
set #lpc !lpc
nameSpace Clear
nameSpace Pop
return #result
;=======================================================
Sub putGlobalVar
nameSpace push
nameSpace local #systime , _ , %2 , PUT
set !lpc #lpc
set #lpc 1000
set !global * . %1
set !varName v , %2 , |
str pos !global !varName
if #strres = 0
{
if |CEO*FILESYSTEM_MODIFIED| notin !global
set !global |CEO*FILESYSTEM_MODIFIED|
set * . %1 !global , !varName , % . %2 , |
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 , % . %2 , !global
set #lpc !lpc
nameSpace clear
nameSpace pop
return #true


 
Top
2 replies since 10/8/2010, 11:14   18 views
  Share