Приветствую Вас Гость
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Страница 1 из 11
Модератор форума: Bizunow, Romixal 
Форум » Вопросы и проблемы » Проблема - решение » Погоня моба за жертвой (Подкиньте вариант.)
Погоня моба за жертвой
BenBenGSДата: Четверг, 24.11.2011, 16:54 | Сообщение # 1
Въезжает
Группа: Пользователи
Сообщений: 26
Статус: Offline
В общем сделал мобов, соспавнил их, сделал для них респавн, у каждого моба есть свой ид и всё такое..
Но вот когда я начинаю делать чтоб мобы бежали за игроком, бегут только у одного игрока за ним, у другого эти мобы стоят на месте или просто дальше ходят..

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

Есть идеи? может вы уже делали это и знаете как реализовать это лучшим способом.
Буду очень благодарен!
Поделюсь скриптами если надо, например для спауна сам писал работает отлично! причем есть время на респаун + на каждого моба действует отдельно.

И ещё одно, можно как-то один объект моба передать всем ? чтоб каждый клиент не создавал мобов для себя а просто увидел того что создался на сервере.
Так можно вообще ? и как это сделать?

Добавлено (24.11.2011, 16:54)
---------------------------------------------
Я всё облазял..... нет ничего полезного в гугле инет.. ёлы-палы.. как вы делаете движение моба за игроком у всех игроков?

Сообщение отредактировал BenBenGS - Четверг, 24.11.2011, 04:57
 
agentx001Дата: Четверг, 24.11.2011, 18:40 | Сообщение # 2
Генерал-майор
Группа: Пользователи
Сообщений: 309
Статус: Offline
просто отсылай координаты моба всем клиентам, как ты делаешь это с игроками. Но лучше всего покажи исходник/код.
 
BenBenGSДата: Четверг, 24.11.2011, 19:40 | Сообщение # 3
Въезжает
Группа: Пользователи
Сообщений: 26
Статус: Offline
Код я уже изменил на тот что был, там атака моба локальная.
Может просто подскажешь? от моба с клиента на сервер а потом клиентам или в сервере от моба присылать данные на клиент ?

Не получается так сделать, потому что получается замкнутый круг, я отсылаю координаты моба с клиента на сервер, потом сервер отсылает всем эти координаты и присваивает их как бы к томуже мобу но у всех клиентов.
И получается фигня.. щас код выставлю тот что был там есть место куда можно пхнуть код для той самой отправки но интересует куда именно и откуда отсылать данные.

Добавлено (24.11.2011, 19:25)
---------------------------------------------
Вот код это моб на сервере в степ событии:



А это в клиенте в мобе в событии степ:


Это принимает координаты (куда идти мобу) на клиенте:


Надо сюда как-то пихнуть отправку и приём.. или как это вообще сделать то?..

Добавлено (24.11.2011, 19:40)
---------------------------------------------
Да забыл написать. Если передавать так как передают игроки то сервер забьется быстро байтами.
Это не катит, это оставим игрокам.

 
TaygerДата: Четверг, 24.11.2011, 23:45 | Сообщение # 4
Въезжает
Группа: Пользователи
Сообщений: 16
Статус: Offline
Фишка в том что делать мобов надо на серве, гнаться они должны на серве за объектом... но проблема в том, что мобы это теже самые клиенты.... тебе придется передавать всем клиетам изменения координат каждого моба.... собственно я сказал тоже самое что было указано выше, тока развернул))
 
BenBenGSДата: Суббота, 26.11.2011, 15:45 | Сообщение # 5
Въезжает
Группа: Пользователи
Сообщений: 26
Статус: Offline
Так мобы и делаются у меня на сервере) на клиент приходит значение с количеством мобов и по этой фигне создаются в клиенте.
Просто если подключатся 10 юзеров то это будет крышка.
Потому что каждый моб на сервере отправляет своему клону координаты на каждый клиент.

Всё равно спасибо, буду как-то решать..

Добавлено (26.11.2011, 15:45)
---------------------------------------------
Люди, всё-же, как вы делаете врагов на своих серверах?

 
TaygerДата: Суббота, 26.11.2011, 16:08 | Сообщение # 6
Въезжает
Группа: Пользователи
Сообщений: 16
Статус: Offline
Можно так же передавать конечные координаты шага и перемещать моба с заранее заданной скоростью, а если прошли изменения в конечной позиции то присылать опять же, так же нужно будет проводить синхронизацию раз в несколько секунд, чтоб мобы у всех были в одинаковых местах...
 
BenBenGSДата: Суббота, 26.11.2011, 19:23 | Сообщение # 7
Въезжает
Группа: Пользователи
Сообщений: 26
Статус: Offline
Так мобы ходят нормально)) проблема с той частью где мобы начинают атаковать.. сделал что на сервере враг замечает игрока и начинает идти к нему, посылает координаты точки куда он пошел на клиент. Всё работает правильно, пока нет второго игрока.. а всё потому что на сервере один объект для игроков.
То-есть, когда игрок заходит этот объект присваивается ему "obj_player" и всё остальные заходя присваивают себе этот объект.
Поэтому, когда 1 игрок враг ведет себя правильно. Но когда есть два игрока то враг гонится только за тем игроком который был в игре первым..
Вот в чем теперь проблема... а враги ходят нормально, это все видят.
 
zxc76Дата: Воскресенье, 27.11.2011, 09:43 | Сообщение # 8
Генерал-полковник
Группа: Администраторы
Сообщений: 845
Статус: Offline
В "Век Бивней", я делал так. Так как у меня платформер, и летающих, прыгающих мобов нет- я просто передавал координату, куда идти. И иногда текущие координаты. У меня передавалась координата Х одним байтом, поэтому было очень экономно всё...

Quote (BenBenGS)
проблема с той частью где мобы начинают атаковать..

У меня мобы ходили ровно, не было рассинхронизаций, поэтому я сэкономил на коде и байтах . Когда врах подходит к игроку, автоматически начинается атака))) То есть если дистанция меньше пол метра, то долбит)))

Вот тут примерчик ботов... http:9dll.ru/load....-1-0-64
В примере использовал способ, такой же как в "Веке Бивней", код был от туда местами)))
Может поможет)))

Quote (BenBenGS)
То-есть, когда игрок заходит этот объект присваивается ему "obj_player" и всё остальные заходя присваивают себе этот объект.

Всё просто))) Пишем у мобов:
vrag=instance_nearest(x,y,obj_player);
vrag будет не переменная, а ближающий объект среди obj_player"ов...



 
BenBenGSДата: Воскресенье, 27.11.2011, 20:49 | Сообщение # 9
Въезжает
Группа: Пользователи
Сообщений: 26
Статус: Offline
Помогло! еслиб я знал об этом
Quote (zxc76)
Всё просто))) Пишем у мобов:
vrag=instance_nearest(x,y,obj_player);
vrag будет не переменная, а ближающий объект среди obj_player"ов...


То не былоб проблем)
Ну спасибо!!

Кстати я сделал мобов такими: Идет на новую позицию, стоит моргает пока не придут новые координаты точки куда идти, пришли координаты идет на новую точку.
Если игрок близко, на сервере он начинает идти к игроку и отсылает координаты места где игрок, если пришел останавливается и бить начинает отсылает команду что можно поменять спрайт на атакующий на клиенте (в случае если на клиенте враг уже в нужной позиции) если нет то он естественно продолжает идти к игроку.
И это у всех одинаково видно, ну в общем то что нужно было)
Спасиб ещё раз!
 
zxc76Дата: Понедельник, 28.11.2011, 06:18 | Сообщение # 10
Генерал-полковник
Группа: Администраторы
Сообщений: 845
Статус: Offline
Quote (BenBenGS)
И это у всех одинаково видно

Не совсем))) Это не самый надежный способ, но удобный за то)

Незачто))


 
BenBenGSДата: Понедельник, 28.11.2011, 14:31 | Сообщение # 11
Въезжает
Группа: Пользователи
Сообщений: 26
Статус: Offline
Ну почему не совсем? отличие я заметил только между клиентом и сервером.
Вот в каких случаях у меня передает инфу:
1. Когда началась Атака (на Сервере).
2. Моментально когда Атака закончилась (на Сервере).
3. Когда начинает идти на новую позицию (на Сервере).
4. Когда умирает (на Сервере).
5. Когда оживает (на Сервере).

А это в клиенте принимает и в степе моба (скрипты все написаны мной).
Приём:



В степе моба, сорри что комментарии на Англ.. просто на работе писал не на Русской системе.


Ну вот.

Добавлено (28.11.2011, 14:31)
---------------------------------------------
Не.. вру.. там где степ моба "Just move" это был с примера скрипт но я его сильно изменил под себя до неузнаваемости))

Сообщение отредактировал BenBenGS - Понедельник, 28.11.2011, 14:27
 
ДенисДата: Пятница, 02.12.2011, 15:01 | Сообщение # 12
Въехавший
Группа: Пользователи
Сообщений: 54
Статус: Offline
А где Фил??
 
Форум » Вопросы и проблемы » Проблема - решение » Погоня моба за жертвой (Подкиньте вариант.)
Страница 1 из 11
Поиск:
Хостинг от uCoz