Здравствуйте, гость ( Вход | Регистрация )

8 страниц V « < 2 3 4 5 6 > »   
Ответить в эту темуОткрыть новую тему
> Чтение из памяти
ivanTu
сообщение 12.3.2015, 14:31
Сообщение #61


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



Координаты цели нашел по X и по Z высота я думаю не нужна? что дальше?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 14:48
Сообщение #62


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



Ну дальше найти бы еще по Y =)
Найди свои координаты.
Потом:
Код
set #distance point_distance (x1 y1 x2 y2)


В каком типа данных хранится дистанция?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 12.3.2015, 14:52
Сообщение #63


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



координаты Вы имели ввиду? Если да то Float
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 14:53
Сообщение #64


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



Цитата
координаты Вы имели ввиду? Если да то Float

Будет небольшой доп гемор, но это уже мелочи.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 15:13
Сообщение #65


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



Код
set $zero 0
set $x1 258910,46875
set $y1 -71314,3125
set $x2 258906,15625
set $y2 -71314,234375

set $x1Frac frac ($x1)
while size ($x1Frac) < 3
    set $x1Frac $x1Frac$zero
end_while
set #x1Int trunc ($x1) copy ( $x1Frac 1 3)

set $y1Frac frac ($y1)
while size ($y1Frac) < 3
    set $y1Frac $y1Frac$zero
end_while
set #y1Int trunc ($y1) copy ( $y1Frac 1 3)

set $x2Frac frac ($x2)
while size ($x2Frac) < 3
    set $x2Frac $x2Frac$zero
end_while
set #x2Int trunc ($x2) copy ( $x2Frac 1 3)

set $y2Frac frac ($y2)
while size ($y2Frac) < 3
    set $y2Frac $y2Frac$zero
end_while
set #y2Int trunc ($y2) copy ( $y2Frac 1 3)

set #distance round (point_distance (#x1Int #y1Int #x2Int #y2Int))
log #distance

stop_script

Это под вычисление координат. К сожалению красиво точности добиться не получилось, пришлось немного нулей рисовать.

Сообщение отредактировал DarkMaster - 14.3.2015, 12:46


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 12.3.2015, 15:28
Сообщение #66


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



Высота смотрю не нужна для вычислений?

Значение иногда принимает отрицательное значение, это не критично?
И поясните пожалуйста где чьи координаты в коде ?

set $x1 10,06
set $y1 1,21
set $x2 20,2468
set $y2 11
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 15:44
Сообщение #67


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



x1 y1 - первый объект.
x2 y2 - второй объект.
Что цель, а что вы - без разницы. Z можно прилепить, но оно надо?

Координаты возвращаются аналогичные тем, то по .loc?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 12.3.2015, 15:47
Сообщение #68


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



Не понял про
Цитата
Координаты возвращаются аналогичные тем, то по .loc?

А про Z вы наверное правы, смысла особого нет, по горам не бегать. )))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 15:50
Сообщение #69


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



В чате л2 напишите .loc или /loc (зависит от сервера). Значение будет аналогичным вытянутому из памяти? В памяти координаты хранятся такие же как на карте?


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 12.3.2015, 15:56
Сообщение #70


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



Значения немного разные к примеру 258129.3125 а на сервере 258136.

но это мой косяк не точно нашел значение в памяти сейчас папробовал найти то что выдает сервер, все совпадает
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 16:09
Сообщение #71


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



хм. Обычно зачения схожи с координатной сеткой на карте. Т.е., например 62,34 на 30,42. Если значения всегда так велики и все, что после точки можно просто отбросить, то код можно очень сильно сократить. Все, что нужно будет оставить:
Код
set #y2Int trunc ($y2)

Для всех 4 координат.

не факт, что второе значение будет корректнее работать, чем первое.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 12.3.2015, 16:10
Сообщение #72


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



Код
set #distance point_distance (x1 y1 x2 y2)

readmem $x1_target 0x1605ABF8 F
readmem $y1_target 0x1605ABF4 F
readmem $x2_target 0x068780D8 F
readmem $y2_target 0x068780D4 F


set $zero 0
set $x1 $x1_target //25
set $y1 $y1_target //-
set $x2 $x2_target
set $y2 $y2_target

set $x1Frac frac ($x1)
while size ($x1Frac) < 3
    set $x1Frac $x1Frac$zero
end_while
set #x1Int trunc ($x1) * 1000 + $x1Frac

set $y1Frac frac ($y1)
while size ($y1Frac) < 3
    set $y1Frac $y1Frac$zero
end_while
set #y1Int trunc ($y1) * 1000 + $y1Frac

set $x2Frac frac ($x2)
while size ($x2Frac) < 3
    set $x2Frac $x2Frac$zero
end_while
set #x2Int trunc ($x2) * 1000 + $x2Frac

set $y2Frac frac ($y2)
while size ($y2Frac) < 3
    set $y2Frac $y2Frac$zero
end_while
set #y2Int trunc ($y2) * 1000 + $y2Frac


set #distance round (point_distance (#x1Int #y1Int #x2Int #y2Int))
log #distance

stop_script


Возвращает (40)-1 в логе

Может это из за минуса в одном из координат?



Код содержит ошибки. Исправленная версия https://forum.uokit.com/index.php?s=&sh...st&p=211572


Сообщение отредактировал DarkMaster - 14.3.2015, 12:47
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 16:15
Сообщение #73


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



Минуса??? В л2 не должно быть минуса координат. Либо какой-то совсем чудесный сервер. Значения координат очень странные. Добавь вывод в лог:
Код
log $x1 $y1 $x2 $y2
log #x1Int #y1Int #x2Int #y2Int
set #distance round (point_distance (#x1Int #y1Int #x2Int #y2Int))


Сообщение отредактировал DarkMaster - 12.3.2015, 16:20


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 12.3.2015, 16:19
Сообщение #74


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



обычный фри интерлюд сервер
16:17:25 4 (, 42): 258243 -71456 258304 -71384
16:17:25 4 (, 43): 258243000 -71456000 258304000 -71384000

И кстате в игровом /loc так же минуса присутствуют
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 16:20
Сообщение #75


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



Дистанция возвращалась с точкой. Поправил код.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 12.3.2015, 16:31
Сообщение #76


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



если подойти близко к мобу цыфры выростают а не наоборот, хм странно

вот лог к примеру подхожу к мобу все норм уменьшается но если совсем близко то:

6:26:26 4 (, 39): 26249
16:26:26 4 (, 39): 26249
16:26:27 4 (, 39): 26249
16:26:28 4 (, 39): 22023
16:26:29 4 (, 39): 22023
16:26:29 4 (, 39): 258101001

Значение скачет видимо из за не стабильной информации из памяти, папробую подобрать что то поточнее.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Destruction
сообщение 12.3.2015, 16:54
Сообщение #77


**********

Группа: Администраторы
Наличность: 3
Пользователь №: 1.833



Цитата(DarkMaster @ 12.3.2015, 16:15) *

Минуса??? В л2 не должно быть минуса координат. Либо какой-то совсем чудесный сервер. Значения координат очень странные. Добавь вывод в лог:
Код
log $x1 $y1 $x2 $y2
log #x1Int #y1Int #x2Int #y2Int
set #distance round (point_distance (#x1Int #y1Int #x2Int #y2Int))


Отрицательные координаты в л2 - совершенно нормальное явление (точка 0;0 находится где-то по центру карты, если мне память не изменяет, то где-то возле островка олимпиады). Дробные координаты - явление странное, но вероятно связанное с движением персонажа, в стоячем положении число должно быть скорее целым, чем дробным.

Такая фишка с координатами в л2 была всегда, начиная с С1 и заканчивая HF5 (в более поздние хроники не играл).

Касаемо преобразования страшных координат в нестрашные, очень хорошо написано тут (особенно пост от xkor):
http://coderx.ru/showthread.php?t=5545


--------------------
Discord: tatikom
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 12.3.2015, 16:57
Сообщение #78


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



С логами координат и int значений приводите. Для отладки они очень полезны.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ivanTu
сообщение 13.3.2015, 8:52
Сообщение #79


****

Apprentice
Сообщений: 128
Регистрация: 2.2.2015
Группа: Пользователи
Наличность: 0
Пользователь №: 17.276
Возраст: 27



Что то значение скачет... ничего не понимаю, адреса нашел стабильные...
Я выделил цель и подбегаю к ней постепенно вот что выходит.
вот лог:

Код
8:50:36 1 (, 40): 716867
8:50:37 1 (, 40): 334937
8:50:37 1 (, 40): 211837
8:50:38 1 (, 40): 170695
8:50:38 1 (, 40): 95742
8:50:39 1 (, 40): 95742
8:50:39 1 (, 40): 777597
8:50:40 1 (, 40): 777597
8:50:41 1 (, 40): 722105
8:50:41 1 (, 40): 722105
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 13.3.2015, 9:02
Сообщение #80


***********

Модератор UOPilot
Сообщений: 9.475
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27838
Пользователь №: 11.279



Цитата
С логами координат и int значений приводите. Для отладки они очень полезны.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

8 страниц V « < 2 3 4 5 6 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 7.5.2024, 9:52
Designed by Nickostyle