Помогите со скриптом на ламбер

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Number the one
Posts: 8
Joined: 2005-03-05 02:59:52
Contact:

Помогите со скриптом на ламбер

Post by Number the one »

Вообщем нужен скрипт что б капать на каторге... кто может помогите плз. А то мне просто 40к логов капать ручками не очень хочется. Вообщем Хелпайте прошу.
Goggy
Posts: 291
Joined: 2004-11-07 01:22:35
Location: Черкассы
Contact:

Post by Goggy »

гыыыы...
А увас логи из земли капать мона вот кулл мнебы так :lol:
666Man666
Junior Expert
Posts: 474
Joined: 2004-11-13 00:43:55
Location: Киберзадроцк
Contact:

Re: Помогите со скриптом на ламбер

Post by 666Man666 »

Number the one wrote:Вообщем нужен скрипт что б капать на каторге... кто может помогите плз. А то мне просто 40к логов капать ручками не очень хочется. Вообщем Хелпайте прошу.
Оском ?
Goggy
Posts: 291
Joined: 2004-11-07 01:22:35
Location: Черкассы
Contact:

Post by Goggy »

Нет народ серьёзно...
Неужели хоть чучуть нельзя головой подумать?...
просто при маркеровке деревьев заменяете кирку на топор и вбиваете соответствующие месаги и маркаете подальше от деревьев млин!!!!
вам что всегда всё на блюдечке подавать????
а какже без мамы с папой жить будете???
:lol:
Number the one
Posts: 8
Joined: 2005-03-05 02:59:52
Contact:

Re: Помогите со скриптом на ламбер

Post by Number the one »

666Man666 wrote:
Number the one wrote:Вообщем нужен скрипт что б капать на каторге... кто может помогите плз. А то мне просто 40к логов капать ручками не очень хочется. Вообщем Хелпайте прошу.
Оском ?

угу
Number the one
Posts: 8
Joined: 2005-03-05 02:59:52
Contact:

Post by Number the one »

up
kuviCk
Posts: 127
Joined: 2004-09-08 13:09:13
Contact:

Re: Помогите со скриптом на ламбер

Post by kuviCk »

Number the one wrote:Вообщем нужен скрипт что б капать на каторге... кто может помогите плз. А то мне просто 40к логов капать ручками не очень хочется. Вообщем Хелпайте прошу.
На

Code: Select all

######################################################## 
### Lumberjacking / Рубка деревьев Special 4 Katorga ### 
########################################################
###                 Oscom /www.uoo.ru                ###
########################################################
### Внимание: 
### Для  работы скрипта нужна версия YokoInjection 4ZD. 
### Скачать dll этой версии можно                      
### от сюда: http://www.swines.nm.ru/injection.zip     
##########################################################
### По вопросам и предложениям обращаться сюда:
### ICQ: 333358386 [cOoler]
### Авторы:
### -За основу взят скрипт:"©Elthar aka Duo",
### за что его автору большое спасибо.
### -Редактировал и дополнял:"BETEPAH".
### -Доработка и переработка скрипта:"cOoler". 
### -За неоценимую помощь спасибо:"Mafia".
### -За коректнную помощь и идеи:"Аskaneli".
### -За помощь в переработке скрипта спасибо:"Sfagnum".
### -За помощь в доработке скрипта спасибо:"Legio". 
### -А также за систему подсчета логов спасибо:"Mguai".
### Спасибо всем кто каким либо образом помогал в
### разработке этого скрипта.
##########################################################
############################
### Описание и настройка ###
############################
### Обратите внимание на значки "]![" ими выделенны важные сообщения.
###
### Чар бегает от дерева к дереву (координаты деревьев берет из файла).
### Вырубит, бежит к следующему, при логах 700 штук в паке порталится домой скидывает логи в сундук,
### после реколится обратно бежит к последнему дереву и продолжает рубить.
### Пример: В файле 100 деревьев, вы вырубив 74 дошли до придела в 700 логов сработала система рекола
### и вы "порталитесь" домой и складываете логи в сундук, после вы реколитесь обратно в лес и бежите к 75 дереву.
### Дойдя до 100 дерева (тоесть последнего в списке) чар перейдет к 1ому дереву.(Цикличность) 
###
###
### ]![ Из-за изменения скрипта и введения новых функций рекомендую почитать описание. ]![
### ]![ При Возникновении ошибок или глюков пишите в ICQ! ]![
### ]![ Чтобы скрипт заработал внимательно прочтите настройки. ]![ 
###
###################################
###    Режимы работы скрипта    ###	
###################################
###   Работает в 2х режимах:    ### 
###   1)Маркировка              ###
###   2)Рубка                   ###
###################################
### Режим Первый - "Маркировка" ### 
###################################
### Этот режим отвечает за Маркирование(записывание координат) деревьев. 
### Включается переменной var GetFromFile=0 ## 1 - координаты деревьев будут считыватся из файла, 0 - собиратся из клиента. 
### То есть если GetFromFile=0 координаты деревьев собиратся из клиента. 
###
### Маркировка происходит так: 
### Поставте переменную GetFromFile равную 0 (GetFromFile=0).
### Положите к себе в сумку Топор. 
### Идите в лес в котором вы хотите рубить.
### Запустите Скрипт GoLumberjacking(), инжект попросит вас указать Топор
### (появится прицел,прицелом на топор который вы с собой взяли), 
### Инжект сообщит вам что ('Собираем координаты деревьев в округе...').
### Инжект попросит вас указать Кирку(появится прицел,прицелом на неё).
### Теперь вы должны в любом порядке сами прицелом указать координаты(достаточно просто нажать прицелом на дерево).
### Если вы не промахнулись и "нажали" на дерево, то инжект сообщит вам об этом(Найдено дерево "координаты дерева").
### Причем что если даже вы нажмете два раза на одно дерево то он не "запомнит" его повторно. 
### Ходите по лесу и марчите деревья.
### Для того чтобы остановить марк нажмите таргетом на себя. 
### Инжект напишет вам сообщение ('Анализ закончен, координаты деревьев записаны в файл' +FileName) и создаст файл на диске 
### С:\ куда запишет координаты деревьев.
### После этого чар пойдет по координатам и будет вырубать деревья. 
###
############################## 
### Режим Второй - "Рубка" ###
##############################
### Этот режим соответственно отвечает за рубку. 
### Включается переменной var GetFromFile=1 ## 1 - координаты деревьев будут считыватся из файла, 0 - собиратся из клиента 
### То есть если GetFromFile=1 координаты деревьев будут считыватся из файла.
### И вам не надо будет сново марчить деревья. 
###
### Рубка происходит так:
### Поставте переменную GetFromFile равную 1 (GetFromFile=1).
### Положите к себе в сумку Топор. 
### Идите на место рубки(где вы замаркали местность), укажите топор таргетом, и чар начнет рубить.
###
##################
### Переменные ###
##################
################################################################################################################## 
###
var FileName=('C:\trees.dat') ## - Путь к файлу в котором будут хранится координаты деревьев.
###
var TryHiding=1 ## 1 - Перед тем как рубить дерево, будет пытаться уйти в хайд, 0 - не будет .
###
var GetFromFile=1 ## 1 - Координаты деревьев будут считыватся из файла, 0 - собиратся из клиента 
### (сначала соберите а потом считывайте из файла).
###
var LogsQty=1500 ## - Количество логов при котором чар складывает логи в чек.
###
var QuantityImpact=15 ## - Сколько раз чар будет ударять по дереву, прежде чем перейдет к другому.(стандарт - 15)
###
var LogsType='0x1BDD' ## - Тип логов на каторге.
### 
################################################################################################################## 
###
### После настройки: 
### Идите в лес в котором вы хотите рубить.
### Запустите cкрипт GoLumberjacking(), Инжект попросит вас указать Топор
### (появится прицел, прицелом на топор который вы с собой взяли),
### затем инжект попросит вас указать Рунбук(появится прицел, прицелом на него) ,Руну(прицелом на неё) и Сундук для логов. 
### После этого чар пойдет по координатам и будет вырубать деревья. 
###########
### Код ###
########### 
sub GoLumberjacking()
uo.Print('Выбери Топор: ') 
uo.Exec('addobject Axe') 
while uo.Targeting() 
wait(100) 
wend 
uo.Exec('exec Lumberjacking')
end sub

sub Lumberjacking() 
var i=0,j=0,k=0,r=0,q=0,ii,jj,f 
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.FilterSpeech('on') 
uo.FilterSpeech('add', 'Where do you want to use the pickaxe?')

##################################### 
### Загружаем координаты из файла ### 
##################################### 
if GetFromFile==1 then 
uo.Print('Загружаем координаты из файла...') 
f=file(FileName)
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))) 
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==5000) 
uo.FilterSpeech('off') 
uo.Print('Анализ закончен, координаты деревьев записаны в файл ' + FileName) 
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 

if uo.Count('ZLK')>=LogsQty or uo.Weight>=uo.STR*4+20 then
ClickingOnLogs() 
end if 

uo.Print('Идем к дереву номер '+str(i)+': x='+str(TreeX[i])+' y='+str(TreeY[i])) 
InfoLogs() 
flag=GotoXY(TreeX[i],TreeY[i],2) 
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 SaveToFile(TreeCount,TreeX,TreeY,TreeT)  
var s=0,i=0,f
f=file(FileName)
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 GetTree(Type,X,Y,Z) 
var i 
uo.Print('Начинаем рубку дерева...')
for i=0 to QuantityImpact 
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 WaitForRecall() 
var Text1=uo.GetName()+': The spell fizzles.' 
var LastX=uo.GetX()
var LastY=uo.GetY()
var mess='' 
for var i=0 to 200 
mess=uo.Journal(0) 
if uo.Journal(0)==Text1 then 
return 0 
end if 
if uo.GetX()<>LastX or uo.GetY()<>LastY then 
return 1 
end if 
wait(50) 
next 
return 0 
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,r) 
var LastX=0,LastY=0,i=0
while Numb(y-uo.GetY())>r
if Numb(x-uo.GetX())<=r and Numb(y-uo.GetY())<=r then 
return 1 
end if
if (y-uo.GetY())>r then
LastX=uo.GetX()
LastY=uo.GetY()
for i=0 to 2
uo.Press(35)
next
if LastY==uo.GetY() then
for i=0 to 2
uo.Press(37)
next
end if
if LastY==uo.GetY() then
for i=0 to 2
uo.Press(40)
next
end if
if LastX==uo.GetX() and LastY==uo.GetY() then
for i=0 to 5
uo.Press(38)
next
end if
end if
if (uo.GetY()-y)>r then
LastY=uo.GetY()
for i=0 to 2
uo.Press(33)
next
if LastY==uo.GetY() then
for i=0 to 2
uo.Press(39)
next
end if
if LastY==uo.GetY() then
for i=0 to 2
uo.Press(38)
next
end if
if LastX==uo.GetX() and LastY==uo.GetY() then
for i=0 to 5
uo.Press(40)
next
end if
end if
wend
while Numb(x-uo.GetX())>r
if Numb(x-uo.GetX())<=r and Numb(y-uo.GetY())<=r then 
return 1 
end if
if (x-uo.GetX())>r then
LastX=uo.GetX()
LastY=uo.GetY()
for i=0 to 2
uo.Press(34)
next
if LastX==uo.GetX() then
for i=0 to 2
uo.Press(40)
next
end if
if LastX==uo.GetX() then
for i=0 to 2
uo.Press(39)
next
end if
if LastX==uo.GetX() and LastY==uo.GetY() then
for i=0 to 5
uo.Press(37)
next
end if
end if
if (uo.GetX()-x)>r then
LastX=uo.GetX()
for i=0 to 2
uo.Press(36)
next
if LastX==uo.GetX() then
for i=0 to 2
uo.Press(38)
next
end if
if LastX==uo.GetX() then
for i=0 to 2
uo.Press(37)
next
end if
if LastX==uo.GetX() and LastY==uo.GetY() then
for i=0 to 5
uo.Press(39)
next
end if
end if
wend
if Numb(x-uo.GetX())<=r and Numb(y-uo.GetY())<=r then 
return 1 
else
return 0  
end if
return 0  
end sub

sub Numb(num) 
if num>=0 then 
return num 
else 
return num*(-1) 
end if 
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 ToHide() 
while not uo.Hidden() 
uo.Print('Пытаемся уйти в хайд...') 
uo.DeleteJournal() 
uo.Exec('warmode 0')
uo.UseSkill('Stealth') 
wait(4100) 
wend 
wait(100) 
end sub 

sub ClickingOnLogs()
wait(100)
uo.UseType(LogsType)
uo.UseType(LogsType)
wait(100)
end sub

sub Terminate()
uo.Exec('terminate Lumberjacking')
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 
The Cheater
Posts: 86
Joined: 2005-02-08 15:39:19
Location: D.R.W.
Contact:

Post by The Cheater »

Goggy wrote:Нет народ серьёзно...
Неужели хоть чучуть нельзя головой подумать?...
просто при маркеровке деревьев заменяете кирку на топор и вбиваете соответствующие месаги и маркаете подальше от деревьев млин!!!!
вам что всегда всё на блюдечке подавать????
а какже без мамы с папой жить будете???
:lol:
круто сказанно!!
у меня есть 400 мешочков в каждом по 255 никлейсов,один никлейс-32гп всё влом пойти загнать..
Post Reply