Пара вопросов.

Ask for help

Moderators: Murderator+, Murderator

Post Reply
MacTepeo
Posts: 52
Joined: 2007-04-14 16:11:34
Location: Москоу
Contact:

Пара вопросов.

Post by MacTepeo »

итак уважаемые спецы, накопилось несколько вопросиков, нуна помосч.

итак вопрос первый:
может кто-нить написать простейший пример на взаимодействие с асмом?
я недавно откопал для себя кое что новое )

Code: Select all

sub main()
  UO.Print(UO.asmInputString("Сколько предметов переместить?","15"))
  UO.Print(STR(UO.asmInputList("Из какого металла производить броню?","'Silver';'Gold';'Rose';'Agapite'",2)))
  UO.Print(STR(UO.asmInputCombo("Какой силы зелье произвеcти?","'Слабое';'Нормальное';'Сильное';'Убойное'",4)))
  UO.asmMessageBox("Информация:","Ситуация находится под контролем! :)")
end sub


))) интересно, не правда-ли?)

так вот, не могу понять вот чего - как создать конструкцию типа

Code: Select all

while юзер выберет чото/отклонит выбор
то:
if выбор 1
делаем чото
endif

if выбор 2 или 3
делаем еще чото
endif


вот. теперь вопрос 2, каэш сильно наивный и наверно покажется идиотским, но ради примера можно..

возможно ли к асм прикрутить управление скажем винампом?
вот сюда ( control_box2.ini )

Code: Select all

box='left=0','top=33','height=73','width=264','caption= Ship Controls '

// max 20 buttons

button1='left=128','top=08','width=20','height=20','caption=\','exec=msg forward left'
button2='left=128','top=28','width=20','height=20','caption=<','exec=msg left'
button3='left=128','top=48','width=20','height=20','caption=/','exec=msg back left'

button4='left=148','top=08','width=20','height=20','caption=|','exec=msg forward'
button5='left=148','top=28','width=20','height=20','caption=O','exec=msg stop'
button6='left=148','top=48','width=20','height=20','caption=|','exec=msg back'

button7='left=168','top=08','width=20','height=20','caption=/','exec=msg forward right'
button8='left=168','top=28','width=20','height=20','caption=>','exec=msg right'
button9='left=168','top=48','width=20','height=20','caption=\','exec=msg back right'

button10='left=4','top=12','width=50','height=18','caption=Resurrect','exec=msg resurrect'
button11='left=4','top=30','width=50','height=18','caption=A Raise','exec=msg raise anchor'
button12='left=4','top=48','width=50','height=18','caption=A Drop','exec=msg drop anchor'

button13='left=73','top=29','width=55','height=18','caption=Turn Left','exec=msg turn left'

button14='left=188','top=29','width=55','height=18','caption=Turn Right','exec=msg turn right'


опять же это нуно исключительно для примера, ибо я не имею ни малейшего представления как вообще это работает :)

оч. надеюсь что кто-нить поможет)
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

UO.asmInputString("Сколько предметов переместить?","15")
должна возвернутся как только пользователь сделает действие, или срубит окно или ответит на него...
так что сохраняй результат в переменую и все...

второй это надо у AGRS спрашивать чего он там в кнопки добавил... ясно одно что можно макросы писать под кнопки, в самом инжекте.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Grin wrote:второй это надо у AGRS спрашивать чего он там в кнопки добавил... ясно одно что можно макросы писать под кнопки, в самом инжекте.

Для ответа "можно" - АГРС не нужен.

Берём uo.launch() и в режиме command-line творим что хотим (незнаю как там винамп контролируется через командную строку, но на крайний случай - можно свою тулзу написать) :) Не думаю, чтобы там специально лаунч был вырезан - нет на то весомых причин :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

у винампа скорей всего выдело пара оконых сообщений
можно исправить номер сообщения на винамповское и использовать команды для автомапа
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Я бы вместо того, чтобы думать, как запустить винамп, спросил бы: "а зачем его запускать?"

Я так понимаю, что врядли чтобы чар музыку пока копает слушал... Наверное, человек хочет какой-то звуковой сигнал типа звонка или музыкального ринга подать в случае каких-то событий. А тогда никакой винамп не нужен. Достаточно команды uo.playwav()
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Edred wrote:Я бы вместо того, чтобы думать, как запустить винамп, спросил бы: "а зачем его запускать?"

Я так понимаю, что врядли чтобы чар музыку пока копает слушал... Наверное, человек хочет какой-то звуковой сигнал типа звонка или музыкального ринга подать в случае каких-то событий. А тогда никакой винамп не нужен. Достаточно команды uo.playwav()

Человек хочет управлять винампом..

PS: Полюбому нужно клуб невыспавшихся открывать, пойдём тут всем форумом :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
MacTepeo
Posts: 52
Joined: 2007-04-14 16:11:34
Location: Москоу
Contact:

Post by MacTepeo »

спасибо всем за ответы :)

просто я как скриптер еще не реализовался )
сейчас себе поставил техзадачу - написать универсальный автолоад для пвп альфы.. тобишь при каждом логине юзеру задается несколько вопросов, проставляются соответствующие переменные и усе :)
поэтому хочу понять принцип - как вывести в перменную ответ юзера)

насчет винампа другой замут, я просто хочу понять как ОНО работет )
тобишь как управлять программами извне уо)
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

в зависимости от програмы...
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

MacTepeo wrote:насчет винампа другой замут, я просто хочу понять как ОНО работет )
тобишь как управлять программами извне уо)


Напрямую - никак. Нет таких средств в инжекте. Да и не должно быть. Не напрямую - пишешь скрипт на VB, например, или еще на чем-то, его вызываешь из инжекта, а уже скриптом управляешь чем надо. Но передать какие-либо параметры напрямую тоже не удастся, придется либо через реестр, либо через файл на диске. В общем, все это изврат и не стоит того времени, которое ты на воплощение этой идеи убьешь.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

инжект умеет посылать оконые сообщения
вот только message_ID хардкор...
MacTepeo
Posts: 52
Joined: 2007-04-14 16:11:34
Location: Москоу
Contact:

Post by MacTepeo »

насчет винампа я понял :) спасибо вам))

теперь мне осталось понять как

Grin wrote:UO.asmInputString("Сколько предметов переместить?","15")
должна возвернутся как только пользователь сделает действие, или срубит окно или ответит на него...
так что сохраняй результат в переменую и все...


сделать вот это :)
MacTepeo
Posts: 52
Joined: 2007-04-14 16:11:34
Location: Москоу
Contact:

Post by MacTepeo »

и еще один вопрос, наверное все сталкивались с переносом биндов с одного персонажа на другого, так вот, а реально ли средствами инжекта редатировать во время работы одного клиента injection.xml ?
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

зависет от того как инжект работает с xml а работает он скорей всего так, считывает его полность... парсит у себя в памяти.
Тоесть если ы сделаешь изменения в самом файле физически, то когда инжект вздумает сохранить xml он сотрет все твои изменения...
могут вохникнуть траблы с доступом (могут и не возникнуть)...

ну а чтобы нормально работать с xml надо хоть какойнить опыт работы со строками...

поповоду инпут стринга простой пример...
var res
uo.Print('Stat Input')
res = UO.asmInputString("Сколько предметов переместить?","15")
uo.Print('End Input')
uo.Print('res = '+res)
просветление пришло?
MacTepeo
Posts: 52
Joined: 2007-04-14 16:11:34
Location: Москоу
Contact:

Post by MacTepeo »

все гениальное просто (с)

спасибо грин, щас буду тестить :)
Post Reply