Получить текст из меню сервера., как? |
Получить текст из меню сервера., как? |
Сообщений: 113 Рег. 19.02.2015 |
23 июня 2015 09:45
Сообщение #1
|
|
|
Сообщений: 6208 Рег. 27.11.2009 |
23 июня 2015 12:07
Сообщение #2
|
У меня это в инфогампе выглядит таким образом: 25] 40 Greater Heal Potion 26] 40 Sewing Kit 27] 40 Paralyze Field Scroll 28] 40 Maps 29] 40 Cut up Wyrm Leather 30] 40 Chainmail Tunic 31] 40 Red Tree Log 32] 40 Bow 33] 40 Cooked Horse Rib 34] 40 Bamboo Chair 35] 40 Cooked Salmon 36] 1000 Fish Steaks 37] Packed Nosferatu Set 38] 40 Shoes 39] 40 Blue Steel Ingot Т.е. по сути с 25 по 39 строку после скобки убираешь пробел и до следующего пробела - это количество итемов. Потом пропускаешь пробел и до конца строки - название итема для крафта. Я думаю умельцы помогут. Там не так все просто и набор команд для работы весьма сложный, через чтение текста и преобразование его в реальные переменные, команды в таком скрипте используются, типа: val, mid, gumpid, gumptype, lastgump, eof, readln, writeln, safe call, formatstr, str, textclear, textprint, textopen. К сожалению не владею сейчас до конца всем этим, чтобы помочь. Но уверен, что Мираж, Зомби и многие другие владеют этим, чтобы сделать такой скрипт, как ты хочешь. И, что более вероятно, уже есть такой скрипт и давно написан, который крафтит дейлики из гампа. |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
23 июня 2015 12:19
Сообщение #3
|
Тут 3 решения 1) простой - вверху всех скриптом размещаешь var zakazall = 25 ; количество заказов в этот день. А в скрипте пишешь как то так: 2) спортивно пантовый - копай на yoko функцию GetWord. Она умеет выцеплять буквы и цифры. Можешь посмотреть в темах про антимакросы. 3) как то еще :) У меня полуавтомат - я указываю на тот предмет что нужно сделать и он уже делает столько сколько просит игра. |
|
|
|
Сообщений: 113 Рег. 19.02.2015 |
23 июня 2015 12:28
Сообщение #4
|
С переменной типа твоей zakazal я уже сделал и работает. Но надо еще вбивать номера вещей из списка для каждой профы, для этого классно было бы автоматом получить имя вещи... В принципе, infogump берет это все из меню. Но как я понял в журнал это не попадает. Так вот вопрос, как в журнал это заслать или как забрать из окна инфогампа? Попробовал изначально такой вариант, в if не заходит :( sub MyInfoQuest() var NomerStroki25=0, TextStroki25="pusto" UO.DeleteJournal() uo.infogump() wait(1000) if uo.InJournal("25] ") then NomerStroki25 = uo.InJournal("25] ") TextStroki25 = uo.Journal(NomerStroki25-1) UO.TextPrint("zahodim v if") endif UO.TextPrint(TextStroki25) end sub пытаюсь взять строку 25] 40 Greater Heal Potion |
|
|
|
Сообщений: 113 Рег. 19.02.2015 |
23 июня 2015 12:29
Сообщение #5
|
zahodim v if - не пишет pusto - пишет |
|
|
|
Сообщений: 113 Рег. 19.02.2015 |
23 июня 2015 13:16
Сообщение #6
|
Есть контакт! sub MyInfoQuest() var NomerStroki25=0, TextStroki25="pusto" UO.DeleteJournal() uo.infogump() wait(1000) if uo.LastGump('text', 25) <> "0" then TextStroki25=uo.LastGump('text', 25) UO.TextPrint(TextStroki25) end if end sub |
|
|
|
Сообщений: 113 Рег. 19.02.2015 |
23 июня 2015 13:37
Сообщение #7
|
после доработки получил массив переменных: 40 Greater Heal Potion Sewing Kit Paralyze Field Scrol Maps Cut up Wyrm Leather Chainmail Tunic Red Tree Log Bow Cooked Horse Rib Bamboo Chair Cooked Salmon Fish Steaks Packed Nosferatu Set Shoes КРАСОТА!!! |
|
|
|
Сообщений: 494 Рег. 9.02.2015 |
23 июня 2015 14:21
Сообщение #8
|
Мираж, у тебя в скрипте все waitmenu для каждого итема прописаны? Офигеть... А массив не выкинешь? :) |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
23 июня 2015 14:58
Сообщение #9
|
Да там ничего такого нет. Частые менюшки, остальное либо циферками либо ручками. Собсно я обленился настолько что даже не добираю сырье - проще кинуть сразу много а потому выкинуть назад. Была идея чтобы оно само фаяло из меню но при туташном дифиците сырья и гонениях макросеров отказался в пользу - прилетел скрафтил, сдал, улетел. 2 Bulba - пошел по третьему пути? |
|
|
|
Сообщений: 113 Рег. 19.02.2015 |
23 июня 2015 16:07
Сообщение #10
|
Цитата: Mirage 2 Bulba - пошел по третьему пути? Mirage, сделал так: 1. обрабатываю меню quests 2. беру кол-во предметов нужное для крафта из меню quests 3. беру имя предмета, который крафтить из меню quests 4. дальше это впуливается параметрами в функции каждой профы (по имени делается нужный предмет) - добирается/заменяется сломанный инструмент - одевается + шмот - чекается что есть в треше (добирается) - в процессе добираются реги - если надо докрафчиваются реги (wire, nail всякие) - при перевесе складывается в мешок в доме - выдается полный отчет о работе с большего все уже работает, надо только кое что докосить/дотестить. |
|
|
|
Сообщений: 516 Рег. 9.03.2016 |
30 сентября 2016 10:28
Сообщение #11
|
Спасибо Мираж, что нашел подходящую тему:) Цитата: DeaTh Уже подымал эту тему тут и получил от Зомби такой ответ. Но блин, с БСом топоров такая тема не сработает. Axe (28 ingots) и Executioner`s Axe (28 ingots). Executioner`s стоит первый в списке и крафтит его, хотя сегодня по заданию просто Axe. По индексу выбирать не хочется, потому что уже натыкался на проблемы с этим(не послушал сразу, ага), а точно строку не могу указать, ибо не знаю как. Есть ли рациональное решение? Цитата: Mirage DeaTh, Плохо ищешь ответы ;) Пример меню крафтов. Последний символ это номер итема в меню. Я же написал, что через индексы не оптимально как-то:) Крафтил я вчера лютни по чужому скрипту там стояла проверка по количеству дерева, но струны не учитывала. В итоге струны кончились и пока я курил у меня оказалось пол бэкпака каркасов часов. Также у меня нет ГМ крафтовых и наверное возможна ситуация, что во время выполнения крафта скилл подымется и на текущем индексе вылезет другой предмет, не? Цитата: Mirage ps Где то был скрипт на снятие с профайла количества ежедневных заказов. Если найду то скину. Если нет то идею я подсказал. На стелсе я этот вопрос решил, а вот на инжекте не могу. Ну, точнее я решил его костыльно: Sub GetGumpQuest(Index) UO.KeyPress('66') return UO.LastGump('text', Index) end sub Где на кнопке висит макрос Open -> QuestLog. По форуму поискал и нашел только под старый хелп гамп. А нажатие квест кнопки не могу. Есть идеи как реализовать? Это также сюда перенесу с топика городских работ, ибо тут правильное место для обсуждения. |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
30 сентября 2016 11:05
Сообщение #12
|
Костыли и есть :) Если решать через ухо то будет вот так: Парни помоему не успели дописать командное открытие окна квеста. МОжно попробовать Хосана попросить оформить что то типо .quest может пойдет навстречу :) |
|
|
|
Сообщений: 519 Рег. 24.08.2016 |
30 сентября 2016 11:08
Сообщение #13
|
Mirage, А если задать клик на кнопку по кордам? Или инжа не умеет? Или по цвету? МОжно просто кнопку закрасить другим цветом и пусть по цвету кликает |
|
|
|
Сообщений: 516 Рег. 9.03.2016 |
30 сентября 2016 11:14
Сообщение #14
|
Цитата: Mirage Парни помоему не успели дописать командное открытие окна квеста. МОжно попробовать Хосана попросить оформить что то типо .quest может пойдет навстречу :) Понятно. Благодарю:) Хосе вроде против скриптеров, не думаю что сделает в ближайшем будущем. Цитата: Magnus А если задать клик на кнопку по кордам? Или инжа не умеет? Или по цвету? МОжно просто кнопку закрасить другим цветом и пусть по цвету кликает А смысл? Это еще более костыльное занятие, чем нажатие одной кнопки с макросом в клиенте :) Когда там уже форум инжи починят:( |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
30 сентября 2016 11:57
Сообщение #15
|
Magnus, keypress и press имитируют нажатие кнопки в клиенте. Оно сработает и в фоне и в свернутом окне. Тыкать в точку экрана не удобно. Сдвинешь окно на пару миллиметров, свернул окно, загородил другим - результата не будет. Тык в цвет и координату хорошо случаях когда нужное окно завалено другими гампами - одновременно открывающимися но не видимыми. Тогда ластгамп собьется. Но против этого уже таблеточку придумали, но она навороченная. ЗЫ поймаю Джусса спрошу за квест. Раньше не было актуально просто. Квесты запрашивались из хелпа а его тыкнуть можно как раз. |
|
|
|
Сейчас: 24 ноября 2024 04:43 |