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

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

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

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

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

MuteMenu

Статус пользователя default67
сообщение 24.10.2014, 17:48
Сообщение #1


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Всем привет!
Помогите добавить в плагин mutemenu (такой пункт как 1. Мой ник (это вы), и дальше уже список других игроков, уже сколько не пытался добавить и всё в пустую!

Прикрепленные файлы:
Прикрепленный файл  mute.sma ( 4,5 килобайт ) Кол-во скачиваний: 28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя pist0nchik
сообщение 24.10.2014, 18:39
Сообщение #2


Стаж: 12 лет

Сообщений: 403
Благодарностей: 437
Полезность: 545

интересно очень стало,а для чего нужна эта кнопка ? чтобы заткнуть самого себя или что ? я просто не пойму логику этой проблемы
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя PREDATOREX
сообщение 24.10.2014, 18:49
Сообщение #3


Стаж: 17 лет

Сообщений: 828
Благодарностей: 611
Полезность: 674

serveroc.com.ua
Цитата(pist0nchik @ 24.10.2014, 18:39) *
интересно очень стало,а для чего нужна эта кнопка ? чтобы заткнуть самого себя или что ? я просто не пойму логику этой проблемы


Сделай, и узнаешь smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DumoH4uk
сообщение 24.10.2014, 18:52
Сообщение #4


Стаж: 14 лет

Сообщений: 188
Благодарностей: 81
Полезность: 122

Код:
	if(id != i)
len += format(menubody[len], 511 - len, "\r%d.\w %s %s\w^n", ++b, name, g_mute[id][i] ? "\r[Заглушен]" : "")
else
len += format(menubody[len], 511 - len, "\r%d.\w %s [Это вы]\w^n", ++b, name)


Чтобы нажать на себя нельзя было.

Код:
		if(id != i)
{
keys |= (1<<b)
len += format(menubody[len], 511 - len, "\r%d.\w %s %s\w^n", ++b, name, g_mute[id][i] ? "\r[Заглушен]" : "")
}
else len += format(menubody[len], 511 - len, "\r%d.\w %s [Это вы]\w^n", ++b, name)


Отредактировал: DumoH4uk, - 24.10.2014, 18:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя default67
сообщение 24.10.2014, 19:00
Сообщение #5


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Щас проверим!

Причина: Не нужно цитировать большие посты целиком
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя default67
сообщение 24.10.2014, 19:05
Сообщение #6


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Что то не то, вставь этот код в сам плагин, возможно я что не правильно сделал!

Причина: Не нужно цитировать большие посты целиком
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DumoH4uk
сообщение 24.10.2014, 19:24
Сообщение #7


Стаж: 14 лет

Сообщений: 188
Благодарностей: 81
Полезность: 122

Цитата(default67 @ 24.10.2014, 21:05) *
Что то не то, вставь этот код в сам плагин, возможно я что не правильно сделал!


А вам это надо? У вас меню генерируется без вас.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя DumoH4uk
сообщение 24.10.2014, 19:33
Сообщение #8


Стаж: 14 лет

Сообщений: 188
Благодарностей: 81
Полезность: 122

Скрытый текст
Код:
#include <amxmodx>
#include <fakemeta>

new bool:g_mute[33][33]
new g_menuposition[33]
new g_menuplayers[33][32]
new g_menuplayersnum[33]
new muteall[33]
new cvar_alltalk
new maxplayers

public plugin_init()
{
register_plugin("mute menu", "1.2", "cheap_suit / Bl0ck")

register_clcmd("say /mute", "mutemenu")
register_clcmd("say_team /mute", "mutemenu")
register_clcmd("mute", "mutemenu")

register_forward(FM_Voice_SetClientListening, "fwd_voice_setclientlistening")
register_menucmd(register_menuid("mute menu"), 1023, "action_mutemenu")

cvar_alltalk = get_cvar_pointer("sv_alltalk")
maxplayers = get_maxplayers()
}

public mutemenu(id)
{
display_mutemenu(id, g_menuposition[id] = 0)
return PLUGIN_HANDLED
}

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

if(g_mute[receiver][sender])
{
engfunc(EngFunc_SetClientListening, receiver, sender, 0)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}

display_mutemenu(id, pos)
{
if(pos < 0)
return

new at = get_pcvar_num(cvar_alltalk)
g_menuplayersnum[id] = get_players_new(g_menuplayers[id], at ? -1 : get_user_team(id))

new start = pos * 7
if(start >= g_menuplayersnum[id])
start = pos = g_menuposition[id]

new end = start + 7
if(end > g_menuplayersnum[id])
end = g_menuplayersnum[id]

static menubody[512]
new len = format(menubody, 511, "\yЗаткнуть игрока:^n^n\w")

static name[32]

new b = 0, i
new keys = MENU_KEY_0

for(new a = start; a < end; ++a)
{
i = g_menuplayers[id][a]
get_user_name(i, name, 31)

if(id != i)
{
keys |= (1<<b)
len += format(menubody[len], 511 - len, "\r%d.\w %s %s\w^n", ++b, name, g_mute[id][i] ? "\r[Заглушен]" : "")
}else len += format(menubody[len], 511 - len, "\r%d.\w %s [ Это вы ]\w^n", ++b, name)
}
if(muteall[id])
len += format(menubody[len], 511 - len, "^n\r8.\w Разглушить всех")
else
len += format(menubody[len], 511 - len, "^n\r8.\w Заткнуть всех")
keys |= MENU_KEY_8

if(end != g_menuplayersnum[id])
{
format(menubody[len], 511 - len, "^n\r9.\w %s^n\r0.\w %s", "Дальше", pos ? "Назад" : "Выход")
keys |= MENU_KEY_9
}
else
format(menubody[len], 511-len, "^n\r0.\w %s", pos ? "Назад" : "Выход")

show_menu(id, keys, menubody, -1, "mute menu")
}


public action_mutemenu(id, key)
{
switch(key)
{
case 7:
{
if(muteall[id])
{
for(new i = 1; i <= maxplayers; ++i)
g_mute[id][i] = false

muteall[id] = false
}
else
{
for(new i = 1; i <= maxplayers; ++i)
g_mute[id][i] = true

muteall[id] = true
}

display_mutemenu(id, g_menuposition[id])
}
case 8: display_mutemenu(id, ++g_menuposition[id])
case 9: display_mutemenu(id, --g_menuposition[id])
default:
{
new player = g_menuplayers[id][g_menuposition[id] * 7 + key]

g_mute[id][player] = g_mute[id][player] ? false : true
display_mutemenu(id, g_menuposition[id])
}
}

return PLUGIN_HANDLED
}

get_players_new(players[ 32 ], team = -1 )
{
new num;
for( new i = 1; i <= maxplayers; i++ )
{
if( is_user_connected( i ) && !is_user_hltv( i ) && !is_user_bot( i ))
{
if( team > -1 && get_user_team( i ) != team )
continue;

players[ num++ ] = i;
}
}
return num;
}


Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя default67
сообщение 24.10.2014, 20:59
Сообщение #9


Стаж: 11 лет

Сообщений: 121
Благодарностей: 11
Полезность: < 0

Спасибо!

Причина: Не нужно цитировать большие посты целиком
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: