Amx_IP plugin

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

29 Jul 2012, 12:18

As dori sa im scoateti amx_ip din baza pluginului admincmd sa faceti doar pluginul amx_ip,sa aiba 2 cvaruri de vizualizare a ip-urilor playerilor ( amx_showip si amx_ip ) si sa apara legate fara spatii intre ele ca in poza:
http://uploadimage.ro/images/68570180968888496231.jpg
| Afiseaza codul
#include < amxmodx >
#include < amxmisc >

#define MAXRCONCVARS 16

// Last Maps
#define HartiMaxime 5

new NumeHarti[HartiMaxime][34]
//end of last maps


//LastIP
#define STR_LEN 32

enum _:Infos
{

gUserIp[STR_LEN],
gUserName[STR_LEN]
}
//end of lastip

new gLastUsers[5][Infos];

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

public plugin_init()
{
   register_plugin("Admin Commands", AMXX_VERSION_STR, "SATANA");
   register_dictionary("admincmd.txt");
   register_dictionary("common.txt");
   register_concmd("amx_kick", "cmdKick", ADMIN_KICK, "<name or #userid> [reason]");
   register_concmd("amx_ban", "cmdBan", ADMIN_BAN, "<name or #userid> <minutes> [reason]");
   register_concmd("amx_banip", "cmdBanIP", ADMIN_BAN, "<name or #userid> <minutes> [reason]");
   register_concmd("amx_addban", "cmdAddBan", ADMIN_RCON, "<authid or ip> <minutes> [reason]");
   register_concmd("amx_unban", "cmdUnban", ADMIN_BAN, "<authid or ip>");
   register_concmd("amx_slay", "cmdSlay", ADMIN_SLAY, "<name or #userid>");
   register_concmd("amx_slap", "cmdSlap", ADMIN_SLAY, "<name or #userid> [power]");
   register_concmd("amx_leave", "cmdLeave", ADMIN_KICK, "<tag> [tag] [tag] [tag]");
   register_concmd("amx_pause", "cmdPause", ADMIN_CVAR, "- pause or unpause the game");
   register_concmd("amx_who", "cmdWho", ADMIN_ADMIN, "- displays who is on server");
   register_concmd("amx_cvar", "cmdCvar", ADMIN_CVAR, "<cvar> [value]");
   register_concmd("amx_plugins", "cmdPlugins", ADMIN_ADMIN);
   register_concmd("amx_modules", "cmdModules", ADMIN_ADMIN);
   register_concmd("amx_map", "cmdMap", ADMIN_MAP, "<mapname>");
   register_concmd("amx_cfg", "cmdCfg", ADMIN_CFG, "<filename>");
   register_concmd("amx_nick", "cmdNick", ADMIN_SLAY, "<name or #userid> <new nick>");
   register_clcmd("amx_rcon", "cmdRcon", ADMIN_RCON, "<command line>");
   register_clcmd("amx_showrcon", "cmdShowRcon", ADMIN_RCON, "<command line>");
   register_clcmd("pauseAck", "cmdLBack");
   register_concmd("amx_lastip", "cmdLastIp", ADMIN_KICK, "");
   register_concmd("amx_showip", "cmdshowip", ADMIN_KICK, "");
   register_clcmd("say /harti", "HartiJucateCuSay");
   register_concmd("amx_last", "cmdLastIp", ADMIN_KICK, "");
   register_concmd("amx_ip", "cmdshowip", ADMIN_KICK, "");
   register_clcmd("say /maps", "HartiJucateCuSay");
}

public plugin_cfg()
{
   // Cvars which can be changed only with rcon access
   server_cmd(g_addCvar, "rcon_password")
   server_cmd(g_addCvar, "amx_show_activity")
   server_cmd(g_addCvar, "amx_mode")
   server_cmd(g_addCvar, "amx_password_field")
   server_cmd(g_addCvar, "amx_default_access")
   server_cmd(g_addCvar, "amx_reserved_slots")
   server_cmd(g_addCvar, "amx_reservation")
   server_cmd(g_addCvar, "amx_conmotd_file")
   
   
   
   //Last Maps
   new FisierHartiJucate[64]
   
   get_localinfo("amxx_configsdir", FisierHartiJucate, 63)
   format(FisierHartiJucate, 63, "%s/hartianterioare.txt", FisierHartiJucate)
   
   new Fisier = fopen(FisierHartiJucate, "rt")
   new i
   new Temporar[34]
   if(Fisier)
   {
      for(i=0; i<HartiMaxime; i++)
      {
         if(!feof(Fisier))
         {
            fgets(Fisier, Temporar, 33)
            replace(Temporar, 33, "^n", "")
            formatex(NumeHarti, 33, Temporar)
         }
      }
      fclose(Fisier)
   }
   
   delete_file(FisierHartiJucate)
   
   new CurrentMap[34]
   get_mapname(CurrentMap, 33)
   
   Fisier = fopen(FisierHartiJucate, "wt")
   if(Fisier)
   {
      formatex(Temporar, 33, "%s^n", CurrentMap)
      fputs(Fisier, Temporar)
      for(i=0; i<HartiMaxime-1; i++)
      {
         CurrentMap = NumeHarti
         if(!CurrentMap[0])
         break
         formatex(Temporar, 33, "%s^n", CurrentMap)
         fputs(Fisier, Temporar)
      }
      fclose(Fisier)
   }
      //end of last maps
}

public cmdKick(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[32]
   read_argv(1, arg, 31)
   new player = cmd_target(id, arg, 1)
   
   if (!player)
      return PLUGIN_HANDLED
   
   new authid[32], authid2[32], name2[32], name[32], userid2, reason[32]
   
   get_user_authid(id, authid, 31)
   get_user_authid(player, authid2, 31)
   get_user_name(player, name2, 31)
   get_user_name(id, name, 31)
   userid2 = get_user_userid(player)
   read_argv(2, reason, 31)
   remove_quotes(reason)
   
   log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^" (reason ^"%s^")", name, get_user_userid(id), authid, name2, userid2, authid2, reason)
   
   switch (get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_KICK_2", name, name2)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_KICK_1", name2)
      }
   
   if (is_user_bot(player))
      server_cmd("kick #%d", userid2)
   else
   {
      if (reason[0])
         server_cmd("kick #%d ^"%s^"", userid2, reason)
      else
         server_cmd("kick #%d", userid2)
   }
   
   console_print(id, "[AMXX] Client ^"%s^" kicked", name2)
   
   return PLUGIN_HANDLED
}

public cmdUnban(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[32], authid[32], name[32]
   
   read_argv(1, arg, 31)
   
   if (contain(arg, ".") != -1)
   {
      server_cmd("removeip ^"%s^";writeip", arg)
      console_print(id, "[AMXX] %L", id, "IP_REMOVED", arg)
      } else {
      server_cmd("removeid %s;writeid", arg)
      console_print(id, "[AMXX] %L", id, "AUTHID_REMOVED", arg)
   }
   
   get_user_name(id, name, 31)
   
   switch (get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_UNBAN_2", name, arg)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_UNBAN_1", arg)
      }
   
   get_user_authid(id, authid, 31)
   log_amx("Cmd: ^"%s<%d><%s><>^" unban ^"%s^"", name, get_user_userid(id), authid, arg)
   
   return PLUGIN_HANDLED
}

public cmdAddBan(id, level, cid)
{
   if (!cmd_access(id, level, cid, 3))
      return PLUGIN_HANDLED
   
   new arg[32], authid[32], name[32], minutes[32], reason[32]
   
   read_argv(1, arg, 31)
   read_argv(2, minutes, 31)
   read_argv(3, reason, 31)
   
   if (contain(arg, ".") != -1)
   {
      server_cmd("addip ^"%s^" ^"%s^";wait;writeip", minutes, arg)
      console_print(id, "[AMXX] Ip ^"%s^" added to ban list", arg)
      } else {
      server_cmd("banid ^"%s^" ^"%s^";wait;writeid", minutes, arg)
      console_print(id, "[AMXX] Authid ^"%s^" added to ban list", arg)
   }
   
   get_user_name(id, name, 31)
   
   switch (get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_ADDBAN_2", name, arg)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_ADDBAN_1", arg)
      }
   
   get_user_authid(id, authid, 31)
   log_amx("Cmd: ^"%s<%d><%s><>^" ban ^"%s^" (minutes ^"%s^") (reason ^"%s^")", name, get_user_userid(id), authid, arg, minutes, reason)
   
   return PLUGIN_HANDLED
}

public cmdBan(id, level, cid)
{
   if (!cmd_access(id, level, cid, 3))
      return PLUGIN_HANDLED
   
   new target[32], minutes[8], reason[64]
   
   read_argv(1, target, 31)
   read_argv(2, minutes, 7)
   read_argv(3, reason, 63)
   
   new player = cmd_target(id, target, 9)
   
   if (!player)
      return PLUGIN_HANDLED
   
   new authid[32], name2[32], authid2[32], name[32]
   new userid2 = get_user_userid(player)
   
   get_user_authid(player, authid2, 31)
   get_user_authid(id, authid, 31)
   get_user_name(player, name2, 31)
   get_user_name(id, name, 31)
   
   
   new temp[64], banned[16], nNum = str_to_num(minutes)
   if (nNum)
      format(temp, 63, "Ai primit ban pentru %s minute", minutes)
   else
      format(temp, 63, "Ai primit ban permanent Permanent", player, "PERM")
   format(banned, 15, "", player, "BANNED")
   
   new address[32]
   get_user_ip(player, address, 31, 1)
   
   if (reason[0])
      server_cmd("kick #%d ^"%s (%s %s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", userid2, reason, banned, temp, minutes, address)
   else
      server_cmd("kick #%d ^"%s %s^";wait;addip ^"%s^" ^"%s^";wait;writeip", userid2, banned, temp, minutes, address)
   
   new pl[32];
   get_user_name(player, pl, 31)
   chat_color(0,"!yADMIN!g %s!y: ban!g %s!y pentru!g %s!y minute. Motiv:!g ( %s )", name, pl, minutes, reason)   
   client_cmd(player, "wait;snapshot;wait");
   
   new activity = get_cvar_num("amx_show_activity")
   if (activity != 0)
   {
     
   }
   console_print(id, "Jucatorul %s a fost banat", name2)
   
   return PLUGIN_HANDLED
}

public cmdBanIP(id, level, cid)
{
   if (!cmd_access(id, level, cid, 3))
      return PLUGIN_HANDLED
   
   new target[32], minutes[8], reason[64]
   
   read_argv(1, target, 31)
   read_argv(2, minutes, 7)
   read_argv(3, reason, 63)
   
   new player = cmd_target(id, target, 9)
   
   if (!player)
      return PLUGIN_HANDLED
   
   new authid[32], name2[32], authid2[32], name[32]
   new userid2 = get_user_userid(player)
   
   get_user_authid(player, authid2, 31)
   get_user_authid(id, authid, 31)
   get_user_name(player, name2, 31)
   get_user_name(id, name, 31)
   
   
   new temp[64], banned[16], nNum = str_to_num(minutes)
   if (nNum)
      format(temp, 63, "Ai primit ban pentru %s minute", minutes)
   else
      format(temp, 63, "Ai primit ban permanent", player, "PERM")
   format(banned, 15, "", player, "BANNED")
   
   new address[32]
   get_user_ip(player, address, 31, 1)
   
   if (reason[0])
      server_cmd("kick #%d ^"%s (%s %s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", userid2, reason, banned, temp, minutes, address)
   else
      server_cmd("kick #%d ^"%s %s^";wait;addip ^"%s^" ^"%s^";wait;writeip", userid2, banned, temp, minutes, address)
   
   new pl[32];
   get_user_name(player, pl, 31)
   chat_color(0,"!yADMIN!g %s!y: banip!g %s!y pentru!g %s!y minute. Motiv:!g ( %s )", name, pl, minutes, reason)   
   client_cmd(player, "wait;snapshot;wait");
   
   new activity = get_cvar_num("amx_show_activity")
   if (activity != 0)
   {
     
   }
   console_print(id, "JucaTorul %s a FosT banaT!", name2)
   
   return PLUGIN_HANDLED
}

public cmdSlay(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[32]
   
   read_argv(1, arg, 31)
   
   new player = cmd_target(id, arg, 5)
   
   if (!player)
      return PLUGIN_HANDLED
   
   user_kill(player)
   
   new authid[32], name2[32], authid2[32], name[32]
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   get_user_authid(player, authid2, 31)
   get_user_name(player, name2, 31)
   
   log_amx("Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^"", name, get_user_userid(id), authid, name2, get_user_userid(player), authid2)
   
   switch (get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_SLAY_2", name, name2)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_SLAY_1", name2)
      }
   console_print(id, "[AMXX] %L", id, "CLIENT_SLAYED", name2)
   
   return PLUGIN_HANDLED
}

public cmdSlap(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[32]
   
   read_argv(1, arg, 31)
   new player = cmd_target(id, arg, 5)
   
   if (!player)
      return PLUGIN_HANDLED
   
   new spower[32], authid[32], name2[32], authid2[32], name[32]
   
   read_argv(2, spower, 31)
   
   new damage = str_to_num(spower)
   
   user_slap(player, damage)
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   get_user_authid(player, authid2, 31)
   get_user_name(player, name2, 31)
   
   log_amx("Cmd: ^"%s<%d><%s><>^" slap with %d damage ^"%s<%d><%s><>^"", name, get_user_userid(id), authid, damage, name2, get_user_userid(player), authid2)
   
   switch (get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_SLAP_2", name, name2, damage)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_SLAP_1", name2, damage)
      }
   console_print(id, "[AMXX] %L", id, "CLIENT_SLAPED", name2, damage)
   
   return PLUGIN_HANDLED
}

public chMap(map[])
{
   server_cmd("changelevel %s", map)
}

public cmdMap(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[32]
   new arglen = read_argv(1, arg, 31)
   
   if (!is_map_valid(arg))
   {
      console_print(id, "[AMXX] %L", id, "MAP_NOT_FOUND")
      return PLUGIN_HANDLED
   }
   
   new authid[32], name[32]
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   
   switch (get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_MAP_2", name, arg)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_MAP_1", arg)
      }
   
   log_amx("Cmd: ^"%s<%d><%s><>^" changelevel ^"%s^"", name, get_user_userid(id), authid, arg)
   
   new _modName[10]
   get_modname(_modName, 9)
   
   if (!equal(_modName, "zp"))
   {
      message_begin(MSG_ALL, SVC_INTERMISSION)
      message_end()
   }
   
   set_task(2.0, "chMap", 0, arg, arglen + 1)
   
   return PLUGIN_HANDLED
}

onlyRcon(name[])
{
   for (new a = 0; a < g_cvarRconNum; ++a)
      if (equali(g_cvarRcon[a], name))
         return 1
   return 0
}

public cmdCvar(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[32], arg2[64]
   
   read_argv(1, arg, 31)
   read_argv(2, arg2, 63)
   
   if (equal(arg, "add") && (get_user_flags(id) & ADMIN_RCON))
   {
      if (cvar_exists(arg2))
      {
         if (g_cvarRconNum < MAXRCONCVARS)
            copy(g_cvarRcon[g_cvarRconNum++], 31, arg2)
         else
            console_print(id, "[AMXX] %L", id, "NO_MORE_CVARS")
      }
      return PLUGIN_HANDLED
   }
   
   if (!cvar_exists(arg))
   {
      console_print(id, "[AMXX] %L", id, "UNKNOWN_CVAR", arg)
      return PLUGIN_HANDLED
   }
   
   if (onlyRcon(arg) && !(get_user_flags(id) & ADMIN_RCON))
   {
      console_print(id, "[AMXX] %L", id, "CVAR_NO_ACC")
      return PLUGIN_HANDLED
   }
   else if (equal(arg, "sv_password") && !(get_user_flags(id) & ADMIN_PASSWORD))
   {
      console_print(id, "[AMXX] %L", id, "CVAR_NO_ACC")
      return PLUGIN_HANDLED
   }
   
   if (read_argc() < 3)
   {
      get_cvar_string(arg, arg2, 63)
      console_print(id, "[AMXX] %L", id, "CVAR_IS", arg, arg2)
      return PLUGIN_HANDLED
   }
   
   new authid[32], name[32]
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   
   log_amx("Cmd: ^"%s<%d><%s><>^" set cvar (name ^"%s^") (value ^"%s^")", name, get_user_userid(id), authid, arg, arg2)
   set_cvar_string(arg, arg2)
   
   new activity = get_cvar_num("amx_show_activity")
   if (activity != 0)
   {
      new players[32], pnum, admin[64], cvar_val[64], len
      get_players(players, pnum, "c")
     
      for (new i = 0; i < pnum; i++)
      {
         len = format(admin, 255, "%L", players, "ADMIN")
         
         if (activity == 1)
            len += copy(admin[len], 255-len, ":")
         else
            len += format(admin[len], 255-len, " %s:", name)
         
         if (equal(arg, "rcon_password") || equal(arg, "sv_password"))
            format(cvar_val, 63, "*** %L ***", players, "PROTECTED")
         else
            copy(cvar_val, 63, arg2)
         
         chat_color(players,"%L", players, "SET_CVAR_TO", name, arg, arg2)
      }
   }
   console_print(id, "[AMXX] %L", id, "CVAR_CHANGED", arg, arg2)
   
   return PLUGIN_HANDLED
}

public cmdPlugins(id, level, cid)
{
   if (!cmd_access(id, level, cid, 1))
      return PLUGIN_HANDLED
   
   new name[32], version[32], author[32], filename[32], status[32]
   new lName[32], lVersion[32], lAuthor[32], lFile[32], lStatus[32]
   
   format(lName, 31, "%L", id, "NAME")
   format(lVersion, 31, "%L", id, "VERSION")
   format(lAuthor, 31, "%L", id, "AUTHOR")
   format(lFile, 31, "%L", id, "FILE")
   format(lStatus, 31, "%L", id, "STATUS")
   
   new num = get_pluginsnum()
   new running = 0
   
   console_print(id, "%L:", id, "LOADED_PLUGINS")
   console_print(id, "%-18.17s %-8.7s %-17.16s %-16.15s %-9.8s", lName, lVersion, lAuthor, lFile, lStatus)
   
   for (new i = 0; i <num; i++)
   {
      get_plugin(i, filename, 31, name, 31, version, 31, author, 31, status, 31)
      console_print(id, "%-18.17s %-8.7s %-17.16s %-16.15s %-9.8s", name, version, author, filename, status)
     
      if (status[0]=='d' || status[0]=='r') // "debug" or "running"
         running++
   }
   console_print(id, "%L", id, "PLUGINS_RUN", num, running)
   
   return PLUGIN_HANDLED
}

public cmdModules(id, level, cid)
{
   if (!cmd_access(id, level, cid, 1))
      return PLUGIN_HANDLED
   
   new name[32], version[32], author[32], status, sStatus[16]
   new lName[32], lVersion[32], lAuthor[32]
   
   format(lName, 31, "%L", id, "NAME")
   format(lVersion, 31, "%L", id, "VERSION")
   format(lAuthor, 31, "%L", id, "AUTHOR")
   
   new num = get_modulesnum()
   
   console_print(id, "%L:", id, "LOADED_MODULES")
   console_print(id, "%-23.22s %-8.7s %-20.19s", lName, lVersion, lAuthor)
   
   for (new i = 0; i < num; i++)
   {
      get_module(i, name, 31, author, 31, version, 31, status)
     
      switch (status)
      {
         case module_loaded: copy(sStatus, 15, "running")
            default: copy(sStatus, 15, "error")
      }
     
      console_print(id, "%-23.22s %-8.7s %-20.19s", name, version, author)
   }
   console_print(id, "%L", id, "NUM_MODULES", num)
   
   return PLUGIN_HANDLED
}

public cmdCfg(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[128]
   read_argv(1, arg, 127)
   
   if (!file_exists(arg))
   {
      console_print(id, "[AMXX] %L", id, "FILE_NOT_FOUND", arg)
      return PLUGIN_HANDLED
   }
   
   new authid[32], name[32]
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   
   log_amx("Cmd: ^"%s<%d><%s><>^" execute cfg (file ^"%s^")", name, get_user_userid(id), authid, arg)
   
   console_print(id, "[AMXX] Executing file ^"%s^"", arg)
   server_cmd("exec %s", arg)
   
   switch(get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_CONF_2", name, arg)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_CONF_1", arg)
      }
   
   return PLUGIN_HANDLED
}

public cmdLBack()
{
   if (!g_PauseAllowed)
      return PLUGIN_CONTINUE   
   
   new paused[25]
   
   format(paused, 24, "%L", g_pauseCon, g_Paused ? "UNPAUSED" : "PAUSED")
   set_cvar_float("pausable", g_pausAble)
   console_print(g_pauseCon, "[AMXX] Server %s", paused)
   g_PauseAllowed = false
   
   if (g_Paused)
      g_Paused = false
   else
      g_Paused = true
   
   return PLUGIN_HANDLED
}

public cmdPause(id, level, cid)
{
   if (!cmd_access(id, level, cid, 1))
      return PLUGIN_HANDLED
   
   new authid[32], name[32], slayer = id
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   g_pausAble = get_cvar_float("pausable")
   
   if (!slayer)
      slayer = find_player("h")
   
   if (!slayer)
   {
      console_print(id, "[AMXX] %L", id, "UNABLE_PAUSE")
      return PLUGIN_HANDLED
   }
   
   set_cvar_float("pausable", 1.0)
   g_PauseAllowed = true
   client_cmd(slayer, "pause;pauseAck")
   
   log_amx("Cmd: ^"%s<%d><%s><>^" %s server", name, get_user_userid(id), authid, g_Paused ? "unpause" : "pause")
   
   console_print(id, "[AMXX] %L", id, g_Paused ? "UNPAUSING" : "PAUSING")
   
   new activity = get_cvar_num("amx_show_activity")
   if (activity != 0)
   {
      new players[32], pnum, msg[128], len
      get_players(players, pnum, "c")
     
      for (new i = 0; i < pnum; i++)
      {
         len = format(msg, 127, "%L", players, "ADMIN")
         
         if (activity == 1)
            len += copy(msg[len], 127-len, ": ")
         else
            len += format(msg[len], 127-len, " %s: ", name)
         
         format(msg[len], 127-len, "%L", players, g_Paused ? "UNPAUSE" : "PAUSE")
         client_print(players, print_chat, "%s server", msg)
      }
   }
   g_pauseCon = id
   
   return PLUGIN_HANDLED
}

public cmdShowRcon(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new password[64]
   
   get_cvar_string("rcon_password", password, 63)
   
   if (!password[0])
   {
      cmdRcon(id, level, cid)
      } else {
      new args[128]
     
      read_args(args, 127)
      client_cmd(id, "rcon_password %s", password)
      client_cmd(id, "rcon %s", args)
   }
   
   return PLUGIN_HANDLED
}

public cmdRcon(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new arg[128], authid[32], name[32]
   
   read_args(arg, 127)
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   
   log_amx("Cmd: ^"%s<%d><%s><>^" server console (cmdline ^"%s^")", name, get_user_userid(id), authid, arg)
   
   console_print(id, "[AMXX] %L", id, "COM_SENT_SERVER", arg)
   server_cmd("%s", arg)
   
   return PLUGIN_HANDLED
}

public cmdWho(id, level, cid)
{
   if (!cmd_access(id, level, cid, 1))
      return PLUGIN_HANDLED
   
   new players[32], inum, cl_on_server[64], authid[32], name[32], flags, sflags[32]
   new lImm[16], lRes[16], lAccess[16], lYes[16], lNo[16]
   
   format(lImm, 15, "%L", id, "IMMU")
   format(lRes, 15, "%L", id, "RESERV")
   format(lAccess, 15, "%L", id, "ACCESS")
   format(lYes, 15, "%L", id, "YES")
   format(lNo, 15, "%L", id, "NO")
   
   get_players(players, inum)
   format(cl_on_server, 63, "%L", id, "CLIENTS_ON_SERVER")
   console_print(id, "^n%s:^n #  %-16.15s %-20s %-8s %-4.3s %-4.3s %s", cl_on_server, "nick", "authid", "userid", lImm, lRes, lAccess)
   
   for (new a = 0; a < inum; ++a)
   {
      get_user_authid(players[a], authid, 31)
      get_user_name(players[a], name, 31)
      flags = get_user_flags(players[a])
      get_flags(flags, sflags, 31)
      console_print(id, "%2d  %-16.15s %-20s %-8d %-6.5s %-6.5s %s", players[a], name, authid,
      get_user_userid(players[a]), (flags&ADMIN_IMMUNITY) ? lYes : lNo, (flags&ADMIN_RESERVATION) ? lYes : lNo, sflags)
   }
   
   console_print(id, "%L", id, "TOTAL_NUM", inum)
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list", name, get_user_userid(id), authid)
   
   return PLUGIN_HANDLED
}

hasTag(name[], tags[4][32], tagsNum)
{
   for (new a = 0; a < tagsNum; ++a)
      if (contain(name, tags[a]) != -1)
         return a
   
   return -1
}

public cmdLeave(id, level, cid)
{
   if (!cmd_access(id, level, cid, 2))
      return PLUGIN_HANDLED
   
   new argnum = read_argc()
   new ltags[4][32]
   new ltagsnum = 0
   
   for (new a = 1; a < 5; ++a)
   {
      if (a < argnum)
         read_argv(a, ltags[ltagsnum++], 31)
      else
         ltags[ltagsnum++][0] = 0
   }
   
   new nick[32], ires, pnum = get_maxplayers() + 1, count = 0, lReason[128]
   
   for (new b = 1; b < pnum; ++b)
   {
      if (!is_user_connected(b) && !is_user_connecting(b)) continue
     
      get_user_name(b, nick, 31)
      ires = hasTag(nick, ltags, ltagsnum)
     
      if (ires != -1)
      {
         console_print(id, "[AMXX] %L", id, "SKIP_MATCH", nick, ltags[ires])
         continue
      }
     
      if (get_user_flags(b) & ADMIN_IMMUNITY)
      {
         console_print(id, "[AMXX] %L", id, "SKIP_IMM", nick)
         continue
      }
     
      console_print(id, "[AMXX] %L", id, "KICK_PL", nick)
     
      if (is_user_bot(b))
         server_cmd("kick #%d", get_user_userid(b))
      else
      {
         format(lReason, 127, "%L", b, "YOU_DROPPED")
         server_cmd("kick #%d ^"%s^"", get_user_userid(b), lReason)
      }
      count++
   }
   
   console_print(id, "[AMXX] %L", id, "KICKED_CLIENTS", count)
   
   new authid[32], name[32]
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   log_amx("Kick: ^"%s<%d><%s><>^" leave some group (tag1 ^"%s^") (tag2 ^"%s^") (tag3 ^"%s^") (tag4 ^"%s^")", name, get_user_userid(id), authid, ltags[0], ltags[1], ltags[2], ltags[3])
   
   switch(get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_LEAVE_2", name, ltags[0], ltags[1], ltags[2], ltags[3])
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_LEAVE_1", ltags[0], ltags[1], ltags[2], ltags[3])
      }
   
   return PLUGIN_HANDLED
}

public cmdNick(id, level, cid)
{
   if (!cmd_access(id, level, cid, 3))
      return PLUGIN_HANDLED
   
   new arg1[32], arg2[32], authid[32], name[32], authid2[32], name2[32]
   
   read_argv(1, arg1, 31)
   read_argv(2, arg2, 31)
   
   new player = cmd_target(id, arg1, 1)
   
   if (!player)
      return PLUGIN_HANDLED
   
   get_user_authid(id, authid, 31)
   get_user_name(id, name, 31)
   get_user_authid(player, authid2, 31)
   get_user_name(player, name2, 31)
   
   client_cmd(player, "name ^"%s^"", arg2)
   
   log_amx("Cmd: ^"%s<%d><%s><>^" change nick to ^"%s^" ^"%s<%d><%s><>^"", name, get_user_userid(id), authid, arg2, name2, get_user_userid(player), authid2)
   
   switch (get_cvar_num("amx_show_activity"))
   {
      case 2: chat_color(0,"%L", LANG_PLAYER, "ADMIN_NICK_2", name, name2, arg2)
         case 1: chat_color(0,"%L", LANG_PLAYER, "ADMIN_NICK_1", name2, arg2)
      }
   console_print(id, "[AMXX] %L", id, "CHANGED_NICK", name2, arg2)
   
   return PLUGIN_HANDLED
}

public cmdLastIp(id,level,cid)
{
   
   if ( ! cmd_access ( id , level , cid , 1 ) )
      return PLUGIN_HANDLED
   
   if(!gLastUsers[0][gUserName][0]) {
     
      client_print(id,3,"Inca nu a iesit nici un jucator de pe server!");
      return 1;
   }
   
   for(new i = 0;i < 5;i++)
   {
      if(!gLastUsers[gUserName][0] || ! gLastUsers[i][gUserIp][0])
         continue;
      console_print(id,"%s - %s",gLastUsers[i][gUserName], gLastUsers[i][gUserIp]);
   }
   
   return 1;
   
}

public client_disconnect(id)
{
   static sName[32];
   get_user_name(id,sName,sizeof sName - 1);
   for(new i = 0;i < sizeof gLastUsers;i++)
   {
     
      if(equali(gLastUsers[i][gUserName],sName))
         return 1;
   }
   
   static iNum;
   get_user_name(id,gLastUsers[iNum][gUserName],STR_LEN - 1);
   get_user_ip(id,gLastUsers[iNum][gUserIp],STR_LEN - 1, 1);
   iNum++;
   
   if(iNum >= 5)
      iNum = 0;
   
   return 0;
   
}

public cmdshowip(id, level, cid)
{
   if (!cmd_access(id, level, cid, 1))
   {
      return PLUGIN_HANDLED;
   }
   console_print(id,"-----------------------------------");
   console_print(id,"->     ShowIP Plugin     <-");
   console_print(id,"-----------------------------------");
   console_print(id,"=> Imprimam IP-urile Jucatorilor <=");
   console_print(id," ");
   
   new players[32], num;
   get_players(players, num);
   
   for(new i = 0 ; i < num ; i++)
   {
      new name[32], ip[32];
      get_user_name(players[i], name, 31)
      get_user_ip(players[i], ip, 31, 1);
     
      if(strlen(name) > 20)
      {
         copy(name,17,name);
         add(name,64,"...");
      }
     
      console_print(id, "%d) %s - %s^n",i+1, name, ip);
   }
   console_print(id," ");
   console_print(id,"-----------------------------------");
   console_print(id,"->     ShowIP Plugin     <-");
   console_print(id,"-----------------------------------");    return PLUGIN_HANDLED;
}

public HartiJucateCuSay(id) {
   new HartiAnterioare[192], n
   n += formatex(HartiAnterioare[n], 191-n, "Hartile jucate anterior sunt:")
   for(new i; i<HartiMaxime; i++)
   {
      if(!NumeHarti[i][0])
      {
         n += formatex(HartiAnterioare[n-1], 191-n+1, ".")
         break
      }
      n += formatex(HartiAnterioare[n], 191-n, " %s%s", NumeHarti[i], i+1 == HartiMaxime ? "." : ",")
   }
   client_print(id, print_chat, HartiAnterioare)
   return PLUGIN_CONTINUE
}

stock chat_color(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, "!team", "^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();
         }
      }
   }
}
RoyalServer
User avatar
K1d0x
Fost moderator
Fost moderator
Posts: 800
Joined: 26 Feb 2012, 15:57
Detinator Steam: Da
CS Status: We Build Together ;3 RedFear
Detinator server CS: PuB.RedFear.Ro
SteamID: k1dox
Reputatie: Fost moderator ajutator
Location: Reșița
Been thanked: 152 times
Contact:

29 Jul 2012, 13:46

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>

#define ACCESS ADMIN_KICK

public plugin_init() {
   register_concmd("amx_showip", "cmdshowip", ACCESS, "Shows all ip's");
   register_concmd("amx_ip", "cmdshowip", ACCESS, "Shows all ip's");
}

public cmdshowip(id, level, cid)
{
   if (!(get_user_flags(id) & ACCESS)) {
      console_print(id,"-----------------------------------");
      console_print(id,"=> Nu ai acces la aceasta comanda !");
      console_print(id,"-----------------------------------");
      return PLUGIN_HANDLED;
   }
   
   console_print(id,"-----------------------------------");
   console_print(id,"->     ShowIP Plugin     <-");
   console_print(id,"-----------------------------------");
   console_print(id,"=> Imprimam IP-urile Jucatorilor <=");
   console_print(id," ");
   new players[32], num;
   get_players(players, num);
   
   for(new i = 0 ; i < num ; i++)
   {
      new name[32], ip[32];
      get_user_name(players, name, 31);
      get_user_ip(players, ip, 31, 1);
      
      if(strlen(name) > 20) {
         copy(name,17,name);
         add(name,64,"...");
      }
      
      console_print(id, "%d) %s - %s",i+1, name, ip);
   }
   console_print(id,"-----------------------------------");
   console_print(id,"->     ShowIP Plugin     <-");
   console_print(id,"-----------------------------------");
   return PLUGIN_HANDLED;
}
Last edited by K1d0x on 30 Jul 2012, 03:25, edited 2 times in total.
Image
32slots.net - Sursa ta de încredere de KIT-uri CS 1.6
RedFear.Ro România - | Afiseaza codul
Vă aştept cu un Register pe Forum
- Suntem în căutare de Dezvoltatori & Administratori :
HTML
PHP
MYSQL
C++
Ofer Server CS spre administrare | Afiseaza codul
Condiții : 
- Să dispui de timp liber
- Să ai cunoștințe AMXX & HLDS
Boostul este asigurat de către Mine (PM pentru. detalii)
[email protected]
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

29 Jul 2012, 13:50

comenzi,m-am incurcat,adica adminii sa poata vedea lista de ip-uri prin comenzile amx_ip si amx_showip

EDiT: si tot nu apare unul sub celalt numele si ip-urile ca in poza asta
http://uploadimage.ro/images/68570180968888496231.jpg
User avatar
K1d0x
Fost moderator
Fost moderator
Posts: 800
Joined: 26 Feb 2012, 15:57
Detinator Steam: Da
CS Status: We Build Together ;3 RedFear
Detinator server CS: PuB.RedFear.Ro
SteamID: k1dox
Reputatie: Fost moderator ajutator
Location: Reșița
Been thanked: 152 times
Contact:

29 Jul 2012, 15:10

Doar am extras plugin-ul pentru ca, ca de obicei nu stii sa explici (doar tu intelegi)
Image
32slots.net - Sursa ta de încredere de KIT-uri CS 1.6
RedFear.Ro România - | Afiseaza codul
Vă aştept cu un Register pe Forum
- Suntem în căutare de Dezvoltatori & Administratori :
HTML
PHP
MYSQL
C++
Ofer Server CS spre administrare | Afiseaza codul
Condiții : 
- Să dispui de timp liber
- Să ai cunoștințe AMXX & HLDS
Boostul este asigurat de către Mine (PM pentru. detalii)
[email protected]
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

29 Jul 2012, 15:37

Pai am explicat sus,am pus si pe poza cum arata si cum as vrea sa fie.
User avatar
K1d0x
Fost moderator
Fost moderator
Posts: 800
Joined: 26 Feb 2012, 15:57
Detinator Steam: Da
CS Status: We Build Together ;3 RedFear
Detinator server CS: PuB.RedFear.Ro
SteamID: k1dox
Reputatie: Fost moderator ajutator
Location: Reșița
Been thanked: 152 times
Contact:

29 Jul 2012, 16:24

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>

#define ACCESS ADMIN_KICK

public plugin_init() {
   register_concmd("amx_showip", "cmdshowip", ACCESS, "Shows all ip's");
   register_concmd("amx_ip", "cmdshowip", ACCESS, "Shows all ip's");
}

public cmdshowip(id, level, cid)
{
   if (!(get_user_flags(id) & ACCESS)) {
      console_print(id,"-----------------------------------");
      console_print(id,"=> Nu ai acces la aceasta comanda !");
      console_print(id,"-----------------------------------");
      return PLUGIN_HANDLED;
   }
   
   console_print(id,"-----------------------------------");
   console_print(id,"->     ShowIP Plugin     <-");
   console_print(id,"-----------------------------------");
   console_print(id,"=> Imprimam IP-urile Jucatorilor <=");
   console_print(id," ");
   new players[32], num;
   get_players(players, num);
   
   for(new i = 0 ; i < num ; i++)
   {
      new name[32], ip[32];
      get_user_name(players, name, 31);
      get_user_ip(players, ip, 31, 1);
      
      if(strlen(name) > 20) {
         copy(name,17,name);
         add(name,64,"...");
      }
      
      console_print(id, "%d) %s - %s",i+1, name, ip);
   }
   console_print(id,"-----------------------------------");
   console_print(id,"->     ShowIP Plugin     <-");
   console_print(id,"-----------------------------------");
   return PLUGIN_HANDLED;
}
Last edited by K1d0x on 30 Jul 2012, 03:24, edited 3 times in total.
Image
32slots.net - Sursa ta de încredere de KIT-uri CS 1.6
RedFear.Ro România - | Afiseaza codul
Vă aştept cu un Register pe Forum
- Suntem în căutare de Dezvoltatori & Administratori :
HTML
PHP
MYSQL
C++
Ofer Server CS spre administrare | Afiseaza codul
Condiții : 
- Să dispui de timp liber
- Să ai cunoștințe AMXX & HLDS
Boostul este asigurat de către Mine (PM pentru. detalii)
[email protected]
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

29 Jul 2012, 16:32

Acum apare unul dupa altul doar dupa imprimam,acolo sa lasi locul liber si intre nume si IP sa fie legat cum am aratat in poza de mai sus si uite cum apare acum:

Image

Deci sa fiu mai inteles,unde is "=> Imprimam IP-urile Jucatorilor <=" sa fie spatiu si dupa cand apare 1) nume - ip intre astea sa fie legat.
User avatar
K1d0x
Fost moderator
Fost moderator
Posts: 800
Joined: 26 Feb 2012, 15:57
Detinator Steam: Da
CS Status: We Build Together ;3 RedFear
Detinator server CS: PuB.RedFear.Ro
SteamID: k1dox
Reputatie: Fost moderator ajutator
Location: Reșița
Been thanked: 152 times
Contact:

29 Jul 2012, 17:22

Am dat edit,
Image
Image
32slots.net - Sursa ta de încredere de KIT-uri CS 1.6
RedFear.Ro România - | Afiseaza codul
Vă aştept cu un Register pe Forum
- Suntem în căutare de Dezvoltatori & Administratori :
HTML
PHP
MYSQL
C++
Ofer Server CS spre administrare | Afiseaza codul
Condiții : 
- Să dispui de timp liber
- Să ai cunoștințe AMXX & HLDS
Boostul este asigurat de către Mine (PM pentru. detalii)
[email protected]
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

29 Jul 2012, 17:55

OPTIMIZATI VA ROG ACEST PLUGIN CA VREAU SA IL PUN IN BAZA.

Code: Select all

console_print(id," ");
add(name,64,"...")
pentru ce is? aveau un bug alea 3 puncte apar la nume cateodata

Si alea lipite te rog am precizat,intre Ultima linie si Ultimul IP
Image
User avatar
K1d0x
Fost moderator
Fost moderator
Posts: 800
Joined: 26 Feb 2012, 15:57
Detinator Steam: Da
CS Status: We Build Together ;3 RedFear
Detinator server CS: PuB.RedFear.Ro
SteamID: k1dox
Reputatie: Fost moderator ajutator
Location: Reșița
Been thanked: 152 times
Contact:

29 Jul 2012, 18:38

| Afiseaza codul
if(strlen(name) > 20)
      {
         copy(name,17,name);
         add(name,64,"...");
      }
Daca numele are mai mult de 20 de caractere atunci va aparea 20 caractere din numele lui apoi vor fi acele ..., deci jos de tot vrei sa numai fie acea linie libera + scoaterea acelor puncte?

EDIT: am modificat mai sus, acum apare asa
| Afiseaza codul
] amx_showip
-----------------------------------
->     ShowIP Plugin     <-
-----------------------------------
=> Imprimam IP-urile Jucatorilor <=
 
1) nebunul-N0.1 - 127.0.0.1
2) costi.K.G.B - 127.0.0.1
3) i0nutz - 127.0.0.1
4) teroristCS=) - 127.0.0.1
5) ChrisCS - 127.0.0.1
6) ~666~ - 127.0.0.1
7) ovihot* - 127.0.0.1
8) weed*99 - 127.0.0.1
9) ~dany~ - 127.0.0.1
10) chuckie - 127.0.0.1
11) aaaaaaaaaaaaaaaaaaaaaK!D()Xaaaa - 169.254.162.250
-----------------------------------
->     ShowIP Plugin     <-
-----------------------------------
Image
32slots.net - Sursa ta de încredere de KIT-uri CS 1.6
RedFear.Ro România - | Afiseaza codul
Vă aştept cu un Register pe Forum
- Suntem în căutare de Dezvoltatori & Administratori :
HTML
PHP
MYSQL
C++
Ofer Server CS spre administrare | Afiseaza codul
Condiții : 
- Să dispui de timp liber
- Să ai cunoștințe AMXX & HLDS
Boostul este asigurat de către Mine (PM pentru. detalii)
[email protected]
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

29 Jul 2012, 20:08

Vreau ca sa fie cu ... daca are numele prea lung.
Si i-ar mai trebui ceva sa apara in consola zic eu,daca nu e admin si incearca sa afle IP-ul sa ii zica asa:
"--------------------------------------"
"=> Nu ai acces la aceasta comanda !"
"--------------------------------------"

Thanks.
smileye
Fost moderator
Fost moderator
Posts: 4648
Joined: 12 Jun 2012, 15:18
Detinator Steam: Da
Reputatie: Fost moderator
Has thanked: 258 times
Been thanked: 38 times
Contact:

29 Jul 2012, 23:19

UP !..
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 28 guests