Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Помогите пожалуйста поставить 2 команды в плагин
Помогите пожалуйста поставить 2 команды в плагин
Servercssv34 Дата: Четверг, 28.03.2019, 02:37:32 | Сообщение # 1
Сообщений: 6
Репутация: 0 [ +/- ]
Здравствуйте, хотел узнать, существует ли бан по нику для CSS v34?

Как всем известно, все баны уже обходятся и постоянные читеры, ники не меняют.

И тем самым,хотел узнать, может есть баны по нику? ведь это логично, банить так, автоматом, чтобы не знали что бан по нику.

И в добавок чтобы в бан добавлялся ип адрес с которого заходил

Буду рад если что подскажите. Спасибо.

Добавлено (28.03.2019, 11:04:34)
---------------------------------------------
Неужели нет решения, ребята?


Сообщение отредактировал Servercssv34 - Пятница, 29.03.2019, 11:27:55
 
Servercssv34 Дата: Четверг, 28.03.2019, 15:58:35 | Сообщение # 2
Сообщений: 6
Репутация: 0 [ +/- ]
Нашел я все таки плагин, но проблема в том что, нельзя в самой ИГРЕ забанить НИК или РАЗБАНИТЬ.

ПОжалуйста, помогите.

Прикрепляю исходник, и содержимое .sp

Вдруг кто сможет помочь. готов отблагодарить.
---------------------------------------------
Код
#include <sourcemod>

new String:badNames[255][64];
new String:fileName[PLATFORM_MAX_PATH];
new lines;
new Handle:bnkb_bantime;
new Handle:bnkb_reason;
new bool:EventsHooked = false

#define PLUGIN_VERSION "1.0.0"

public Plugin:myinfo = {
    name = "Bad name kick / ban",
    author = "2NASTY4U",
    description = "Kicks / bans anybody with a bad phrase in their name",
    version = PLUGIN_VERSION,
    url = ""
};

public OnPluginStart()
{
    CreateConVar("sm_bnkb_version", PLUGIN_VERSION, "Bad name kick / ban version", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY)
    bnkb_reason = CreateConVar("sm_bnkb_reason", "Bad name", "Reason to give client when they are kicked / banned")
    bnkb_bantime = CreateConVar("sm_bnkb_bantime", "-1", "How long to ban someone with a bad phrase in their name (0 = perm, -1 = just kick)");
    AutoExecConfig(true, "plugin.badnamekickban");
    
}

public OnMapStart(){
    for(new i; i < lines; i++)
    {
  badNames[i] = ""
    }
    lines = 0
    //If there is something wrong with the config, don't do anything until next map
    if(ReadConfig() && !EventsHooked ){
  //Hook events
  HookEvent("player_changename", checkName)
  EventsHooked = true
    }
}

public bool:ReadConfig()
{
    BuildPath(Path_SM, fileName, sizeof(fileName), "configs/bad_names.ini");
    new Handle:file = OpenFile(fileName, "rt");
    if (file == INVALID_HANDLE)
    {
  LogError("Could not open bad name config file: %s", fileName);
  return false;
    }

    while (!IsEndOfFile(file))
    {
  decl String:line[64]
  if (!ReadFileLine(file, line, sizeof(line)))
  {
   break;
  }
  
  TrimString(line)
  ReplaceString(line, 64, " ", "")
  if (strlen(line) == 0 || (line[0] == '/' && line[1] == '/'))
  {
   continue;
  }
  
  //Add the line to the list of badNames
  strcopy(badNames[lines], sizeof(badNames[]), line)
  lines++
  
    }
    
    CloseHandle(file);
    return true;
}

public OnClientPostAdminCheck(client){
    new String:playerName[64]
    if(!GetClientName(client,playerName,64)){
  return;
    }
    nameCheck(playerName,client);
}

nameCheck(String:clientName[64], player){
    new playerId = GetClientUserId(player);
    
    new AdminId:playerAdmin = GetUserAdmin(player);
    if(GetAdminFlag(playerAdmin, Admin_Generic, Access_Effective)){
  return;
    }
    
    //Trim the spaces out
    ReplaceString(clientName, 64, " ", "")
    
    //Check if they have a bad phrase in their name
    for(new i = 0; i < lines; i++){
  if(StrContains(clientName, badNames[i], false) != -1)
  {
   //Ban/kick the player
   new bantime = GetConVarInt(bnkb_bantime)
   new String:reason[64]
   GetConVarString(bnkb_reason,reason,64)
   
   if(bantime != -1)
   {
    ServerCommand("sm_ban #%i %i %s", playerId, bantime, reason)
   }
   
   else
   {
    ServerCommand("sm_kick #%i %s", playerId, reason)
   }
  }
    }
    return;
}

public Action:checkName(Handle:event, const String:name[], bool:dontBroadcast){
    new String:playerName[64];
    GetEventString(event, "newname", playerName, 64)
    nameCheck(playerName, GetClientOfUserId(GetEventInt(event, "userid")));
}

Добавлено (31.03.2019, 17:05:28)
---------------------------------------------
Ребята, неужели нет желающих? в плагин нужно всего лишь 2 команды поставить

к примеру sm_nickban "ник" и никнейм записывается в файл на новой строке и sm_nickban "ник" и ник удаляется с файла.

готов отблагодарить, ибо плагин уже готов и всего лишь 2х функций не хватает для полноценного юзания.


Прикрепления: badnamekickban.sp(3.0 Kb)


Сообщение отредактировал Servercssv34 - Четверг, 28.03.2019, 18:11:50
 
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Помогите пожалуйста поставить 2 команды в плагин
  • Страница 1 из 1
  • 1
Поиск: