-
Уважаемый пользователь! Вы не представились системе! Для получения полного доступа к форуму войдите <ИЛИ> зарегистрируйтесь!
Спасибо.
-
База знаний:
Плагины-
Стандартные функции PAWN
-
Версия: 0.3.7
-
Версия: 0.3e
-
Версия: 0.3d
-
Версия: 0.3c
-
Версия: 0.3b
-
Версия: 0.3a
-
Автовызываемые функции
-
-
Плагины и инклуды
-
Уроки
От DEST
- StartVoice(playerid) - позволяет начать игроку отправлять голосовые пакеты, проще говоря, этой функцией включается микрофон игрока.
- StopVoice(playerid) - оканчивает передачу. Т.е., отключается микрофон игрока.
- SendVoice(playerid, BitStream:bs) - отправляет голосовой пакет игроку. Используется в коллбэке OnPlayerVoice.
Обсудить / получить поддержку
SAMPVOICE - это специальный набор ПО, а именно клиент (через который это работает) и плагин, позволяющий игрокам общаться в игре посредством использования микрофона (далее - "голосовой чат").
Разработчики определяют свой продукт как:
ЦитатаSAMPVOICE - это набор разработчика SDK Pawn , который позволит добавить возможнось голосовой передачи на игровом сервере SA-MP.
Это работает посредством отправки пакетов голосового потока игрокам. Собственно, поэтому нужно скачивать дополнительный клиент для работы. Помимо этого, для общения, разработчики серверов должны на своем проекте установить плагин. Именно он отвечает за обработку голосовых сообщений (включение, выключение, отправка и пр.).
Плагин имеет 3 основные функции и одну автовызываемую (коллбэк):
КОЛЛБЭК OnPlayerVoice(playerid, BitStream:bs):
Описание функции:
Обрабатывает голосовые потоки игроков.
Параметры функции:
(playerid, BitStream:bs)
playerid - ИД игрока, КОТОРЫЙ отправил голосовой поток.
BitStream: bs - сам голосовой поток.
Возвращаемые значения:
Коллбэк не возвращает никаких специальных значений
Данная информация не является точной. Если вы знаете наверняка, пожалуйста, отредактируйте данную статью.
Пример использования:
Спойлер#include <a_samp> #include <voice> #undef MAX_PLAYERS #define MAX_PLAYERS 100 // PRESSED(keys) #define PRESSED(%0) \ (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) // RELEASED(keys) #define RELEASED(%0) \ (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0))) public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { // Pressed Y if(PRESSED(KEY_YES)) StartVoice(playerid); // Released Y if(RELEASED(KEY_YES)) StopVoice(playerid); // return 1; } public OnPlayerVoice(playerid, BitStream:bs) { // Add Text SetPlayerChatBubble(playerid, "Speaker", COLOR_WHITE, 10.00, 1000); // Get Player Voice Pos new Float:pos[3]; GetPlayerPos(playerid, pos[0], pos[1], pos[2]); // Foreach Players for(new i = 0; i < MAX_PLAYERS; i++) { if(playerid == i) continue; if(!IsPlayerConnected(i)) continue; // Set param 10.00 distance if(IsPlayerInRangeOfPoint(i, 10.00, pos[0], pos[1], pos[2])) { SendVoice(i, bs); } } return 1; }
ПОЯСНЕНИЕ ПРИМЕРА (написано разработчиками):
В паблике OnPlayerKeyStateChange когда игрок нажимает на клавишу Y - мы ему включаем запись (микрофон), когда он отпускает клавишу - выключаем запись.
После вызова функции StartVoice весь голосовой поток передается в паблик OnPlayerVoice в виде пакетов, после вызова функции StopVoice передача завершается.
В паблике OnPlayerVoice добавляем текст над головой "Динамик" тому кто говорит, потом в радиусе от говорящего передаем всем легитимным игрокам кроме самого говорящего.
Вы можете скачать с серверов форума: клик
Или же с официального репозитория разработчика: https://github.com/CyberMor/sampvoice
Благодарности
Официальный сайт разработчиков голосового клиента и плагина: https://sampvoice.com
Автор плагина и клиентской части: Daniel_Mor
Данная информация не является точной. Если вы знаете наверняка, пожалуйста, отредактируйте данную статью.
СПЕЦИАЛЬНО ДЛЯ САЙТА PAWNO-RUS.RU!
Войдите для возможности подписатьсяПодписчики 0
-