[CS: GO] Custom Skins v1.0.4

Тема в разделе "Новые плагины", создана пользователем -LeXuS-, 28 фев 2015.

  1. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Скачать тестовую версию с менюшкой - Custom Skins v2.1 Спасибо (R1KO)

    Описание:
    Плагин автоматически устанавливает админам скины.

    Настройки:
    Если хотите поменять на свои скины, то прописываем файлы, которые нужно загрузить в addons/sourcemod/configs/sm_csgo_skins/downloads.txt

    В той же папке открываем файл skins.ini, и меняем значения строк на свои.

    В строке flag указываем с каким флагом должен быть админ чтобы получить скин, если поле оставить пустым, то скины получат админы с любыми флагами.

    Модели для CS GO
    v1.0
    - Релиз.

    v1.0.1
    - Исправлены мелкие недочеты.

    v1.0.2
    - Добавлен файл skins.ini, который содержит пути к моделям T и CT, и пути к моделям рук.

    v1.0.3
    - Добавлена установка скинов по флагам.

    v1.0.4
    - Плагин переименован на Custom Skins
    - Добавлена защита от падения сервера, в случае если строки arms оставались пустыми.
    - Теперь строки arms можно оставлять пустыми, в этом случае игроку установится только модель игрока (модели рук будут стандартными).
    - Сделать поддержку большего кол-ва скинов.
    - Добавить меню выбора скинов.
    - Добавить установку скинов по флагам.
    Обо всех ошибках и недочетах пишем в этой теме. Также предлагайте Ваши идеи.
     

    Вложения:

    Последнее редактирование: 4 авг 2015
    Fabiio, BatyaMedic, vaxa и 3 другим нравится это.
  2. AlmazON

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

    Сообщения:
    4.506
    Симпатии:
    1.961
    Re: [CS:GO] Skins v1.0

    Как-то тогда бессмысленно загружать из файла, если всё равно в исходник лезть нужно.
    И, есть ошибки и просто "не желательности":
    PHP:
    public OnMapStart() HookEvent("player_spawn"Player_Spawn);
    Нельзя делать отлов события каждый раз на карте - создаются новые копии, функция обрабатывается всё чаще, когда это вовсе не нужно (и даже вредно). Может привести к падению сервера в итоге, тем более, с моделями.
    PHP:
    public Action:Player_Spawn(Handle:event, const String:name[], bool:dontBroadcast)
    Приставка Action: здесь не нужна.
    PHP:
    decl String:path[150];
    while (!
    IsEndOfFile(file) && ReadFileLine(filepath150))
    150? А почему не MAX_FILE_LEN, тем более, что оно у тебя больше по значению?
    PHP:
    new team GetClientTeam(client);
    if(
    GetUserAdmin(client) != INVALID_ADMIN_ID)
    Сначала проверь на админа, а уже после создавай переменные и проверяй команду админа. И делай это через switch.
     
    -LeXuS- нравится это.
  3. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0

    Долго мучался над файлами, смог сделать только загрузку. Когда научусь - сделаю остальное.

    Исправлю все мелкие ошибки позже. А что тогда делать с хукевентом?
     
    Tesloz нравится это.
  4. AlmazON

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

    Сообщения:
    4.506
    Симпатии:
    1.961
    Re: [CS:GO] Skins v1.0

    Засунуть в public OnPluginStart() естественно. SetFailState всё равно полностью остановит плагин, если файл загрузок не найден, так что, Unhook-нуть не потребуется - ничего лишнего.
    А админов стоит проверять и запоминать ещё на входе. Если ни одного админа нет на сервере, то тут можно и отключить Player_Spawn (но, это уже для профи - расширенное выполнение кода/оптимизация).
     
    -LeXuS- нравится это.
  5. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.1

    Исправил все недочеты, перезалил архив CSGO Skins v1.0.1
     
    Последнее редактирование: 11 мар 2015
    Tesloz нравится это.
  6. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.977
    Re: [CS:GO] Skins v1.0.1

    -LeXuS-,
    PHP:
    if(GetUserAdmin(client) != INVALID_ADMIN_ID)
    Зачем каждый раз проверять, при входе проверил и сохранил в bool


    И после спавна создавай желательно таймер хоть на 0,1 чтобы не было проблем.

    PHP:
    new String:TSkin[MAX_FILE_LEN] = "models/player/kuristaja/duke/duke.mdl";
    new 
    String:CTSkin[MAX_FILE_LEN] = "models/player/kuristaja/nanosuit/nanosuit.mdl";
    new 
    String:TSkinArms[MAX_FILE_LEN] = "models/player/kuristaja/duke/duke_arms.mdl";
    new 
    String:CTSkinArms[MAX_FILE_LEN] = "models/player/kuristaja/nanosuit/nanosuit_arms.mdl";
    PHP:
    new const String:
     
    -LeXuS- нравится это.
  7. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.1

    Вот обновил немного. С этим кодом все в порядке? Почему-то, когда ставлю таймер плагин не хочет ставить террористу модельку рук, а без таймера все нормально работает, проверял несколько раз. И с булом пока что-то не очень.
    PHP:
    #include <sourcemod>
    #include <sdktools>

    #define MAX_FILE_LEN 256

    new String:g_TModel[MAX_FILE_LEN], String:g_TArms[MAX_FILE_LEN], String:g_CTModel[MAX_FILE_LEN], String:g_CTArms[MAX_FILE_LEN];

    public 
    OnPluginStart()
    {
        new 
    Handle:kv CreateKeyValues("Models");

        if (!
    FileToKeyValues(kv"addons/sourcemod/configs/sm_csgo_skins/skins.ini"))
        
    PrintToServer("Не удалось загрузить addons/sourcemod/configs/sm_csgo_skins/skins.ini");

        else if (
    KvJumpToKey(kv"Admin"false))
        {
            
    decl String:model_t[MAX_FILE_LEN], String:arms_t[MAX_FILE_LEN], String:model_ct[MAX_FILE_LEN], String:arms_ct[MAX_FILE_LEN];
            
    KvGetString(kv"t_model"model_tsizeof(model_t), "");
            
    KvGetString(kv"t_arms"arms_tsizeof(arms_t), "");
            
    KvGetString(kv"ct_model"model_ctsizeof(model_ct), "");
            
    KvGetString(kv"ct_arms"arms_ctsizeof(arms_ct), "");
            
    g_TModel model_t;
            
    g_TArms arms_t;
            
    g_CTModel model_ct;
            
    g_CTArms arms_ct;
        }
        else 
    PrintToServer("Не удалось найти ключ: Admin");

        
    CloseHandle(kv);

        
    HookEvent("player_spawn"Player_Spawn);
    }

    public 
    OnMapStart()
    {
        new 
    Handle:file OpenFile("addons/sourcemod/configs/sm_csgo_skins/downloads.txt""r");
        if (
    file == INVALID_HANDLE)
        {
            
    SetFailState("Не удалось открыть addons/sourcemod/configs/sm_csgo_skins/downloads.txt");
            return;
        }
        
    decl String:path[MAX_FILE_LEN];
        while (!
    IsEndOfFile(file) && ReadFileLine(filepathMAX_FILE_LEN))
        {
            
    TrimString(path);
            if (
    IsCharAlpha(path[0])) AddFileToDownloadsTable(path);
        }
        
    CloseHandle(file);

        
    PrecacheModel(g_TModeltrue);
        
    PrecacheModel(g_TArmstrue);
        
    PrecacheModel(g_CTModeltrue);
        
    PrecacheModel(g_CTArmstrue);
    }

    public 
    Player_Spawn(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    client GetClientOfUserId(GetEventInt(event"userid"));

        if(
    IsClientInGame(client) && GetUserAdmin(client) != INVALID_ADMIN_ID)
        {
            
    CreateTimer(0.1Timer_Spawnclient);
        }
    }

    public 
    Action:Timer_Spawn(Handle:timerany:client)
    {
        new 
    team GetClientTeam(client);

        switch (
    team)
        {
            case 
    2:
            {
                
    SetEntityModel(clientg_TModel);
                
    SetEntPropString(clientProp_Send"m_szArmsModel"g_TArms);
            }
            case 
    3:
            {
                
    SetEntityModel(clientg_CTModel);
                
    SetEntPropString(clientProp_Send"m_szArmsModel"g_CTArms);
            }
        }
    }
     
    Последнее редактирование: 1 мар 2015
    Tesloz нравится это.
  8. Rusqa

    Rusqa

    Сообщения:
    1
    Симпатии:
    0
    Re: [CS:GO] Skins v1.0.1

    Хорошая работа, один вопрос от "не местного", как выдать скин по steamid-админа? Чтобы, например, можно было каждому выдать индивидуальный скин.
     
  9. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.1

    Пока что - никак. Плагин еще сырой, его нужно дописывать. Да и поддерживает он пока что всего два скина.
     
    Tesloz нравится это.
  10. Tesloz

    Tesloz JDK

    Сообщения:
    288
    Симпатии:
    235
    Re: [CS:GO] Skins v1.0.2

    С каким флагом доступа?
     
    Yura7181 нравится это.
  11. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.2

    С любым.
     
    Tesloz нравится это.
  12. vaxa

    vaxa Rock Rulet!

    Сообщения:
    859
    Симпатии:
    102
    Re: [CS:GO] Skins v1.0.2

    -LeXuS-, сделай в кфг на какой флаг будет скин,если значение кваро пустое то на любой флаг будет скин
     
  13. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.2

    Будет со временем.
     
    Tesloz нравится это.
  14. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.3

    Вышло обновление Skins v1.0.3
     
    Последнее редактирование: 11 мар 2015
    Tesloz нравится это.
  15. ybgr111

    ybgr111

    Сообщения:
    109
    Симпатии:
    3
    Re: [CS:GO] Skins v1.0.3

    Добавь установку скинов по стим айди.
     
  16. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.3

    Попробую. У игрока тогда будет один скин в любой команде? Или нужно, чтобы было два разных скина, по одному на каждую команду?
     
    Tesloz нравится это.
  17. vaxa

    vaxa Rock Rulet!

    Сообщения:
    859
    Симпатии:
    102
    Re: [CS:GO] Skins v1.0.3

    -LeXuS-, добавь еще нужну фишку для zm,а именно установки скинам людям,и зомби админам =)
     
  18. Hackers

    Hackers

    Сообщения:
    6
    Симпатии:
    0
    Re: [CS:GO] Skins v1.0.3

    -LeXuS-,
    Спасибо больше за твой труд :)

    Мне такой вопрос, когда установил Skins v1.0.2
    Скачал два скина установил зашел на сервер работало но когда с игроками играл но мой скин они не видели как бы говорили, видели какой то квадратик с error и на следующим раунд он видели скин и опять не видели скин в чем может быть проблема в самом плагине или же с моделими или если есть возможность дать ссылку на рабочий скин....
     
  19. -LeXuS-

    -LeXuS-

    Сообщения:
    117
    Симпатии:
    51
    Re: [CS:GO] Skins v1.0.3

    С этим проблем не было. На сервере стоит быстрая скачка? Делали ли какие-то изменения в файлах? Возможно просто у самих игроков не скачались модели, или пути прописаны не правильно.

    Вот ссылка на модели для cs go.
     
    Tesloz нравится это.
  20. ybgr111

    ybgr111

    Сообщения:
    109
    Симпатии:
    3
    Re: [CS:GO] Skins v1.0.3

    Мне лично надо 1 скин на две команды.