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

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

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

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

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

Перед тем как создать тему или задать вопрос, ознакомьтесь с данной темой, там собраны наиболее распространенные уязвимости и способы устранения.
Так же не поленитесь воспользоваться поиском, вполне возможно, что ваш вопрос уже поднимался на форуме.
При создании новой темы уделите внимание ее названию, оно должно кратко описывать суть вашего вопроса/проблемы. Все вновь созданные темы с названиями "Помогите", "Объясните", "Подскажите" и т.д. будут удалены, а их авторы наказаны.
460 страниц V  « 222 223 224 ... 458 459 »

Fresh Bans

, как замена amxbans_main
Статус пользователя cyber1741
сообщение 14.4.2015, 20:54
Сообщение #4441


Стаж: 13 лет

Сообщений: 1473
Благодарностей: 222
Полезность: 95

Цитата(marik @ 14.4.2015, 20:12) *
cyber1741,
А что так трудно в консоль вбить fb_flushcache ? не ленись )

не всегда я могу разбанить,а у других нету доступа к консоли
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nakazatel
сообщение 14.4.2015, 21:03
Сообщение #4442
Стаж: 12 лет

Сообщений: 1701
Благодарностей: 571
Полезность: 358

cyber1741, у меня такое было всегда когда фб ставил, решение было пере зайти с кс в кс)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя rstasiv
сообщение 14.4.2015, 22:39
Сообщение #4443


Стаж: 11 лет

Сообщений: 106
Благодарностей: 4
Полезность: 37

был такой вопрос, но решения я так и не нашел

не всегда, бывает несколько раз вдень лупит всю карту вот так.
логи
Код
L 04/15/2015 - 00:26:42: Log file started (file "cstrike\addons\amxmodx\logs\FB\2015_04_15.log") (game "cstrike") (amx "1.8.2-dev")
L 04/15/2015 - 00:26:42: [FB]TCONNECTION_FAILED time 0.323236
L 04/15/2015 - 00:26:43: [FB]TCONNECTION_FAILED time 0.169909
L 04/15/2015 - 00:26:45: [FB]TCONNECTION_FAILED time 0.166026
L 04/15/2015 - 00:26:46: [FB]TCONNECTION_FAILED time 0.162102
L 04/15/2015 - 00:26:47: [FB]TCONNECTION_FAILED time 0.158214
L 04/15/2015 - 00:26:48: [FB]TCONNECTION_FAILED time 0.154309
L 04/15/2015 - 00:26:49: [FB]TCONNECTION_FAILED time 0.150434


fb config
Код
fb_sql_host "localhost" // Имя/Адрес хоста БД.
fb_sql_user "***" // Ваш логин к БД.
fb_sql_pass "---" // Ваш пароль к БД.
fb_sql_db "+++" // Название используемой БД(при использовании Amx Bans - указать его БД).
fb_sql_table "amx_bans" // Название таблицы БД(при использовании Amx Bans - указать его таблицу, не трогайте если не поняли)
fb_servers_table "amx_serverinfo" // Название таблицы БД, при добавлении сервера в список серверов.
fb_sql_log_table "amx_logs" // Название таблицы БД, при разбанах.


amxbans config
Код
amx_sql_host "localhost" // Хост сервера
amx_sql_user "***" // Пользователь
amx_sql_pass "---" // Пароль к БД
amx_sql_db "+++" // База данных
amx_sql_type "mysql" // Тип БД


Бан конечно дало,но....

бан
Код
[FB]:  [test]
[FB]-------------------------------------[FB]
||| Вы были забанены
||| Ник: WaT
||| IP: 154.52.30.22
||| Стим: STEAM_0:0:3695573
||| Забанен админом: WaT
||| Причина: test
||| Бан выдан: 15.04.2015 - 00:33:03
||| Забанен на: 30 минут
||| Еще осталось: 30 минут
||| Бан истекает: 15.04.2015 - 01:03:03
[FB]-------------------------------------[FB]
Kicked by Console: "Вы забанены. Подробная информация в вашей консоли."
Kicked :"Вы забанены. Подробная информация в вашей консоли."
Connecting to 99.155.28.215:27016...
Connection accepted by 199.155.28.215:27016
Alias name is invalid
* Пароль принят!
* Права доступа предоставлены!

BUILD 6153 SERVER (0 CRC)
Server # 2
Invalid file type...skipping download of ../opengl32.dll
WaT connected
[P*D]Wesley_Snipes (95) has left the game
WaT is joining the Terrorist force
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
shel1
сообщение 14.4.2015, 22:43
Сообщение #4444
Стаж: 11 лет

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

В базе данных заюзай чтобы все могли подкл(беспл хостингеры всякие не подойдут)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя rstasiv
сообщение 14.4.2015, 23:16
Сообщение #4445


Стаж: 11 лет

Сообщений: 106
Благодарностей: 4
Полезность: 37

Цитата(shel1 @ 14.4.2015, 23:43) *
В базе данных заюзай чтобы все могли подкл(беспл хостингеры всякие не подойдут)

по пингу видно же что база на той же машине стоит (на дедике)
и такое случается на нестандартных картах чаще

Отредактировал: rstasiv, - 14.4.2015, 23:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 15.4.2015, 1:20
Сообщение #4446


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

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Цитата(cyber1741 @ 14.4.2015, 19:06) *
Видимо никто не знает?
Что сделать то чтоб после разбана пускало на сервер? не вприкол постоянно самому кеш обновлять

отключите кэш, если он вам не нужен

Цитата(shel1 @ 14.4.2015, 19:59) *
Маздан мутит форвард при разбане, в соседнем плагине ты ловишь форвард и делаем сервер кмд

форвард откуда?


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
shel1
сообщение 15.4.2015, 7:05
Сообщение #4447
Стаж: 11 лет

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

Во фрешбансе форвард повесь на fb_unban, и через нативу в стороннем плагине юзер будет кеш очищать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cyber1741
сообщение 15.4.2015, 8:05
Сообщение #4448


Стаж: 13 лет

Сообщений: 1473
Благодарностей: 222
Полезность: 95

Цитата(mazdan @ 15.4.2015, 2:20) *
отключите кэш, если он вам не нужен

Отключал,высьавлял 0 . точно так же не пускало сразу после разбана..карта сменилась и пустило.
Как выше писали кс перезапустить и пустит,я не перезапускал ее.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Krolik144
сообщение 15.4.2015, 12:42
Сообщение #4449


Стаж: 11 лет

Сообщений: 251
Благодарностей: 20
Полезность: 68

Как убрать уведомление о том, что был игрок в бане или нет, хотя бы сделать его только для Администраторов?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.4.2015, 12:44
Сообщение #4450


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Krolik144, открыть конфиг и выставить соответствующе значение fb_show_bb. Читать когда начнем уже?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Krolik144
сообщение 15.4.2015, 12:45
Сообщение #4451


Стаж: 11 лет

Сообщений: 251
Благодарностей: 20
Полезность: 68

Цитата(Bloo @ 15.4.2015, 3:44) *
Krolik144, открыть конфиг и выставить соответствующе значение fb_show_bb. Читать когда начнем уже?

Ты в своём репертуаре, наверно моя жалоба до тебя не дошла)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.4.2015, 12:52
Сообщение #4452


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Krolik144, не знаю о какой жалобе речь, но стоило изучить конфиг перед тем как задавать вопросы.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cyber1741
сообщение 15.4.2015, 12:52
Сообщение #4453


Стаж: 13 лет

Сообщений: 1473
Благодарностей: 222
Полезность: 95

Если отключить кеш,пустит на сервер сразу после разбана?
Что насчет причин бана? Причина из 2 слов и более ,не отображается ,например подозрение на читы,отображается только "на".Если так выходит,мб можно как нибудь сделать,чтоб причины бана брались из бд?
Еще заметил сразу после бана когда входишь обратно на сервер,время до окончания бана в консоле не обновляется. Мб у меня так,мб надо кс перезапустить,в амхбансе обновляется.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Krolik144
сообщение 15.4.2015, 12:53
Сообщение #4454


Стаж: 11 лет

Сообщений: 251
Благодарностей: 20
Полезность: 68

Цитата(Bloo @ 15.4.2015, 3:52) *
Krolik144, не знаю о какой жалобе речь, но стоило изучить конфиг перед тем как задавать вопросы.

Ну я и говорю, она просто мимо прошла, своих прикрываем понятное дело)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.4.2015, 12:57
Сообщение #4455


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

1. По идеи да, но на данный момент мы видели что он не корректно читает 0, т.е. отключение.
2. Причины вводятся вручную через меню? Причины из БД не берутся но есть reason.cfg
3. fb_oldkickinfo вроде оно

Krolik144, Обратная связь жалуйся сколько влезет, не знаю кому ты и где жаловался.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cyber1741
сообщение 15.4.2015, 13:02
Сообщение #4456


Стаж: 13 лет

Сообщений: 1473
Благодарностей: 222
Полезность: 95

Цитата(Bloo @ 15.4.2015, 13:57) *
1. По идеи да, но на данный момент мы видели что он не корректно читает 0, т.е. отключение.
2. Причины вводятся вручную через меню? Причины из БД не берутся но есть reason.cfg
3. fb_oldkickinfo вроде оно

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

С телефона пишу. Нет,причины из конфига, там так (fd_команда "причина" "причина") я сделал так же ток ге из 1 слова причина ,вот так (fd_команда "подозрение на читы" "подозрение на читы" что в меню причин и что при бане,выдает только "на". Может он не может столько слов прочитать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.4.2015, 13:05
Сообщение #4457


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

cyber1741, Правильно, по тому что первый аргумент в команде это краткая причина, которая должна быть на латинице, это для чат бана, вторая уже полная которая идет в причину и отображается в меню, третьим аргументом можно указать стандартное время для причин, пример
Код
fb_add_reason CH "Читы" 0
fb_add_reason SW "Оскорбление игроков" 1440


ps.gif Krolik144, ты все же публично жалобу накатай в обратной связи, а то мне самому интересно что там, и там она мимо никак не уйдет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Krolik144
сообщение 15.4.2015, 15:45
Сообщение #4458


Стаж: 11 лет

Сообщений: 251
Благодарностей: 20
Полезность: 68

Где мог накосячить?
Жму в меню "Голосование за карту", и мне пишет "Голосование уже начато".
Admin_vote заменял.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 15.4.2015, 15:52
Сообщение #4459


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Krolik144, этот стоит?
Код:
/* AMX Mod X
* Admin Votes Plugin
*
* by the AMX Mod X Development Team
* originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* In addition, as a special exception, the author gives permission to
* link the code of this program with the Half-Life Game Engine ("HL
* Engine") and Modified Game Libraries ("MODs") developed by Valve,
* L.L.C ("Valve"). You must obey the GNU General Public License in all
* respects for all of the code used other than the HL Engine and MODs
* from Valve. If you modify this file, you may extend this exception
* to your version of the file, but you are not obligated to do so. If
* you do not wish to do so, delete this exception statement from your
* version.
*/

#include <amxmodx>
#include <amxmisc>


new g_Answer[128]
new g_optionName[4][64]
new g_voteCount[4]
new g_validMaps
new g_yesNoVote
new g_coloredMenus
new g_voteCaller
new g_Execute[256]
new g_execLen

new bool:g_execResult
new Float:g_voteRatio

public plugin_init()
{
register_plugin("Admin Votes", AMXX_VERSION_STR, "AMXX Dev Team")
register_dictionary("adminvote.txt")
register_dictionary("common.txt")
register_dictionary("mapsmenu.txt")
register_menucmd(register_menuid("Change map to "), MENU_KEY_1|MENU_KEY_2, "voteCount")
register_menucmd(register_menuid("Choose map: "), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4, "voteCount")
register_menucmd(register_menuid("Kick "), MENU_KEY_1|MENU_KEY_2, "voteCount")
register_menucmd(register_menuid("Ban "), MENU_KEY_1|MENU_KEY_2, "voteCount")
register_menucmd(register_menuid("Vote: "), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4, "voteCount")
register_menucmd(register_menuid("The result: "), MENU_KEY_1|MENU_KEY_2, "actionResult")
register_concmd("amx_votemap", "cmdVoteMap", ADMIN_VOTE, "<map> [map] [map] [map]")
register_concmd("amx_votekick", "cmdVoteKickBan", ADMIN_VOTE, "<name or #userid>")
register_concmd("amx_voteban", "cmdVoteKickBan", ADMIN_VOTE, "<name or #userid>")
register_concmd("amx_vote", "cmdVote", ADMIN_VOTE, "<question> <answer#1> <answer#2>")
register_concmd("amx_cancelvote", "cmdCancelVote", ADMIN_VOTE, "- cancels last vote")
register_cvar("amx_vote_ratio", "0.02")
register_cvar("amx_vote_time", "10")
register_cvar("amx_vote_answers", "1")
register_cvar("amx_vote_delay", "60")
register_cvar("amx_last_voting", "0")
register_cvar("amx_show_activity", "2")
register_cvar("amx_votekick_ratio", "0.40")
register_cvar("amx_voteban_ratio", "0.40")
register_cvar("amx_votemap_ratio", "0.40")
set_cvar_float("amx_last_voting", 0);

g_coloredMenus = colored_menus()
}

public cmdCancelVote(id, level, cid)
{
if (!cmd_access(id, level, cid, 0))
return PLUGIN_HANDLED

if (task_exists(99889988, 1))
{
new authid[32], name[32]

get_user_authid(id, authid, 31)
get_user_name(id, name, 31)
log_amx("Vote: ^"%s<%d><%s><>^" cancel vote session", name, get_user_userid(id), authid)


new maxpl=get_maxplayers();
new msg[256];
for (new i = 1; i <= maxpl; i++)
{
if (is_user_connected(i) && !is_user_bot(i))
{
// HACK: ADMIN_CANC_VOTE_{1,2} keys were designed very poorly. Remove all : and %s in it.
LookupLangKey(msg, charsmax(msg), "ADMIN_CANC_VOTE_1", i);
replace_all(msg, charsmax(msg), "%s", "");
replace_all(msg, charsmax(msg), ":", "");
trim(msg);
show_activity_id(i, id, name, msg);
}
}

console_print(id, "%L", id, "VOTING_CANC")
client_print(0,print_chat,"%L",LANG_PLAYER,"VOTING_CANC")
remove_task(99889988, 1)
set_cvar_float("amx_last_voting", get_gametime())
}
else
console_print(id, "%L", id, "NO_VOTE_CANC")

return PLUGIN_HANDLED
}

public delayedExec(cmd[])
server_cmd("%s", cmd)

public autoRefuse()
{
log_amx("Vote: %L", "en", "RES_REF")
client_print(0, print_chat, "%L", LANG_PLAYER, "RES_REF")
}

public actionResult(id, key)
{
remove_task(4545454)

switch (key)
{
case 0:
{
set_task(2.0, "delayedExec", 0, g_Execute, g_execLen)
log_amx("Vote: %L", "en", "RES_ACCEPTED")
client_print(0, print_chat, "%L", LANG_PLAYER, "RES_ACCEPTED")
}
case 1: autoRefuse()
}

return PLUGIN_HANDLED
}

public checkVotes()
{
new best = 0

if (!g_yesNoVote)
{
for (new a = 0; a < 4; ++a)
if (g_voteCount[a] > g_voteCount[best])

best = a
}

new votesNum = g_voteCount[0] + g_voteCount[1] + g_voteCount[2] + g_voteCount[3]
new iRatio = votesNum ? floatround(g_voteRatio * float(votesNum), floatround_ceil) : 1
new iResult = g_voteCount[best]
new players[32], pnum, i

get_players(players, pnum, "c")

if (iResult < iRatio)
{
new lVotingFailed[64]

for (i = 0; i < pnum; i++)
{
format(lVotingFailed, 63, "%L", players[i], "VOTING_FAILED")
if (g_yesNoVote)
client_print(players[i], print_chat, "%L", players[i], "VOTING_RES_1", lVotingFailed, g_voteCount[0], g_voteCount[1], iRatio)
else
client_print(players[i], print_chat, "%L", players[i], "VOTING_RES_2", lVotingFailed, iResult, iRatio)
}

format(lVotingFailed, 63, "%L", "en", "VOTING_FAILED")
log_amx("Vote: %s (got ^"%d^") (needed ^"%d^")", lVotingFailed, iResult, iRatio)

return PLUGIN_CONTINUE
}

g_execLen = format(g_Execute, 255, g_Answer, g_optionName[best]) + 1

if (g_execResult)
{
g_execResult = false

if (is_user_connected(g_voteCaller))
{
new menuBody[512], lTheResult[32], lYes[16], lNo[16]

format(lTheResult, 31, "%L", g_voteCaller, "THE_RESULT")
format(lYes, 15, "%L", g_voteCaller, "YES")
format(lNo, 15, "%L", g_voteCaller, "NO")

new len = format(menuBody, 511, g_coloredMenus ? "\y%s: \w%s^n^n" : "%s: %s^n^n", lTheResult, g_Execute)

len += format(menuBody[len], 511 - len, g_coloredMenus ? "\y%L^n\w" : "%L^n", g_voteCaller, "WANT_CONTINUE")
format(menuBody[len], 511 - len, "^n1. %s^n2. %s", lYes, lNo)
show_menu(g_voteCaller, 0x03, menuBody, 10, "The result: ")
set_task(10.0, "autoRefuse", 4545454)
}
else
set_task(2.0, "delayedExec", 0, g_Execute, g_execLen)
}

new lVotingSuccess[32]

for (i = 0; i < pnum; i++)
{
format(lVotingSuccess, 31, "%L", players[i], "VOTING_SUCCESS")
client_print(players[i], print_chat, "%L", players[i], "VOTING_RES_3", lVotingSuccess, iResult, iRatio, g_Execute)
}

format(lVotingSuccess, 31, "%L", "en", "VOTING_SUCCESS")
log_amx("Vote: %s (got ^"%d^") (needed ^"%d^") (result ^"%s^")", lVotingSuccess, iResult, iRatio, g_Execute)

return PLUGIN_CONTINUE
}

public voteCount(id, key)
{
if (get_cvar_num("amx_vote_answers"))
{
new name[32]
get_user_name(id, name, 31)

if (g_yesNoVote)
client_print(0, print_chat, "%L", LANG_PLAYER, key ? "VOTED_AGAINST" : "VOTED_FOR", name)
else
client_print(0, print_chat, "%L", LANG_PLAYER, "VOTED_FOR_OPT", name, key + 1)
}
++g_voteCount[key]

return PLUGIN_HANDLED
}

public cmdVoteMap(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new Float:voting = get_cvar_float("amx_last_voting")
if (voting > get_gametime())
{
console_print(id, "%L", id, "ALREADY_VOTING")
return PLUGIN_HANDLED
}

if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime())
{
console_print(id, "%L", id, "VOTING_NOT_ALLOW")
return PLUGIN_HANDLED
}

new argc = read_argc()
if (argc > 5) argc = 5

g_validMaps = 0
g_optionName[0][0] = 0
g_optionName[1][0] = 0
g_optionName[2][0] = 0
g_optionName[3][0] = 0

for (new i = 1; i < argc; ++i)
{
read_argv(i, g_optionName[g_validMaps], 31)

if (is_map_valid(g_optionName[g_validMaps]))
g_validMaps++
}

if (g_validMaps == 0)
{
new lMaps[16]

format(lMaps, 15, "%L", id, (argc == 2) ? "MAP_IS" : "MAPS_ARE")
console_print(id, "%L", id, "GIVEN_NOT_VALID", lMaps)
return PLUGIN_HANDLED
}

new menu_msg[256], len = 0
new keys = 0

if (g_validMaps > 1)
{
keys = MENU_KEY_0
len = format(menu_msg, 255, g_coloredMenus ? "\y%L: \w^n^n" : "%L: ^n^n", LANG_SERVER, "CHOOSE_MAP")
new temp[128]

for (new a = 0; a < g_validMaps; ++a)
{
format(temp, 127, "%d. %s^n", a+1, g_optionName[a])
len += copy(menu_msg[len], 255-len, temp)
keys |= (1<<a)
}

format(menu_msg[len], 255-len, "^n0. %L", LANG_SERVER, "NONE")
g_yesNoVote = 0
} else {
new lChangeMap[32], lYes[16], lNo[16]

format(lChangeMap, 31, "%L", LANG_SERVER, "CHANGE_MAP_TO")
format(lYes, 15, "%L", LANG_SERVER, "YES")
format(lNo, 15, "%L", LANG_SERVER, "NO")
format(menu_msg, 255, g_coloredMenus ? "\y%s %s?\w^n^n1. %s^n2. %s" : "%s %s?^n^n1. %s^n2. %s", lChangeMap, g_optionName[0], lYes, lNo)
keys = MENU_KEY_1|MENU_KEY_2
g_yesNoVote = 1
}

new authid[32], name[32]

get_user_authid(id, authid, 31)
get_user_name(id, name, 31)

if (argc == 2)
log_amx("Vote: ^"%s<%d><%s><>^" vote map (map ^"%s^")", name, get_user_userid(id), authid, g_optionName[0])
else
log_amx("Vote: ^"%s<%d><%s><>^" vote maps (map#1 ^"%s^") (map#2 ^"%s^") (map#3 ^"%s^") (map#4 ^"%s^")", name, get_user_userid(id), authid, g_optionName[0], g_optionName[1], g_optionName[2], g_optionName[3])

new maxpl=get_maxplayers();
new msg[256];
for (new i = 1; i <= maxpl; i++)
{
if (is_user_connected(i) && !is_user_bot(i))
{
// HACK: ADMIN_VOTE_MAP_{1,2} keys were designed very poorly. Remove all : and %s in it.
LookupLangKey(msg, charsmax(msg), "ADMIN_VOTE_MAP_1", i);
replace_all(msg, charsmax(msg), "%s", "");
replace_all(msg, charsmax(msg), ":", "");
trim(msg);
show_activity_id(i, id, name, msg);
}
}

g_execResult = true
new Float:vote_time = get_cvar_float("amx_vote_time") + 2.0

set_cvar_float("amx_last_voting", get_gametime() + vote_time)
g_voteRatio = get_cvar_float("amx_votemap_ratio")
g_Answer = "changelevel %s"
show_menu(0, keys, menu_msg, floatround(vote_time), (g_validMaps > 1) ? "Choose map: " : "Change map to ")
set_task(vote_time, "checkVotes", 99889988)
g_voteCaller = id
console_print(id, "%L", id, "VOTING_STARTED")
g_voteCount = {0, 0, 0, 0}

return PLUGIN_HANDLED
}

public cmdVote(id, level, cid)
{
if (!cmd_access(id, level, cid, 4))
return PLUGIN_HANDLED

new Float:voting = get_cvar_float("amx_last_voting")
if (voting > get_gametime())
{
console_print(id, "%L", id, "ALREADY_VOTING")
return PLUGIN_HANDLED
}

if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime())
{
console_print(id, "%L", id, "VOTING_NOT_ALLOW")
return PLUGIN_HANDLED
}

new quest[48]
read_argv(1, quest, 47)

if (contain(quest, "sv_password") != -1 || contain(quest, "rcon_password") != -1)
{
console_print(id, "%L", id, "VOTING_FORBIDDEN")
return PLUGIN_HANDLED
}

new count=read_argc();

for (new i=0;i<4 && (i+2)<count;i++)
{
read_argv(i+2, g_optionName[i], sizeof(g_optionName[])-1);
}

new authid[32], name[32]

get_user_authid(id, authid, 31)
get_user_name(id, name, 31)
log_amx("Vote: ^"%s<%d><%s><>^" vote custom (question ^"%s^") (option#1 ^"%s^") (option#2 ^"%s^")", name, get_user_userid(id), authid, quest, g_optionName[0], g_optionName[1])

new maxpl=get_maxplayers();
new msg[256];
for (new i = 1; i <= maxpl; i++)
{
if (is_user_connected(i) && !is_user_bot(i))
{
// HACK: ADMIN_VOTE_CUS_{1,2} keys were designed very poorly. Remove all : and %s in it.
LookupLangKey(msg, charsmax(msg), "ADMIN_VOTE_CUS_1", i);
replace_all(msg, charsmax(msg), "%s", "");
replace_all(msg, charsmax(msg), ":", "");
trim(msg);
show_activity_id(i, id, name, msg);
}
}

new menu_msg[512], lVote[16]

format(lVote, 15, "%L", LANG_SERVER, "VOTE")

count-=2;
if (count>4)
{
count=4;
}
// count now shows how many options were listed
new keys=0;
for (new i=0;i<count;i++)
{
keys |= (1<<i);
}

new len=formatex(menu_msg, sizeof(menu_msg)-1, g_coloredMenus ? "\y%s: %s\w^n^n" : "%s: %s^n^n", lVote, quest);

for (new i=0;i<count;i++)
{
len+=formatex(menu_msg[len], sizeof(menu_msg) - 1 - len ,"%d. %s^n",i+1,g_optionName[i]);
}
g_execResult = false

new Float:vote_time = get_cvar_float("amx_vote_time") + 2.0

set_cvar_float("amx_last_voting", get_gametime() + vote_time)
g_voteRatio = get_cvar_float("amx_vote_ratio")
replace_all(quest,sizeof(quest)-1,"%","");
format(g_Answer, 127, "%s - %%s", quest)
show_menu(0, keys, menu_msg, floatround(vote_time), "Vote: ")
set_task(vote_time, "checkVotes", 99889988)
g_voteCaller = id
console_print(id, "%L", id, "VOTING_STARTED")
g_voteCount = {0, 0, 0, 0}
g_yesNoVote = 0

return PLUGIN_HANDLED
}

public cmdVoteKickBan(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED

new Float:voting = get_cvar_float("amx_last_voting")
if (voting > get_gametime())
{
console_print(id, "%L", id, "ALREADY_VOTING")
return PLUGIN_HANDLED
}

if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime())
{
console_print(id, "%L", id, "VOTING_NOT_ALLOW")
return PLUGIN_HANDLED
}

new cmd[32]

read_argv(0, cmd, 31)

new voteban = equal(cmd, "amx_voteban")
new arg[32]
read_argv(1, arg, 31)

new player = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY | CMDTARGET_ALLOW_SELF)

if (!player)
return PLUGIN_HANDLED

if (voteban && is_user_bot(player))
{
new imname[32]

get_user_name(player, imname, 31)
console_print(id, "%L", id, "ACTION_PERFORMED", imname)
return PLUGIN_HANDLED
}

new keys = MENU_KEY_1|MENU_KEY_2
new menu_msg[256], lYes[16], lNo[16], lKickBan[16]

format(lYes, 15, "%L", LANG_SERVER, "YES")
format(lNo, 15, "%L", LANG_SERVER, "NO")
format(lKickBan, 15, "%L", LANG_SERVER, voteban ? "BAN" : "KICK")
ucfirst(lKickBan)
get_user_name(player, arg, 31)
format(menu_msg, 255, g_coloredMenus ? "\y%s %s?\w^n^n1. %s^n2. %s" : "%s %s?^n^n1. %s^n2. %s", lKickBan, arg, lYes, lNo)
g_yesNoVote = 1

new bool:ipban=false;

if (voteban)
{
get_user_authid(player, g_optionName[0], sizeof(g_optionName[])-1);

// Do the same check that's in plmenu to determine if this should be an IP ban instead
if (equal("4294967295", g_optionName[0])
|| equal("HLTV", g_optionName[0])
|| equal("STEAM_ID_LAN", g_optionName[0])
|| equali("VALVE_ID_LAN", g_optionName[0]))
{
get_user_ip(player, g_optionName[0], sizeof(g_optionName[])-1, 1);

ipban=true;
}

}
else
{
num_to_str(get_user_userid(player), g_optionName[0], 31)
}

new authid[32], name[32]

get_user_authid(id, authid, 31)
get_user_name(id, name, 31)
log_amx("Vote: ^"%s<%d><%s><>^" vote %s (target ^"%s^")", name, get_user_userid(id), authid, voteban ? "ban" : "kick", arg)

new maxpl=get_maxplayers();
new msg[256];
new right[256];
new dummy[1];
for (new i = 1; i <= maxpl; i++)
{
if (is_user_connected(i) && !is_user_bot(i))
{
formatex(lKickBan, charsmax(lKickBan), "%L", i, voteban ? "BAN" : "KICK");

// HACK: ADMIN_VOTE_FOR{1,2} keys are really weird. Tokenize and ignore the text before the :
LookupLangKey(msg, charsmax(msg), "ADMIN_VOTE_FOR_1", i);
strtok(msg, dummy, 0, right, charsmax(right), ':');
trim(right);
show_activity_id(i, id, name, right, lKickBan, arg);
}
}

g_execResult = true

new Float:vote_time = get_cvar_float("amx_vote_time") + 2.0

set_cvar_float("amx_last_voting", get_gametime() + vote_time)
g_voteRatio = get_cvar_float(voteban ? "amx_voteban_ratio" : "amx_votekick_ratio")

if (voteban)
{
if (ipban==true)
{
g_Answer = "addip 30.0 %s";
}
else
{
g_Answer = "banid 30.0 %s kick";

}
}
else
{
g_Answer = "kick #%s";
}
show_menu(0, keys, menu_msg, floatround(vote_time), voteban ? "Ban " : "Kick ")
set_task(vote_time, "checkVotes", 99889988)
g_voteCaller = id
console_print(id, "%L", id, "VOTING_STARTED")
g_voteCount = {0, 0, 0, 0}

return PLUGIN_HANDLED
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Krolik144
сообщение 15.4.2015, 16:06
Сообщение #4460


Стаж: 11 лет

Сообщений: 251
Благодарностей: 20
Полезность: 68

С голосованием решил проблему.
Вопрос в следующем:
Пишет число загруженных админов, оно совпадает с количеством в cs bans, но у некоторых игроков нет привилегий, хотя срок их не истёк. В чём проблема может быть?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
460 страниц V  « 222 223 224 ... 458 459 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 4 гостей читают эту тему: