Ошибка при создании суб-модели оружия

Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
Привет всем. Не могу создать суб-модель оружия, а именно ножа.
Делал по данному мануалу (ч. 1)

Ход работы:

Начал с v_ модели, декомпилировал обе модели, которые хочу объеденить, достал и переименовал НЕ одинаковые текстуры.
отредактировал .qc-файл одной из моделей таким образом:
Diff:
/*
==============================================================================

QC script generated by Half-Life MDL Decompiler 1.2
2003, Kratisto. Based on code from Valve's HL SDK.

v_bloody_k.mdl

Original internal name:
"U:\Counter-Strike\models\v_weapons\new_knife\compile\v_knife.mdlPÄ"

==============================================================================
*/

$modelname "v_bloody_k.mdl"
$cd ".\"
$cdtexture ".\"
$scale 1.0
$cliptotextures


$bbox 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
$cbox 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
$eyeposition 0.000000 0.000000 0.000000


//reference mesh(es)
$body "studio" "reference"

+$texturegroup "test"
+{
+    {    "knife_bloody.bmp"    "view_bloody.bmp"    }
+    {    "knife_blue.bmp"    "view_blue.bmp"    }
+{

// 5 hit box(es)
$hbox 0 "Bone03" -2.317084 -2.666587 -1.415279 1.261858 0.000000 1.302325
$hbox 0 "Bone01" -1.750000 -8.563282 -1.000000 1.960000 0.030000 1.250000
$hbox 0 "Bone_Lefthand" -1.580000 -2.940000 -0.670000 1.450000 0.000000 1.010000
$hbox 0 "Bone04" -2.060000 -8.550000 -0.970000 1.670000 0.060000 1.280000
$hbox 0 "Bone26" -13.653684 -2.634464 -0.670000 1.500000 11.081972 6.252576

// 8 animation sequence(s)
$sequence "idle" "idle" fps 12
$sequence "slash1" "slash1" fps 30
$sequence "slash2" "slash2" fps 30
$sequence "draw" "draw" fps 45
$sequence "stab" "stab" fps 35
$sequence "stab_miss" "stab_miss" fps 40
$sequence "midslash1" "midslash1" fps 55
$sequence "midslash2" "midslash2" fps 55

// End of QC script.
При попытке компиляции появляется ошибка:
.\/reference.smd doesn't exist

Что я делаю не так?
 
Сообщения
265
Реакции
346
Насколько мне известно, скины невозможно изменять в view моделях.
По ошибке: .\/reference.smd doesn't exist пишет, что не может найти файл по строке $body "studio" "reference"
Проверь его наличие в папке с другими smd, qc и текстурами.(этот декомпилятор все в одну место же вытаскивает). Или укажи пути в
$modelname "ДИСК:\путь для скомпилированной модели\v_bloody_k.mdl"
$cd "ДИСК:\путь к smd файлам"
$cdtexture "ДИСК:\путь к текстурами"
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
ChakkiSkrip, файл, естественно, находится на своём. Месте. Пытался указать вручную путь, там идут уже другие ошибки
19 Авг 2019
Diff:
+$cd "C:\Users\sbelo\Desktop\models\v_bloody_k\"
+$cdtexture "C:\Users\sbelo\Desktop\models\v_bloody_k\"
C:\Users\sbelo\Desktop\models\v_bloody_k\/$hbox not found
 

Вложения

Сообщения
265
Реакции
346
sbelov020, попробуй переместить код скингрупп в самый низ
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
ChakkiSkrip, спасибо, это помогло скомпилировать. Но и правда, текстура v_ модели не меняется в вьювере. Тогда будет ли меняться суб-модель, если сделать именно её, а не просто скин?
 
Сообщения
265
Реакции
346
sbelov020, если ты правильно заполнил строки в скингруппах, то все будет показываться нормально. На первой строке для замены должны быть текстуры используемые в reference.smd.
Про смену сабмоделей в view модели я не могу ничего сказать. Вроде менять можно, но это не просто.
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
На первой строке для замены должны быть текстуры используемые в reference.smd.
А, вот теперь мне понятно.
Код:
$texturegroup "test"
{
    {    "knifeskin.bmp"    "view_skin.bmp"    }
    {    "knifeskin_blue.BMP"    "view_skin_blue.BMP"    }
{
Так всё работает нормально.

А что ты имел в виду под
скины невозможно изменять в view моделях.
?
 
Сообщения
265
Реакции
346
sbelov020, это лучше у кодеров узнать, поскольку я не владею подобной информацией. Просто скины для v_ не получится изменять и все. Я слышал, что с v_ вообще мало что можно делать, в плане регулирования.
 
Сообщения
1,042
Реакции
206
Предупреждения
1
Помог
6 раз(а)
А, вот теперь мне понятно.
Код:
$texturegroup "test"
{
    {    "knifeskin.bmp"    "view_skin.bmp"    }
    {    "knifeskin_blue.BMP"    "view_skin_blue.BMP"    }
{
Так всё работает нормально.

А что ты имел в виду под
?
Через amxx можно сменить скин View модели только костыльно. И то вроде будет баг в спектаторах.... (Но не уверен, может это исправимо)
 
Сообщения
1,042
Реакции
206
Предупреждения
1
Помог
6 раз(а)
sbelov020,
C++:
stock play_weapon_animation(id,sequence)
{
    message_begin(MSG_ONE,SVC_WEAPONANIM,_,id)
    write_byte(Анимация)
    write_byte(Скин)
    message_end()
}
Что-то тип такого.
Но нужно использовать везде где есть анимации. (attack, idle и т.д)
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
BiZaJe, всё равно не меняется скин.

Код:
#include <amxmodx>
#include <reapi>

new const V_MODEL[] = "models/sky/v_test.mdl";

public plugin_init()
{
    register_clcmd("say /set", "SetKnifeModel");
}

public plugin_precache()
{
    precache_model(V_MODEL);
}

public SetKnifeModel(id)
{
    set_entvar(id, var_viewmodel, V_MODEL);
    play_weapon_animation(id);
}

stock play_weapon_animation(id)
{
    message_begin(MSG_ONE,SVC_WEAPONANIM,_,id);
    write_byte(0);
    write_byte(2);
    message_end();
}
19 Авг 2019
ChakkiSkrip, а что насчет p_ моделей? На них можно менять скин?
 
Сообщения
1,042
Реакции
206
Предупреждения
1
Помог
6 раз(а)
sbelov020, Отлови deploy или любую из атак и увидишь, что скин смениться.
В твоем случае она никогда не измениться. Поэтому и костыльный метод
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
BiZaJe,
Код:
#include <amxmodx>
#include <reapi>
#include <hamsandwich>

new const V_MODEL[] = "models/sky/v_test.mdl";

public plugin_init()
{
    RegisterHam(Ham_Item_Deploy, "weapon_knife", "HamKnifeDeploy", 1)
}

public plugin_precache()
{
    precache_model(V_MODEL);
}

public HamKnifeDeploy(iEnt)
{
    new id = get_pdata_cbase(iEnt, 41, 4);

    set_entvar(id, var_viewmodel, V_MODEL);
    play_weapon_animation(id);
}

stock play_weapon_animation(id)
{
    message_begin(MSG_ONE,SVC_WEAPONANIM,_,id);
    write_byte(3);
    write_byte(2);
    message_end();
}
Вот так? Опять не меняется скин.
 
Сообщения
1,042
Реакции
206
Предупреждения
1
Помог
6 раз(а)
sbelov020, Возможно работает только с боди группами, а не с текстур группами
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
BiZaJe, сейчас попробую.
19 Авг 2019
BiZaJe, нет, даже с body скин остаётся неизменным.
 
Сообщения
839
Реакции
519
Помог
12 раз(а)
В play_weapon_animation потеряли pev_weaponanim

Это во-первых
Во-вторых, без блока в клиентдате будет появляться визуальный баг с нулевым значение бодигруппы
При блоке клиентдаты, все что воспроизводит клиент предрешён - будет блокировано. Т.е. анимации атаки, перезарядки, эффекты выстрелов и т.д. т.к. клиент будет думать что он и не стрелял
 
  • Нравится
Реакции: ifx
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
BalbuR,
Код:
#include <amxmodx>
#include <hamsandwich>
#include <reapi>

new const V_MODEL[] = "models/sky/v_test2.mdl";

public plugin_init()
{
    register_clcmd("say /set", "SetKnifeModel");
}

public plugin_precache()
{
    precache_model(V_MODEL);
}

public SetKnifeModel(id)
{
    set_entvar(id, var_viewmodel, V_MODEL);
    set_entvar(get_pdata_cbase(id, 373), var_body, 1);

    message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, id);
    write_byte(0);
    write_byte(1);
    message_end();
}
Таким образом получилось сейчас сменить, даже без weaponanim
 
Сообщения
839
Реакции
519
Помог
12 раз(а)
но при этом сменив бодигруппу самого игрока
 

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

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