Быстрый реколл!

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
worm90
Posts: 14
Joined: 2006-02-05 13:29:09
Contact:

Быстрый реколл!

Post by worm90 »

Ребят я тут в поисковике искал.... и нашёл только команду для привязаной клавиши. Это хрень - мне надо чтоб чел при виде любого человека реколился по рунке, т к он в шахте стоит батрачит. Просто хочу этот скрипт интегрировать в скрипт ветерана, который я немного переделал:

Code: Select all

############################################
### Manning / Шахтер v2.3 ###
############################################
### Шард Dragon World / www.drw.ru
###################################
### Режимы работы скрипта ###
###################################
### Режим - "Копание".###
###################################
###
### "sub maning()"
### Этот скрипт главный и отвечает за копание.
###
### Положите в суммку к себе Рунбук(с Рунами домой и в лес), Кирку (лопату),рунку к сундуку(по суте копия той что у вас
### в рунбуке).Идите в пещеру в котором вы хотите копать.Запустите Скрипт maning(),Инжект попросит вас указать кирку
### (появится прицел,прицелом на кирку которую вы с собой взяли),потом инжект попросит вас указать Рунбук(появится прицел,
### прицелом на Рунбук ) Внимание!!! В РУНБУКЕ РУНА В 1ом слоте ДОМОЙ,в 8ом В пещеру.
### ВНИМАНИЕ!!! В СКРИПТЕ НОМЕРА РУН В РУНБУКЕ НАСТРОЕНЫ ПОД DRW (шард).
### Инжект сообщит вам что ('Прячемся..') тоесть чар уйдет в хайд. Чар автоматом возмет в руки кирку и начнет "окапаватся".
### Если выкопали Элементала то скрипт включит "серену" и встанет на паузу пока вы просто не скажите GO.(так как вы в хайде)
### Если появился ПК то чар зареколится к сундуку (по рунке!! так как на ДРВ рекол через рунбук 8,7 сек,а по рунке 2,3 сек)
### выкинет руду в сундук и будет ждать определенное время которое вы поставите в скрипте.
###
### Чтобы все заработало !!в скрипте!! поставте свои значения:
### 1)wait(180000) -- время в секундах при ожидании пока уйдет ПК (строка 153).
### 2)if uo.weight > 625 then -- Максимальный вес при котором домой с рудой (строка 160).
###
###
##############################
### Режимы - "Супорт".###
##############################
### "loot()"
### Этот скрипт отвечает за сброс руды в сундук.
### После "рекола" домой чар при помощи этого скрипта сбросит руду в сундук (лучше в сейф).
### VAR UnloadCont='0x403C817C' ; ID сундука для сброса руды <<<< поставте свой (строка 196).
###
### "Save()"
### Скрипт "спасатель", отвечает за рекол по любой рунке у вас в паке + реги (включается если прешел ПК)
### будет пытатся реколится пока не "улетит" из пещеры (защита от физла).
###
### "pwav() и pwavw()"
### Скрипты "сирены" отвечают за проигрование Звуковых файлов (WAV) при выкапывании элема или поялении ПК
### uo.playwav("E:\UO\SOUND\sound .wav")<< укажите на примере этого путь к своим файлам (строчки 239 и 243).
###
### "Pause()"
### Скрипта пауза если выкопали Элема.
### Если вы выкопали Элема скрипт как бы "зависнет"(встанет на паузу) за это время вы можете убить элема,
### привратившись в Демона или привести Дракона.После просто скажите в игре GO и чар продолжит копать.
var RechargeBook=0 ## 1 - Фключить ф-цию перезарядки РунБуки, 0 - отключить.
#
sub maning()
var mx, my, mz, i, j, jor, ser, noto
Uo.exec("set norbcheck 1"); для рекола
uo.exec("set norbcalc 1"); тоже

uo.exec('addobject Runebook 0x40435E07'); ID моего РунБука
##while uo.targeting()
##wait(100)
##wend

STADIA1:
uo.exec("recall Runebook 94") ; в шахту ( в рунбуке слот 8 ), включается при диссконекте, если вдруг дисоннект произошёл, когда чар находился возле дома.
wait(10000)
na4alo:
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
while not UO.Hidden()
UO.Warmode("0")
uo.print("Прячемся...")
UO.UseSkill("Hiding")
wait(4000)
wend
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()
endif
UO.Waittargettile("1341", str(i), str(j), str(mz))
UO.Usetype("0x0E85")
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 uo.injournal("heavy") or uo.dead() then
pwav()                   
Pause()
endif
for jor = 0 to 9   
ser = uo.journalserial(jor)
noto = uo.getnotoriety(ser)
if noto <> 1 and noto <> 0 then
if uo.waiting() then
uo.canceltarget()
endif
Save()
pwavw()
wait(180000) ; время в секундах при ожидании пока уйдет ПК
loot()
wait(3000)
goto reccal
endif
next   
wend
if uo.weight > 625 then  ; Максимальный вес при котором домой с рудой
goto end
endif
wend
UO.DeleteJournal()
next
next
goto na4alo
end:
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 21") ; домой ( в рунбуке слот 1 )
wait(10000)
loot()
wait(3000)
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
uo.exec("recall Runebook 94") ; в шахту ( в рунбуке слот 8 )
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
endif
goto na4alo
end sub

sub loot()    ; перекладка руды в сундук
if uo.waiting() then
uo.canceltarget()
endif
VAR a,Exit
VAR UnloadCont='0x403C817C' ; АЙДИ сундука для руды
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(UnloadCont)
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
endif
until Exit==1
Next
UO.UnSetReceivingContainer()
end sub

sub Save() ; Реколл от ПК при их появлении (в паке рунка в безопасное место и реги)
var mx, my
reccal:
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
endif
mx = UO.GetX("self")
my = UO.GetY("self")
UO.DeleteJournal()
UO.FindType('0x1F14',-1,'my')
wait(200)
UO.Cast('Recall','finditem')
wait(4000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
goto reccal
endif
end sub

sub Reconnector()
var ReconnectTime, RFlag
ReconnectTime = '0'
RFlag = 1
Repeat
   While (uo.ObjAtLayer('Bpack') == '')
      if RFlag Then
         ReconnectTime = MakeTime()
         RFlag = 0
      endif
      Wait(70000) # WorldSave Protection
      uo.Say('')
      Wait(5000)
      uo.Say('')
      Wait(5000)
      uo.Say('')
      Wait(5000)
      uo.LDblClick(357,164)
      uo.LClick(616,459)
      Wait(5000)
   WEnd
   Wait(3000)
   if (RFlag == 0) and (ReconnectTime <> '0') Then
      uo.TextOpen()
      uo.TextPrint('Disconnected & Reconnected @ '+ReconnectTime)
      uo.RClick(196,193)
      wait(2000)
      uo.RClick(196,193)
      wait(2000)
      uo.useobject('self')
      wait(2000)
      uo.useobject('backpack')
      wait(2000)
      uo.Exec('terminate maning')
      wait(5000)
      uo.Exec('exec maning')
      wait(5000)
      RFlag = 1
      ReconnectTime = '0'
   endif
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
   EndIf
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
   EndIf
Next
Ret = T + " @ " + D
RETURN Ret
end sub
Post Reply