 |
Телепорт по локации - Общение и обсуждение Aion - События, информация, вопросы и ответы по Aion |
21.10.2013, 22:15
|
#1
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 10.06.2011
 Сообщений: 467
 Популярность: 31147
 Сказал(а) спасибо: 231
Поблагодарили 488 раз(а) в 226 сообщениях
|
Телепорт по локации
И снова здрасте
Прошу помощи допилить скрипт, а то руки уже не двигаются. Ленивый я 
Как только будет готов, думаю ув. Talala перенесет эту тему из обсуждения в нужный раздел без мусора.
Все знают, что в игре дальше чем на 7 метров не ТПшнуться, а если кусками? см. скрипт.
Скрипт
Код:
var
nach,kon:string;
n, dx, dy, dz, x1, x2, y1, y2, z1, z2:double;
begin
if FromClient then
case pck[1] of
#$fd: case reads(7) of
'.': begin
nach:=hstr('CD 00 65 32 FF 04 C5 B4 92 43 5D 4B D0 43 AE BF 67 43 3E 00 '); // Составляем и задаем вручную начальную точку
kon:=hstr('CD 00 65 32 FF 04 0D B6 AE 43 E9 B6 CB 43 07 EE 67 43 3E 00 '); // Составляем и задаем вручную конечную точку
x2 := StrToFloat(Copy(nach, 7, 4));
y2 := StrToFloat(Copy(nach, 11, 4));
z2 := StrToFloat(Copy(nach, 15, 4)); // Выдираем координаты
x1 := StrToFloat(Copy(kon, 7, 4));
y1 := StrToFloat(Copy(kon, 11, 4));
z1 := StrToFloat(Copy(kon, 15, 4));
while (sqrt((x1 - x2)*(x1 - x2)+(y1 - y2)*(y1 - y2)+ (z1 - z2)*(z1 - z2)) > 5) do // проверяем пока не больше пяти, когда будет меньше
begin // значит пришли к точке назначения
n := sqrt((x1 - x2)*(x1 - x2)+(y1 - y2)*(y1 - y2)+ (z1 - z2)*(z1 - z2))*0.2;
dx := (x1 - x2)/n;
dy := (y1 - y2)/n;
dz := (z1 - z2)/n;
x2 := x2 + dx; // Здесь начинаем прибавлять от начала наши 5ти метровые шаги
y2 := y2 + dy;
z2 := z2 + dz;
buf := HStr('CD 00 65 32 FF 04') + FloatToStr(x2) + FloatToStr(y2) + FloatToStr(z2);
SendToServer;
delay(500);
end;
end;
end;
end;
end.
Посмотрели? Ясно суть? Если нет, попытаюсь объяснить.
Для упрощения проверки я не стал заморачиваться отлова координать, а составил вручную 1ую и 2ую точку. Он у меня рассчитывает расстояние и делит на отрезки по 5 метров. Запускает проверку если все расстояние больше 5 метров то к начальной координате прибавляет 5 метров и вообщем пока не дойдет до конечной. И да, активируеться посылом в чат знака "." точка. Объясняю я плохо
На идею натолкнул altairalentus по некоторым причинам он пока занят и не может над этим работать, ну а мне чтобы было проще я тут с вами пообщаюсь.
Сразу о косяках:
1. Надо исправить и добавить отлов начальной точки X Y Z и правильо выдернуть их из пакета.
2. Округлить тип double с наименьшими потерями.
3. Составить правильно пакет для телепорта записываемый в buf.
Для примера можете глянуть, написал на делфи, чтобы видеть как он будет делить весь путь. Координаты вводятся типа XXXXYYYYZZZZ, клик на форму очищает текстовой поле. В текстовом поле выводиться по каким координатам он будет ТПшиться до конечной цели.
Всё обсуждение проводить тут. Как будет готовый рабочий вариант, тему перенесут думаю.
Последний раз редактировалось mars2107; 21.10.2013 в 22:22.
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
22.10.2013, 09:01
|
#2
|
|
|
|
Рыцарь-капитан
|
 Регистрация: 18.10.2009
 Сообщений: 480
 Популярность: 7804
 Золото Zhyk.Ru: 115
 Сказал(а) спасибо: 85
Поблагодарили 498 раз(а) в 172 сообщениях
|
Re: Телепорт по локации
ТП "кусками" в моей проге можешь найти, составляешь любой путь и посмотришь что произойдет )
Для севера вообще фиолетово как вы там перемещаетесь, у него есть т.н. параметр "скорость" на самом сервере, а там хоть телепортируйся, хоть беги, хоть иди, да хоть плыви к точке ))
Допускаю, что есть места на локациях, где оф. сервер не просчитывает значение "скорость".
На фришках в свое время баловался с телепортом по локации, сначала было было отправить пакет новых координат, а потом с "преседениями" и др. ухищрениями слать пакет новых координат, но офу, помоему, на это все равно. У него есть "скорость" и фиг с ним. Даже перелет на "птичке по локе" это не совсем полет, а анимация полета, сам перс как бы перемещается в "мир дзен" и ждет пока клиент пришлет пакет "я кончил палиод!!", тогда сервер извлекает перса и тупо телепортирует его в точку конца перелета (по пакету). Было бы прикольно, если это не была просто анимация, а можно было летать в "птичке" по всей карте произвольно ))
Меня больше интересуют дороги ветра, у них по сложнее реализация, но суть таже как с птицами
________________
ʕ•ᴥ•ʔ Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось Tr0y; 22.10.2013 в 09:07.
|
|
|
22.10.2013, 11:27
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 21.09.2013
 Сообщений: 2
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Телепорт по локации
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
ТП "кусками" в моей проге можешь найти, составляешь любой путь и посмотришь что произойдет )
Для севера вообще фиолетово как вы там перемещаетесь, у него есть т.н. параметр "скорость" на самом сервере, а там хоть телепортируйся, хоть беги, хоть иди, да хоть плыви к точке ))
Допускаю, что есть места на локациях, где оф. сервер не просчитывает значение "скорость".
На фришках в свое время баловался с телепортом по локации, сначала было было отправить пакет новых координат, а потом с "преседениями" и др. ухищрениями слать пакет новых координат, но офу, помоему, на это все равно. У него есть "скорость" и фиг с ним. Даже перелет на "птичке по локе" это не совсем полет, а анимация полета, сам перс как бы перемещается в "мир дзен" и ждет пока клиент пришлет пакет "я кончил палиод!!", тогда сервер извлекает перса и тупо телепортирует его в точку конца перелета (по пакету). Было бы прикольно, если это не была просто анимация, а можно было летать в "птичке" по всей карте произвольно ))
Меня больше интересуют дороги ветра, у них по сложнее реализация, но суть таже как с птицами
|
|
 |
|
 |
|
Да не совсем и анимация, так-как можно видеть что тварится снизу (мобы, игроки, скилы) в точке полёта, навести курсор на моба и посмотреть его уровень (есль успеешь конешь)
З.Ы. если конешно под анимацией подразумевается в данном случае мультипликация (заранее нарисованный ролик)
Последний раз редактировалось KSV-M; 22.10.2013 в 11:29.
|
|
|
22.10.2013, 11:33
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 28.04.2011
 Сообщений: 8
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Телепорт по локации
В аихаконе если перемещаться по координатам (даже на 2 метра) через стену/пол или вверх выше определенного уровня то будет назад откидывать (на сколько я знаю), через пакеты будет так же?
|
|
|
22.10.2013, 17:14
|
#5
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 10.06.2011
 Сообщений: 467
 Популярность: 31147
 Сказал(а) спасибо: 231
Поблагодарили 488 раз(а) в 226 сообщениях
|
Re: Телепорт по локации
|
|
|
22.10.2013, 22:28
|
#6
|
|
|
|
Сержант
|
 Регистрация: 22.10.2010
 Сообщений: 105
 Популярность: 521
 Сказал(а) спасибо: 40
Поблагодарили 122 раз(а) в 26 сообщениях
|
Re: Телепорт по локации
Насчет перелетов на птице во времена 2,5 ковырял оказалось клиент шлет пакеты с координатами на сервер в файле FlightPath записан маршрут, пакетами произвольно на птице не полетаешь разве что инжект в процесс. самое интересное последняя точка маршрута, надо поковырять пакеты.
________________
Disce, sed а doctis, indoctos ipse doceto
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 00:42.
|
 |