View Single Post
versatile_bfg
Veteran Member
Join Date: Feb 2012
Old 02-15-2015 , 20:16   Re: [CS:GO] WarMod [BFG] <Beta v0.3.3.4, 12-Feb-2015>
Reply With Quote #512

Quote:
Originally Posted by Chesterfield View Post
Really looking foward this! keep up the good work!
Should be out tonight or tomorrow night. I have coded it now. Just need to test it.

PHP Code:
/* BanOn Disconnect */
new bool:g_disconnect[MAXPLAYERS 1] = false;
new 
Handle:g_h_ban_on_disconnect INVALID_HANDLE;
new 
Handle:sv_kick_ban_duration;

public 
OnPluginStart()
{
    
LoadTranslations("basebans.phrases");
    
/* Ban Convars */
    
g_h_ban_on_disconnect CreateConVar("wm_ban_on_disconnect""0""Enable or disable players banned on disconnect if match is live"FCVAR_NOTIFY);
    
sv_kick_ban_duration FindConVar("sv_kick_ban_duration");

    
HookEvent("player_disconnect"Event_Player_Disc_PreEventHookMode_Pre);
}

public 
OnClientPutInServer(client)
{
    
g_disconnect[client] = false;
}

public 
OnClientDisconnect(client)
{
    if (
g_live && GetConVarBool(g_h_ban_on_disconnect) && g_disconnect[client] == true)
    {
        new 
String:reason[32] = "Disconnected from live match";
        new 
String:authid[32];
        
GetClientAuthId(clientAuthId_Steam2authidsizeof(authid));
        
        
ServerCommand("sm_addban %i %s %s"GetConVarInt(sv_kick_ban_duration), authidreason);
        
PrintToChatAll("\x01 \x09[\x04%s\x09]\x01 %t"CHAT_PREFIX"Banned player reason"authidGetConVarInt(sv_kick_ban_duration), reason);
        
g_disconnect[client] = false;
    }
}

public 
Event_Player_Disc_Pre(Handle:event, const String:name[], bool:dontBroadcast)
{
    if (!
IsActive(0true))
    {
        return;
    }
    
    new 
client GetClientOfUserId(GetEventInt(event"userid"));
    new 
String:reason[128];
    
GetEventString(event"reason"reasonsizeof(reason));
    
    if (
g_live && StrEqual(reason"Disconnect"))
    {
        
g_disconnect[client] = true
    }
    else 
    {
        
g_disconnect[client] = false;
    }

__________________
versatile_bfg is offline