Всем доброго времени суток, 5 минут назад случайным образом наткнулся на такую интересную программу под названием Mumble. Описание которого меня просто сразу же заинтересовало.
Quote
Mumble — бесплатное, кросс-платформенное VoIP приложение с открытым кодом. Включает особую технологию, которая позволяет сделать звучание голосов других игроков зависимым от их конкретного местоположения в игре.
Позиционирование звука (если, например, игрок находится справа от вас и говорит, то звук тоже будет слышен справа. Если игрок далеко от вас, звук будет приглушён)(Требует игрового плагина и поэтому доступно не для всех игр).
Эффективное подавление эха, удачное управление уровнем звука. При высоком пинге звук не проигрывается спустя продолжительное время (очень плохая привычка Ventrilo и Teamspeak).[источник не указан 106 дней]
Встроенный, настраиваемый Overlay (в Teamspeak есть плагин, в Ventrilo появился в версии 3.0). Поддерживает Direct3D 10 с версии 1.2.0.
Встроенная работа с геймерской клавиатурой Logitech G15.
Шифрует всю связь через SSL (ни Teamspeak, ни Ventrilo на это не способны).
Конечно плагина под GTA San Andreas нет, так как в принципе разработчикам скорее не известен или не интересен SAMP. Написать плагин который будет выдёргивать координаты игрока из игры, думаю не сложно. Ещё конечно лучше было бы управлять координатами игроков самим сервером SAMP. Но это уже будет сложней. У кого какие идеи на этот счёт?
Мои завистники: 1 место - Eakwarp (постоянная зависть в сторону моих успехов и уровня развития) - Стаж > 4х лет! 2 место - PeRaN (подлиза, признавшая моё превосходство, но не желающая что-либо исправлять по моим советам) - Стаж > 3х лет! 3 место - Тут можешь оказаться ты!
Объясните мне суть идеи, я не понимаю честно говоря, и какой SDK нужен, плагина для сэмп или что? ADDED: А ну да, идею я понял, тогда в чем вопрос и каким образом там идут команды, в смысле постоянная передача позиции игрока, или сама dll'ка при нажатии клавиши разговора отправляет запрос непосредственно в плагин, где берутся позиции всех игроков, чтобы определить частоту и баланс звука?
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
Сообщение отредактировал toneysix - Четверг, 19.05.2011, 10:29
Прикрутить его к аудиоплагину от инкогнито, и все.
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
постоянная передача позиции игрока, или сама dll'ка при нажатии клавиши разговора отправляет запрос непосредственно в плагин
Я не знаю как насчёт постоянно ли передаются координаты. Хотя постоянно... Ведь передавая координаты только нажимая кнопку, мы синхронизировали бы только в момент разговора. Слушаем ведь всегда, значит и координаты передаются всегда.
Quote (toneysix)
где берутся позиции всех игроков, чтобы определить частоту и баланс звука?
Координаты всех игроков на сервере Mumble. У каждого клиента для поддержки GTA Sa должен быть плагин в Mumble клиент, кторый бы вырывал координаты игры. Пока ещё такого нет. Но взять значения из памяти gta_sa.exe это не сложно. Другой момент на сайте Mumble нужно найти SDK плагина под Mumble.
AirKite координаты игры, это как? Я вообще смысла не понимаю, неужели там нет параметра мин.макс значения XYZ по отношению к которым мы будем передавать координаты игрока с помощью samp плагина для непосредственного их сравнения. И второе, не думаю, что там идет постоянная передача, если никто ничего не нажимает, зачем включать звуковую поддержку, нежели взять при нажатии клавиши определить местоположения игрока и затем передать этот звук только тем, кто должен его слышать.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
Смысла чего? Реализации плагина для Mumble под GTA SA ?
Quote (toneysix)
неужели там нет параметра мин.макс значения XYZ
Не всё ли равно? Главное что бы на координаты GTA Sa хватило. А вообще я не думаю что там есть какие то специальные ограничения.
Quote (toneysix)
с помощью samp плагина для непосредственного их сравнения
Ты вроде что то упустил или поспешил. Некаких плагинов под SAMP делать не нужно. Плагин для Mumble под игру GTA SA. И что сравнивать, я что то не понял. Mumble это предлагает делать самостоятельно. Ему нужны лишь координаты.
Quote (toneysix)
И второе, не думаю, что там идет постоянная передача, если никто ничего не нажимает, зачем включать звуковую поддержку, нежели взять при нажатии клавиши определить местоположения игрока и затем передать этот звук только тем, кто должен его слышать.
И как же узнать кто его должен слышать если координаты передаются только после нажатия клавиши? Максимум что можно придумать в этой оптимизации так сказать, так это то, что бы координаты передавались не постоянно а только в момент любого эфира (под эфиром подразумеваю трёп одног из игроков, подключенного к одному и тому же каналу с вами).
Недостатки всей этой системы, так это отсутсвие возможности реализовать иконку динамика над игроком (когда тот говорит). И вывести список говорящих прямо в игру. Как в кс
Quote (Eakwarp)
Прикрутить его к аудиоплагину от инкогнито, и все.
AirKite ты пойми, что сэмп работает далеко иначе, всякие там кски и подобные им игры имеют встроенный сетевой модуль, а SA:MP хакает память игры и передает непосредственно с помощью ракнет, которая позволяет организовать сетевой модуль, данные, то есть хакать память гташки бесполезно, поэтому здесь так или иначе я думаю потребуется плагин, который бы отсылал запрос на клиент и обратно с клиента mumbe и обратно в плагин сэмпа. Тут далеко не все так просто, как ты представляешь.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
toneysix, Причём тут игры типа кс, которые имеют свой встроенный сетевой модуль? Зачем говорить очевидные вещи о SA:MP? Цель не синхронизировать игру или вмешиваться и изменять её какието процессы. А просто узнать координаты локального педа. GTA Sa будь то под SAMP или MTA имеет свои неизменные адреса памяти, из которых можно выдернуть нужные нам данные. Более того, SAMP сам узнаёт эти данные скорее всего именно с этих адресов.
Ты предлагаешь GTA SA -->>> SAMP -->>> Mumble Plugin (Client) -->>> Mumble (Server) . Когда проще сделать GTA SA -->>> Mumble Plugin (Client) -->>> Mumble (Server) .
Не вижу смысла узнавать координаты через посредника, когда это можно сделать на прямую. _http://gtamodding.ru/wiki/Адреса_Памяти_(SA)
AirKite я предлагаю то, что знаю на практике, а не то, что ты предлагаешь на теории, зачем писать то, что уже сделано в самом сэмпе, именно получение непосредственных координат каждого игрока, и если честно, я даже не представляю, каким образом ты будешь обмениваться между ними этими данными, в данном случаи ракнет уже сделал за нас эти вещи, зачем писать то, что уже сделано, а хакать память в моем плане не подразумевает её изменение.
Русскоязычныи портал о MTA/GTA-IV-MP | http://multi-theft-auto.ru
Я дал выше основу, прикручиваете сам voIP к аудио плагину, и клиентской его части от инкогнито, он уже сам взаимодействует и с клиентом и с сервером. Дело пары часов при большой ленивости.
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
я предлагаю то, что знаю на практике, а не то, что ты предлагаешь на теории
Опять двадцать пять. Где твоя практика? То что я говорю уже давно есть на практике. Осталось реализовать это в плагин для Mumble. Ты опять не уловил суть.
Quote (toneysix)
зачем писать то, что уже сделано в самом сэмпе, именно получение непосредственных координат каждого игрока
Не смотря на то что заголовок темы "Голосовое общение", в первом посте суть темы заключается в программе Mumble, которая просто заинтересовала. Если ты не читал описание, то прочитай.
Mumble имеет клиент, которому нужно узнавать координаты из твоей игры (для этого и нужен плагин к каждой игре свой). То что сервер SAMP имеет координаты всех игроков это уже совсем другое. Тут всё на столько элементарно и универсально, что тебе захотелось замахнутся в более конкретные реализации.
Я дал выше основу, прикручиваете сам voIP к аудио плагину, и клиентской его части от инкогнито, он уже сам взаимодействует и с клиентом и с сервером. Дело пары часов при большой ленивости.
Смысли это всё делать когда есть решение проще? Причём решение уже готово. Осталось взять SDK пдагина, указать с какого процесса, по каким адресам брать координаты и скомпилировать.