I need script for lumberjacking

Ask for scripts here

Moderators: Murderator+, Murderator

Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

I need script for lumberjacking

Post by Incognito2008 »

парни , если не трудно напишите ктонибудь скрпт на ламбер , для версии инжекта ниже 4ZD :!: бпал скрипты с сайта , чар рубит но когда заканчивается дерево он стоит и продолжает бить по этому дереву не ходит по указанным координатам , буду признателен если напишите тут или скинете в аську 425588272 :evil:
Purgen
Posts: 187
Joined: 2005-04-04 18:23:12

Post by Purgen »

Наверно дело в том, что у тебя скрипт без ходилки.
Её туда нужно вставить.
Будет проще разговаривать, если ты покажеш свой скрипт тут.
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

юзаю вот этот скрипт , к 2ум 3ём деревьям подходит рубит , потом стоит и продолжает бить пустое дерево , скрипт расчитан на версию injection 4 ZD у меня версия ниже , может быть пожтому не работает , хотелось бы скрипт как я выше написал на версию ниже 4ZD , а что такое ходилка я первый раз слышу и помоему ходилка встроенна в скрипт , помоему скрипт не работает из-за версии инжекта , 4 ZD и любую другую версию поставить не могу т.к не смогу зайти на шард....
ВОт собстевнно скрипт :
############################################
### Lumberjacking / Рубка деревьев ###
############################################
### Шард Dragon World / www.drw.ru ###
############################################
### Реавтор этого скрипта: BETEPAH ###
############################################
##################
### Переменные ###
##################
###################################################################################################
var f=file("C:\trees3.dat") ## - Путь к файлу в котором будут хранится координаты деревьев.
###
var TryHiding=0 ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет .
###
var LogsQty=400 ## - Количество логов, добыв которое надо реколиться домой.
###
var GetFromFile=0 ## 1 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента
### (сначала соберите а потом считывайте из файла).
###
var EatingFood=0 ## 1 - Будем есть, 0 - нет.
###
var SSpeak=0 ## 1 - Будем качать и спирит спик, 0 - не будем.
###
var TypeFood='0x097B' ## - Тип еды которую будем кушать.(сейчас фиштейки)
###
var Chest='0x401A442D' ## - ID сундука куда будут выгружаться логи.
###
var Trytodrop=1 ## Будем пытатся подходить к сундуку или нет.
###
var ContX=1234 ##Координаты X у сундука
###
var ContY=1234 ##Координаты Y у сундука
###
var oldX,oldY,time ## - Для рекола.
###
###########
### Код ###
###########
sub Lumb()
var i=0,j=0,k=0,r=0,q=0,ii,jj
var TopX=324,TopY=65
dim TreeX[5000], TreeY[5000],TreeT[5000]
dim TreeTile[29]
var flag=0,treeCount=0,clicks=0,flag2=0
########################
### Графика деревьев ###
########################
TreeTile[0]=3277
TreeTile[1]=3280
TreeTile[2]=3283
TreeTile[3]=3286
TreeTile[4]=3289
TreeTile[5]=3291
TreeTile[6]=3294
TreeTile[7]=3296
TreeTile[8]=3299
TreeTile[9]=3302
TreeTile[10]=3393
TreeTile[11]=3394
TreeTile[12]=3395
TreeTile[13]=3396
TreeTile[14]=3415
TreeTile[15]=3416
TreeTile[16]=3417
TreeTile[17]=3418
TreeTile[18]=3419
TreeTile[19]=3438
TreeTile[20]=3439
TreeTile[21]=3440
TreeTile[22]=3441
TreeTile[23]=3442
TreeTile[24]=3460
TreeTile[25]=3461
TreeTile[26]=3462
TreeTile[27]=3290
TreeTile[28]=3288

uo.Exec("filterspeech on")
uo.Exec("filterspeech add 'Where do you want to use the pickaxe?'")

uo.Print('Выбери Топор: ')
uo.Exec('addobject Axe')
while uo.Targeting()
wait(100)
wend

#####################################
### Загружаем координаты из файла ###
#####################################
if GetFromFile==1 then
uo.Print('Загружаем координаты из файла...')
f.open()
treeCount=safe call f.ReadNumber()
for i=1 to treeCount
TreeT[i]=safe call f.ReadNumber()
TreeX[i]=safe call f.ReadNumber()
TreeY[i]=safe call f.ReadNumber()
next
f.close()
else
######################################
### Собираем координаты из клиента ###
######################################
uo.Print('Выбери Кирку: ')
uo.Exec('addobject Pickaxe')
while uo.Targeting()
wait(100)
wend
uo.Print('Собираем координаты деревьев в округе...')
repeat
clicks=0
flag=0
uo.DeleteJournal()
#######################
### Кликаем на тайл ###
#######################
uo.UseObject('Pickaxe')
waitForTarget()
uo.DeleteJournal()
WaitForTryRock()
###############################
### Проверяем дерево ли это ###
###############################
flag=0
for k=0 to 28
if uo.LastTile(0)==TreeTile[k]+1 then
flag=2
end if
next
if flag==0 then
for k=0 to 28
if uo.LastTile(0)==TreeTile[k] then
flag=1
end if
next
end if
if uo.Lasttile(1)==uo.getX() and uo.Lasttile(2)==uo.gety() then
flag=3
end if
#########################
### Кликнули на ствол ###
#########################
if flag==1 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)
uo.Print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2))+' '+str(treeCount))
end if
end if
##########################
### Кликнули по листве ###
##########################
if flag==2 then
flag2=0
if treeCount>0 then
for ii=1 to treeCount
if TreeX[ii]==uo.LastTile(1) and TreeY[ii]==uo.LastTile(2) then
flag2=1
end if
next
end if
if flag2==0 then
treeCount=treeCount+1
TreeX[treeCount]=uo.LastTile(1)
TreeY[treeCount]=uo.LastTile(2)
TreeT[treeCount]=uo.LastTile(0)-1
uo.print('Найдено дерево '+str(treeCount)+' : x='+str(uo.Lasttile(1))+' y='+str(uo.LastTile(2)))
end if
end if
until (Flag==3) or (treeCount==500)
uo.Exec("filterspeech off")
uo.Print('Анализ закончен, координаты деревьев записаны в файл C:\trees3.dat')
SaveToFile(treeCount,TreeX,TreeY,TreeT)
end if
uo.Print('Деревьев найдено: '+str(treeCount))
wait(2000)
######################################
### Ходим по собранным координатам ###
######################################
while 1==1
if treeCount>0 then
for i=1 to treeCount
end if
if Trytodrop==1 and uo.Count('ZLK')>=LogsQty then
GotoXY(uo.getx(Chest),uo.gety(Chest))
DropLogs()
end if
uo.Print('Идем к дереву '+str(i)+': x='+str(TreeX[i])+' y='+str(TreeY[i]))
InfoLogs()
flag=GotoXY(TreeX[i],TreeY[i])
if flag==1 then
if TryHiding==1 then
ToHide()
end if
GetTree(str(TreeT[i]),str(TreeX[i]),str(TreeY[i]),str(uo.GetZ()))
end if
next
end if
wend
end sub

Sub GetTree(Type,X,Y,Z)
var i
uo.Print('Начинаем рубку дерева...')
for i=0 to 15
if uo.Warmode()==1 then
return 0
end if
wait(200)
uo.DeleteJournal()
uo.WaitTargetTile(Type,X,Y,Z)
uo.UseObject('Axe')
if WaitForChange()==1 then
return 1
end if
next
return 0
end sub

Sub ToHide()
if SSpeak==1 then
UO.Useskill('Spirit Speak')
wait(3000)
endif
while not uo.Hidden()
uo.Print('Пытаемся уйти в хайд...')
uo.DeleteJournal()
uo.UseSkill('Stealth')
wait(3000)
wend
wait(100)
end sub


Sub WaitForHide()
var Text1=uo.GetName()+": You have hidden yourself well"
var Text2=uo.GetName()+": You can't seem to hide here."
var mess
for var i=0 to 200
mess=uo.Journal(0)
if uo.Journal(0)==Text1 then
return 1
end if
if uo.Journal(0)==Text2 then
return 0
end if
wait(50)
next
return 0
end sub

Sub WaitForChange()
var Text1=uo.GetName()+': You hack at the tree for a while, but fail to produce any useable wood.'
var Text2='There are no logs here to chop.'
var Text3="You can't reach this."
var Text4="That is too far away."
var Text5="You can't do much in your current state."
var mess
for var i=0 to 200
mess=uo.Journal(0)
if uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 then
return 1
end if
if uo.Journal(0)==Text1 then
return 0
end if
if mess[0]=='Y' and mess[1]=='o' and mess[2]=='u' and mess[4]=='p' and mess[5]=='u' and mess[6]=='t' then
return 0
end if
wait(50)
next
return 0
end sub

Sub WaitForTryRock()
var Text1="That is too far away."
var Text2="Try mining in rock."
var Text3="There is no ore here to mine."
var Text4="You have no line of sight to that location"
var Text5="You can't see the target"
for var i=0 to 50
if uo.Journal(0)==Text1 or uo.Journal(0)==Text2 or uo.Journal(0)==Text3 or uo.Journal(0)==Text4 or uo.Journal(0)==Text5 then
return 1
end if
wait(200)
next
return 0
end sub

Sub WaitForTarget()
for var i=0 to 50
if uo.Targeting()==1 then
return 1
end if
wait(200)
next
return 0
end sub

Sub WaitForChangeXY(myX,myY,lastX,lastY)
for var i=1 to 50
if lastX<>myX or lastY<>myY then
return 1
end if
wait(200)
next
return 0
end sub

Sub GotoXY(x,y)
var myX,myY,lastX=0,lastY=0,i,halt=0,z,r=0
for i=1 to 60
myX=uo.getX();
myY=uo.getY();
if LastX==myX and LastY==myY then
halt=halt+1
else
halt=0
end if
if halt>=10 then
if uo.GetDir()==1 then
for z=0 to 8
uo.Press(40)
next
end if
if uo.GetDir()==3 then
for z=0 to 8
uo.Press(37)
next
end if
if uo.GetDir()==5 then
for z=0 to 8
uo.Press(38)
next
end if
if uo.GetDir()==7 then
for z=0 to 8
uo.Press(39)
next
end if
halt=15
end if
if Numb(x-myX)<=1 and Numb(y-myY)<=2 then
return 1
end if
if x<=myX then
if y<=myY then
for z=0 to 3
uo.Press(38)
next
else
for z=0 to 3
uo.Press(37)
next
end if
else
if y<=myY then
for z=0 to 3
uo.Press(39)
next
else
for z=0 to 3
uo.Press(40)
next
end if
end if
lastX=myX
lastY=myY
wait(200)
next
return 0
end sub

Sub Numb(num)
if num>=0 then
return num
else
return num*(-1)
end if
end sub

Sub SaveToFile(treeCount,TreeX,TreeY,TreeT)
var f=file("C:\trees3.dat")
var s=0,i=0
f.open()
f.create()
s=safe call f.writeln(treeCount)
for i=1 to treeCount
s=safe call f.writeln(str(TreeT[i])+' '+str(TreeX[i])+' '+str(TreeY[i]))
next
f.close()
end sub

sub DropLogs()
uo.say("Выкладываю логи !!! Не беспокоить !!!")
if uo.Waiting() then
uo.CancelTarget()
end if
var a,Exit
dim Logs[1]
Logs[0]=0x1BDD
uo.Print('Выкладываем Логи.')
uo.SetReceivingContainer(Chest)
wait(500)
for a=0 to 0
Exit=0
repeat
uo.FindType(Logs[a])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
GotoXY(ContX,ContY)
else
Exit=1
end if
until Exit==1
next
if EatingFood==1 then
EatingFood()
end if
uo.UnSetReceivingContainer(Chest)
uo.Print('Логи Выложены.')
end sub


Sub InfoLogs()
uo.Print('У вас всего '+str(uo.Count('0x1BDD'))+' логов в сумке')
uo.Print('Из них '+str(uo.Count('0x1BDD','0x0000'))+' простых и ' +str(uo.Count('0x1BDD')-uo.Count('0x1BDD','0x0000'))+' цветных')
end sub

Sub Open(Container)
uo.DeleteJournal()
uo.UseObject(Container)
repeat
wait(500)
until uo.InJournal('Contains')
end sub


Sub EatingFood()
ToEat()
DropFood()
end sub

Sub ToEat()
uo.SetReceivingContainer('backpack')
Open(Chest)
uo.FindType(TypeFood,'-1',Chest)
uo.Grab('50','finditem')
wait(500)
repeat
Checklag()
uo.UseType(TypeFood)
wait(1000)
until uo.InJournal('You are simply too full to eat any more!')
uo.UnsetReceivingContainer()
end sub

Sub DropFood()
if uo.Waiting() then
uo.CancelTarget()
end if
var f,Exit
dim Food[1]
Food[0]=TypeFood
uo.SetReceivingContainer(Chest)
wait(500)
for f=0 to 0
Exit=0
repeat
uo.FindType(Food[f])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
else
Exit=1
end if
until Exit==1
next
uo.UnSetReceivingContainer(Chest)
end sub

Sub CheckLag()
if uo.Waiting()>0 then
uo.Exec('canceltarget')
end if
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack')
end sub
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Иди в топик с моим наследством и бери любой мой скрипт. Они все сделаны на инжект 312.19. Для ламбера/мининга тебе потребуется АСМ, но он заходу на Абис мешать не будет.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

искал везде , может плохо смотрел , ты не помниш ссылку с твоим наследством ?
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Incognito2008 wrote:искал везде , может плохо смотрел , ты не помниш ссылку с твоим наследством ?


Скорее второе, так как топикприкреплен.

зы Помнить ссылки без чпу это мега круто ;)
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

korzh wrote:
Incognito2008 wrote:искал везде , может плохо смотрел , ты не помниш ссылку с твоим наследством ?


Скорее второе, так как топикприкреплен.

зы Помнить ссылки без чпу это мега круто ;)

выражая богромную благодарность :lol: СпаСибо
и ещё по поводу АСМ вопрос , скачал я Асм версии
ASM_412.25SE_Full_pack Обновил до версии
ASM_505.11SE_Update
открываю вкладку scripts там 3 кнопки ,main,controls,script
нажимаю на кнопку маин в ней функции есть , нажимаю на кнопку контролс в ней функции есть , нажимаю на кнопку сприт в неё никаких функци чистое окно и некуда вставить скрипт ,в чём дело как справиться и ещё , скачал новое обновления Асм с ультима софт , архив запаролен , где взять пароль ?
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Неужели сюда заглянуть сложно догадаться?

viewtopic.php?t=1784
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

обновил асм , скачал твой огромный скрипт в один фалй , создал все необходимые файлы которые написанные в твоих наследия , не скачал файлы которые лежат по ссылке т.к ктото стёр тх , пробывал запустить огромный скрипт выдаёт что шибка line 2303 , полистал твоё наследие также скачал новый скрипт на страницах которые написаны дальше тоже ошибка и ини тоже заменял , может дело в том что нету этих двух файлов ? которые лежат по ссылке там какойто .exe точно не помню и ещё какойто или там архивы точно не помню , можеш залить эти файлы сюда ?
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Файл тебе отправил на почту, потом надо будет переложить на ультимусофт (странно, там ведь было все), надо Деста помучить. Топик с наследством надо внимательно смотреть, там обсуждались исправления, которые надо вносить в скрипт. Ошибки, то бишь. Мне все недосуг заняться тем, что внести все эти исправления и перепостить скрипт...
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

да прочитал уже давно , за файл огромное спасибо , изменения с прочитанного наследства твоего в огромный скрипт маининг ламбер внёс , но внс только те изменени которые написанные в наследии , серавно выдаёт ошибку , сам думаю смогу изменить просто он выдаёт 2202 ошибку , пробывал её искать не получается , как её найти хз
korzh
Posts: 220
Joined: 2007-04-26 23:35:15

Post by korzh »

Incognito2008 wrote:да прочитал уже давно , за файл огромное спасибо , изменения с прочитанного наследства твоего в огромный скрипт маининг ламбер внёс , но внс только те изменени которые написанные в наследии , серавно выдаёт ошибку , сам думаю смогу изменить просто он выдаёт 2202 ошибку , пробывал её искать не получается , как её найти хз


Пожалуй самый простой способ - это открыть файл в блокноте, нажать ctrl+G и ввести нужный номер строки ;)
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

уже так делал , сохраная файл , запускаю в инжекте , опятьже пишит ошибка к примеру 2200 редактирую сохраняю , запускаю , тоже самое ошибка 2200
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

если честно мне не нужен сверх навароченный скрипт ,нужен обычный скрипт на ламбержекинг чтобы рубил дерево по указанным координатам и всё ,чтобы ходил нормально а не стоял на месте и чтобы не рубил пустое дерево когда ево мало ...ну былобы ещё лучше еслиб ктонибудь скинул скрипт , чтобы чар рубил реколился к банку говорил БАНк , реколился на место рубки и продолжал рубить но я такого не прошу но былобы не плохо ;) каму не трудно напишите скрипт ,хотябы обычный , чтобы просто ходил и рубил дерево
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

вот взял такой скрипт , ,пишит ошибка по 42 линни строка 42ой линии
CanMine = UO.asmWaitTargetStaticTile( 'tree', PointX, PointY, 0 )




#####################################################################
; LumberAround. v.3.25b (c) Edred
;
; Рубим вокруг чара. Используется ASM-модуль для инжекта для поиска деревьев.
;
sub Lamber()
VAR t, k, CanMine, cx, cy, tmpx, tmpy, pointX, pointY
VAR MaxTime = 600 ; измеряется в 1/10 сек.
VAR ms1 = "There are no logs here to chop" ; нет логов
VAR ms2 = "You can't use" ; не можем
VAR ms3 = "in your pack." ; вырубили логи
VAR ms4 = "You fail to produce" ; физл
VAR ms5 = "You are too far away" ; стоим далеко
VAR ms6 = "It appears immune to your blow" ; не проходит удар
VAR ms7 = "You can't see that" ; не можем увидеть
VAR ms8 = "is destroyed*" ; топор развалился
VAR ms9 = "Try to kill my spirit at first!" ; вырубили духа дерева
UO.asmTLStaticOpen('Resource_Static.dat') ; Загрузим таблицу типов статики
VAR i, strpoint
VAR MaxVes = 580
cx = UO.GetX()
cy = UO.GetY()
for tmpx = -3 to 3
for tmpy = -3 to 3
k = 0
pointX = cx + tmpx
pointY = cy + tmpy
strpoint = str(pointX) + ' ' + str(pointY)
repeat
uo.DeleteJournal( ms1 )
uo.DeleteJournal( ms2 )
uo.DeleteJournal( ms3 )
uo.DeleteJournal( ms4 )
uo.DeleteJournal( ms5 )
uo.DeleteJournal( ms6 )
uo.DeleteJournal( ms7 )
uo.DeleteJournal( ms8 )
uo.DeleteJournal( ms9 )
t = UO.Timer() + MaxTime
k = k + 1
wait(300)
CanMine = UO.asmWaitTargetStaticTile( 'tree', PointX, PointY, 0 )
If CanMine Then
UO.UseObject(UO.ObjAtLayer('Lhand'))
repeat
wait(100)
until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR UO.InJournal(ms8) OR UO.InJournal(ms9) OR (t < UO.Timer())
Endif
If UO.Weight > MaxVes Then
; Вес превышен!
return
Endif
If UO.InJournal( ms8 ) Then
; топор накрылся!
return
Endif
If UO.InJournal( ms9 ) Then
; дух дерева!
return
Endif
until NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10)
Endif
next
next
endsub

#####################################################################
Sub DeleteJournal( string1 )
VAR nom = UO.InJournal( string1 )
If nom > 0 Then
UO.SetJournalLine( Nom - 1, 'string replaced' )
DeleteJournal( string1 )
Endif
endsub
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

ПАРНИ НУ КТОНИБУДЬ ДАЙЕТ ОТРЕДАКТИРОВАННЫЙ РАБОТАЮЩИЙ СКРИПТ , САМИ ПОЙМИТЕ ОБЛАМЫВАЕТ РУКАМИ РУБИТЬ , ВСЁ ДАВНО НА СКРИПТАХ СИДЯТ ? качаются сутками не выключая уо ничего не трогая даже , а проста запуская скрипт , не поверю что ни у кого нету работающего отредактированного скрипта под абисс
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

откуда утебя инжект под абис? :shock:
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

Grin wrote:откуда утебя инжект под абис? :shock:

в инете нашёл , только очень старый поэтому прошу ниже 4ZD версии скрипт на ламбер
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

заделился бы...
Incognito2008
Posts: 50
Joined: 2008-03-24 18:18:53
Contact:

Post by Incognito2008 »

кидай название почтового ящика своего скину без проблем
Post Reply