Page 3 of 3
Posted: 2007-11-14 19:21:09
by Kitten
Sanch wrote:За работоспособность не ручаюсь, если выдержки между тагетами на пушку и противника хватит для установки ловушки инжектом на противника то работать будет теоретически, другие способи таргетинга чреваты баном, вобщем тести.
Code: Select all
sub BuM()
var c, aim, pushka
uo.print('Укажите сундук с ядрами')
uo.exec('addobject Sunduk')
while uo.targeting()
wait(100)
wend
uo.useobject('Sunduk')
wait(1000)
checklag()
uo.set('finddistance', '3')
uo.findtype('0x0e8d', '-1', '1')
if uo.findcount() > 0 then
pushka = uo.getserial('finditem')
else
uo.print('Рядом нет пушки, вырубаю скрипт')
return
endif
uo.ignore('self', 'on')
uo.set('finddistance', '15')
DIM Chars[2]
Chars[0] = '0x0190' #тип игрока мужского пола#
Chars[1] = '0x0191' #тип игрока женского пола#
while not uo.dead()
for c = 0 to 1
uo.findtype(Chars[c], '-1', '1')
if uo.findcount() > 0 then
aim = uo.getserial('finditem')
uo.findtype('0x0e73', '-1', 'Sunduk')
if uo.fincount() == 0 then
uo.print('Нет ядер в сундуке, вырубаю скрипт')
return
else
uo.waittargetobject( pushka )
uo.useobject('finditem')
while uo.targeting()
wait(10)
wend
uo.waittargettype( aim )
wait(3000)
endif
else
wait(100)
endif
next
wend
end sub
sub checklag()
uo.click('backpack')
while not uo.injournal('backpack')
wait(100)
wend
uo.deletejournal('backpack')
end sub
вот этот конкретно не работает. После юза ядер на пушку не тыкает так сказать

. Если я его насильно (uo.lclick) направляю на пушку, потом не может найти мишень. А иногда все таки пытается стрельнуть в себя. Кому не лень, помогите пожалуйста.
Posted: 2007-11-14 20:11:30
by Grin
Code: Select all
sub BuM()
var c, aim, pushka
uo.print('Укажите сундук с ядрами')
uo.addobject('Sunduk')
while uo.targeting()
wait(100)
wend
uo.useobject('Sunduk')
wait(1000)
checklag()
uo.set('finddistance', '3')
uo.findtype('0x0e8d', '-1', '1')
if uo.findcount() then
pushka = uo.getserial('finditem')
else
uo.print('Рядом нет пушки, вырубаю скрипт')
return
endif
uo.ignore('self')
uo.set('finddistance', '15')
DIM Chars[2]
Chars[0] = '0x0190' #тип игрока мужского пола#
Chars[1] = '0x0191' #тип игрока женского пола#
while not uo.dead()
for c = 0 to 1
uo.findtype(Chars[c], '-1', 'ground')
if uo.findcount() then
aim = uo.getserial('finditem')
uo.findtype('0x0e73', '-1', 'Sunduk')
if not uo.fincount() then
uo.print('Нет ядер в сундуке, вырубаю скрипт')
return
else
uo.waittargetobject( pushka, aim )
uo.useobject('finditem')
wait(3000)
if uo.Waiting() then
uo.canceltarget()
end if
endif
else
wait(100)
endif
next
wend
end sub
sub checklag()
uo.click('backpack')
while not uo.injournal('backpack')
wait(100)
wend
uo.deletejournal('backpack')
end sub
Posted: 2007-11-14 20:49:37
by Kitten
Grin wrote:Code: Select all
sub BuM()
var c, aim, pushka
uo.print('Укажите сундук с ядрами')
uo.addobject('Sunduk')
while uo.targeting()
wait(100)
wend
uo.useobject('Sunduk')
wait(1000)
checklag()
uo.set('finddistance', '3')
uo.findtype('0x0e8d', '-1', '1')
if uo.findcount() then
pushka = uo.getserial('finditem')
else
uo.print('Рядом нет пушки, вырубаю скрипт')
return
endif
uo.ignore('self')
uo.set('finddistance', '15')
DIM Chars[2]
Chars[0] = '0x0190' #тип игрока мужского пола#
Chars[1] = '0x0191' #тип игрока женского пола#
while not uo.dead()
for c = 0 to 1
uo.findtype(Chars[c], '-1', 'ground')
if uo.findcount() then
aim = uo.getserial('finditem')
uo.findtype('0x0e73', '-1', 'Sunduk')
if not uo.fincount() then
uo.print('Нет ядер в сундуке, вырубаю скрипт')
return
else
uo.waittargetobject( pushka, aim )
uo.useobject('finditem')
wait(3000)
if uo.Waiting() then
uo.canceltarget()
end if
endif
else
wait(100)
endif
next
wend
end sub
sub checklag()
uo.click('backpack')
while not uo.injournal('backpack')
wait(100)
wend
uo.deletejournal('backpack')
end sub
безумное спасибо

, буду тестить
Posted: 2007-11-14 22:29:32
by Destruction
Можно для меня некоторые моменты пояснить?
Code: Select all
uo.useobject('Sunduk')
wait(1000)
checklag()
Зачем здесь пауза?.. У меня всегда отично работало и без wait.. Какие могут возникнуть проблемы, если убрать wait?
Какой контейнер соответствует единице?.. Теоретически - это должна быть земля?..
Code: Select all
wait(3000)
if uo.Waiting() then
uo.canceltarget()
end if
Не совсем понимаю.. Какой-нить checklag сюда может поставить и паузу сделать динамичной? Почему нет?..
Posted: 2007-11-14 22:40:51
by Grin
Code: Select all
wait(3000)
if uo.Waiting() then
uo.canceltarget()
end if
на случай если выстрел по какимто приинам не прошел. Сделал его РАБОТАЮЩИМ и только... По всем остальным вопросам к перво источнику...
Posted: 2007-11-14 22:53:02
by Destruction
Grin wrote:Code: Select all
wait(3000)
if uo.Waiting() then
uo.canceltarget()
end if
на случай если выстрел по какимто приинам не прошел. Сделал его РАБОТАЮЩИМ и только... По всем остальным вопросам к перво источнику...
Понятно.. По-принципу "вроде должен работать" и ладно
Не буду флудить, посмотрим, что скажет тестер, будут проблемы - исправим
Конкретно - меня в этом скрипте напрягает скорость, можно всё чуть быстрее делать, имхо. Нужные моменты я указал.
Posted: 2007-11-14 22:54:04
by Grin
проблема как минимум будет с обнаружением пушки на земле
Posted: 2007-11-14 22:59:13
by Destruction
Я бы предложил вот так:
Code: Select all
sub BuM()
var c, aim, pushka, counter
uo.print('Укажите сундук с ядрами')
uo.addobject('Sunduk')
while uo.targeting()
wait(100)
wend
uo.useobject('Sunduk')
checklag()
uo.set('finddistance', '3')
uo.findtype('0x0e8d', '-1', 'ground')
if uo.findcount() then
pushka = uo.getserial('finditem')
else
uo.print('Рядом нет пушки, вырубаю скрипт')
return
endif
uo.ignore('self')
uo.set('finddistance', '15')
DIM Chars[2]
Chars[0] = '0x0190' #тип игрока мужского пола#
Chars[1] = '0x0191' #тип игрока женского пола#
while not uo.dead()
for c = 0 to 1
uo.findtype(Chars[c], '-1', 'ground')
if uo.findcount() then
aim = uo.getserial('finditem')
uo.findtype('0x0e73', '-1', 'Sunduk')
if not uo.fincount() then
uo.print('Нет ядер в сундуке, вырубаю скрипт')
return
else
uo.waittargetobject( pushka, aim )
uo.useobject('finditem')
counter = 0
while uo.waiting() && counter < 30
wait( 100 )
counter = counter + 1
wend
if uo.Waiting() then
uo.canceltarget()
end if
endif
else
wait(100)
endif
next
wend
end sub
sub checklag()
uo.click('backpack')
while not uo.injournal('backpack')
wait(100)
wend
uo.deletejournal('backpack')
end sub
Posted: 2007-11-14 23:00:42
by Grin
предложение поддерживается:)