Участник
Пользователь
- Сообщения
- 272
- Реакции
- 14
Hello.
Can anyone make this plugin so that he makes screenshots in the form of .TGA?
Because the AntiSS cheat turns off WH after the first screenshot and adds one in the form of .BMP as well.
And then even if the fraudster converts the file into .BMP, you can check if the file has been modified.
Please help. Regards.
Can anyone make this plugin so that he makes screenshots in the form of .TGA?
Because the AntiSS cheat turns off WH after the first screenshot and adds one in the form of .BMP as well.
And then even if the fraudster converts the file into .BMP, you can check if the file has been modified.
Please help. Regards.
Код:
#include <amxmodx>
#define FB_MSGTYPE 3 // 0 – nic nie pokazuj | 1 - tylko czat | 2 - HUD/DHUD | 3 - czat + HUD/DHUD
#if FB_MSGTYPE > 1
//#define DHUD // Odkomentuj, aby użyć DHUD zamiast HUD
#if (defined DHUD && AMXX_VERSION_NUM < 183)
#include <dhudmessage>
#endif
#endif
#define FB_INTERVAL 1.0 // Odstęp między zrzutami ekranu. Domyślnie: 1,0
#define FB_SSNUM 5 // Liczba zrzutów ekranu. Domyślnie: 3
forward fbans_player_banned_pre(id, userid);
public plugin_init()
register_plugin("fb_forwards", "0.1.5", "Kanagava & Realution & neugomon");
public fbans_player_banned_pre(id, userid)
{
if(!id || !is_user_connected(id) || get_user_userid(id)!=userid)
return PLUGIN_HANDLED;
static CurTime[24], szHostName[64], szBannedName[32], szIP[16], szAuthId[25];
get_user_name(0, szHostName, charsmax(szHostName));
get_user_name(id, szBannedName, charsmax(szBannedName));
get_user_authid(id, szAuthId, charsmax(szAuthId));
get_user_ip(id, szIP, charsmax(szIP), 1);
get_time("%d.%m.%Y - %H:%M:%S", CurTime, charsmax(CurTime));
switch(FB_MSGTYPE)
{
case 1: SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
case 2: SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
case 3:
{
SendMsg(id, 1, szHostName, szBannedName, szAuthId, szIP, CurTime);
SendMsg(id, 2, szHostName, szBannedName, szAuthId, szIP, CurTime);
}
}
client_cmd(id, "stop");
set_task(FB_INTERVAL, "screenshot", id, _, _, "a", FB_SSNUM);
return PLUGIN_HANDLED;
}
public screenshot(id)
if(is_user_connected(id))
client_cmd(id, "snapshot");
SendMsg(const pl, const Type, sHost[], sName[], sAuth[], sIp[], sDate[])
{
switch(Type)
{
case 1:
{
PrintChat(pl, "^1Data: ^4%s ^1| Serwer: ^4%s", sDate, sHost);
PrintChat(pl, "^1Twoj nick: ^4%s ^1| IP: ^4%s ^1| SteamID: ^4%s", sName, sIp, sAuth);
}
case 2:
{
#if defined DHUD
set_dhudmessage(100, 100, 100, -1.0, 0.70, 0, 7.0, 7.0);
show_dhudmessage(pl, "%s, zostales zbanowany na serwerze: %s ^nTwoje IP: %s ^nTwoj SteamID: %s", sName, sHost, sIp, sAuth);
#else
set_hudmessage(100, 100, 100, -1.0, -1.0, 0, 7.0, 7.0, 0.0, 0.0, -1);
show_hudmessage(pl, "Data: %s ^nSerwer: %s ^nTwoj nick: %s ^nIP: %s ^nSteamID: %s", \
sDate, sHost, sName, sIp, sAuth);
#endif
}
}
}
PrintChat(const iReceiver, const sMsg[], any:...)
{
static sFmsg[190]; vformat(sFmsg, charsmax(sFmsg), sMsg, 3);
message_begin(MSG_ONE, 76, .player=iReceiver);
write_byte(iReceiver);
write_string(sFmsg);
message_end();
}