Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Пакеты
Войти через OpenID

Пакеты Форум о форматах отдельных пакетов или групп пакетов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 07.02.2012, 02:18   #11
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
mira, как у тебя после возведения в квадрат получается отрицательное число?)
function L2VectorDist(const v1,v2: TL2Vector):single;
var
fx,fy,fz:double;
summ : double;
begin
fx:=(v1.x-v2.x)*(v1.x-v2.x);
fy:=(v1.y-v2.y)*(v1.y-v2.y);
fz:=(v1.z-v2.z)*(v1.z-v2.z);
summ:=abs(fx+fy+fz);
result:=sqrt(summ);
end;

у меня дистанция считаетса вот так. без abs иногда получаетса непонятная уета с summ<0

Добавлено через 4 минуты
если ктото мне объяснит в чем тут чудо я буду тока рад)
пока поставил абс как костыль вроде норм...
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 07.02.2012 в 02:18. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
Старый 07.02.2012, 04:31   #12
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

mira, точно уверен что < 0 получается?
пробывал проверять что приходит в функцию вообще?
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 07.02.2012, 07:33   #13
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

а само значение, пусть даже меньше нуля - правильное? если правильное, то можно помножить на (-1)
иф q < 0 то
q*(-1)
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Старый 07.02.2012, 09:57   #14
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
mira, точно уверен что < 0 получается?
пробывал проверять что приходит в функцию вообще?
проверял. Норм все в функцию приходит.
Я функцию выносил в тестовый апликейшн и при больших цифрах возникала ошибка ариф.процессора типа отрицательное число под корнем. Проверил степ-степ отладкой так и оказалось. Хз в чем дело, мб какоето переполнение.
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 07.02.2012, 10:01   #15
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
Норм все в функцию приходит.
а как именно ты это узнал?
__________________
Начало.
supernewbie вне форума   Ответить с цитированием
Старый 07.02.2012, 10:02   #16
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
Код:
  fx:=(v1.x-v2.x)*(v1.x-v2.x);
вот если делфи видит это как
Код:
  fx:=integer((v1.x-v2.x)*(v1.x-v2.x));
тогда в принципе все обьяснимо
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 07.02.2012, 13:25   #17
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Цитата:
Сообщение от mira Посмотреть сообщение
вот если делфи видит это как
Код:
  fx:=integer((v1.x-v2.x)*(v1.x-v2.x));
тогда в принципе все обьяснимо
очень сомневаюсь...
и кстати замени double на int64 (мб и на LongInt, хотя туда вряд ли влезет квадрат слишком отдаленных координат), один хрен координаты не имеют десятичных точек.
Aries вне форума   Ответить с цитированием
Старый 07.02.2012, 13:39   #18
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
а как именно ты это узнал?
да просто.
Как тока у меня вышла наепка я сразуже запомнил координаты персов м/у которыми считалось.
Потом засунул их в тестовую прогу с копией функции - баг повторилса.
да. Растояние был довольно большое
__________________
читернуть бы ништяг
mira вне форума   Ответить с цитированием
Старый 07.02.2012, 18:16   #19
Местный
 
Аватар для Aries
 
Регистрация: 19.01.2011
Сообщений: 241
Сказал Спасибо: 7
Имеет 26 спасибок в 22 сообщенях
Aries пока неопределено
По умолчанию

Выложи сюда эти координаты ради интереса.
Aries вне форума   Ответить с цитированием
Старый 07.02.2012, 19:01   #20
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

x1=3434232
y1=23000
z1=2000

x2=65788
y2=455
z2=2000

например это

Добавлено через 1 минуту
координаты взяты из головы а нее из реальных игровых условий
факт что эти цифры уже приводят к ошибке

Добавлено через 10 минут
кстате ошибка возникает при использовании структуры
Код:
TL2Vector = packed record
  x,y,z:integer;
end;
если сделать
Код:
TL2Vector = packed record
  x,y,z:DWORD;
end;
ошибки нет, впрочем расчет всеравно получаетса ошибочный
что еще раз подтверждает теорию о переполнении занкового и беззнакового числа

видимо ясно почему в клиенте юзают тип DOUBLE внутри клиента а integer-ы тока в пакетном уровне
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 07.02.2012 в 19:01. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Пакеты



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 23:50.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!