Ще опиша повечето неща за плъгина и какви проблеми има или може да създаде в зависимост от ситуацията. Не предлагам помощ с поправяне/едитване/инсталиране на плъгина!!! Ще дам tutorial/инструкции за инсталиця към Roleplay сървър.
Но преди да започнем, искам да добавя, че това не е изцяло моя разработка, участват екип от хора с които успяхме да направим използването на Voice Chat в SA-MP нормално.
Какво представялва Royal Voice Chat Plugin?
Това е плъгин/client mod за сървър на SA-MP (0.3.7), който ви позволява да говорите в играта с другите играчи. За използването на Voice Chat-a са необходими две неща, от играча и сървъра. Играча трябва да има инсталирани всички нужни файлове за да може да говори в сървъра.
Сървъра трябва да има инсталиран и настроен плъгин на Royal Voice Chat. (ще дам инструкции по-долу)
Как да инсталираме Royal Voice Chat в сървъра ни?
Изтегляте сървър файловете от линковете и ги инсталирате в предназначените им за тях места.
След това ще трябва да отворите вашият мод/скрипт и да добавите това към останалите ви Includes.
Code: Select all
#include <royalvoice>
Code: Select all
// Voice chat settings
new SV_SGSTREAM:player_stream[MAX_PLAYERS]; //global stream
forward globalStreamTimer(playerid);
new streamTimer[MAX_PLAYERS];
Code: Select all
добавяте в public OnGameModeInit()
sv_init(16000, SV_FREQUENCY_HIGH, SV_VOICE_RATE_40MS, 1.0, 1.0, 1.0); // инициализиране на настройките на плъгина
Code: Select all
public OnPlayerConnect(playerid)
{
if(sv_get_version(playerid) == SV_NULL)
{
SendClientMessage(playerid, -1, "Нямате Royal-Voice Chat инсталиран. За повече информация: www.royal-rp.com");
}
else
{
SendClientMessage(playerid, -1, "Royal Voice Chat успешно се инициализира. Използвайте 'B' за да говорите в сървъра!");
}
// проверка за микрофон
if(!sv_has_micro(playerid)) {
SendClientMessage(playerid, -1, "Нямате включен микрофон.");
}
// глобален стреам/voice chat при влизане
player_stream[playerid] = sv_sgstream_create();
sv_stream_set_parameter(player_stream[playerid], SV_PARAMETER_VOLUME, 10);
// инсталация на копче за говорене
sv_set_key(playerid, 0x42); // 0x42 - код за бутон 'B'
streamTimer[playerid] = SetTimerEx("globalStreamTimer", 2500, true, "i", playerid);
return true;
}
Code: Select all
public OnPlayerDisconnect(playerid, reason) {
sv_stream_delete(player_stream[playerid]); // изтриване на стийм когато играч влезе
return 1;
}
Code: Select all
public SV_BOOL:OnPlayerVoice(
SV_UINT:playerid, // ID на пращача
SV_PACKET:packet, // Packet дескриптор
SV_UINT:volume // Ниво на звук [0-32768]
) {
SetPlayerChatBubble(playerid, "(VOICE)", COLOR_YELLOW, 13.00, 1000);
sv_send_packet(packet, player_stream[playerid]); // изпращане на звуков пакет към играч/и
return SV_TRUE; // Изтриване на изпратения вече пакет? (SV_TRUE - да, SV_FALSE - не)
}
Code: Select all
public globalStreamTimer(playerid)
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
for( new p = 0; p < MAX_PLAYERS; p++)
{
if(playerid == p) continue;
if(!IsPlayerConnected(p)) continue;
if(!IsPlayerInRangeOfPoint(p, 13.0, pos[0], pos[1], pos[2]))
{
sv_stream_player_detach(player_stream[p], playerid);
}
else
{
sv_stream_player_attach(player_stream[p], playerid);
}
}
return 1;
}
Това е всичко, което трябва да направите за да работи по нормален начин плъгина в сървъра ви.
Проблеми с плъгина:
- При постоянното използване на войс чата се натрупват твърде много пакети към плъгина и не функционира правилно. С времето се оправя.
- При определени редки условия, плъгина може да крашне целия сървър. Това може да се оправи чрез определени проверки при стриймовете или закачането на играч към стрийм.
- При инсталицията на мода към играта ви, ще ви са нужни определените условия за да може да ви зареди Cleo или SAMPFUNCS (ако се използва такъв)! Ако не ви зареждат напълно, ще трябва да потърсите информация в интернет. Това не е свързано пряко с плъгина!
Credits:
*** CyberMor (главен създател на плъгина)
*** Dakata (разработка на custom версия на плъгина)
*** Radoslav Belov (Beta Testing)
*** Stanislav Bondarev (разработка на custom версия на плъгина)
**** И на всички останали, които помагаха с тестването на плъгина преди да бъде пуснат в действие!!!
Server Files: http://www.mediafire.com/file/v2nhshcmf ... r.rar/file
Client Files (има инструкции в архива): http://www.mediafire.com/file/wvaq7odef ... t.rar/file
!!! Не предлагам support за плъгина !!!