Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Мининг Вне Шахты
Fighterok
сообщение 26.10.2008, 18:14
Сообщение #1


**

Neophyte
Сообщений: 23
Регистрация: 10.10.2007
Группа: Пользователи
Наличность: 0
Пользователь №: 10.199
Возраст: 21



Есть хорошие скрипты для шахты но шахта не есть безопасное место...
Нужен скрипт на мининг вне шахты.
Если у кого есть скиньте плиз...

А пока сам попробую передалеть скрипт ламбера в мининг (там где нужно сначала на деревья потыкать чтобы потом перс ходил по эти точкам...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Колобок
сообщение 28.10.2008, 20:57
Сообщение #2


*

Registred
Сообщений: 1
Регистрация: 28.10.2008
Группа: Пользователи
Наличность: 0
Пользователь №: 11.260
Возраст: 19



А можеш скинуть рабочий скрипт на ламбер? и если есть на фишинг токо чтоб с пристани?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fighterok
сообщение 3.11.2008, 6:05
Сообщение #3


**

Neophyte
Сообщений: 23
Регистрация: 10.10.2007
Группа: Пользователи
Наличность: 0
Пользователь №: 10.199
Возраст: 21



// Lamber-razmetka. ver 1.04b © Edred
//
// Скрипт разметки массива для рубки скриптом
// Lamber-rubka. Ударьте топором по первому дереву,
// которое хотите поместить в массив, дождитесь
// сообщения "Go to next tree", переходите к следующему
// дереву и бейте один раз топором по нему и т. д.
// По окончании создания массива в текстовом редакторе
// замените открывающие и закрывающие круглые скобки
// на соответствующие квадратные.
// В теле скрипта с массивом будут создаваться комментарии,
// облегчающие поиск координат определенного дерева
// (на всякий случай)

// Укажите имя файла для скрипта, создающего массив
set $file c:\massiv.txt

set #i 1
set $fail you fail
set $put you put
set $lamber lumberjacking changed
set $skill your skill
set $slash /
:snova
if (lastmsg = $fail) or (lastmsg = $put) or (lastmsg = $lamber) or (lastmsg = $skill)
set #cx charposx
set #cy charposy
set #ltx lasttargetx
set #lty lasttargety
set #ltt laststatictype
exec cmd.exe /c >>$file echo $slash$slash tree number #i
wait 100
exec cmd.exe /c >>$file echo set %stand( #i 1 ) #cx
wait 100
exec cmd.exe /c >>$file echo set %stand( #i 2 ) #cy
wait 100
exec cmd.exe /c >>$file echo set %derevo( #i 1 ) #ltx
wait 100
exec cmd.exe /c >>$file echo set %derevo( #i 2 ) #lty
wait 100
exec cmd.exe /c >>$file echo set %static( #i ) #ltt
wait 100
set #i #i + 1
say Go to next tree - #i
end_if
wait 1000
goto snova
end_script

Определите в теле скрипта переменную $file и запустите его. Скрипт переходит в режим ожидания. Теперь идите к ближайшему дереву
и один раз бейте по нему топором. Результат рубки совершенно не важен. Это может быть сообщение о том, что ваша рубка сфизлилась,
что вы положили логи в пак, что ваш скилл ламбера подрос - неважно. Дождитесь пока ваш чар скажет фразу "Go to next tree".
Скрипт снова находится в режиме ожидания. Идите к следующему дереву и повторяйте процедуру. Повторяйте ваши действия столько
сколько деревьев вы за раз хотите вырубать на макре. Я думаю, для начала деревьев 40-50 хватит.

Старайтесь двигаться по деревьям не хаотично, а последовательно. Направление движения не важно. Можете идти снизу-вверх,
слева-направо или наоборот. Но лучше воздержитесь от кругов, спиралей и прочей лабуды. Старайтесь не размечать деревья,
которые по отношению к предыдущему заслонены каким-либо препятствием. Если вы будете следовать этим рекомендациям - чар при
рубке будет переходить от дерева к дереву достаточно быстро. Также, пока не написан обход препятствий - не искушайтесь джунглями
и густыми зарослями... Чар может в них заблудиться.

Закончили разметку массива? Теперь реколльтесь от греха подальше к себе на базу и вам потребуется поработать с текстовым файлом
массива.

Загрузите этот файл в текстовый редактор и замените поиском с заменой все открывающие круглые скобки на квадратные, проделайте
аналогичное действие с закрывающими. В конец файла добавьте команду pause_script То есть ваши строки должны приобрести вид:

set %derevo [1 1] 1836
set %derevo [1 2] 1347
set %static [ 1 ] 3299
set %derevo [2 1] 1840
set %derevo [2 2] 1344
set %static [ 2 ] 3299
..................................
pause_script



Ламберджекинг. Рубка по массиву координат

ВНИМАНИЕ!!! ЭТИ МАКРОСЫ ТРЕБУЮТ UOPilot ver. 1.07 beta 7 или новее!!!

Код
// Lamber-rubka по массиву. ver. 1.12b © Edred
//
// Используется массив координат, созданный при помощи
// скрипта Lamber-razmetka. Массив должны быть загружены
// в окна пилота номер 10. Если грузите в другое окно -
// ищите в текста макроса все '.10' и заменяйте на
// ваши номера.
//
// Перед запуском скрипта запустите скрипт с массивом
// в окне пилота номер 10. Возьмите в руки топор, среколльтесь
// в лес. Один раз ткните топором в любое дерево. Назначьте
// ластобжектид и тип в переменные (значения берутся из окна
// пилота "параметры чара")
//
// Необходимо забиндить на F10 - LastObject, WaitForTarget, LastTarget
// Если ходите в хайде: F8 - Use skill hiding
// Если макрос в цикле с реколлом и разгрузкой:
// F1 - реколл на базу через ассист
// F2 - реколл обратно в лес (в начало массива)
//
// Скрипт водит чара к деревьям, занесенным в массив и рубит их
// до полной вырубки.
// После завершения массива либо после набора максимального
// веса чар реколлится через ассист либо подает сигнал и останавливается
// (если реколл отменен). После реколла чар разгружается, реколлится
// обратно в лес и скрипт зацикливается.
//
// v.1.11b: Изменен способ определения физла при реколле:
// теперь проверяется изменение координат чара на те, которые
// должны быть после реколла (ластмессага о физле может быть пропущена)
// v.1.12b: В связи с возможными подвисаниями клиентов при большой нагрузке
// на комп (два клиента, плюс еще чего-нибудь), вводим переменные для пауз
// и, на всякий случай, еще маленькие паузы кое-где. Плюс мелкие фиксы.
//
// Перемещение чара к очередному дереву осуществляется использованием
// скрипта Move, который должен быть помещен в окно пилота номер 0.

// -------------------------------------- Установка переменных -------------------------------------------
set #ves 550 // Максимальный вес
set #minves 55 // вес чара с несколькими логами
set #razmer 67 // Количество деревьев в массиве
// Посмотрите последний блок в скрипте создания массива -
// там в комментариях написан номер последнего дерева
set #hide 1 // 1 - ходим и рубим в хайде. 0 - нет
set #rec 1 // 1 - реколлимся через ассист, 0 - подаем сигнал и останов.
set #basax 1714 // координаты чара после реколла на базу
set #basay 994 // (смотрите в параметрах чара после реколла
set #paus 3000 // пауза при драге логов из пака
// координаты логов в паке
set #logsx 730
set #logsy 406
// координаты куда драгать логи
set #dragx 360
set #dragy 261
set #zhdat 0 // 1 - ждать 15 минут перед началом рубки, 0 - нет
// ----------------------------------------------------------------------------------------------------------------------

:forever // крутимся в вечном цикле

// Предварительный этап. Если надо в хайде - хайдимся
if #hide = 1
while_not ( lastmsg you have hidden )
send F8 3000 // Пытаемся захайдиться
end_while
end_if

if #zhdat = 1
wait 900000
end_if

// Основная процедура скрипта. Считывание данных из массива
for #i 1 #razmer 1
set #kx %stand.10 [ #i 1 ]
set #ky %stand.10 [ #i 2 ]
gosub navigator // процедура перемещения чара к цели
set #targx %derevo.10 [ #i 1 ]
set #targy %derevo.10 [ #i 2 ]
set #stattype %static.10 [ #i ]
gosub vyrubka // процедура тотальной вырубки цели
if wght > #ves
gosub recall // реколл для разгрузки
end_if
end_for

:recall
// проверяем переменную #rec - если 1 - реколлимся на базу через ассист
// разгружаемся и реколлимся обратно в лес:
// F1 - реколл на базу
// F2 - реколл в лес
if #rec = 1
// будем реколлиться
:fiz1
send F1 3000
wait 3000
if ( ( (charposx < #basax) or (charposx > #basax) ) and ( (charposy < #basay) or (charposy > #basay) ) )
// координаты чара не совпадают с теми, в которых должен оказаться чар после реколла
send tab 500
goto fiz1
end_if
wait 3000
// Новая процедура разгрузки логов. Исходим из того,
// что 10 логов = 2 стоуна (примерно).
:razgr1
set #tmpves wght - 100
if #minves < #tmpves
drag #logsx, #logsy #dragx, #dragy 500
wait #paus
goto razgr1
end_if
:razgr2
set #tmpves wght - 50
if #minves < #tmpves
drag #logsx, #logsy #dragx, #dragy 250
wait #paus
goto razgr2
end_if
:razgr3
set #tmpves wght - 20
if #minves < #tmpves
drag #logsx, #logsy #dragx, #dragy 100
wait #paus
goto razgr3
end_if
// а дальше прекрасно работает старая
while #minves < wght
// первая пара координат - координаты логов в паке
// вторая пара координат - куда их драгать
drag #logsx, #logsy #dragx, #dragy 10
// паузу подбирайте под себя
wait #paus
end_while
:fiz2
send F2 3000
wait 3000
if ( (charposx = #basax) and (charposy = #basay) )
// координаты чара совпадают с теми, в которых он был до реколла
send tab 500
конецформыначалоформыgoto fiz2
end_if
set #i 1
goto forever
end_if
// не реколлимся
flash
alarm
end_script

:vyrubka
// подставляем ластстатиктип, координаты ласттаргета и
// вырубаем дерево под корень.
// Бинды: F10 - LastObject, WaitForTarget, Lasttarget

// следующие две строки прописывают ид и тип топора
// посмотрите в параметрах чара (в пилоте) и поправьте
set lastobjectid 1075293611 // топор
set lastobjecttype 3907 // топор

// тут править ничего не надо
set lasttargetx #targx
set lasttargety #targy
set lasttargetkind 3
set laststatictype #stattype

:povtor
send F10 1500
if lastmsg you fail
goto povtor
end_if
if (lastmsg no logs)
return
end_if
wait 8000
if (lastmsg it appears) or (lastmsg you can't)
// Что-то не то!!!
// msg NE POPAL! Nomer #i
return
end_if
goto povtor
return

:navigator
// процедура вызова скрипта Move из окна пилота номер 0.
start_script 0
wait 2000
set #kudax.0 #kx
set #kuday.0 #ky
if #hide = 1
set #hide.0 1
end_if
set #gotovo.0 0
resume_script 0
wait 1000
:povtor2
set #gt #gotovo.0
if #gt > 0
if #gt = 9
stop_script 0
msg Error!
end_if
if #gt = 2
stop_script 0
gosub recall
end_if
stop_script 0
return
else
wait 1000
end_if
goto povtor2
return


УНИВЕРСАЛЬНАЯ ПРОЦЕДУРА ПЕРЕМЕЩЕНИЯ ЧАРА ДЛЯ РАЗНЫХ МАКРОСОВ

Поместите данный скрипт в окно пилота номер 0 и не забудьте после этого сохранить настройки, чтобы этот скрипт всегда был в окне номер 0. Обращения к данному скрипту будут производиться из разных скриптов! Описание вызова данной процедуры (если вы захотите делать это из своих макросов) сейчас отпосщу в соседний топик (обсуждение макросов).

Код
// Move. ver. 1.02b © Edred
//
// Процедура, аналогичная по действию команде "move x, y"
// из EasyUO. То есть, это процедура перемещает чара в
// указанную точку мира. В отличие от ИзиУО, в данной процедуре
// осуществляется контроль над перемещением чара в хайде
// (если необходимо) и за появлением ПК или монстров (если
// необходимо).
//
// Данная процедура должна быть помещена в окно номер 0
// UOPilot-а. Запускать предварительно процедуру не надо.
// Управление этой процедурой очуществляется из тела
// соответствующего макроса (описание управления в доке).
//
// Если вы хотите использовать хайд при перемещении,
// забиндите на F8 - Use skill hiding

// Блок создания необходимых переменных
// Не изменяйте их!!!
set #kudax charposx
set #kuday charposy
set #hide 0
set #trevoga 0 // пока не работает!!!
set #gotovo 0

// теперь процедура встает на паузу и ждет переназначения
// переменных из тела вашего макроса
pause_script

// Начинаем работу

// Описание принципов движения - схема koord.jpg
// Для передвижения чара необходимо проверить, чтобы
// клавиши Left, Right, Up, Down, Home, End, PgUp, PgDn
// не были забиндены для других действий!

// Особенности:
// 1. Перед любым движением вызывается процедура запоминания
// текущих координат чара. Это нужно для отлова ситуаций
// когда чар уперся в препятствие (сравнение координат чара
// до шага и после) - savepos
// 2. После каждого шага вызывается процедура проверки на хайд,
// если параметр "хайд" задан - то задается пауза и проверяется
// ластмессага на предмет "revealed". Если да, чар хайдится
// снова - hide
// 3. После этого вызывается процедура проверки на препятствие.
// Если координаты не изменились при движении - чар уперся.
// Кстати, проверить - в ряде случаев при движении первое движение
// в определенном направлении означает только поворот чара
// в нужном направлении. Надо отловить в каких случаях это происходит
// и задать для них дополнительно изменение направления чара перед
// движением. Идея: можно в savepos запоминать еще и направление
// ориентации чара. Если изменилось только это - чар не уперся.
// Если же чар и впрямь уперся - то вызываем процедуру обхода
// препятствий. Проверка - baffle, а обход препятствий - unblock

:nextstep

if (charposx = #kudax ) and ( charposy = #kuday )
// прибыли
set #gotovo 1
pause_script
end_if

// Расположение чара - Вариант 2
if charposx = #kudax
if charposy > #kuday
gosub savepos
send pageup
gosub hidden
gosub baffle
goto nextstep
end_if
if charposy < #kuday
gosub savepos
send end
gosub hidden
gosub baffle
goto nextstep
end_if
end_if

// Вариант 1
if charposy = #kuday
if charposx > #kudax
gosub savepos
send home
gosub hidden
gosub baffle
goto nextstep
end_if
if charposx < #kudax
gosub savepos
send pagedown
gosub hidden
gosub baffle
goto nextstep
end_if
end_if

// Вариант 3 и 4 - сводим к 1 и 2
if charposy < #kuday
if charposx < #kudax
gosub savepos
send down
gosub hidden
gosub baffle
goto nextstep
else
gosub savepos
send left
gosub hidden
gosub baffle
goto nextstep
end_if
else
if charposx < #kudax
gosub savepos
send right
gosub hidden
gosub baffle
goto nextstep
else
gosub savepos
send up
gosub hidden
gosub baffle
goto nextstep
end_if
end_if
// если добрались до сюда - я <вырезано анти-матом>
msg donkey!
set #gotovo 9
pause_script

:savepos
set #prevx charposx
set #prevy charposy
return

:hidden
if #hide = 1
// Если мы в хайде - надо паузу между шагами
wait 1000
if lastmsg been revealed
send F8
wait 1000
end_if
end_if
return

:baffle
// процедура проверки на препятствие и обход его если уперлись.
return




***********************************************FISHING**************************
************
:main
gosub fish
:fish
for #y -5 5 1
for #x -5 5 1
set lasttargetx charposx + #x
set lasttargety charposy + #y
set lasttargetkind 2
gosub fish2
end_for
end_for
return
:fish2
set #p 0
:fishing
send F6 4000
if (lastmsg that is too) or (lastmsg there are no)
return
end_if
set #p #p + 1
goto fishing
return
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
GeeZeR
сообщение 25.1.2009, 18:03
Сообщение #4


*

Registred
Сообщений: 2
Регистрация: 25.1.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 11.428



Как находчиво! Отличный пример, спасибо Fighterok, респект Edred !!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 25.4.2024, 9:10
Designed by Nickostyle