Question_GimFlex wrote:You Must Die wrote:МЭИ это у нас что?! Энергетический? На Соколе напротив МАИ? :\
Энергетический на авиамоторной)
Я там же! Какой курс?
Moderators: Murderator+, Murderator
Question_GimFlex wrote:DerMeister =) wrote:Question_GimFlex wrote:DerMeister =) wrote:Question_GimFlex wrote:You Must Die wrote:МЭИ это у нас что?! Энергетический? На Соколе напротив МАИ? :\
Энергетический на авиамоторной)
Я там же! Какой курс?
4 курс ИРЭ
Хммм, ... , кафа какая? Лазеры?
как догадался?
You Must Die wrote:И вправду лень.
Скрипт элементарный но на нюансиках(рекол,лут,улёт+физлы+медит+марк+если рунбука то перезарядка,отхил и т.д.) нехочется время тратить.
Алгоритм ты написал прекрасный-осталось только построчно его воплотить в жизнь. Начинай делать по блокам свой скрипт, и выкладывай сюда на обсуждение. Грубо-говоря:
1. Проверяем наличие необходимых вещей, если чтото отсутствует то добираем, реколимся. -Вот твой первый блок.
2. Как только прилетели начинаем искать животное, если находим то идём к нему,иначе ждём,- как только нашли и подошли ... -Вот твой второй блок.
3. Как только нашли и подошли начинается процесс убийства. Одеваем оружие и щит(малоли что) ,проверяем своё здоровье,вешаем атаку на животное и бьём,бьём,бьём пока в журнале не будет Body или животное будет трупиком(так же не забываем лечиться и всё время подходить к животному в случае увеличении дистанции + одевать необходимые вещи)... -3ий блок
4. Как только в журнале боди или животное трупик, тогда по последнему трупу вешаем ловушку и юзаем режущее оружие. Лутаем... -4й блок.
и т.д.
Question_GimFlex wrote:Чар при запуске проверяет есть ли в паке реги, пушка и ножницы. Если нету, то берет из сундука все
начнем с этого![]()
Code: Select all
##########
#Проверка на реги, ножницы и пушку, если нет добираем
# из сундука (считаем что регов 4 вида).
#Если вещи в сундуке закончились то выход.
##########
sub blok1()
var syndyk='000000'; ИД сундука
var kolvo=100; по сколько брать регов
dim items[6]
items[0]='0000'; Тип пушки
items[1]='0000'; Тип ножниц
items[2]='0000'; Тип 1 рега
items[3]='0000'; ... 2 рега
items[4]='0000'; ... 3 рега
items[5]='0000'; ... 4 рега
var i
uo.useobject(syndyk)
wait(500)
for i=0 to 5
uo.findtype(items[i],'-1','backpack')
if uo.findcount() then
wait(100)
else
uo.findtype(items[i],'-1',syndyk)
if uo.findcount() then
uo.moveitem('finditem',kolvo,'backpack')
wait(700)
else
uo.closeuo()
endif
endif
next
endsub
но лучше юзать рунбук поэтому можно все упростить тогда это по желанию автора
Code: Select all
#####
#1. Запускаем авто хил, проверяем наличие необходимых вещей, если чтото отсутствует то добираем.
#2. Реколимся, как только прилетели начинаем искать животное, если находим то идём к нему,иначе ждём,- как только нашли и подошли
#3. Как только нашли и подошли начинается процесс убийства. Одеваем оружие и щит(малоли что) ,проверяем своё здоровье,вешаем атаку на животное и бьём,бьём,бьём пока в журнале не будет Body или животное будет трупиком(так же не забываем лечиться и всё время подходить к животному в случае увеличении дистанции + одевать необходимые вещи)... -3ий блок
#4. Как только в журнале боди или животное трупик, тогда по последнему трупу вешаем ловушку и юзаем режущее оружие. Лутаем... -4й блок.
#####
Sub start()
uo.exec("exec prov")
uo.exec("exec autoheal")
end sub
##########
#Проверка на реги, ножницы и пушку, если нет добираем
# из сундука (считаем что регов 4 вида).
#Если вещи в сундуке закончились то выход.
##########
sub prov()
var syndyk='000000'; ИД СУНДУКА!
var kolvo=55; по сколько брать регов
dim items[6]
items[0]='0000'; Тип пушки
items[1]='0000'; Тип ножниц
items[2]='0000'; Тип 1 рега
items[3]='0000'; ... 2 рега
items[4]='0000'; ... 3 рега
items[5]='0000'; бинты
var i
uo.useobject(syndyk)
wait(900)
for i=0 to 1
uo.findtype(items[i],'-1','backpack')
if uo.findcount()>0 then
wait(100)
else
uo.findtype(items[i],'-1',syndyk)
if uo.findcount() then
uo.moveitem('finditem',1,'backpack')
wait(1000)
else
uo.closeuo()
endif
endif
next
wait(500)
end if
for i=2 to 4
uo.findtype(items[i],'-1','backpack')
if uo.findcount()>49 then
wait(100)
else
uo.findtype(items[i],'-1',syndyk)
if uo.findcount() then
uo.moveitem('finditem',kolvo,'backpack')
wait(1000)
else
uo.closeuo()
endif
endif
next
for i=6 to 6
uo.findtype(items[i],'-1','backpack')
if uo.findcount()>200 then
wait(100)
else
uo.findtype(items[i],'-1',syndyk)
if uo.findcount() then
uo.moveitem('finditem',kolvo,'backpack')
wait(1000)
else
uo.closeuo()
endif
endif
next
uo.exec("exec rekol")
endsub
########
#Чар портится по рунбуке(и далее только рунбука)
# в место где гуляют животные, если животных нет, то чар
# встает в хайд и ждет респа животинки. Как животинка
# появилась узнаем ее ИД и далее следущий блок.
#Для простоты считаем что тип у животин один.
#Рунбук надо настраивать под свой шард!!!(ДРВ изначально)
########
sub rekol()
var animal='0000'; Тип животного
var book='0000000'; ИД рунбуки
var n=1; Номер руны в буке где животные
var givka
var oldX=UO.GetX()
var oldY=UO.GetY()
uo.set('finddistance','14')
NoTarget()
UO.UseObject(book)
FastLootCheck()
CheckLag()
UO.LClick(135, n*15+55)
Repeat
wait(500)
Until oldX<>UO.GetX() OR oldY<>UO.GetY()
uo.findtype(animal,'-1','ground')
while not uo.findcount()
wait(1000)
ToHide()
uo.findtype(animal,'-1','ground')
wend
givka=uo.getserial('finditem')
endsub
Sub FastLootCheck()
UO.DeleteJournal()
wait(600)
if (UO.InJournal("FastLoot") OR UO.InJournal("World save")) then
CheckLag()
endif
end sub
Sub NoTarget()
if UO.Waiting() then
UO.CancelTarget()
endif
end sub
Sub CheckLag()
uo.DeleteJournal()
uo.Click('backpack')
repeat
wait(50)
until uo.InJournal('backpack') or UO.Dead()
end Sub
Sub ToHide()
while not UO.Hidden()
CheckLag()
uo.WarMode(0)
uo.UseSkill('Hiding')
repeat
wait(200)
until UO.InJournal('You have hidden') OR UO.InJournal('seem to hide') OR UO.InJournal('preocopured') or UO.Dead()
wend
end Sub
sub autoheal()
#####
#Далее у нас авто хил, который будет запущен постоянно
#Отсюда => в автохиле незя делить журнал, незя с маленьким стлбом реколиться
#тоесть в макре на хиты должен быть вэйт до восстановления
#тобишь пока не отхилимся, так же должен быть макр который палит бинты и если их нету,
#автохил нуно выключить и идти за бинтами.
#####
repeat
if uo.gethp()< 80 then
uo.setarm("default")
wait(100)
uo.bandageself()
wait(900)
uo.arm("default")
wait(3100)
end if
wait(1000)
until false
end sub
### Ходилка ###
sub gotoxy(x,y,prec)
var ld=0,ldc=0
var dx,dy
var mx,my
var ox,oy,mk,k
#uo.print(">")
#uo.track("1",str(x),str(y))
start:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if not ldc then
uo.print(STR(dx))
end if
if dx<3 then
mk=70
else
mk=15
end if
ox=mx
oy=my
for k=1 to mk
mx=UO.GetX()
my=UO.GetY()
if mx<>ox or my<>oy then
goto sdidapl
end if
wait(10)
next
sdidapl:
mx=UO.GetX()
my=UO.GetY()
dx=mx-x
if dx<0 then
dx=0-dx
endif
dy=my-y
if dy<0 then
dy=0-dy
endif
if dy>dx then
dx=dy
end if
if dx<=prec then
return
end if
if ld==dx then
ldc=ldc+1
if ldc>100 then
uo.print("Can not reach location!")
return
end if
else
ld=dx
end if
if mx==x then
if my==y then
return
endif
if my>y then
#UO.Print("UR")
UO.Press(33)
goto start
endif
#UO.Print("DL")
UO.Press(35)
goto start
end if
if mx<x then
if my>y then
#UO.Print("R")
UO.Press(39)
goto start
endif
if my==y then
#UO.Print("DR")
UO.Press(34)
goto start
endif
#UO.Print("D")
UO.Press(40)
goto start
end if
if my<y then
#UO.Print("L")
UO.Press(37)
goto start
endif
if my==y then
#UO.Print("LU")
UO.Press(36)
goto start
endif
#UO.Print("U")
UO.Press(38)
goto start
end sub
You Must Die wrote:Он находит вещь. Ножницы к примеру,-если в паке нет, тогда ищет в сундуке. Нашёл.
Смотрит на кол-во и берёт "100" ,-у вещи без стопки кол-во если не ошибаюсь = 1. Так он и возьмёт "всю" вещь. Вобщем-100 он возьмёт из стопки, а если вещь индивидуальная(не складывающаяся в стопку) -то он просто возьмёт её.