Десять уроков скриптинга (урок 4)
Moderators: Murderator+, Murderator
Code: Select all
sub F_Mining_ORE()
; ****************************************
var MaxRange = 2 ; <--
; ****************************************
var X, Y, mX, mY, mZ, TrW, TrWeight, TrT, TrTime, Tiles
UO.Resend()
wait(2000)
mX = UO.GetX('self')
mY = UO.GetY('self')
mZ = UO.GetZ('self')
for Y = MaxRange - ( MaxRange * 2 ) to MaxRange
for X = MaxRange - ( MaxRange * 2 ) to MaxRange
Tiles = F_HarvestTiles(mX+X, mY+Y)
if Tiles then
repeat
UO.DeleteJournal()
; **************** STOP *****************
if not UO.Count(0x0E86) || UO.Weight >= UO.STR*3.8 || UO.Dead() then ; <-- Pickaxe
UO.Print('STOP!!! Max Weight or NO Pickaxe or Dead')
return 0
endif
; ***************************************
TrTime = UO.Timer()
TrWeight = UO.Weight
UO.WaitTargetTile(Tiles, mX+X, mY+Y, mZ)
UO.UseType(0x0E86) ; <-- Pickaxe
repeat
wait(200)
TrW = TrWeight<>UO.Weight
TrT = UO.Timer()>TrTime+120
until UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xAD03|0x6B31|0xEE46|0xA866|0xA867") || TrW || TrT
until UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xA866|0xA867") || TrT
endif
next
next
return 1
end sub
sub F_HarvestTiles(X,Y)
if UO.PrivateGetTile(X, Y, -1, 1339, 1370) then
for var i=1339 to 1370
if UO.PrivateGetTile(X, Y, -1, i, i) then
return i
end if
next
end if
return 0
end sub
а так..
Code: Select all
sub F_Mining_ORE()
; ****************************************
var MaxRange = 2 ; <--
; ****************************************
var X, Y, mX, mY, mZ, TrW, TrWeight, TrT, TrTime, Tiles
;выбрать тайл для копки
mX = UO.GetX('self')
mY = UO.GetY('self')
mZ = UO.GetZ('self')
for Y = MaxRange - ( MaxRange * 2 ) to MaxRange
for X = MaxRange - ( MaxRange * 2 ) to MaxRange
;проверим тайл на возможность копки
Tiles = F_HarvestTiles(mX+X, mY+Y)
;если ноль, то руды там нет... пропускаем
if Tiles then
repeat
UO.DeleteJournal()
UO.WaitTargetTile(Tiles, mX+X, mY+Y, mZ)
UO.UseType(0x0E86) ; <-- Pickaxe
repeat
wait(200)
; Cliloc
until UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xAD03|0x6B31|0xEE46|0xA866|0xA867")
until UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xA866|0xA867")
endif
next
next
return 1
end sub
; функция проверки, копать можно только от 1339 до 1370
sub F_HarvestTiles(X,Y)
if UO.PrivateGetTile(X, Y, -1, 1339, 1370) then
for var i=1339 to 1370
if UO.PrivateGetTile(X, Y, -1, i, i) then
return i
end if
next
end if
return 0
end sub
Code: Select all
UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xAD03|0x6B31|0xEE46|0xA866|0xA867")
until UO.InJournal("0xAD00|0xAD02|0xAD01|0xA2DE|0xA866|0xA867")
endif
next
next
return 1
end sub
Меня больше это смущало )
-
- Posts: 270
- Joined: 2006-08-05 14:09:06
- Contact:
Задаем прицел
Ждем ответа
Ловушку на животное
Пример:
Code: Select all
uo.exec('addobject Animal')
Ждем ответа
Code: Select all
while uo.targeting()
Ловушку на животное
Code: Select all
UO.WaitTargetObject('Animal')
Пример:
Code: Select all
var mod=1
##
sub main()
uo.exec('addobject Animal')
while uo.targeting()
wait(100)
wend
wait(1000)
while NOT UO.Dead()
UO.DeleteJournal()
UO.WaitTargetObject('Animal')
UO.Useskill('Animal Taming')
repeat
wait(1000)
until UO.InJournal('You fail') OR UO.InJournal('The') OR UO.InJournal('It seems ')
If Uo.InJournal('The') OR UO.InJournal('It seems ') Then
If mod==0 Then
UO.Say('all release')
Endif
If mod==1 Then
UO.useobject('Animal')
Endif
Endif
wend
end sub
ДРВ
Spoiler
_________________
Антарес
Spoiler|Gostrabaiter|Umhra|Slog
Spoiler
_________________
Антарес
Spoiler|Gostrabaiter|Umhra|Slog
есть замечательный раздел сайта:
http://yoko.com.ua/help/
там написано что
А пример скрипта
хотя имхо такие вопросы не здесь лучше задавать
http://yoko.com.ua/help/
там написано что
Описание: waittargetobject •
Синтакс: ,waittargetobject object [object2]
none uo.waittargetobject(object,[object2])
Тема: Прицелы Ключевые слова: command, uoscript, objhandling, waitsystem
Устанавливает на обьект object ловушку прицела.
Следующий прицел, который будет запрошен сервером, будет направлен на этот обьект.
Если задан второй обьект, object2, то после срабатывания ловушки будет установлена ловушка на обьект object2.
См. так же waittargettype, waittargetground, poison, waittargettile, findtype.
А пример скрипта
Code: Select all
sub Herding()
var posoh = "0x0E81"
uo.print('Укажите животное - ')
uo.addobject('Animal')
while uo.targeting()
wait(100)
wend
repeat
uo.waittargetobject('Animal','self')
uo.usetype(posoh)
Uo.DeleteJournal()
repeat
wait(500)
until uo.injournal('You can|You don|не получилось|animal')
until uo.dead()
endsub
хотя имхо такие вопросы не здесь лучше задавать
Miha* wrote:А как быть например когда качаеш хердинг, там же два таргета, как это всё обустроить, во туже пол часа мучуюсь, никак не магу сделать, помагите пожалуйсто, дайте хотябы какиенить наброски с двумя таргеатми от использования одного итема..
Code: Select all
Синтакс: ,waittargetobject object [object2]
none uo.waittargetobject(object,[object2])
Уроки языка Injection
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net
Основные команды языка Injection
Yoko Injection Code Sweeper
Drw (2009) скрипты
2017 Начал играть на Uorpg.net