Изменение ников ботов на сервере

Тема в разделе "Counter-Strike: Source", создана пользователем novichek, 17 ноя 2014.

  1. novichek

    novichek

    Сообщения:
    169
    Симпатии:
    6
    Всем привет. Подскажите, как поменять на новые имена БОТ в CS: Source в steam версии. Зарание спасибо.
     
  2. Sam_Fisher

    Sam_Fisher

    Сообщения:
    703
    Симпатии:
    202
    novichek, \cstrike\custom\botsnames там BotProfile.db в него и вносишь изменения.
     
  3. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.565
    Симпатии:
    1.150
    Или же можно плагин использовать, минусы BotProfile.db нельзя писать ники со специальными знаками и на кириллице.
    PHP:
    #include <sourcemod>
    #include <sdktools>

    new Handle:g_hPath INVALID_HANDLE;

    new 
    Handle:Array = INVALID_HANDLE;

    new 
    bool:CheckUseName[MAXPLAYERS+1] = {false, ...};

    new 
    ArraySize 0;

    public 
    OnPluginStart()
    {
        
    g_hPath CreateConVar("bot_name_path""addons/sourcemod/configs/bot_name.cfg""Укажите путь к файлу");

        Array = 
    CreateArray(2550);
    }

    public 
    OnMapStart()
    {
        
    ArraySize 0;

        
    ClearArray(Array);

        
    decl String:path[255];
        
    GetConVarString(g_hPathpathsizeof(path));

        new 
    Handle:file OpenFile(path"r");

        if (
    file == INVALID_HANDLE
        { 
            
    LogError("Не удалось открыть файл '%s'"path);
        }
        else
        {
            
    decl String:line[150];
            while (!
    IsEndOfFile(file) && ReadFileLine(filelinesizeof(line)))
            {
                
    TrimString(line);
                
    PushArrayString(Array, line);
            }

            
    ArraySize GetArraySize(Array);

            
    CloseHandle(file);
        }
    }

    public 
    OnClientPutInServer(client)
    {
        
    CheckUseName[client] = false;

        if (
    IsClientBot(client) && ArraySize 0)
        {
            
    decl String:ArrayName[50];

            new 
    random GetRandomInt(0ArraySize 1);

            
    GetArrayString(Array, randomArrayNamesizeof(ArrayName));

            
    CS_SetClientName(clientArrayName);

            
    RemoveFromArray(Array, random);

            
    CheckUseName[client] = true;
            
    ArraySize--;
        }
    }

    public 
    OnClientDisconnect(client)
    {
        if (
    IsClientBot(client) && CheckUseName[client])
        {
            
    decl String:Name[50];
            
    GetClientName(clientNamesizeof(Name));

            
    PushArrayString(Array, Name);
            
    ArraySize++;
        }
    }

    bool:IsClientBot(client)
    {
        if (
    IsFakeClient(client) && !IsClientSourceTV(client))
        {
            return 
    true;
        }
        return 
    false;
    }

    stock CS_SetClientName(client, const String:name[])
    {
        
    decl String:oldname[MAX_NAME_LENGTH];
        
    GetClientName(clientoldnamesizeof(oldname));

        
    SetClientInfo(client"name"name);
        
    SetEntPropString(clientProp_Data"m_szNetname"name);

        new 
    Handle:event CreateEvent("player_changename");

        if (
    event != INVALID_HANDLE)
        {
            
    SetEventInt(event"userid"GetClientUserId(client));
            
    SetEventString(event"oldname"oldname);
            
    SetEventString(event"newname"name);
            
    FireEvent(event);
        }
    }
    addons/sourcemod/configs/bot_name.cfg тут создаёшь такой файл и там пишешь ники для ботов каждый с новой строки.

    P.S. выкладывали тут этот плагин давно.

    Оффтоп
     
  4. Felton

    Felton

    Сообщения:
    332
    Симпатии:
    9
    Если это ещё актуально помогите !Установил плагин всё сделал по инструкции.Пропсал ботов в bot_name.cfg.Запускаю сервер сыпятся errors Вот кусок лога

    L 06/24/2016 - 21:41:12: [SM] Native "SetEntPropString" reported: Property "m_szNetname" not found for entity 1
    L 06/24/2016 - 21:41:12: [SM] Displaying call stack trace for plugin "bot_name.smx":
    L 06/24/2016 - 21:41:12: [SM] [0] Line 97, bot_name.sp::CS_SetClientName()
    L 06/24/2016 - 21:41:12: [SM] [1] Line 61, bot_name.sp::OnClientPutInServer()
    L 06/24/2016 - 21:41:12: [SM] Native "SetEntPropString" reported: Property "m_szNetname" not found for entity 1

    Сервер Counter-Strike Source v.34
    Заранее спасибо!
     
  5. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.528
    Симпатии:
    1.975
    Не актуально для:
    Нет там
    Попробуй без строчки:
    Код:
    SetEntPropString(client, Prop_Data, "m_szNetname", name);
     
  6. Felton

    Felton

    Сообщения:
    332
    Симпатии:
    9
    Удалил строчку и не хочет теперь компелироваться
    error 017: undefined symbol "SetClientInfo"
     
  7. MaEStro71

    MaEStro71

    Сообщения:
    165
    Симпатии:
    5
    Держи. Ники меняются здесь /cstrike/addons/sourcemod/configs/botnames.txt
    Если у тебя SM 1.6.3, то посети эту тему Плагин botnames переименовывает перерподключившихся игроков
     

    Вложения:

  8. Felton

    Felton

    Сообщения:
    332
    Симпатии:
    9
    Чёто у меня ничего не получилось с этим плагином.В консоле сервера оч и оч бысто меняются ники ботов Эроров нет. Ну и в консоле игры показывает невероятную скорость смены ботов.Проверил на домашнем сервере

    А вот это надо удалять с Server cfg ?
    bot_difficulty 1
    bot_chatter off
    bot_quota 9
    bot_add
    bot_join_after_player 0
    bot_quota_mode fill
    bot_auto_vacate 1
     
  9. MaEStro71

    MaEStro71

    Сообщения:
    165
    Симпатии:
    5

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

    // ##### УПРАВЛЕНИЕ БОТАМИ #####
    //Количество ботов, могут привести к лагам.
    bot_quota 5
    //Подключаться ботам, если игроков меньше равно чем указанное значение.
    bot_join_after_player 0
    //Управление голосовым чатом ботов. Допустимые значения: off, radio, minimal, или normal ".
    bot_chatter off
    //Квота ботов(их количество). Значения: 'normal', 'fill', и 'match'. Если значение 'fill', сервер можно забить ботами полностью.
    bot_quota_mode "fill"
    //Сложность ботов. Значения: 0 = лёгкий, 1 = нормальный, 2 = сложный, 3 = эксперт.
    bot_difficulty 3

    Если ни кого нет на сервере, боты играют между собой. Когда заходят игрок, 1 бот кикается
     
  10. Felton

    Felton

    Сообщения:
    332
    Симпатии:
    9
    Покажи мне свой plugin.botnames cfg
    Вот путь \cstrike\cfg\sourcemod
     
    Последнее редактирование: 25 июн 2016