Page 1 of 1

Есть ли на этом форуме подобный скрипт?

Posted: 2007-12-14 22:47:02
by GrandMaster Ranger
Я искал, но безрезультатно.
Как не странно, но мининг!!
Я уже не прошу с ходилкой, хотябы обкопка вокруг себя.
Суть в том, что чар копает только те тайлы, к которым повернут лицом.
То есть смотришь кудато- выкопал 3 тайла, повернулся на 45 градусов, выкопал опять 3.
И что еще интересно - копает тайлы тупо которые напортив него, даже чуток в сторонку и уже пишет вы не повернуты к точке. То етсьна сколько я понял, при обкопке существуют "мёртвые" тайлы, вот я постарался это дело зарисовать:
Image
Голубой- чар
зеленый- доступные точки при определенном направлении.
красный- мертвые точки.
Вот такая вот долбаная система Зулу Хотела.
То есть чар должен вертется вокруг своей оси и выкапывать соответсвующие координаты.
Я заранее благодарен за вашу помощь.

Posted: 2007-12-18 09:47:45
by CoS
я уже пытался сделать
вроде чёто вышло, копает пока без проблем
настройка не сложная, кстати с ходилкой

Code: Select all

#############################################################################################################################################################
sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
While (UO.ObjAtLayer('Bpack') == '')
if RFlag Then
ReconnectTime = MakeTime()
RFlag = 0
endif
Wait(20000) # WorldSave Protection
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.Say('')
Wait(3000)
UO.LDblClick(357,164)
UO.LClick(616,459)
Wait(3000)
WEnd
Wait(3000)
if (RFlag == 0) and (ReconnectTime <> '0') Then
;UO.Exec('terminate all')
;UO.Exec('exec autoload')
UO.TextOpen()
UO.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
RFlag = 1
ReconnectTime = '0'
endif
Until false
end sub

#############################################################################################################################################################

sub MakeTime()
VAR D, T, Ret, i
Ret = STR(UO.Time())
T = ""
For i = 0 To Len(Ret)
T = Ret[Len(Ret)-i] + T
If (I == 2) OR (I == 4) Then
T = ":" + T
EndIf
Next
Ret = STR(UO.Date())
D = ""
For i = 0 To Len(Ret)
D = Ret[Len(Ret)-i] + D
If (I == 2) OR (I == 4) Then
D = "." + D
EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub

#############################################################################################################################################################

sub hide()
var i
while 1==1
start:
uo.exec("warmode 0")
wait(300)
UO.UseSkill('Hiding')
i=0
while 1<2
if UO.InJournal("You can't seem to hide here.") or i==20 then
UO.DeleteJournal()

endif
if UO.InJournal("You have hidden") or i==20 then
UO.DeleteJournal()
goto qqq
endif
wait(500)
i=i+1
wend
Wait(500)
wend
qqq:
end sub

#############################################################################################################################################################

sub domoi()
moveto(2574,476)
wait(1000)
moveto(2568,476)
wait(1000)
uo.usefromground("0x1508")
wait(1000)
UO.Exec ("setreceivingcontainer 0x40008591")
while UO.Count ("0x19B9") > 0
uo.exec("findtype 0x19b9")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x0f8c") > 0
uo.exec("findtype 0x0f8c")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x19ba") > 0
uo.exec("findtype 0x19ba")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x19B7") > 0
uo.exec("findtype 0x19B7")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x19B8") > 0
uo.exec("findtype 0x19B8")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x0F26") > 0
uo.exec("findtype 0x0F26")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x0F29") > 0
uo.exec("findtype 0x0F29")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x0F21") > 0
uo.exec("findtype 0x0F21")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
while UO.Count ("0x1BEF") > 0
uo.exec("findtype 0x1BEF")
UO.Exec ("grab 500 finditem")
wait (1000)
wend
UO.Exec ("unsetreceivingcontainer")
moveto(2574,476)
wait(1000)
end sub

#############################################################################################################################################################

sub moveto(x, y)
var xch, ych, dch, a=0
while x < uo.getx("self") and y < uo.gety("self")
a=1
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(38)
wait(500)
wend
while x > uo.getx("self") and y < uo.gety("self")
a=1
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(39)
wait(500)
wend
while x > uo.getx("self") and y > uo.gety("self")
a=1
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(40)
wait(500)
wend
while x < uo.getx("self") and y > uo.gety("self")
a=1
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(37)
wait(500)
wend
movetostart:
while x < uo.getx("self")
a=1
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(36)
wait(500)
wend
while y < uo.gety("self")
a=1
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(33)
wait(500)
wend
while x > uo.getx("self")
a=1
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(34)
wait(500)
wend
while y > uo.gety("self")
a=10
xch=uo.getx("self")
ych=uo.gety("self")
dch=uo.getdir("self")
uo.press(35)
wait(500)
wend
if a==1 then
a=0
goto movetostart
endif
end sub

#############################################################################################################################################################

sub dig()
UO.DeleteJournal()
var z, x, y, i, tmp, inside
start:
z=0
y=0
for y=0 to 0
x=-2
for x=-1 to 1
try:
UO.Exec ("waittargettile "+" 0 "+STR(UO.GEtX()+x)+" "+STR(UO.GetY()+y)+" 0")
UO.exec ("usetype 0x0e85")
UO.Print (""+STR(x))
UO.Print (""+STR(y))
i=0
while i< 100
if UO.InJournal("You loosen some rocks but fail to find any useable ore.")then
i=200
z=0
if uo.weight>uo.str*4 then
wait(700)
goto eee
endif
UO.DeleteJournal()
wait(700)
goto try
endif
if UO.InJournal("Looping aborted.") then
i=200
wait(700)
UO.DeleteJournal()
endif
if UO.InJournal("You finished looping.") then
i=200
wait(700)
UO.DeleteJournal()
endif
if UO.InJournal("There`s no ore left there.") then
i=200
wait(700)
UO.DeleteJournal()
endif
if UO.InJournal("You have no line of sight to that location") then
wait(700)
i=200
UO.DeleteJournal()
endif
if UO.InJournal("Try mining elsewhere.") then
i=200
wait(700)
UO.DeleteJournal()
endif
if UO.InJournal("Try mining in rock.") then
i=200
wait(700)
UO.DeleteJournal()
endif
if UO.InJournal("You are not facing that direction.") then
wait(700)
i=200
UO.DeleteJournal()
endif
if UO.InJournal("That is too far away") then
wait(700)
i=200
UO.DeleteJournal()
endif
if UO.InJournal("You must wait to perform another action") then
UO.DeleteJournal()
wait(700)
goto try
endif
wait(700)
i=i+1
wend
nextshag:
wait(1000)
next
next
goto eee
eee:
end sub

#############################################################################################################################################################

sub main()
start:
moveto(1369,2726) ########## координаты тут
moveto(1368,2726)
dig()

moveto(1367,2726)
dig()

moveto(1366,2726)
dig()

moveto(1365,2726)
dig()


moveto(1364,2726)
dig()

moveto(1363,2726)
dig()

moveto(1362,2726)
dig()

moveto(1367,2725)
moveto(1366,2725)
dig()

moveto(1365,2725)
dig()

moveto(1364,2725)
dig()

moveto(1367,2723)
moveto(1373,2723)
moveto(1372,2723)
dig()

moveto(1371,2723)
dig()

moveto(1370,2723)
dig()

moveto(1369,2723)
dig()


moveto(1368,2723)
dig()

moveto(1367,2723)
dig()

moveto(1366,2723)
dig()

moveto(1365,2723)
dig()


moveto(1364,2723)
dig()

moveto(1363,2723)
dig()

moveto(1362,2723)
dig()


moveto(1374,2721)
moveto(1373,2721)
dig()

moveto(1372,2721)
dig()

moveto(1371,2721)
dig()


moveto(1370,2721)
dig()

moveto(1369,2721)
dig()

moveto(1368,2721)
dig()

moveto(1367,2721)
dig()

moveto(1366,2721)
dig()

moveto(1365,2721)
dig()

moveto(1364,2721)
dig()

moveto(1363,2721)
dig()


moveto(1362,2721)
dig()

moveto(1374,2720)
moveto(1373,2720)
dig()

moveto(1372,2720)
dig()

moveto(1371,2720)
dig()


moveto(1370,2720)
dig()

moveto(1369,2720)
dig()

moveto(1368,2720)
dig()

moveto(1367,2720)
dig()


moveto(1366,2720)
dig()

moveto(1365,2720)
dig()

goto start
end sub
#############################################################################################################################################################

sub ggg()
start:

if uo.injournal("attacking you") then



UO.TextOpen()
UO.TextPrint(uo.getname(uo.JournalSerial(uo.InJournal("attacking you")-1)))


uo.deletejournal()
endif

wait(100)
goto start
end sub


#############################################################################################################################################################

sub te()
start:
if uo.injournal('GM')then
uo.deletejournal()
wait(9000)
gm()
end if
wait(5000)
goto start
end sub


sub gm()
var r=uo.random(12)
dim says[50]
says[0]='msg гыгыгы'
says[1]='msg Привет'
says[2]='msg Драсти'
says[3]='msg хай'
says[4]='msg =))) прет'
says[5]='msg Бу ленин на проводе'
says[6]='msg фоывр 9874'
says[7]='msg тыц тыц тыц тур бам бам'
says[8]='msg Мамбо'
says[9]='msg ДА ДА ДА ДА'
says[10]='msg а кто это ??? ; msg )'
says[11]='msg ооооо кто к нам пожаловал =) ; msg )'
uo.exec(says[r])
end sub

#############################################################################################################################################################

sub starting()
UO.Exec('exec main')
wait(500)
UO.Exec('exec te')
wait(500)
end sub