Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.
Модератор: Leonidddd
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".
Правила при добавлении новых плагинов:
1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).
seroff » 08 дек 2017, 23:47
Автор: Seroff
Версия: 1.5B
Описание: Плагин защищает сервер от обманщиков которые подделывают HLTV ID
Плагин определяет, что это игрок и выкидывает его с сервера!
- Код: Выделить всё
#include <amxmodx>
#include <hamsandwich>
new szName[32],szFormat[128],szFile[]="addons/amxmodx/logs/fake_hltv.txt",PLUGIN[][]={"Anti Podelka HLTV","1.5B","Seroff"};
public plugin_init(){
register_plugin(PLUGIN[0], PLUGIN[1], PLUGIN[2]);
RegisterHam(Ham_Spawn,"player","szPcheck");
}
public szPcheck(id) set_task(0.1,"szPchecks",id);
public client_connect(id) if(is_user_hltv(id)) set_task(0.5,"antipodelka",id);
public antipodelka(id) query_client_cvar(id, "cl_cmdrate", "szClient");
public szClient(id, const cvar[], const value[]){
if (!equali(value, "Bad CVAR request")){
user_kick(id,"Fake Player Detected");
}
}
public szPchecks(id) if(is_user_hltv(id) && ExecuteHam(Ham_IsPlayer, id)) user_kick(id,"Fake Player Detected");
stock user_kick( const id, const reason[]){
emessage_begin( MSG_ONE, SVC_DISCONNECT, _, id );
ewrite_string( reason );
emessage_end();
get_user_name(id,szName,charsmax(szName));
formatex(szFormat,charsmax(szFormat),"User - %s : Reason - %s",szName,reason);
log_to_file(szFile,szFormat);
}
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
seroff
-
- Сообщения: 9
- Зарегистрирован: 19 ноя 2017, 16:34
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около года
- Языки программирования: Pawn
SourcePawn
C++
Php
C#
oReo » 09 дек 2017, 09:09
seroff, кто вернулся... OMG!
деструктор решает все проблемы: нет переменной - нет проблемы (с) Subb98
-
oReo
-
- Сообщения: 165
- Зарегистрирован: 24 май 2017, 05:59
- Благодарил (а): 10 раз.
- Поблагодарили: 5 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
seroff » 09 дек 2017, 20:51
Что не так???
-
seroff
-
- Сообщения: 9
- Зарегистрирован: 19 ноя 2017, 16:34
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около года
- Языки программирования: Pawn
SourcePawn
C++
Php
C#
oReo » 09 дек 2017, 21:01
seroff, ну ты куда-то пропадал :D
деструктор решает все проблемы: нет переменной - нет проблемы (с) Subb98
-
oReo
-
- Сообщения: 165
- Зарегистрирован: 24 май 2017, 05:59
- Благодарил (а): 10 раз.
- Поблагодарили: 5 раз.
- Опыт программирования: Около 3 месяцев
- Языки программирования: Pawn
Subb98 » 09 дек 2017, 21:46
seroff, объясните, пожалуйста, зачем нужен этот плагин, если всё настраивается в Dproto / Reunion?
Добавлено спустя 42 минуты 32 секунды:П.с.: улучшил ваш код (некоторые моменты, на мой взгляд, являются критическими):
- Код: Выделить всё
public plugin_init() {
register_plugin("Anti Fake HLTV", "1.5B", "Seroff");
RegisterHam(Ham_Spawn, "player", "checkPlayerHam", 1);
}
public client_putinserver(id) {
if(is_user_hltv(id)) {
set_task(0.5, "checkPlayerCvar", id);
}
}
public checkPlayerCvar(const id) {
query_client_cvar(id, "cl_cmdrate", "getCvarResult");
}
public getCvarResult(const id, const cvar[], const value[]) {
if(!equali(value, "Bad CVAR request")) {
custom_kick(id);
}
}
public checkPlayer(const id) {
if(is_user_hltv(id) && ExecuteHam(Ham_IsPlayer, id)) {
custom_kick(id);
}
}
stock custom_kick(const id) {
new szName[32], szAuthId[24], szIp[16];
get_user_name(id, szName, charsmax(szName));
get_user_authid(id, szAuthId, charsmax(szAuthId));
get_user_ip(id, szIp, charsmax(szIp), 1);
logging("Player name: %s | SteamID: %s | IP: %s", szName, szAuthId, szIp);
server_cmd("kick #%d ^"Fake player detected^"", get_user_userid(id));
}
stock logging(const message[], any:...) {
static logsDir[64], file[sizeof logsDir + 32], time[22], msg[512];
if(!logsDir[0]) {
new len = get_localinfo("amxx_logs", logsDir, charsmax(logsDir));
formatex(logsDir[len], charsmax(logsDir) - len, "/fake_hltv");
if(!dir_exists(logsDir)) {
mkdir(logsDir);
}
}
new pfile;
get_time("%Y%m%d", time, charsmax(time));
formatex(file, charsmax(file), "%s/%s.log", logsDir, time);
vformat(msg, charsmax(msg), message, 2);
if((pfile = fopen(file, "a"))) {
get_time("%d/%m/%Y - %H:%M:%S", time, charsmax(time));
fprintf(pfile, "%s: %s^n", time, msg);
fclose(pfile);
}
}
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
seroff » 09 дек 2017, 22:36
Та заметил на серваках, что эта шняга работает и давай сделать что то, а так спс
Subb98 писал(а):seroff, объясните, пожалуйста, зачем нужен этот плагин, если всё настраивается в Dproto / Reunion?
Добавлено спустя 42 минуты 32 секунды:П.с.: улучшил ваш код (некоторые моменты, на мой взгляд, являются критическими):
- Код: Выделить всё
public plugin_init() {
register_plugin("Anti Fake HLTV", "1.5B", "Seroff");
RegisterHam(Ham_Spawn, "player", "checkPlayerHam", 1);
}
public client_putinserver(id) {
if(is_user_hltv(id)) {
set_task(0.5, "checkPlayerCvar", id);
}
}
public checkPlayerCvar(const id) {
query_client_cvar(id, "cl_cmdrate", "getCvarResult");
}
public getCvarResult(const id, const cvar[], const value[]) {
if(!equali(value, "Bad CVAR request")) {
custom_kick(id);
}
}
public checkPlayer(const id) {
if(is_user_hltv(id) && ExecuteHam(Ham_IsPlayer, id)) {
custom_kick(id);
}
}
stock custom_kick(const id) {
new szName[32], szAuthId[24], szIp[16];
get_user_name(id, szName, charsmax(szName));
get_user_authid(id, szAuthId, charsmax(szAuthId));
get_user_ip(id, szIp, charsmax(szIp), 1);
logging("Player name: %s | SteamID: %s | IP: %s", szName, szAuthId, szIp);
server_cmd("kick #%d ^"Fake player detected^"", get_user_userid(id));
}
stock logging(const message[], any:...) {
static logsDir[64], file[sizeof logsDir + 32], time[22], msg[512];
if(!logsDir[0]) {
new len = get_localinfo("amxx_logs", logsDir, charsmax(logsDir));
formatex(logsDir[len], charsmax(logsDir) - len, "/fake_hltv");
if(!dir_exists(logsDir)) {
mkdir(logsDir);
}
}
new pfile;
get_time("%Y%m%d", time, charsmax(time));
formatex(file, charsmax(file), "%s/%s.log", logsDir, time);
vformat(msg, charsmax(msg), message, 2);
if((pfile = fopen(file, "a"))) {
get_time("%d/%m/%Y - %H:%M:%S", time, charsmax(time));
fprintf(pfile, "%s: %s^n", time, msg);
fclose(pfile);
}
}
Добавлено спустя 1 минуту 2 секунды:Удалили меня от сюда и лень было регистрироваться, а друг попросил срочно скачать плагин ну давать раз так выложить что то
oReo писал(а):seroff, ну ты куда-то пропадал :D
-
seroff
-
- Сообщения: 9
- Зарегистрирован: 19 ноя 2017, 16:34
- Благодарил (а): 1 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около года
- Языки программирования: Pawn
SourcePawn
C++
Php
C#
Вернуться в Добавленные новые плагины
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4