Raised This Month: $ Target: $400
 0% 

ban2 scripting


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
SAMURAI16
BANNED
Join Date: Sep 2006
Old 10-12-2006 , 11:31   ban2 scripting
Reply With Quote #1

i try to make this plugins..but i have some errors . initial is cmd ban from amx 2006 with some codes implemented . please remake it
Code:
#include <amxmodx>
#include <amxmisc>

#define MAXRCONCVARS 20

new g_cvarRcon[MAXRCONCVARS][32]
new g_cvarRconNum
new g_logFile[16]
new g_pauseCon
new Float:g_pausAble
new bool:g_Paused
new bool:g_CanPause
new g_addCvar[] = "amx_cvar add %s"


public disable_natives_check() {
}

public plugin_init() {
  register_plugin("Ban2", "0.2", "?")
  register_concmd("amx_ban", "cmdBan", ADMIN_BAN, "<name or #userid> <minutes> [reason]")

public cmdBan(id, level, cid)
{
   if(!cmd_access(id,level,cid,2))
    return PLUGIN_HANDLED

  new arg[32], len, i = 0, found = 0, myname[32], myauthid[32], kicked = 0
  new player, minutes = 0, reason[128], freason[128]
  new players[32], pnum, startarg
  new flags = get_user_flags(id)

  get_players(players, pnum, "c")
  get_user_name(id, myname, 31)
  get_user_authid(id, myauthid, 31)

  len = read_argv(1, arg, 31)
  if(arg[0] != '#')
    player = find_player("bl", arg)
  else
    player = find_player("k", str_to_num(arg[1]))

  if(player) {
    if(arg[0] != '#' && player != find_player("blj", arg))
      console_print(id, _T("There are more than one client matching to your argument"))
    else {
      new authid[32], arg2[32]
      get_user_authid(player, authid, 31)

      read_argv(2, arg2, 31)
      if(equali(arg2, "ip"))
        startarg = 3
      else
        startarg = 2

      if(startarg == 2 && equal(authid,"HLTV")) {
        console_print(id, _T("Sorry, you can't ban HLTV proxies! Use sv_proxies (server Cvar) instead"))
        return PLUGIN_HANDLED
      }

      get_user_name(player, arg, 31)

      if(get_user_flags(player) & ADMIN_IMMUNITY) {
        console_print(id, _T("Client ^"%s^" has immunity"), arg)
        return PLUGIN_HANDLED
      }

      getBanArgs(startarg, minutes, reason, 127)
      /*if((minutes == 0 || minutes > ADMIN_TEMPBAN_MAXTIME) && ((flags & ADMIN_PERMBAN) == 0)) {
        console_print(id, _T("You can only ban for less than %d minutes."), ADMIN_TEMPBAN_MAXTIME)
        return PLUGIN_HANDLED
      }*/

      if(reason[0])
        format(freason, 127, _T("Banned: %s",player), reason)
      else
        copy(freason, 127, _T("Banned.",player))

      found = 1
      kicked--

      if(get_cvar_num("sv_lan") || startarg == 3) {
        new address[32], address2[32]
        get_user_ip(player, address, 31, 1)
        for(i = 0; i < pnum; i++) {
          get_user_ip(players[i], address2, 31, 1)
          if(equal(address, address2)) {
            server_cmd("kick #%d %s", get_user_userid(players[i]), freason)
            kicked++
          }
        }
        new ipadd[32], CurrentTime[9], hostname[64]
        get_user_ip(player,ipadd,31)
        get_cvar_string("hostname",hostname,63)

        client_print(player,print_chat, "[Banned] %s",hostname)
        client_print(player,print_chat, "[Banned] %s [Steamid] %s @ IP - %s",arg,ipadd,authid)
        get_time("%m/%d/%Y - %H:%M:%S",CurrentTime,31)
        client_print(player,print_chat, "[Banned] %s",CurrentTime)

        console_print(player,"[Banned] %s",hostname)
        console_print(player,"[Banned] %s [Steamid] %s @ IP - %s",arg,ipadd,authid)
        console_print(player,"[Banned] %s",CurrentTime)

        new param[3]
        param[0] = player
        param[1] = minutes
        set_task(0.3, "screen", 5411+player, param, 2)
        //server_cmd("addip %d ^"%s^";wait;writeip", minutes, address)
      }
      else {
        new authid2[32]
        get_user_authid(player, authid, 31)
        for(i = 0; i < pnum; i++) {
          if(players[i] != player) {
            get_user_authid(players[i], authid2, 31)
            if(equal(authid, authid2)) {
              server_cmd("kick #%d %s", get_user_userid(players[i]), freason)
              kicked++
            }
          }
        }
        new ipadd[32], CurrentTime[9], hostname[64]
        get_user_ip(player,ipadd,31)
        get_cvar_string("hostname",hostname,63)
        
        client_print(player,print_chat, "[Banned] %s",hostname)
        client_print(player,print_chat, "[Banned] %s [Steamid] %s @ IP - %s",arg,ipadd,authid)
        get_time("%m/%d/%Y - %H:%M:%S",CurrentTime,31)
        client_print(player,print_chat, "[Banned] %s",CurrentTime)

        console_print(player,"[Banned] %s",hostname)
        console_print(player,"[Banned] %s [Steamid] %s @ IP - %s",arg,ipadd,authid)
        console_print(player,"[Banned] %s",CurrentTime)

        new param[3]
        param[0] = player
        param[1] = minutes
        set_task(0.3, "screen", 5411+player, param, 2)

        //server_cmd("banid %d ^"%s^" kick;wait;writeid", minutes, authid)
      }

      if(found) {
        log_to_file(g_logFile,"Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%d^") (reason ^"%s^")",
          myname,get_user_userid(id),myauthid,arg,player,authid,minutes,reason)
        console_print(id, _T("Client ^"%s^" kicked and banned"), arg)
        if(kicked)
          console_print(id, _T("%d other player(s) with same %s kicked and banned as well"), kicked,
            (get_cvar_num("sv_lan") || startarg == 3) ? _T("IP")
                                                      : _T("AuthID") )
      }
    }
  }
  else {
    strtoupper(arg)
    if(contain(arg, ".") == -1) {
      startarg = 2
      if(len == 7 && equali(arg, "STEAM_", 6)) {
        new str[16]
        read_argv(3, str, 15)
        add(arg, 31, ":")
        add(arg, 31, str)
        read_argv(5, str, 15)
        add(arg, 31, ":")
        len = add(arg, 31, str)
        startarg = 6
      }
      if(len > 10 && equali(arg, "STEAM_", 6) && arg[7] == ':' && arg[9] == ':' && str_to_num(arg[10])) {
        if(hasImmunity(arg, 1) == 1) {
          console_print(id, _T("Client ^"%s^" has immunity"), arg)
          return PLUGIN_HANDLED
        }
            
        new authid[32]
        getBanArgs(startarg, minutes, reason, 127)
       } 
        return PLUGIN_HANDLED
}

public screen(param[]) {
  new id = param[0]
  if(is_user_connected(id)) {
    client_cmd(id,"snapshot")
    set_task(0.3, "kickplayer", 87457+id, param, 2)
  }
}

public kickplayer(param[]) {
  new id = param[0]
  if(is_user_connected(id)) {
    new ipadd[32]
    get_user_ip(id, ipadd, 31, 1)
    client_cmd(id, "echo ^"Banned.^";disconnect")
    server_cmd("addip %d ^"%s^";wait;writeip", param[1], ipadd)
  } return PLUGIN_HANDLED
}

Last edited by SAMURAI16; 10-12-2006 at 14:52.
SAMURAI16 is offline
Send a message via MSN to SAMURAI16
Old 10-12-2006, 18:11
SweatyBanana
This message has been deleted by SweatyBanana.
Reply



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 04:58.


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