| Yoko http://forum.yoko.com.ua/ |
|
| uo.getname? http://forum.yoko.com.ua/viewtopic.php?f=20&t=13229 |
Page 1 of 1 |
| Author: | korzh [ 2008-02-11 21:46:31 ] |
| Post subject: | uo.getname? |
На мой взгляд одна из самых кривых функций в инжекте, но бывает очень необходимой. Вот почему Code: uo.getname('self')или Code: uo.getname('0x000000')работает нормально. А Code: id=uo.getserial(uo.TradeOpponent()) или Code: uo.GetName('laststatus')
через жопу? Была конечно идея получать имя путем клика + дергать последнюю строку журнала, но это работает через то же место. Как другими способами узнать имя объекта например для uo.TradeOpponent() ? |
|
| Author: | Destruction [ 2008-02-11 22:58:11 ] |
| Post subject: | |
uo.TradeName() PS: Никогда не испытывал проблем с uo.getName(), просто вы пользуете видимо неправильно. |
|
| Author: | Kynep [ 2008-02-11 23:16:41 ] |
| Post subject: | |
Destruction wrote: uo.TradeName()
PS: Никогда не испытывал проблем с uo.getName(), просто вы пользуете видимо неправильно. Есть такой косяк. Почему то когда делаешь: Code: VAR name, ser ни чего не выдает. странно правда? |
|
| Author: | Edred [ 2008-02-11 23:18:33 ] |
| Post subject: | |
Kynep wrote: Code: VAR name, ser Чего же тут странного? Раз поиск не делался, значит и finditem пустое. Раз пустое - имени нету. Все естественно. Это во-первых. Во-вторых. Инжекту просто негде взять имя чего-либо если клиент это имя не получал от шарда. Поэтому чтобы получить имя - нужно перед этим кликнуть по объекту / чару / НПС. Об этом, вообще-то, я еще во втором или третьем уроке скриптинга писал. Странно, что-то на этом форуме приписками "эксперт" разбрасываются направо-налево... Вон у Грина до сих пор "junior expert", а тут эксперт, который не знает элементарных вещей. |
|
| Author: | Kynep [ 2008-02-11 23:21:40 ] |
| Post subject: | |
Edred wrote: Kynep wrote: Code: VAR name, ser Чего же тут странного? Раз поиск не делался, значит и finditem пустое. Раз пустое - имени нету. Все естественно. Блин я утрирую, до этого поиск и все как надо ))) Просто если сделать: Code: UO.PrintText(UO.GetName(ser)) То все работает ))) |
|
| Author: | Edred [ 2008-02-11 23:22:27 ] |
| Post subject: | |
Я уже дописал свой пост, читай выше. |
|
| Author: | Kynep [ 2008-02-11 23:25:06 ] |
| Post subject: | |
Edred wrote: Я уже дописал свой пост, читай выше.
Уже прочитал. Я в курсе. |
|
| Author: | Kynep [ 2008-02-11 23:39:13 ] |
| Post subject: | |
Edred wrote: Я уже дописал свой пост, читай выше.
Просто даже если без клика сделать: Code: name = UO.GetName('finditem')и Code: UO.PrintText(UO.GetName('finditem'))
то в первом случае мы получим 0 а во втором имя. Вам не кажеться это странным? |
|
| Author: | Grin [ 2008-02-11 23:41:16 ] |
| Post subject: | |
Code: UO.PrintText(UO.GetName('finditem'))
А теперь сделай в обратном порядке;)) на предмете чье имя ты еще 100% не знаешь;) |
|
| Author: | Kynep [ 2008-02-12 00:04:37 ] |
| Post subject: | |
Grin wrote: Code: UO.PrintText(UO.GetName('finditem'))А теперь сделай в обратном порядке;)) на предмете чье имя ты еще 100% не знаешь;) Интерестная концепция ))) Я пробовал свои техники, указанные выше на элемах, при их появлении имя попадает в журнал в любом случае, даже без клика. Но вот в представленных мной прмерах получается косяк ))) |
|
| Author: | Grin [ 2008-02-12 00:07:02 ] |
| Post subject: | |
как же все сложно всем спокойной... |
|
| Author: | Kynep [ 2008-02-12 00:10:27 ] |
| Post subject: | |
Grin wrote: как же все сложно
В смысле? На что Вы намекаете? |
|
| Author: | Edred [ 2008-02-12 00:48:09 ] |
| Post subject: | |
Kynep wrote: Просто даже если без клика сделать: Code: name = UO.GetName('finditem')и Code: UO.PrintText(UO.GetName('finditem'))то в первом случае мы получим 0 а во втором имя. Вам не кажеться это странным? В первом случае поиск нашел объект, чье имя неизвестно, вот и 0. Во втором случае - объект, чье имя известно, вот и есть имя. Делаешь так: дисконнектишься, закрываешь клиент, запускаешь по-новой, заходишь в игру. Ни по чему не кликаешь, запускаешь скрипт, где у тебя: Code: name = UO.GetName('finditem')Любуешься абсолютно одинаковым результатом. А именно - 0. После чего запускаешь скрипт, где у тебя: Code: Click('finditem')
И опять любуешься одинаковым результатом. А именно - именем объекта. Что и требовалось доказать. И, наконец, по поводу элема. Не ты ли буквально пару дней назад интересовался, по какому сообщению лучше ловить момент появления элема? Мне кажется, да. Если это так - то все понятно. Как я уже писал, у вас на шарде элемы выкапываются сначала в пак, а потом выпадают под ноги. Так как клиент УО "знает" по именам все объекты, которые находятся у чара в паке (было бы странно, если бы не знал), то абсолютно естественно, что чар (и инжект) знает имя элема без всякого клика на него. |
|
| Author: | Destruction [ 2008-02-12 01:11:41 ] |
| Post subject: | |
Вейт не нужен. Насколько я помню из спецификации TCP-протокола, пакетики ходят строго по-порядку.. Ну может быть плохо помню. Code: Sub my.getName( object ) |
|
| Author: | Edred [ 2008-02-12 01:13:45 ] |
| Post subject: | |
По фиг. Это всего лишь пример того, что функция GetName работает абсолютно корректно, просто надо знать правила, по которым она работает... |
|
| Author: | Destruction [ 2008-02-12 01:17:05 ] |
| Post subject: | |
Edred wrote: По фиг. Это всего лишь пример того, что функция GetName работает абсолютно корректно, просто надо знать правила, по которым она работает...
Я ещё в самом начале топика не видел смысла объяснять - увидев объёмы тексту понял - был прав на 100%. В любом случае - есть логика в использовании uo.TradeName(). Вообще - судя по тому, что у него не определяется имя игрока - не стоит галочка "Show names of approaching players" или как её там, а инжект увидев трейд-окошко - не записывает для айдишника имя (блин, хз как правильно сказать, но суть какая-то такая), что не есть гут.. Если вдруг Yoko вернётся - надо будет ему сказать |
|
| Author: | korzh [ 2008-02-12 02:03:35 ] |
| Post subject: | |
Всем спасибо, у меня все получалиось, причем 3-меняспособами |
|
| Author: | Destruction [ 2008-02-12 02:47:54 ] |
| Post subject: | |
korzh wrote: Всем спасибо, у меня все получалиось, причем 3-меняспособами
Тремя?... Дай угадаю: 1. Поставить галочку в настройка UO - "Show names of approaching players". 2. Делать клац перед использованием uo.getName() 3. Использовать uo.TradeName() Верно?) |
|
| Author: | korzh [ 2008-02-12 04:03:58 ] |
| Post subject: | |
Destruction wrote: korzh wrote: Всем спасибо, у меня все получалиось, причем 3-меняспособами Тремя?... Дай угадаю: 1. Поставить галочку в настройка UO - "Show names of approaching players". 2. Делать клац перед использованием uo.getName() 3. Использовать uo.TradeName() Верно?) Да, кроме первого. 1. uo.getserial(uo.TradeOpponent())... |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|