Mining v 3.7

Ask for help

Moderators: Murderator+, Murderator

Post Reply
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Mining v 3.7

Post by SoulMaster »

У меня есть скрипт майнинг 3.7 написанный ветеранном и кулером... вот... вообщем толи это баг толи ещё что то но:

когда появляется ПК чар реколится домой, скидывает руду и СРАЗУ после скидывания реколиться в шахту... что делать? :(
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Post by SoulMaster »

подскажите пожалуйста что не так...
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

Это он над ПК издевается. :lol:
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Post by SoulMaster »

шутник... срипт написать? я просто не понимаю где там функцию recall :(
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

SoulMaster wrote:шутник... срипт написать? я просто не понимаю где там функцию recall :(


Напиши. Только в CODE, иначе даже смотреть не стану.
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Post by SoulMaster »

Code: Select all

 ############################################ 
###    Mining / Копание руды v3.7 Full   ###
############################################
###    Шард Dragon World / www.*******   ###
############################################
### Внимание:
### Для  работы скрипта нужна версия YokoInjection 4DZ.
### Скачать dll этой версии можно                     
### от сюда:***************     
##########################################################
### Авторы:
### - 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='0x40041342' - 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 - для тех кто предпочитает копать вручную, этот файл-патч отделяет тайлы в пещерах друг от друга,
### что приводит к более комфортабельному копанию.
### Линк(ссылка):
### *********************
###
### 2)clean dungeons - в пещерах и подземельях не виден всякий мусор, как то: кости, мусор, большая паутина,
### все сталагмиты заменены на маленькие и т.д.
### Линк(ссылка):
### ***********************
###
### 3)ore mod - большое количество руды (больше 4 шт.) выглядит как маленькая кучка (3 шт.),
### а изображение руды в количестве одной и двух штук уменьшено.
### Линк(ссылка):
### ****************
###
### Все патчи проверены и протестены, но скрипт работает и без них, так что ставить или нет - это ваше решение.
###
### Удачи и приятного Мининга. 8)
#####################################################################
##################
### Переменные ###
##################
### var TryToHide=1 ## - 1 - Включить уход в хайд перед копанием, 0 - выключить(советую включить 8)).
### var WaitTime=18000 ## - Время в секундах при ожидании пока уйдет ПК
### (ставьте скока считаете нужным, время в секундах).
### var MaxWeight=800 ## - Вес при котором реколимся домой(как тока накопает руды до этого веса реколится,
### ставьте максимальный вес который может унести чар).
###
### После настройки:
### Идите в шахту в которой вы хотите копать.
### Запустите cкрипт Mining(), Инжект попросит вас указать Лопату
### (появится прицел, прицелом на лопату который вы с собой взяли), потом инжект попросит вас указать Рунбук(появится прицел, прицелом на него).
### После этого чар "уйдет" в хайд и будет копать вокруг себя.
###########
### Код ###
###########
sub Mining()
var mX, mY, mZ, i, j, jor, ser, noto
######################
### Меню / Options ###
######################
#################################################################################
###
var TryToHide=1 ## - 1 - Включить уход в хайд перед копанием, 0 - выключить.
###
var WaitTime=18000 ## - Время в секундах при ожидании пока уйдет ПК.
###
var MaxWeight=500 ## - Вес при котором реколимся домой.(Максимальный вес)
###
var Reconnect=0 ## 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(18000)
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='0x402AA32D' ## - 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('0x1F15',-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:\Ultima Online\Injection\Lumb Sound\humiliation.wav")
endsub

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:\Ultima Online\Injection\Lumb Sound\humiliation.wav")
endsub

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
Last edited by SoulMaster on 2004-10-28 19:47:11, edited 1 time in total.
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Post by SoulMaster »

первая часть вступление.. можешь не читать :)
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Post by SoulMaster »

после рекола от ПК закидывает руду а затем идет фраза след. типа:

Set:
ID

потом Unset:
ID: 0x000000000
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

270 строка.
Вместо wait(3000) впиши сколько тебе надо.
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Post by SoulMaster »

AGRS wrote:270 строка.
Вместо wait(3000) впиши сколько тебе надо.


а если не секрет что даст? :)
SoulMaster
Posts: 20
Joined: 2004-10-11 19:35:24

Post by SoulMaster »

понял...а тут все время в секундах? почему тогда у меня 5 мин а телепорт сразу?
Bloodmoon
Posts: 128
Joined: 2004-06-23 08:55:32

Post by Bloodmoon »

SoulMaster wrote:
AGRS wrote:270 строка.
Вместо wait(3000) впиши сколько тебе надо.


а если не секрет что даст? :)

Это тебе даст то,что ты сумеешь подождать,пока ПКашник смоеться из шахты :).
AGRS
Expert!
Posts: 1007
Joined: 2004-04-04 21:40:09
Contact:

Post by AGRS »

SoulMaster wrote:понял...а тут все время в секундах? почему тогда у меня 5 мин а телепорт сразу?


В тысячных долях секунды.
GrayLord
Expert!
Posts: 333
Joined: 2004-06-04 03:24:25
Contact:

Post by GrayLord »

граждане... я не хочу сказать ничео плохого (хорошего, правда, тоже =)), но начитаешься, бывало, ваших мегатонных скриптов - кошмары снятся... я про то, что абсолютно нечитабельно большинство местного творчества. =)
Ex-Brodyaga
Junior Expert
Posts: 150
Joined: 2004-04-12 20:26:41

Post by Ex-Brodyaga »

Там в константах Ветеран задал waittime(строка 201) просто тот самый wait(3000), о котором говорит АГРЗ, измени на wait(waittime).
Post Reply