Raised This Month: $ Target: $400
 0% 

Server Side Anticheat


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
sPed
Member
Join Date: May 2017
Location: Algeria
Old 12-15-2022 , 14:41   Re: Server Side Anticheat
Reply With Quote #1

use this to figure if someone using cheat's
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
 
#define PLUGIN "Cerere wCD"
#define VERSION "1.1"
#define AUTHOR "DanN / LiOn"
 
#define TAG "WarGods"
 
#define MOTD_LOCATION "addons/amxmodx/configs/wcdinfo.html"
 
new bool:hascan[33], cvars[3]
new 
store_team
 
public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
 
    
register_clcmd("say""cmd_say")
    
register_clcmd("say_team""cmd_say")
 
    
cvars[0] = register_cvar("wcd_disconnect_ban""1")
    
cvars[1] = register_cvar("wcd_minim_acces_flag""c"// kick acces
    
cvars[2] = register_cvar("wcd_time_for_ban""2")
 
    
register_dictionary("wcd_scan.txt")
}
 
public 
client_connect(id)
{
    
hascan[id] = false
}
 
public 
client_disconnect(id)
{
    if(
hascan[id] && get_pcvar_num(cvars[0]) == 1)
    {
        new 
ip[32]
        
get_user_ip(idipcharsmax(ip), 1)
 
        
hascan[id] = false
        server_print
("%s"ip)
        
client_cmd(0"spk ^"vox/bizwarn eliminated") 
        server_cmd("
addip %%s;writeip",get_pcvar_num(cvars[2]), ip)
        server_exec()
    }
}
 
 
public cmd_say(id)
{
    new szSaid[192]
    read_args(szSaid, charsmax(szSaid))
    remove_quotes(szSaid)
 
    if(contain(szSaid, "
/scan") != -1)
    {
        if(get_user_flags(id) & get_pcvar_flags(cvars[1]))
        {
            new target[32]
            copy(target, sizeof(target) -1, szSaid[6])
            new player = cmd_target(id, target, 2)
 
            if(player)
            {
                new pname[32], admin[32]
                get_user_name(player, pname, charsmax(pname))
                get_user_name(id, admin, charsmax(admin))
 
                if(hascan[player])
                {
                    ColorChat(id, "
!g[%s]!y You already requested a scan for this player!", TAG)
                    return PLUGIN_HANDLED
                }
                else
                {
                    new timer[64]
                    get_time("
%d/%m/%- %H:%M:%S", timer, charsmax(timer))
                    hascan[player] = true
                    store_team = get_user_team(player)
                    user_silentkill(player)
                    cs_set_user_team(player, CS_TEAM_SPECTATOR)
                    ColorChat(0, "
!g[%s]!y Admin !g[%s]!y requests an WCD scan for player !g[%s]!yDate : !g%s", TAG, admin, pname, timer)
                    ColorChat(0, "
!g[%s]!y Download link !gwww.wargods.ro/wcd/download.php", TAG)
                    ColorChat(0, "
!g[%s]!If you don't know how to do an WCD scan, type in chat !g/wcd!y or !g/infowcd!y !", TAG)
                    client_cmd(id, "snapshot")
                    return PLUGIN_CONTINUE
                }
            }
            else
            {
                ColorChat(id, "!g[%s]!y The specified player is inexistent!", TAG)
                return PLUGIN_HANDLED
            }
        }
    }
    else if(contain(szSaid, "/clean") != -1)
    {
        if(get_user_flags(id) & get_pcvar_flags(cvars[1]))
        {
            new target[32]
            copy(target, charsmax(target), szSaid[7])
            new player = cmd_target(id, target, 2)
 
            if(player)
            {
                new pname[32]
                get_user_name(player, pname, charsmax(pname))
                cs_set_user_team(player, store_team)
                hascan[player] = false
 
                ColorChat(0, "!g[%s]!y The player !g[%s]!y is clean after WCD scan !", TAG, pname)
                return PLUGIN_CONTINUE
            }
            else
            {
                ColorChat(id, "!g[%s]!y The specified player is inexistent!", TAG)
                return PLUGIN_HANDLED
            }
        }
    }
    else if(equal(szSaid, "/infowcd") || equal(szSaid, "/wcd"))
    {
        show_motd(id, MOTD_LOCATION)
    }
 
    return PLUGIN_CONTINUE
}
 
 
 
stock ColorChat(const id, const input[], any:...)
{
    new Count = 1, Players[32];
    static Msg[191];
    vformat(Msg, 190, input, 3);
 
    replace_all(Msg, 190, "!g", "^4");
    replace_all(Msg, 190, "!y", "^1");
    replace_all(Msg, 190, "!t", "^3");
 
    if(id) Players[0] = id; else get_players(Players, Count, "ch");
    {
        for (new i = 0; i < Count; i++)
        {
            if (is_user_connected(Players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, Players[i]);
                write_byte(Players[i]);
                write_string(Msg);
                message_end();
            }
        }
    }
    return PLUGIN_HANDLED


Last edited by sPed; 12-15-2022 at 14:41.
sPed is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:05.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode