Gente.. io avevo questo vecchio script. In pratica serve avere spinning wheel, la tela di fili da sarto che nn so come si chiama (^^) e una cassa con della lana dentro. In pratica lo script dovrebbe prendere la lana un po x volta e andare a trasformala in cloth.. a volte a va a volte non va... (una su 25 va...)
raga... se qualcuno di voi ci capisce puo provare a metterlo a posto e vedere dove sta l'errore... poi sono convinto che sia uno script utilissimo^^
fateci sapereeeee
ECCO IL CODICE:
raga... se qualcuno di voi ci capisce puo provare a metterlo a posto e vedere dove sta l'errore... poi sono convinto che sia uno script utilissimo^^
fateci sapereeeeeECCO IL CODICE:
codice:
; -#=#=#=#= SETUP =#=#=#=#-
set %chest ezdunmd ; setta l'id
set %wmax #maxweight + 55 ; 55 se umano 0 se elfo
;variabili usate
set %maxdist 6 ;distanza massima degli oggetti da usare
set %maxquant 50 ;quantità massima di lana o cotone da lavorare per volta
;=======================================================
if %chest = N/A
{
set #targcurs 1
while #Targcurs = 1
{
sleep 3
}
}
set %chest #ltargetid
;Lista ID:
; NLF balls
; OFF wool
; NFF cotton
; QEK flax -> UAG spool
set %scissors KAG
set %bolt NAG_ZZF_BAG_IAG
;Controllo attrezzatura :)
finditem %chest g_ , %maxdist
if #findkind = -1
{
display ok nessun contenitore risorse trovato, $ script fermato.
halt
}
finditem JFG_XEG_GFG_JHR_MHR_ g_ , %maxdist
if #findkind = -1
{
display ok nessuna spinning trovata, $ script fermato.
halt
}
set %wheelID #findid
finditem IDG_EDG g_ , %maxdist
if #findkind = -1
{
display ok nessuna loom trovata, $ script fermato.
halt
}
set %loomID #findid
gosub apri_cassa
primo_avvio: ;svuota il back dalle risorse... tanto per non confonderci :)
finditem OFF_NLF_NFF_UAG_ZZF_QEK c_ , #backpackid
if #findcnt <> 0
{
exevent drag #findid #findstack
wait 1
exevent dropc %chest
goto primo_avvio
}
rifila:
gosub restock OFF_NFF_QEK
if #result <> end || #result = last
{
gosub wool
gosub apri_cassa
finditem NLF_UAG C_ , #backpackid
if #findcnt <> 0
{
exevent drag #findid #findstack
wait 1
exevent dropc %chest
}
goto rifila
}
set %maxquant %wmax - #weight
ritessi:
gosub restock NLF_UAG
if #result <> end
{
gosub yarn
gosub apri_cassa
finditem ZZF C_ , #backpackid
if #findcnt <> 0
{
exevent drag #findid #findstack
wait 1
exevent dropc %chest
}
goto ritessi
}
gosub bolt_to_cloth
stop
sub wool
gosub cerca_strumento %wheelid
wool:
gosub antiblock
finditem OFF_NFF_QEK c_ , #backpackid ;look for wool or cotton
if #findkind = -1
return
set #lobjectid #findid
event macro 17 0
target
set #ltargetid %wheelID
set #ltargetkind 1
set %appo #findstack
event macro 22 0
scanj_1:
scanjournal 1
if you_put_the_ in #journal
goto wool
goto scanj_1
sub yarn
gosub cerca_strumento %loomid
yarn:
gosub antiblock
finditem NLF_UAG c_ , #backpackid ;uses yarn or spool to get bolt of cloth
if #findkind = -1
return
set #lobjectid #findid
set #ltargetkind 1
set #ltargetid %loomID
event macro 17 0
target
event macro 22 0
wait 15
goto yarn
;-------------------------------------------
sub apri_cassa
riprova:
finditem %chest g_ , %maxdist
if #findkind = -1
{
display ok nessuna cassa trovata, $ script fermato.
halt
}
if #finddist > 3
move #findx #findy 1 3s
Set #lobjectid %chest
event macro 17 0
wait 5
while #contid <> %chest && #contname <> container_gump
{
Set #lobjectid %chest
event macro 17 0
wait 10
}
return
;-------------------------------------------
sub cerca_strumento
finditem %1 g_ , %maxdist
if #findkind = -1
{
display ok nessuno strumento trovato, $ script fermato.
halt
}
if #finddist > 3
move #findx #findy 1 3s
return
;-------------------------------------------
;la sub restocka la quantità settata in %maxquant
;oppure restocka gli ultimi item rimasti
;%1 sono i type o gli id passati
sub restock
set %ris %1
set %fine %2
gosub apri_cassa
_restockagain:
finditem %ris C_ , #backpackid
if #findkind <> -1
{
set %counter1 #findcnt
set %tottav 0
for %i 1 %counter1
{
finditem %ris C_ , #backpackid
set %tottav %tottav + #findstack
ignoreitem #findid
}
ignoreitem reset
set %quantity %tottav
set %amount %maxquant - %quantity
}
else
{
set %amount %maxquant
}
finditem %ris C_ , %chest
if #findkind = -1
{
finditem %ris C_ , #backpackid
if #findkind = -1
return end
else
return last
}
exevent drag #findid %amount
wait 15
exevent dropc #backpackid
wait 15
finditem %ris C_ , #backpackid
set %counter #findcnt
set %totaleris 0
for %i 1 %counter
{
finditem %ris C_ , #backpackid
set %totaleris %totaleris + #findstack
ignoreitem #findid
}
ignoreitem reset
if %totaleris < %maxquant
{
goto _restockagain
}
return
sub bolt_to_cloth
finditem %scissors C_ , #backpackid
if #findkind = -1
halt
set %scissors #findid
finditem %chest
while #findkind = -1
{
event macro 1 0 bank
wait 20
finditem %chest
}
if #contid <> %chest
{
set #lobjectid %chest
event macro 17 0
while #contid <> %chest
{
wait 1
}
wait 20
}
finditem %bolt , _ , CUI_POF_BUI C_ , #backpackid
while #findkind <> -1
{
for #findindex 1 #findcnt
{
exevent drag #findid #findstack
wait 3
exevent dropc %chest
wait 7
}
finditem %bolt , _ , CUI_POF_BUI C_ , #backpackid
}
finditem %bolt C_ , %chest
while #findkind <> -1
{
set %amount ( ( %wmax - #weight ) / 5 ) - 1
if #findstack < %amount
set %amount #findstack
if %amount <> 0
{
exevent drag #findid %amount
wait 5
exevent dropc #backpackid
wait 9
}
finditem %bolt C_ , #backpackid
if #findkind <> -1
{
for #findindex 1 #findcnt
{
set #lobjectid %scissors
event macro 17 0
target 20
set #ltargetid #findid
set #ltargetkind 1
event macro 22 0
}
}
gosub dragcloth
finditem %bolt C_ , %chest
}
gosub dragcloth
halt
sub dragcloth
gosub antiblock
finditem CUI C_ , #backpackid
while #findkind <> -1
{
exevent drag #findid #findstack
wait 5
exevent dropc %chest
wait 9
finditem CUI_BUI C_ , #backpackid
}
return
;---------------------------------------------------------------------------
sub AntiBlock
set %maxpausa #scnt + 40
for %i 5 1
{
if The_world_is_saving in #journal || The_world_will_save in #journal || Cleaning_resources in #journal
{
aspettaskip:
for %i 5 1
{
scanjournal %i
if World_save_complete in #journal || Resources_cleaned in #journal
{
wait 1s
deletejournal
goto fine
}
wait 5
}
if #scnt > %maxpausa
{
DELETEJOURNAL
goto fine
}
goto aspettaskip
}
}
fine:
return







: algander#6292
Commenta