Иконка ресурса

StrafeHack Detector 0.1

Нет прав для скачивания
Сообщения
576
Реакции
1,003
Помог
18 раз(а)
Пользователь Mistrick разместил новый ресурс:

StrafeHack Detector - Блокировка различных strafehack'ов

Блокировка различных strafehack'ов.

Возможности:
- Блокировка движения при cl_(forward|side)speed != 400
- Блокировка strafespam
- Блокировка скриптов на стрейфы
- Обнаружение макросов
- Блокировка strafe helper, emulator
Узнать больше об этом ресурсе...
 
Сообщения
29
Реакции
5
Помог
1 раз(а)
Указано, что есть совместимость с 1.8.3, но при компиляции вижу ошибки:
Код:
strafehack_detector.sma(133) : warning 213: tag mismatch
strafehack_detector.sma(197) : warning 213: tag mismatch
strafehack_detector.sma(311) : warning 213: tag mismatch
strafehack_detector.sma(311) : warning 213: tag mismatch
strafehack_detector.sma(312) : warning 213: tag mismatch
strafehack_detector.sma(312) : warning 213: tag mismatch
strafehack_detector.sma(314) : warning 213: tag mismatch
strafehack_detector.sma(318) : warning 213: tag mismatch
strafehack_detector.sma(320) : warning 213: tag mismatch
strafehack_detector.sma(320) : warning 213: tag mismatch
strafehack_detector.sma(369) : warning 213: tag mismatch

Может быть кто нибудь поправить? Спасибо.
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
neploho, покажи скрином строки.
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
neploho, замени
на
Код:
new const PITCH = 0;
new const YAW = 1;

new const LEFT = 1;
new const RIGHT = 2;
 
Сообщения
79
Реакции
53
Кто поставил, нормально сервер работает? У меня спустя пару минут сразу с сегментацией упал.

meta list:

[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.8.3-R ini Start ANY
[ 2] Reunion RUN - reunion_mm_i386. v0.1.75 ini Start Never
[ 3] ReAuthCheck RUN - reauthcheck_mm_i v0.1.6 ini Start Never
[ 4] VoiceTranscoder RUN - VoiceTranscoder. v2017 RC ini ANY ANY
[ 5] Rechecker RUN - rechecker_mm_i38 v2.3 ini Chlvl ANY
[ 6] hackdetector RUN - hackdetector_amx v0.15.32 pl1 ANY ANY
[ 7] Hide Cvars RUN - hidecvars_amxx_i v1.0 pl1 ANY ANY
[ 8] FakeMeta RUN - fakemeta_amxx_i3 v1.8.3-R pl1 ANY ANY
[ 9] MySQL RUN - mysql_amxx_i386. v1.8.3-R pl1 ANY ANY
[10] Ham Sandwich RUN - hamsandwich_amxx v1.8.3-R pl1 ANY ANY
[11] Engine RUN - engine_amxx_i386 v1.8.3-R pl1 ANY ANY
[12] ReAPI RUN - reapi_amxx_i386. v0.1.73 pl1 ANY Never
[13] Fun RUN - fun_amxx_i386.so v1.8.3-R pl1 ANY ANY
13 plugins, 13

amx_modules:

hackdetector 0.15.328.l AGHL.RU Dev Team работает
FakeMeta 1.8.3-Re AMX Mod X Dev Team работает
MySQL 1.8.3-Re AMX Mod X Dev Team работает
nVault 1.8.3-Re AMX Mod X Dev Team работает
Ham Sandwich 1.8.3-Re AMX Mod X Dev Team работает
dummy_csx 1.0 AGHL.RU Dev Team работает
Engine 1.8.3-Re AMX Mod X Dev Team работает
ReAPI 0.1.73 Asmodai & s1lent работает
Fun 1.8.3-Re AMX Mod X Dev Team работает
Sockets 1.8.3-Re HLSW Dev Team работает
Всего 10
9 Апр 2017
Когда игрок просто идет и жмет w+a или w+d, то его начинает затормаживать, можно как то это исправить или удалить этот блок?
 
Сообщения
576
Реакции
1,003
Помог
18 раз(а)
bristol, пусть конфиг правят. cl_[side|back|forward]speed 400
11 Апр 2017
Кому интересно можете потестить. Ничего не умеет, кроме как стопить. Отрефакторил старый код, добавил новый. Можно потом прикрутить детект fast strafe, который есть в старой версии.
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <xs>

#define PLUGIN "Strafe Hack Detector"
#define VERSION "0.0.3"
#define AUTHOR "Mistrick"

#pragma semicolon 1

#define bit_contain(%0,%1) (%0 & (%1) == %1)
#define bit_not_contain(%0,%1) (~%0 & (%1) == %1)

const PITCH = 0;
const YAW = 1;
const ROLL = 2;

enum
{
RIGHT,
LEFT
};

#define MIN_BUTTONS_TICKS 2
#define MAX_WARN_OVER_VALUE 32

enum Keys
{
_KeyW, _KeyA, _KeyS, _KeyD
};

new g_eButtons[Keys] =
{
IN_FORWARD, IN_MOVELEFT, IN_BACK, IN_MOVERIGHT
};

new g_eKeyName[Keys][] =
{
"[W]", "", "[A]", "[D]"
};

new g_iButtonsTicks[33][Keys];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_forward(FM_CmdStart, "FM_CmdStart_Pre", false);
}
public FM_CmdStart_Pre(id, uc_handle, seed)
{
if(!is_user_alive(id)) return FMRES_IGNORED;

static _old_buttons[33], Float:_old_view_angles[33][3];
new buttons = get_uc(uc_handle, UC_Buttons);
new Float:view_angles[3]; get_uc(uc_handle, UC_ViewAngles, view_angles);

new Float:diff[3]; xs_vec_sub(view_angles, _old_view_angles[id], diff);

new Float:forward_move; get_uc(uc_handle, UC_ForwardMove, forward_move);
new Float:side_move; get_uc(uc_handle, UC_SideMove, side_move);

// Detect invise strafes
// if don't press +strafe
if(!null_vec(diff))
{
// forward_move with out button
// diff[PITCH] for -mlook
if(forward_move != 0.0 && bit_not_contain(buttons, IN_FORWARD|IN_BACK) && diff[PITCH] != 0.0)
{
reduce_speed(id);
// console_print(id, "forward move w/o buttons, %f, %d, %d", forward_move, buttons & IN_FORWARD, buttons & IN_BACK);
}

// side_move with out button
if(side_move != 0.0 && bit_not_contain(buttons, IN_MOVERIGHT|IN_MOVELEFT))
{
reduce_speed(id);
// console_print(id, "side move w/o buttons, %f, %d, %d", side_move, buttons & IN_MOVERIGHT, buttons & IN_MOVELEFT);
}
}

static _warn_over_value[33];
new Float:value = floatsqroot(forward_move * forward_move + side_move * side_move);
new Float:maxspeed; pev(id, pev_maxspeed, maxspeed);

if(value > maxspeed)
{
if(++_warn_over_value[id] >= MAX_WARN_OVER_VALUE)
{
reduce_speed(id);
// console_print(id, "value %f, maxspeed %f, fw %f, sd %f", value, maxspeed, forward_move, side_move);
}
}
else
{
_warn_over_value[id] = 0;
}

/*
if(bit_contain(buttons, IN_MOVERIGHT|IN_MOVELEFT))
{
console_print(id, "moveleft + moveright, sd %f", side_move);
}
*/

//
static Float:_old_yaw_diff[33];
static _old_turn[33];
static _old_changed_turn[33];

new Float:yaw_diff = diff[YAW];

if(yaw_diff >= 180.0) yaw_diff -= 360.0;
if(yaw_diff < -180.0) yaw_diff += 360.0;

new changed_turn;

// right move
if(yaw_diff < 0.0)
{
if(_old_turn[id] == LEFT)
{
changed_turn = true;
}
_old_turn[id] = RIGHT;
}
else // left move
{
if(_old_turn[id] == RIGHT)
{
changed_turn = true;
}
_old_turn[id] = LEFT;
}

_old_yaw_diff[id] = yaw_diff;

// check buttons press ticks
new current_const;
for(new Keys:key; key < Keys; key++)
{
current_const = g_eButtons[key];

if(buttons & current_const && ~_old_buttons[id] & current_const)
{
// console_print(id, "pressed button %s, fw %f, sd %f", g_eKeyName[key], forward_move, side_move);
if(value == maxspeed)
{
reduce_speed(id);
// console_print(id, "strafe helper?");
}
}

if(buttons & current_const)
{
g_iButtonsTicks[id][key]++;
}

if(~buttons & current_const && _old_buttons[id] & current_const)
{
// console_print(id, "Key %s released, ticks %d", g_eKeyName[key], g_iButtonsTicks[id][key]);

if(g_iButtonsTicks[id][key] <= MIN_BUTTONS_TICKS)
{
reduce_speed(id);
// console_print(id, "Small button ticks, key %s, ticks %d", g_eKeyName[key], g_iButtonsTicks[id][key]);
}

g_iButtonsTicks[id][key] = 0;

/*
if(changed_turn)
{
console_print(id, "released button %s with changed turn, fw %f, sd %f", g_eKeyName[key], forward_move, side_move);
}
if(_old_changed_turn[id])
{
console_print(id, "released button %s with old changed turn, fw %f, sd %f", g_eKeyName[key], forward_move, side_move);
}
*/
}
}

_old_buttons[id] = buttons;
_old_view_angles[id] = view_angles;
_old_changed_turn[id] = changed_turn;

return FMRES_IGNORED;
}

reduce_speed(id)
{
new Float:velocity[3];
pev(id, pev_velocity, velocity);
velocity[0] *= 0.2;
velocity[1] *= 0.2;
set_pev(id, pev_velocity, velocity);
}

null_vec(Float:vec[3])
{
return (vec[0] == 0.0 && vec[1] == 0.0) ? true : false;
}
 
Сообщения
29
Реакции
5
Помог
1 раз(а)
Mistrick, при компилирование ошибка:
Код:
ac_strafe.sma(69) : warning 213: tag mismatch
ac_strafe.sma(112) : warning 213: tag mismatch
ac_strafe.sma(41) : warning 203: symbol is never used: "g_eKeyName"
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
уже писал выш
 
Сообщения
29
Реакции
5
Помог
1 раз(а)
shelru, 1 остается:
Код:
ac_strafe.sma(41) : warning 203: symbol is never used: "g_eKeyName"
25 Апр 2017
Ой, прошу прощения = только сейчас понял, что он ( g_eKeyName ) нигде не используется.
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
neploho, кст, на новом компиляторе вроде все норм и без варнингов(ну кроме не используемой нигде)
 

Garey

ninjaCow
Сообщения
411
Реакции
1,051
Помог
10 раз(а)
warning это не ошибки а просто предупреждения :|
 
Сообщения
443
Реакции
319
Помог
13 раз(а)
Мистматч все же может повлиять на работу, инт<->флоат.
Но не в этот раз
 
Сообщения
702
Реакции
54
Возможно ли отключить блокировку != 400 , просто хотелось использовать, но вот у меня необычный мод и скорость выше 400.
 
Сообщения
51
Реакции
1
чтобы ботов не детектило можно ?

Пол сервера детектит
SHD] __canadian shot )* using StrafeMacros.
[SHD] __canadian shot )* using StrafeMacros
Это сборки такие ? :)

поставил на тест этот вариант
https://dev-cs.ru/threads/422/post-3506
[ 10] Strafe Hack Detector 0.0.3 Mistrick Strafe_Hack_Det running
как определить теперь, что он работает ))
 
Сообщения
24
Реакции
-30
мистик здравствуйте почему этот плагин абсолютно всем игрокам пишет strafe macros ?
 
Сообщения
576
Реакции
1,003
Помог
18 раз(а)
Mavo, потому что метод был тестовый, содержит ложные детекты и никак не правился. На д-с я писал об этом. Создатель топика на этом форуме перенес нестабильную версию (хотя стабильных и не было).

Мотивация по продолжению разработки примерно нулевая. При наличии идей, тестеров может что поменяется.
 
Сообщения
496
Реакции
618
Помог
16 раз(а)
Mistrick, не очень понял.... Ты же сам создатель топика на этом форуме.
В остальном конечно согласен.

Mavo, тут нужна конкретика. Логи, инфа о сервере, демки из игры с детектами и.т.д.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу