Перейти к содержанию
Авторизация  
Kapral

У правительства не работает рация департамента

Рекомендуемые сообщения

Kapral

Всем привет. На моем сервере у Правительства работает рация нормально. Но департамент почему-то нет. Просто в чат пишет: (Ник) сказал что-то в рацию.

Сама команда: 

//==============================================================================
if(strcmp(cmd, "/departments", true) == 0 || strcmp(cmd, "/d", true) == 0)
{
if(IsPlayerConnected(playerid))
{
//------------------------------------------------------------------------------
if(PlayerInfo[playerid][pMuted] == 1) {
PlayerMuteMessage(playerid);
return 1; }
if(GetPVarInt(playerid,#TogDb) == 1) return SendClientMessage(playerid,COLOR_GRAD1,#Введите /togdb.);
//------------------------------------------------------------------------------
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD1, "Используйте: /d [текст]");
return 1;
}
new frak;
if(PlayerInfo[playerid][pLeader] > 0) frak = PlayerInfo[playerid][pLeader];
else frak = PlayerInfo[playerid][pMember];
new rank = PlayerInfo[playerid][pRank];
if(rank > 15) rank = 15;
switch(frak)
{
case 1..6,9..13,16,19:
{
format(string, sizeof(string), "{04B4AE}[D] %s %s: %s, конец связи.",FrakInfo[frak-1][rank][rang],sendername, result);
SendDepMessage(string);
format(string, sizeof(string), "* %s сказал что-то в рацию", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
default: return SendClientMessage(playerid, COLOR_GREY, "Вы не состоите во фракции!");
}
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noname_idk

Сравните написание переменной ранга. Убедитесь, что для ранга игрока существует вообще наименование в массиве/стоке.

Изменено пользователем Elrmrnt-Kritik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Dexter

как вариант вот тебе готовая команда 

CMD:d(playerid,params[])
{
    if(sscanf(params,"s[100]",params[0])) return SendClientMessage(playerid,COLOR_WARNING,"Используйте: /d [текст]");
	if(PLAYER_DATA[playerid][data_MEMBER] == 0) return  SendClientMessage(playerid,COLOR_WARNING,"Вы не состоите во организации!");

	new str[145];
	switch(PLAYER_DATA[playerid][data_MEMBER])
	{
	    case 1:format(str,sizeof(str),"[D] %s %s[%d]: %s",rang_police[PLAYER_DATA[playerid][data_RANK]-1][frName],PLAYER_DATA[playerid][data_NAME],playerid,params[0]);
		default:SendClientMessage(playerid,COLOR_WARNING,"Вам недоступна данная команда!");
	}
	SendDepMessage(0xE87878FF,str);
	return true;
}

Замените данные на свои и должно работать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.