Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Submodel

, Не проигрывает sequence
Статус пользователя webarx
сообщение 27.10.2016, 23:51
Сообщение #1
Стаж: 13 лет

Сообщений: 6
Благодарностей: 1
Полезность: 0

Не работает sequence из за этого оружие первое нормально стоит в руках у игрока а второе и т.д. то выше то в стороне
Вот сама модель: Прикрепленный файл  p_equip.rar ( 519,93 килобайт ) Кол-во скачиваний: 58


Делал так:
Код
        else if(g_had_weapon[id][HAD_AT4EX]) {
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_AT4EX))
        UTIL_PlayWeaponAnimation(id, (HAD_AT4EX))
        }


Пробовал вот так:

Код
        else if(g_had_weapon[id][HAD_AT4EX]) {
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_AT4EX))
        set_pev(id, pev_sequence, (HAD_AT4EX))
        }


Не работает, суб модели отображаются с первой нормально, а со второй и по последнию уже беда.
Как я понимаю в sequence хранятся координаты модели которая отображается(проверял, ставил sequence первым для той модели для которой он неправильно отображается), и надо сделать так чтобы для каждой модели он выводил свой sequence, а то получается он всегда выводит только первый(нулевой) sequence для каждой модели.
помогите решить проблему, а то везде искал, не могу разобрать. sad.gif
Или покажите пример или в каком плагине такое имеется, а дальше я сам уже соображу smile.gif
Заранее большое спасибо! thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя SISA
сообщение 28.10.2016, 0:17
Сообщение #2
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(tisha @ 27.10.2016, 0:12) *
но я же тоже хочу использовать встроенные. я не смог разобраться где в исходнике плагина прописывается место рисования спрайта


sequence - номер анимации верхней половины модели игрока
gaitsequence - номер анимации нижней половины модели игрока
body - номер бодигруппы, в вашем случае, модели игроки

p_ модель прицепляется к модели игрока с помощью "блендинга" и перенимает от модели игрока номер бодигруппы и номер верхней анимации, т.е. sequence

У вашей модели 9 бодигрупп и 9 анимаций под каждую бодигруппу. В анимации меняется положение костей. Чтобы нормально менять бодигруппы, вам надо менять и анимации, а они берутся от игрока, а у игрока их 110, под разное оружие и состояние модели.

Такую модель надо крепить в виде отдельной энтити как MOVETYPE_FOLLOW к самому игроку и уже на ней переключать боди группы и анимации, хотя такая схема не лишена недостатков.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя webarx
сообщение 28.10.2016, 1:12
Сообщение #3
Стаж: 13 лет

Сообщений: 6
Благодарностей: 1
Полезность: 0

SISA, Вот блин понимаю форум, сразу же ответили, хорошо, буду пробовать, надеюсь у меня получиться
Или можете показать пример, или показать где можно взять информацию для создания подобного
Заранее большое спасибо! thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя webarx
сообщение 28.10.2016, 1:52
Сообщение #4
Стаж: 13 лет

Сообщений: 6
Благодарностей: 1
Полезность: 0

И еще, я писал что местами менял sequence 0 с 1
то есть на 0 стоит AIRBURSTER а 1 AT4EX
Было:
0 = AIRBURSTER
1 = AT4EX

(AT4EX: У игрока она стояла как столб)

И получилось так:
0 = AT4EX
1 = AIRBURSTER

(AT4EX: У игрока начала отображаться нормально в руках)

И после того как я поменял, у меня модель AT4EX стала отображаться у игрока нормально, как и отображалась до этого на отдельной p_ модели(p_at4ex.mdl)
Так что выходит что он всегда берет sequence 0
Ну чтобы понятно было вот кусок кода:
Код
Код
public Set_Model(id)
{
    if(g_had_weapon[id][HAD_AIRBURSTER])
    {
        set_pev(id, pev_viewmodel2, Model_V[HAD_AIRBURSTER])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_AIRBURSTER));
        }
    } else if(g_had_weapon[id][HAD_AT4EX]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_AT4EX])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_AT4EX));
        }
    } else if(g_had_weapon[id][HAD_CANNON]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_CANNON])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_CANNON));
        }
    } else if(g_had_weapon[id][HAD_DRILLGUN]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_DRILLGUN])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_DRILLGUN));
        }
    } else if(g_had_weapon[id][HAD_FLAMETHROWER]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_FLAMETHROWER])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_FLAMETHROWER));
        }
    } else if(g_had_weapon[id][HAD_PETROLBOOMER]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_PETROLBOOMER])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_PETROLBOOMER));
        }
    } else if(g_had_weapon[id][HAD_POWERSAW]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_POWERSAW])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_POWERSAW));
        }
    } else if(g_had_weapon[id][HAD_SPEARGUN]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_SPEARGUN])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_SPEARGUN));
        }
    } else if(g_had_weapon[id][HAD_WATERCANNON]) {
        set_pev(id, pev_viewmodel2, Model_V[HAD_WATERCANNON])
        static iWeaponModel
        if(iWeaponModel || (iWeaponModel = engfunc(EngFunc_AllocString, "models/p_equip.mdl")))
        {
        set_pev_string(id, pev_weaponmodel2, iWeaponModel)
        set_pev(id, pev_body, (HAD_WATERCANNON));
        }
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 28.10.2016, 13:31
Сообщение #5
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Вы можете менять sequence на что угодно. Это вам ничего не даст. Выше написал, что это такое и зачем оно нужно.

Цитата
Или можете показать пример


Пример у вас прям перед глазами. Открываете ЗП 4.3 и там находите fm_set_weaponmodel_ent. Только не забывайте удалять эту энтити при выходе игрока, смерти, и т.д.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя webarx
сообщение 28.10.2016, 14:20
Сообщение #6
Стаж: 13 лет

Сообщений: 6
Благодарностей: 1
Полезность: 0

SISA, Спасибо за ответ, будем пробовать thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя webarx
сообщение 29.10.2016, 3:51
Сообщение #7
Стаж: 13 лет

Сообщений: 6
Благодарностей: 1
Полезность: 0

SISA, Большое спасибо, все получилось.
Если бы не вы, я не знаю сколько бы еще мучался.
По больше бы таких людей!
Удачи вам в дальнейшем!
И еще раз большое спасибо! thank_you2.gif drinks.gif good.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: