Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Информационная доска

Данный раздел предназначен для обсуждения, а также решения технических проблем связанных с серверной частью. Обсуждения касательно игровых клиентов ведутся здесь.

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

/mute

, в меню только своя команда [РЕШЕНО]
Статус пользователя Lady
сообщение 9.9.2020, 15:21
Сообщение #1


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Здравствуйте, при вызове /mute выводится список из игроков своей команды и функция "заглушить всех", как можно вывести общий список всех игроков на сервере?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя mOdest
сообщение 9.9.2020, 15:23
Сообщение #2


Стаж: 9 лет 9 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

убрать проверку команды игрока
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 9.9.2020, 16:24
Сообщение #3


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Цитата(mOdest @ 9.9.2020, 19:23) *
убрать проверку команды игрока

как это сделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 9.9.2020, 16:40
Сообщение #4


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

Lady, исходник сам где?


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 9.9.2020, 16:47
Сообщение #5


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Цитата(energydance @ 9.9.2020, 20:40) *
Lady, исходник сам где?

исходник
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define ADMIN_FLAG ADMIN_BAN

new const m_iMenu = 205

enum base_
{
c_player[32],
c_name[32],
c_page,
c_num
}
new data[33][base_]
new bool:g_bPlayerMute[33][33], bool:g_bMuteAll[33]
new g_cvar_alltalk

public plugin_init()
{
register_plugin(
"Mute",
"1.0",
"Makenzo"
)

new cvar_alltalk
new szCommand[][] = {
"say /mute",
"say_team /mute"
}

for(new i = 0; i < sizeof szCommand; i++)
register_clcmd(szCommand[i], "cmdMuteMenu")

register_dictionary("mute.txt")
cvar_alltalk = get_cvar_pointer("sv_alltalk")
g_cvar_alltalk = get_pcvar_num(cvar_alltalk)
register_forward(FM_Voice_SetClientListening, "fwd_voice_setclientlistening")
register_menucmd(register_menuid("PlayerMenu"), 1023, "MenuHandler")
}

public cmdMuteMenu(id)
{
fnShowMenu(id, data[id][c_page] = 0)
return PLUGIN_HANDLED
}

public client_connect(id)
{
g_bMuteAll[id] = false
arrayset(g_bPlayerMute[id], false, sizeof g_bPlayerMute[])

}
public client_disconnect(id)
{
g_bMuteAll[id] = false
arrayset(g_bPlayerMute[id], false, sizeof g_bPlayerMute[])
}

public fnShowMenu(id, iPage)
{
if(iPage < 0)
return PLUGIN_HANDLED

new iPlayers[32], iPlayer, iNum, iMute, iItem, i
new szMenu[512], szName[32], szTeam[32]

get_user_team(id, szTeam, charsmax(szTeam))
get_players(iPlayers, iNum, g_cvar_alltalk ? "h":"eh", g_cvar_alltalk ? "":szTeam)

data[id][c_num] = 0
data[id][c_page] = iPage

for(i = 0; i < iNum; i++){
iPlayer = iPlayers[i]

if(id != iPlayer)
data[id][c_player][data[id][c_num]++] = iPlayer

get_user_name(iPlayer, data[iPlayer][c_name], charsmax(data[][c_name]))
}

if(data[id][c_num] <= 0){
set_hudmessage(0, 255, 50, -1.0, 0.35, 0, 0.0, 2.0, 0.0, 1.0, -1)
show_hudmessage(id, "%L", id, "#MuteNoPlayer")
return PLUGIN_HANDLED
}

i = min(iPage * 7, data[id][c_num])
new iStart = i - (i % 7)
new iEnd = min(iStart + 7, data[id][c_num])
iPage = iStart / 7

new iLen = formatex(szMenu, charsmax(szMenu), "\y%L^n^n", id, "#MuteMenuTitle")
new iKeys = MENU_KEY_0

for(i = iStart; i < iEnd; ++i){
if(i < data[id][c_num]){
iKeys |= (1 << iItem)
iPlayer = data[id][c_player][i]
iMute = g_bPlayerMute[id][iPlayer]
copy(szName, charsmax(szName), data[iPlayer][c_name])

if((get_user_flags(id) & ADMIN_FLAG) && (get_user_flags(iPlayer) & ADMIN_FLAG))
add(szName, charsmax(szName), "^t\r*")

if(iMute)
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[\w%d\r].\w^t%s^t%L^n", ++iItem, szName, id, "#Muted")
else
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[\w%d\r].\w^t%s^n", ++iItem, szName)
} else {
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen,"^n")
++iItem
}
}

iKeys |= MENU_KEY_8
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r[\w8\r].^t\y%L^n", id, g_bMuteAll[id] ? "#UnmuteAll":"#MuteAll")

if(iEnd < data[id][c_num]){
iKeys |= MENU_KEY_9
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r[\w9\r].^t\w%L^n\r[\w0\r].^t\w%L", id, "#MuteNext", id, iPage ? "#MuteBack":"#MuteExit")
} else
iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r[\w0\r].^t\w%L", id, iPage ? "#MuteBack":"#MuteExit")

set_pdata_int(id, m_iMenu, 0)
return show_menu(id, iKeys, szMenu, -1, "PlayerMenu")
}

public MenuHandler(id, iKeys)
{
switch(iKeys){
case 7:{
g_bMuteAll[id] = !g_bMuteAll[id]
arrayset(g_bPlayerMute[id], g_bMuteAll[id], sizeof g_bPlayerMute[])
}
case 8: fnShowMenu(id, ++data[id][c_page])
case 9: fnShowMenu(id, --data[id][c_page])
default:{
new iPlayer = data[id][c_player][data[id][c_page] * 7 + iKeys]
g_bPlayerMute[id][iPlayer] = !g_bPlayerMute[id][iPlayer]
fnShowMenu(id, data[id][c_page])
}
}
return PLUGIN_HANDLED
}

public fwd_voice_setclientlistening(receiver, sender, listen)
{
if(receiver == sender)
return FMRES_IGNORED

if(g_bPlayerMute[receiver][sender])
{
engfunc(EngFunc_SetClientListening, receiver, sender, 0)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 9.9.2020, 16:54
Сообщение #6


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

Можно так отправить?



Попробуй ниже прикрепил

Отредактировал: energydance, - 9.9.2020, 16:58
Прикрепленные файлы:
Прикрепленный файл  mute.sma ( 3,89 килобайт ) Кол-во скачиваний: 9


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 9.9.2020, 16:59
Сообщение #7


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Цитата(energydance @ 9.9.2020, 20:54) *
Можно так отправить?


прикреплен
Прикрепленные файлы:
Прикрепленный файл  mute.sma ( 4,12 килобайт ) Кол-во скачиваний: 12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 9.9.2020, 17:44
Сообщение #8


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

energydance, меню совсем не выходит теперьь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 9.9.2020, 21:59
Сообщение #9


Стаж: 9 лет 9 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

прикрепи исходник, как танцор просит
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 9.9.2020, 23:50
Сообщение #10


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Цитата(mOdest @ 10.9.2020, 1:59) *
прикрепи исходник, как танцор просит

прикреплен ведь чуть выше
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 10.9.2020, 5:19
Сообщение #11
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

Цитата(Lady @ 10.9.2020, 7:50) *
прикреплен ведь чуть выше

Если квар sv_alltalk будет 1, то будут отображены все игроки. Иначе, при кваре 0, нет необходимости глушить игроков другой команды, потому что их и так не слышно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 10.9.2020, 10:28
Сообщение #12


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

georgeml, sv_talk 1 как был так и стоит
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 10.9.2020, 10:56
Сообщение #13
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

Цитата(Lady @ 10.9.2020, 18:28) *
georgeml, sv_talk 1 как был так и стоит

Я объяснил, какой алгоритм построения меню в плагине. С вашими настройками я спорить не стану, т.к. доверяю коду, а не словам.

Код:

get_players(iPlayers, iNum, g_cvar_alltalk ? "h":"eh", g_cvar_alltalk ? "":szTeam)
=>
get_players(iPlayers, iNum, "h")


Отредактировал: georgeml, - 10.9.2020, 10:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 10.9.2020, 11:09
Сообщение #14


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

georgeml, этот квар не менялся, перед тем как спросить на форуме, искала в гугл, информация про sv_talk 1 была, проверила ее в server.cfg, так и стоит... на самом сервере тоже - игроки могут слышать команду противника и спектров. изменила на sv_talk 4, чуть позже проверю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mOdest
сообщение 10.9.2020, 14:26
Сообщение #15


Стаж: 9 лет 9 месяцев

Сообщений: 1255
Благодарностей: 255
Полезность: 79

Цитата(Lady @ 10.9.2020, 12:09) *
georgeml, этот квар не менялся, перед тем как спросить на форуме, искала в гугл, информация про sv_talk 1 была, проверила ее в server.cfg, так и стоит... на самом сервере тоже - игроки могут слышать команду противника и спектров. изменила на sv_talk 4, чуть позже проверю


если используется rehlds и regame, то проверь ещё файл game.cfg (на myarena он как-то по-другому называется, всё время забываю, но думаю не сильно отличается)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Lady
сообщение 10.9.2020, 14:58
Сообщение #16


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

mOdest, к сожалению sv_talk 4 не помог... у меня не MyArena но совет помог на 100%, благодарю:) тему можно закрыть
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 10.9.2020, 19:39
Сообщение #17


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

мы пытались НО решения вопроса Lady решила не озвучивать cbf1b2bfde1a.gif


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Lady
сообщение 10.9.2020, 21:42
Сообщение #18


Стаж: 7 лет 9 месяцев

Сообщений: 430
Благодарностей: 39
Полезность: 96

Цитата(energydance @ 10.9.2020, 23:39) *
мы пытались НО решения вопроса Lady решила не озвучивать cbf1b2bfde1a.gif

не в server.cfg а в game.cfg квар был sv_talk 0
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя adva
сообщение 10.9.2020, 22:52
Сообщение #19


Иконка группы

Стаж: 12 лет

Сообщений: 2543
Благодарностей: 1676
Полезность: 819

Меценат Меценат

Lady, мб sv_alltalk ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 3 гостей читают эту тему: