Скрипт на Мининг АВТОМАТ, ДОРАБОТКА СКРИПТА
Сержант (544112)10 лет
Ranger
Сообщений: 5
Рег. 20.06.2014
17 февраля 2016 12:20
Сообщение #1
Ребят кто смыслит в скриптах помогите доработать


############################################
### Mining / Копание руды v3.7 Full ###
############################################
### Внимание:
### Для работы скрипта нужна версия YokoInjection 4DZ.
### Скачать dll этой версии можно
### от сюда: www.swines.nm.ru/injection.zip
##########################################################
### Авторы:
### - BETEPAH реавтор, главный скриптер.
### - cOoler добавлял, редактировал перевод и скрипт.
### А также:
### -Большое Savage, за систему сброса руды.
############################################
#############################
### Описание и настройка ###
#############################
### Обратите внимание на значки "]![" ими выделенны важные сообщения.
###
### Чар стоит в пещере(не Vip) и копает вокруг себя.
### После достижения "максимального" веса(в данном случие это 625 стоунов)
### "порталится" домой скидывает руду в сундук, после реколится обратно и продолжает копать.
### Пример: стоите копаете, дошли до придела в 625 веса сработала система рекола
### и вы "порталитесь" домой и складываете руду в сундук,после вы реколитесь обратно в пещеру и продолжаете копать(цикличность).
###
####################
### Нововведения ###
####################
### 1)Руда складываются не на пол а в сундук. [BETEPAH]
### 2)Рекол в пещеру и домой по рунбуке(а не по рункам). [BETEPAH]
### 3)Система сброса руды переделана из MassMove(что в свою очередь иногда приписывалось как фаст лут)в перемещение через
### Масив.[написана Savage, встроена BETEPAH]
### 4)Упразнена система выбора "главных обьектов"(теперь просто указываем прицелом). [BETEPAH]
### 5)Добавлен реконнект и выбор его использования. [Fox M, поместил COoler]
### 6)Упразднена установка веса и время(пока уйдет ПК). [cOoler]
### 7)Добавлен выбор ставить или нет скрипт на паузу при выкопке Элементала. [cOoler]
### 8)Убыстрен рекол по руне(от ПК). [cOoler]
###
### ]![ Чтобы скрипт заработал внимательно прочтите настройки. ]![
###
###################################
### Режимы работы скрипта ###
###################################
### Работает в 2ух режимах: ###
### 1)Копание ###
### 2)Супорт ###
###################################
### Режим Первый - "Копание" ###
###################################
### "sub Mining()"
### Этот режим главный и отвечает за копание.
###
### Положите в суммку к себе рунбук(с рунами домой и в шахту), кирку или лопату, рунку к сундуку(по суте копия той что у вас
### в рунбуке).
### Идите в пещеру в котором вы хотите копать.
### Запустите Скрипт Mining(), инжект попросит вас указать кирку
### (появится прицел,прицелом на кирку которую вы с собой взяли), потом инжект попросит вас указать рунбук(появится прицел,
### прицелом на рунбук ).
### ]![ Внимание!!! В рунбуке руна в 1ом слоте "Домой", в 8ом "в Шахту". ]![
### ]![ Внимание в скрипте рунбуки настроены под ДРВ шард. ]![
### Инжект сообщит вам что "Пытаемся уйти в хайд..." тоесть чар уйдет в хайд.
### Чар автоматом возмет в руки кирку и начнет "окапаватся".
### Если выкопали Элементала то скрипт включит "серену" и встанет на паузу пока вы просто не скажите "GO".(так как вы в хайде)
### Если появился ПК то чар зареколится к сундуку (по рунке, так как на ДРВ рекол через рунбук 8,7 сек, а по рунке 2,3 сек)
### выкинет руду в сундук и будет ждать определенное время которое вы поставите в скрипте.
###
### Чтобы все заработало в скрипте поставте свои значения:
### var WaitTime=180000 - Время в секундах при ожидании пока уйдет ПК. [строка 153]
###
###################################
### Режим Второй - "Супорт" ###
###################################
### "DropOres()"
### Этот скрипт отвечает за сброс руды в сундук.
### После "рекола" домой чар при помощи этого скрипта сбросит руду в сундук (лучше в сейф).
### var UnloadCont='0x4028ED46' - ID сундука для сброса руды, поставте свой. [строка 196]
###
### "PKDanger()"
### Скрипт "спасатель", отвечает за рекол по любой рунке у вас в паке + реги (включается если прешел ПК)
### будет пытатся реколится пока не "улетит" из пещеры (защита от физла).
###
### "ElementalDanger()"
### Скрипта пауза если выкопали Элементала.
### Если вы выкопали Элементала скрипт как бы "зависнет"(встанет на паузу) за это время вы можете убить Элементала,
### привратившись в Демона или привести Дракона.
### После просто скажите в игре "GO" и чар продолжит копать.
###
### "ElementalAlarmSound() и PKAlarmSound()"
### Скрипты "сирены" отвечают за проигрование Звуковых файлов (wav) при выкапывании элема или поялении ПК
### uo.PlayWav("D:\Ultima Online\Injection\Lumb Sound\humiliation.wav") - укажите на примере этого путь к своим файлам. [строчки 239 и 243]
###
######################################
### Дополнительные функции скрипта ###
######################################
### В скрипте 3 доп. функции: ###
### 1)Побег при Появлении ПК ###
### 2)Пауза при Выкапывании Элема ###
### 3)Реконнект ###
#################################################
### Функция Первая - "Побег при Появлении ПК" ###
#################################################
### Этот режим соответственно отвечает за Побег при появлении пк.
###
### Побег происходит так:
### Замарчите Руну возле сундука.
### Положите к себе в сумку
### Руну(которую замарчили) и Реагенты.(Black Pearls,Blood Moss,Mandrake Root.)
### ]![ Внимание руна должна лежать в стандартном положении(как продается, только замарканная). ]![
### При появлении пк,прозвучит сигнал-
### uo.PlayWav("D:\Ultima Online\Injection\Lumb Sound\humiliation.wav")
### - Здесь можете сменить чтобы был звук при появлении ПК.
### чар автоматически телепортнется к сундуку.
### При этом выложит всю руду в сундук и будет "ждать"
### время которое вы указали в переменной - var WaitTime=18000.
### Чар подождет указанное время а потом портанется обратно, встанет в хайд и продолжит копать.
###
######################################################
### Функция Вторая - "Пауза при Выкапывании Элема" ###
######################################################
### Этот режим соответственно отвечает за Паузу при выкапывании Злементала.
### Включается переменной var ElementalPause=1 ## 1 - Включить паузу при выкапывании Элементала, 0 - выключить.
### То есть если ElementalPause=1 скрипт будет вставать на паузу.
###
### При паузе:
### Поставте переменную ElementalPause равную 1 (ElementalPause=1).
### Если чар выкопает элема,то прозвучит сигнал который вы указали -
### uo.PlayWav("D:\Ultima Online\Injection\Lumb Sound\humiliation.wav")
### - Здесь можете сменить чтобы был звук при выкапывании Элементала.
### и скрипт встанет на паузу до того времени как вы ненапишите в игре "GO".
### После того как вы напишите "GO" чар продолжит копать.
###
####################################
### Функция Третья - "Реконнект" ###
####################################
### Этот режим соответственно отвечает за Реконнект при выкидывании с сервера.
### Включается переменной var Reconnect=0 ## 1 - Включить реконнект на сервер если выкинет, 0 - отключить реконнект.
### То есть если Reconnect=1 чар будет реколиться при атаке.
###
### Реконнект происходит так:
### Поставте переменную Reconnect равную 1 (Reconnect=1).
### Если вдруг повиснет игровая сфера или вас выкинет по любой другой причине
### реконнектор законнектит вса на сервер автоматически.
### Пишется время дисконнекта и коннекта на сервер.
###
### Настройте скрипт под себя при помощи переменных.
###
#####################
### Патчи Вердаты ###
#####################
### Сдесь я приведу пару ссылок на патчи которые помогут вам копать:
###
### 1)cave floor - для тех кто предпочитает копать вручную, этот файл-патч отделяет тайлы в пещерах друг от друга,
### что приводит к более комфортабельному копанию.
### Линк(ссылка):
### www.drguild.fatal.ru/files/verdata/cavefloor.exe
###
### 2)clean dungeons - в пещерах и подземельях не виден всякий мусор, как то: кости, мусор, большая паутина,
### все сталагмиты заменены на маленькие и т.д.
### Линк(ссылка):
### www.drguild.fatal.ru/files/verdata/cleandungeons.exe
###
### 3)ore mod - большое количество руды (больше 4 шт.) выглядит как маленькая кучка (3 шт.),
### а изображение руды в количестве одной и двух штук уменьшено.
### Линк(ссылка):
### www.drguild.fatal.ru/files/verdata/ore.exe
###
### Все патчи проверены и протестены, но скрипт работает и без них, так что ставить или нет - это ваше решение.
###
### Удачи и приятного Мининга. 8)
#####################################################################
##################
### Переменные ###
##################
### var TryToHide=1 ## - 1 - Включить уход в хайд перед копанием, 0 - выключить(советую включить 8)).
### var WaitTime=18000 ## - Время в секундах при ожидании пока уйдет ПК
### (ставьте скока считаете нужным, время в секундах).
### var MaxWeight=740 ## - Вес при котором реколимся домой(как тока накопает руды до этого веса реколится,
### ставьте максимальный вес который может унести чар).
###
### После настройки:
### Идите в шахту в которой вы хотите копать.
### Запустите cкрипт Mining(), Инжект попросит вас указать Лопату
### (появится прицел, прицелом на лопату который вы с собой взяли), потом инжект попросит вас указать Рунбук(появится прицел, прицелом на него).
### После этого чар "уйдет" в хайд и будет копать вокруг себя.
###########
### Код ###
###########
sub Mining()
var mX, mY, mZ, i, j, jor, ser, noto
######################
### Меню / Options ###
######################
#################################################################################
###
var TryToHide=1 ## - 1 - Включить уход в хайд перед копанием, 0 - выключить.
###
var WaitTime=18000 ## - Время в секундах при ожидании пока уйдет ПК.
###
var MaxWeight=640 ## - Вес при котором реколимся домой.(Максимальный вес)
###
var Reconnect=1 ## 1 - Включить реконнект на сферу при дисконнекте, 0 - выключить.
###
var ElementalPause=1 ## 1 - Включить паузу при выкапывании Элементала, 0 - выключить.
###
uo.Set('norbcheck','1') ## - Для рекола.
###
uo.Set('norbcalc','1') ## - Для рекола.
###
#################################################################################

uo.Print('Выбери Лопату: ')
uo.Exec('addobject Shovel')
while uo.Targeting()
wait(100)
wend

uo.Print('Выбери Рунбук: ')
uo.Exec('addobject Runebook')
while uo.Targeting()
wait(100)
wend

if Reconnect==1 then
uo.Exec('exec Reconnect')
end if

beginning:
mX = uo.getX("self")
mY = uo.getY("self")
mZ = uo.GetZ("self")
uo.DeleteJournal()
for i = mX-4 to mX+4
for j = mY-4 to mY+4

if TryToHide==1 then
ToHide()
end if

uo.Print("Копаем в координатах: "+str(mX-i)+" "+str(mY-j))
while not uo.InJournal("no ore here") and not uo.InJournal("location") and not uo.InJournal("far away") and not uo.InJournal("in rock") and not uo.InJournal("Iron Ore") and not uo.InJournal("Copper") and not uo.InJournal("Rusty Ore")
uo.DeleteJournal()
if uo.Waiting() then
uo.Canceltarget()
end if
uo.Waittargettile("1341", str(i), str(j), str(mZ))
uo.Useobject("Shovel")
while not uo.InJournal("You put") and not uo.InJournal("heavy") and not uo.InJournal("location") and not uo.InJournal("no ore") and not uo.InJournal("but fail") and not uo.InJournal("far away") and not uo.InJournal("in rock")
wait(500)

if ElementalPause==1 then
if uo.InJournal("OOPS!!!") or uo.InJournal("is attacking you") or uo.Dead() then
ElementalAlarmSound()
ElementalDanger()
end if
end if

for jor = 0 to 9
ser = uo.JournalSerial(jor)
noto = uo.GetNotoriety(ser)
if noto <> 1 and noto <> 0 and not uo.InJournal("Elemental") then
if uo.Waiting() then
uo.CancelTarget()
endif
PKAlarmSound()
PKDanger()
wait(WaitTime)
DropOres()
wait(3000)
goto reccal
end if
next
wend
if uo.Weight>MaxWeight then
goto end
end if
wend
uo.DeleteJournal()
next
next
goto beginning
end:
if uo.Waiting() then
uo.CancelTarget()
end if
uo.Print('Прыгаем Домой.')
uo.Exec('recall Runebook 21')
wait(10000)
DropOres()
wait(3000)
reccal:
uo.DeleteJournal()
if uo.Waiting() then
uo.CancelTarget()
end if
uo.Print('Прыгаем в Шахту.')
uo.Exec('recall Runebook 94')
mX = uo.getX("self")
mY = uo.getY("self")
wait(10000)
if not uo.getX("self") <> mX and not uo.getY("self") <> mY then
goto reccal
end if
goto beginning
end sub

sub ToHide()
while not uo.Hidden()
uo.Print('Пытаемся уйти в хайд...')
uo.DeleteJournal()
uo.UseSkill('Stealth')
wait(4100)
wend
wait(100)
end sub

sub DropOres()
if uo.Waiting() then
uo.CancelTarget()
end if
var a, Exit
var UnloadChest='0x402547D1' ## - ID сундука для сброса руды.
DIM Ore[5]
Ore[0]=0x19B9 ## - 4 and more ore
Ore[1]=0x19B7 ## - 1 ore
Ore[2]=0x19BA ## - 2 ore
Ore[3]=0x19B8 ## - 3 ore
uo.SetReceivingContainer(UnloadChest)
wait(500)
for a=0 to 3
exit=0
repeat
uo.FindType(Ore[a])
if uo.GetQuantity('finditem')>0 then
uo.Grab('0','finditem')
wait(1500)
else
exit=1
end if
until Exit==1
next
uo.UnSetReceivingContainer()
end sub

sub PKDanger()
var mX, mY
reccal:
uo.DeleteJournal()
if uo.Waiting() then
uo.CancelTarget()
end if
mX = uo.getX("self")
mY = uo.getY("self")
uo.DeleteJournal()
uo.FindType('0x1F14',-1,'mY')
### wait(200)
uo.Print('ПК! Реколимся!')
uo.Cast('Recall','finditem')
wait(4000)
if not uo.getX("self") <> mX and not uo.getY("self") <> mY then
goto reccal
end if
end sub

sub PKAlarmSound()
uo.PlayWav("D:\uo\Usher-Yeah.wav")
end sub

sub ElementalDanger()
uo.DeleteJournal()
repeat
wait(1000)
uo.Print('Выкопан Элементал!')
wait(3000)
uo.Print('Скрипт на паузе!')
until uo.InJournal('GO')
uo.Print('Скрипт продолжен!')
end if
end sub

sub ElementalAlarmSound()
uo.PlayWav("D:\uo\Usher-Yeah.wav")
end sub

sub Reconnect()
var reconnectTime, rFlag
reconnectTime = '0'
rFlag = 1
repeat
while (uo.ObjAtLayer('Bpack') == '')
if rFlag then
reconnectTime = MakeTime()
rFlag = 0
endif
wait(20000) ## - WorldSave.
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.TextOpen()
uo.TextPrint('Disconnected & Reconnected @ '+reconnectTime)
rFlag = 1
reconnectTime = '0'
end if
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
end if
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
end if
next
ret = t + " @ " + d
return ret
end sub
########################
Лейтенант (4548828)11 лет
Dragonstalker
Сообщений: 3319
Рег. 19.11.2013
17 февраля 2016 15:59
Сообщение #2
Помочь то не проблема. Проблема понять - для чего? На шарде введено ограничение на добычу ресурсов. Реально будете вводить 100500 чаров с разных IP что бы добывать 10К железа в день? :crazy:
Полковник (15397470)11 лет
Dragonstalker
Сообщений: 1870
Рег. 21.06.2013
18 февраля 2016 02:56
Сообщение #3
рунбук у нас нету , в скрипте чар посто капает вокруг себя без передвижений что к нам не подойдет.
Последние посетители (0):

 
Сейчас: 24 ноября 2024 04:21