Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Дело в том, что у меня не высвечиваются адреса с искомыми значениями, не могу понять что делаю не правильно, в строке поиска CE указываю значение, но адресов нет, пробовал искать хп и очки опыта. Проблем с типом данных быть не должно, когда не находил по предполагаемому типу, пробовал все возможные. Где-то прочитал про возможное наличие защиты на игре, но мне до сих пор кажется, что проблема в моих неверных действиях.
Дело в том, что у меня не высвечиваются адреса с искомыми значениями, не могу понять что делаю не правильно, в строке поиска CE указываю значение, но адресов нет, пробовал искать хп и очки опыта. Проблем с типом данных быть не должно, когда не находил по предполагаемому типу, пробовал все возможные. Где-то прочитал про возможное наличие защиты на игре, но мне до сих пор кажется, что проблема в моих неверных действиях.
Вообще хотелось бы уточнить такой момент: во первых, вся работа игры DS online проводится на сервере, и именно там хранятся все значения. Они подгружаются с сервера в клиент исключительно для корректного отображения игрового процесса. Поэтому просто взять и поменять их, как в обычных PC-играх, не получиться. Точнее поменять то можно, но на сервере значения останутся прежними. Во вторых, есть различные средства защиты данных в памяти. Некоторые простые, и позволяют найти значение по указателю, некоторые сложные, с шифрованием. Я не знаю, используется ли сейчас там какая то защита, но предполагаю, что нет - у них с момента запуска игры мало что поменялось. Если вопрос задан в целях разработки бота, то это правильный путь - найти нужные значения в памяти, а не читать их с экрана.
Сообщение автоматически объединено:
Доброго времени суток! Несколько лет не занимался программированием на AutoIT, и вот ностальгия вернула обратно в игру. Захотелось реализовать сбор ресурсов вокруг персонажа. Поскольку все ранние наработки были утеряны, начал писать с нуля и столкнулся с неожиданной проблемой, которую не наблюдал в Windows 7. В Windows 10 как то странно задаются координаты окна и разрешение. На англоязычном форуме эта проблема наглядно описана. Суть ее в следующем: если я выполняю код
Код:
WinMove($hWnd,'',10,10,740,550)
и потом запрашиваю координаты и положение рабочей области, получаю неверные значения. Я по прежнему придерживаюсь мнения, что бот не должен извлекать данные из памяти, т.к. с каждым обновлением есть вероятность изменения адресов. Однако недавнее обновление всего графического интерфейса показало, что и машинное зрение в любой момент может потребоваться адаптировать. Сейчас я пытаюсь написать универсальную функцию, которая на любой версии Windows сможет дать мне корректные координаты рабочей области. К примеру, на приложенном скрине видно, что размер окна 740х550, в то время как по факту оно 907х641 (измерял в фотошопе). Так же неправильные значения я получаю от ControlGetPos и WinGetPos. Возможно, положение окна зависит от выбранной темы оформления. Буду благодарен, если поясните ситуацию или дадите ссылку на готового бота со схожим функционалом, где реализовано точное определение положения рабочей области.
Это другая "проблема". На Win10 у окна тоже есть рамка. Только она полностью прозрачная. Поэтому и видна полоска рабочего стола при координатах окна 0,0.
Вставил строчку, теперь значения более-менее близки к реальным, но не те. Не знаю, что вы имели ввиду под масштабированием. Я запускаю игру и скрипт на ноутбуке разрешением 1920 на 1080 точек, делаю скрин и рассматриваю его в фотошопе. Мне нужно точно позиционировать мышь и задавать размеры областей для FastFind. Координаты задаются относительно окна, но я хочу знать его точный размер. WinGetPos показывает 908х550, ControlGetPos показывает 890х503, а фотошопом померил - 890х503...Гм... А задано было