AMX MOD X
Суббота, 09.08.2025, 00:01:49



Приветствую Вас Гость | RSS
[ Главная ] [ В консле при кике, писало кто кикнул - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
В консле при кике, писало кто кикнул
ProffiДата: Понедельник, 19.05.2008, 19:12:00 | Сообщение # 1
Подполковник
Группа: Пользователи
Сообщений: 117
Репутация: 3
Статус: Не в сети
Вот кусок из плагина plmenu.amx
Quote
/* Kick */

public actionKickMenu(id, key)
{
switch (key)
{
case 8: displayKickMenu(id, ++g_menuPosition[id])
case 9: displayKickMenu(id, --g_menuPosition[id])
default:
{
new player = g_menuPlayers[id][g_menuPosition[id] * 8 + key]
new authid[32], authid2[32], name[32], name2[32]

get_user_authid(id, authid, 31)
get_user_authid(player, authid2, 31)
get_user_name(id, name, 31)
get_user_name(player, name2, 31)

new userid2 = get_user_userid(player)

log_amx("Kick: ^"%s<%d><%s>^" kick ^"%s<%d><%s>^"", name, get_user_userid(id), authid, name2, userid2, authid2)

show_activity_key("ADMIN_KICK_1", "ADMIN_KICK_2", name, name2);


server_cmd("kick #%d", userid2)
server_exec()

displayKickMenu(id, g_menuPosition[id])
}
}

return PLUGIN_HANDLED
}

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

get_players(g_menuPlayers[id], g_menuPlayersNum[id])

new menuBody[512]
new b = 0
new i
new name[32]
new start = pos * 8

if (start >= g_menuPlayersNum[id])
start = pos = g_menuPosition[id] = 0

new len = format(menuBody, 511, g_coloredMenus ? "\y%L\R%d/%d^n\w^n" : "%L %d/%d^n^n", id, "KICK_MENU", pos + 1, (g_menuPlayersNum[id] / 8 + ((g_menuPlayersNum[id] % 8) ? 1 : 0)))
new end = start + 8
new keys = MENU_KEY_0

if (end > g_menuPlayersNum[id])
end = g_menuPlayersNum[id]

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

if (access(i, ADMIN_IMMUNITY))
{
++b

if (g_coloredMenus)
len += format(menuBody[len], 511-len, "\d%d. %s^n\w", b, name)
else
len += format(menuBody[len], 511-len, "#. %s^n", name)
} else {
keys |= (1<<b)

if (is_user_admin(i))
len += format(menuBody[len], 511-len, g_coloredMenus ? "%d. %s \r*^n\w" : "%d. %s *^n", ++b, name)
else
len += format(menuBody[len], 511-len, "%d. %s^n", ++b, name)
}
}

if (end != g_menuPlayersNum[id])
{
format(menuBody[len], 511-len, "^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
keys |= MENU_KEY_9
}
else
format(menuBody[len], 511-len, "^n0. %L", id, pos ? "BACK" : "EXIT")

show_menu(id, keys, menuBody, -1, "Kick Menu")
}

public cmdKickMenu(id, level, cid)
{
if (cmd_access(id, level, cid, 1))
displayKickMenu(id, g_menuPosition[id] = 0)

return PLUGIN_HANDLED
}

Куда вставить:
client_cmd(id, "Вас кикнул %s", name)

 
VENДата: Понедельник, 19.05.2008, 19:39:40 | Сообщение # 2
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Насколько я знаю, этот вариант не пройдет, т.к. кик происходит мгновенно, клиент не успеет получить эту команду от сервера.
Почему бы не ввести данный текст в самой информационной строке кика?
 
ProffiДата: Понедельник, 19.05.2008, 20:47:13 | Сообщение # 3
Подполковник
Группа: Пользователи
Сообщений: 117
Репутация: 3
Статус: Не в сети
В логах сервера пишется кто кикал и кого, хотелось бы чтобы человек которого кикнули тоже об этом знал.
 
VENДата: Вторник, 20.05.2008, 17:32:09 | Сообщение # 4
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Повторяю вопрос:
Quote
Почему бы не ввести данный текст в самой информационной строке кика?
 
ProffiДата: Понедельник, 26.05.2008, 23:37:43 | Сообщение # 5
Подполковник
Группа: Пользователи
Сообщений: 117
Репутация: 3
Статус: Не в сети
Quote
информационной строке кика

Это где?
 
L3XДата: Вторник, 27.05.2008, 13:13:22 | Сообщение # 6
Лейтенант
Группа: Скриптеры
Сообщений: 60
Репутация: 2
Статус: Не в сети
Quote (Proffi)
Это где?

Попробуй изменить вот так(хватит по идее одного параметра, но это если не вдаваться в подробности) :
Code

server_cmd("kick #%d", userid2, name, name2)



Сообщение отредактировал L3X - Вторник, 27.05.2008, 13:19:09
 
DaTaДата: Вторник, 27.05.2008, 14:26:17 | Сообщение # 7
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (L3X)
Попробуй изменить вот так(хватит по идее одного параметра, но это если не вдаваться в подробности)
server_cmd("kick #%d", userid2, name, name2)

полагаю
Code
server_cmd("kick #%d ^"vas kicknyl %s^"", userid2, name)

правильнее


Сообщение отредактировал DaTa - Вторник, 27.05.2008, 14:27:14
 
ProffiДата: Вторник, 27.05.2008, 18:22:55 | Сообщение # 8
Подполковник
Группа: Пользователи
Сообщений: 117
Репутация: 3
Статус: Не в сети
Куда это вставить, чтобы игрок которого кикнули, видел кто его кикнул?
 
DaTaДата: Вторник, 27.05.2008, 18:31:56 | Сообщение # 9
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
вместо
Code
server_cmd("kick #%d", userid2)
в первой функции
 
L3XДата: Вторник, 27.05.2008, 18:32:11 | Сообщение # 10
Лейтенант
Группа: Скриптеры
Сообщений: 60
Репутация: 2
Статус: Не в сети
Quote (Proffi)
Куда это вставить, чтобы игрок которого кикнули, видел кто его кикнул?

Это надо у вас спросить. Кусок кода который вы привели.
Эту строку:
Code

server_cmd("kick #%d", userid2)

Заменить на эту:
Code

server_cmd("kick #%d ^"vas kicknyl %s^"", userid2, name)
 
ProffiДата: Вторник, 27.05.2008, 18:51:53 | Сообщение # 11
Подполковник
Группа: Пользователи
Сообщений: 117
Репутация: 3
Статус: Не в сети
спасибо всем кто участвовал в моей проблеме, тему можно закрыть.
 
VENДата: Вторник, 27.05.2008, 19:34:19 | Сообщение # 12
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
В твоей проблеме мы участия не принимали, а лишь поучаствовали в процессе ее решения. Считаю тему закрытой.
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2025