| Yoko http://forum.yoko.com.ua/ |
|
| Автосмена вооружения http://forum.yoko.com.ua/viewtopic.php?f=20&t=11938 |
Page 1 of 1 |
| Author: | ArNeithen [ 2007-05-10 20:27:13 ] |
| Post subject: | Автосмена вооружения |
Суть идеи: скрипт непрерывно проверяет расстояние до противника и если тот подходит в упор - меняет лук на оружие ближнего боя. Но (!) только если в руках экипирован лук в этот момент. Я дошёл вот до этого: Code: sub AutoChange() Был ещё вариант аналогичный, но через Code: uo.GetDistance('laststatus')
Ошибка выскакивает в строчке с if - очевидно, что так сравнивать нельзя... Подскажите пожалуйста как правильно сделать? . |
|
| Author: | Rivory [ 2007-05-10 21:30:56 ] |
| Post subject: | |
Если я не ошибаюсь, надо юзать такую конструкцию Code: str(uo.getX.... в сравнениях, т.к. нам нужно число в сравнениях, а uo.getX передаёт чтото другое (в одной теме Дестракшен чтото такое обьяснял) тоесть твой текст должен быть таким Code: if (str(UO.GetX('laststatus'))-str(UO.GetX('self')))<2 or (str(UO.GetY('laststatus'))-str(UO.GetY('self')))<2
|
|
| Author: | ArNeithen [ 2007-05-10 21:34:51 ] |
| Post subject: | |
Rivory wrote: Если я не ошибаюсь, надо юзать такую конструкцию
..... То есть модификация в исходном виде: Code: sub AutoChange() А всё равно parse error в стоке с if ... . |
|
| Author: | Nmy [ 2007-05-10 22:39:01 ] |
| Post subject: | |
Code: uo.getdistance([object]) Code: UO.Exec("exec sword") на Code: uo.usetype('0x0000')Code: if UO.Equipt('Lhand','0x13B1') здесь неправильно... Code: sub main() |
|
| Author: | ArNeithen [ 2007-05-11 07:46:42 ] |
| Post subject: | |
Не проходит проверка Code: uo.getlayer('0x13B1')=="Rhand"Тест такой был: Code: sub AutoChange() Ведь по идее в таком виде он должен вообще сразу менять оружие если вдруг лук да окажется в руках, м? Не проходит... =/ |
|
| Author: | Nmy [ 2007-05-11 08:22:51 ] |
| Post subject: | |
возьми глаза в руки |
|
| Author: | ArNeithen [ 2007-05-11 09:23:44 ] |
| Post subject: | |
Mr Nmy wrote: возьми глаза в руки
Если вы про Code: uo.getlayer('_0x13B1')=="Rhand"
То со слэшем тоже не работает... Rhand или Lhand не влияет... |
|
| Author: | Nmy [ 2007-05-11 12:21:38 ] |
| Post subject: | |
я тестил и у меня все работало а зачем слеш нужен- зайди в хелпе, посмотри линк objects обрати внимание Code: if uo.getdistance('lastattack') < 2 and uo.getlayer('_0x13B1')=="Rhand" then
если последний атакуемый в растояние меньше чем в 2 клетки и одет такой тип в руке, то переодевать то и то |
|
| Author: | Destruction [ 2007-05-11 12:42:56 ] |
| Post subject: | |
Code: sub WeaponChanger() |
|
| Author: | ArNeithen [ 2007-05-11 13:00:18 ] |
| Post subject: | |
2Mr Nmy Ага, нашёл у себя ошибку ) Огромное спасибо, теперь всё работает. ) 2Destruction За ваш вариант - отдельно, то что нужно ) Благодарю |
|
| Author: | Destruction [ 2007-05-12 01:20:11 ] |
| Post subject: | |
ArNeithen wrote: 2Mr Nmy Ага, нашёл у себя ошибку ) Огромное спасибо, теперь всё работает. )
2Destruction За ваш вариант - отдельно, то что нужно ) Благодарю У меня пустой цикл был.. поправил |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|