Объединяем модели игроков в одну

Сообщения
49
Реакции
9
Всем привет!
У меня вопрос, возможно и глупый, но пожалуйста объясните.
Объединил я две кастомные модели КТ и ТТ по 2 способу, всё хорошо.
Дальше как быть? Как плагин, например https://dev-cs.ru/resources/103/ должен понимать, кому какую субмодель выдавать? Вот это я не очень понял. Заранее спасибо!
 
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
Rasul, зависит от плагина. В том плагине будет по стандарту ставиться субмодель 0.
 
Сообщения
49
Реакции
9
w0w, Спасибо большое! Пойду искать плагин)))
 
Сообщения
3
Реакции
0
Если в одной из моделей несколько reference mesh(es) как в этом случае объединить их в субмодели?
 
Сообщения
234
Реакции
38
Помог
5 раз(а)
w0w, Спасибо большое! Пойду искать плагин)))
Код:
#include <amxmodx>
#include <reapi>
#include <pmodel>

new const T_Model[] = "silentai_T_NEW"
new const CT_Model[] = "silentai_CT_NEW"

public plugin_precache()
{
    PrecachePlayerModel(T_Model)
    PrecachePlayerModel(CT_Model)
}

public plugin_init()
{
    register_event("TeamInfo", "OnTeamInfo", "a"); // Uzregistruojam ivyki, kai zaid?jo komanda pasikeicia.
    
    RegisterHookChain(RG_CBasePlayer_Killed, "@OnPlayerPreSpawn", false); //veikia
    
    UsePlayerModels(); // Sita butina panaudot, kitaip SetPlayerModel() neveiks.
}

@OnPlayerPreSpawn(client)
{
    SetPlayerModel(client);
}

public client_disconnected(id)
{
    SetPlayerModel(id)
}

public OnTeamInfo()
{
    new client = read_data(1); // Gaunam zaid?jo ID i? ivykio.
    
    // Imanoma, kad jis atsijunge, tad reikia patikrinti.
    if (!is_user_connected(client))
        return;
    
    // Gaunam nauja zaidejo komanda is ivykio.
    new team[2];
    read_data(2, team, charsmax(team));
    
    CustomSetPlayerModel(client, team[0]);
}

CustomSetPlayerModel(client, team)
{
new flags = get_user_flags(client);

switch (team)
{
    case 'T':
    {
        if (flags & ADMIN_IMMUNITY) set_entvar(client, var_skin, 3);   
        else if (flags & ADMIN_BAN) set_entvar(client, var_skin, 2); 
            else if (flags & ADMIN_LEVEL_H) set_entvar(client, var_skin, 1); 
                else if (is_user_steam(client)) set_entvar(client, var_skin, 0);
                else return;
            
        SetPlayerModel(client, T_Model);
        }
        case 'C':
        {
            if (flags & ADMIN_IMMUNITY) set_entvar(client, var_skin, 3); 
            else if (flags & ADMIN_BAN) set_entvar(client, var_skin, 2);
                else if (flags & ADMIN_LEVEL_H) set_entvar(client, var_skin, 1);
                else if (is_user_steam(client)) set_entvar(client, var_skin, 0);
                else return;
            
            SetPlayerModel(client, CT_Model);
        }
    }
}
 

Вложения

Последнее редактирование:
Сообщения
658
Реакции
462
Помог
10 раз(а)
mAreXx, тут уж сложнее
придется раскидывать по нескольким бадигруппам:
Код:
$bodygroup "part1" {
   studio "mesh1_1" //  первая модель
   studio "mesh2_1" // 1 часть 2 модели
}

$bodygroup "part2" {
      blank // пусто
      studio "mesh_2_2" // вторая часть 2 модели
}
 
Сообщения
15
Реакции
0
Всех с праздниками!
Подскажите, можно ли разобрать субмодели? из модели, в которой 5 субмоделей нужно 2 скина вытащить, не могу понять, как это сделать?
 
Сообщения
52
Реакции
78
wolfster, после декомпиляции появится всё то, что несёт в себе эта модель(меши и текстуры абсолютно всех суб-составляющих). Вам останется только отделить нужные Вам файлы и скомпилировать. Прошу заметить, что объединение с помощью скинов - это всего-лишь добавление текстур, которые подойдут под UV-карту модели. Например: Перекрашенный оригинал. Объединение через суб-модели - это немного другое. Тут уже объединяются модели со схожим строением скелета. Тогда вопрос следующий: Вам нужно вытащить от туда 2 модели или 2 текстуры?
 
Сообщения
15
Реакции
0
quasar, 2 модели, текстуры же вроде можно отдельно импортировать, разве нет?)
 
Сообщения
52
Реакции
78
wolfster, можно, импортировать - это не есть совмещать. Есть однообразные модели с окрасками под цвет команды, и чтобы не плодить такие модели, был придуман способ совмещения текстур в одну модель.
По поводу Вашего вопроса, отделить возможно.
 
Сообщения
15
Реакции
0
quasar, огромное спасибо. Еще такой вопросик по субмоделям. Допустим, у меня есть 4-5 субмоделей:

$bodygroup "zombies"
{
blank
studio "zm1"
studio "zm2"
studio "zm3"
studio "zm4"
studio "zm5"
}
и есть функция, которая присваивает игроку модель относительно выбранного класса. В плагине это реализовано вот так (учитывается, что каждая модель расположена отдельно, это не есть 1 модель, имеющая субмодели):
if(equali(szLeftStr, "PMODEL"))
{
new szTempString[124];

copy(eZombie[iClassid - 1][MODEL], MODEL_LEN, szRightStr);

formatex(szTempString, charsmax(szTempString), "models/player/%s/%s.mdl", szRightStr, szRightStr);
precache_model(szTempString);

}
Как правильно будет прописать выдачу субмоделей в этом случае? Модель цепляется по названию класса, который прописан в файле конфигурации мода. P.S. Название классов идентичны названиям субмоделей. (zm1, zm2...)
 
Сообщения
52
Реакции
78
wolfster, увы, в скриптинге я не силён, поэтому лучше обратиться с этим вопросом в другой раздел. Если нужно помочь с отделением - я помогу, но с кодом уже к другим людям.?
 
Последнее редактирование:
Сообщения
578
Реакции
338
Предупреждения
2
Помог
9 раз(а)
OskaR, p_, v_ проблематично, w_ - можно.
 
Сообщения
70
Реакции
22
Господа знатоки. Если что, извиняйте. Правильно ли я понял, что данный способ разрешает загрузить всего одну модель (скелет), а текстур сколько угодно. И эти текстуры будут присваиваться этой модели, согласно команды определенного плагина. Если да, то вопрос такой. Насколько будет велик размер, и можно ли сделать подобное, если придумать целую систему скинов по этому методу. Пример: на сервере можно купить 15 вариантов скинов игрока, которые будут привязаны к флагам. И для каждого скина существует модель противника, ведь игрок будет играть за разные команды. Т.е. , получается 30 скинов. Так вот нельзя ли сделать так, чтобы у скинов менялся цвет на красный и синий оттенок. Или же, придется делать все 30?
 
Сообщения
55
Реакции
5
Помог
1 раз(а)
Nordic Warrior, ну тогда другой вопрос, на одной модели несколько игоков , что бы одну и ту же модель с разными цветами не скачивальсь для юзеров , возможно ли эти модели разделить скажем по тем же флагам?
 
Сообщения
3,256
Реакции
1,436
Помог
121 раз(а)
makcu, конечно возможно, нужен только соответствующий плагин
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу