Ребята, я уже 10 раз прошу. Всё таки может кто-то глянет в чем проблема с отсутствием анимации у спектатора. Проблема явно решается исправлением 1-2 строчек кода.
Столько времени прошло а воз и ныне там. К кому обратиться за помощью персонально?
Пиши ко мне в скайп bvv328, помогу, чем смогу !
Поблагодарили 0 раз Поблагодарили 0 раз
fartovyj
31.7.2015, 23:04
Сообщение
Стаж: 10 лет
Сообщений: 138
Благодарностей: 9
Полезность: < 0
Bloo, я сообщение не апаю, я продолжаю искать решение проблемы.
По делу: Разговор с Gliden ни к чему не привел. но пришло некоторое понимание...
Понятно, что отсутствие анимации вращения минигана у спектатора в том, что анимация шлётся только себе, сообщением message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, player) спектатору это сообщение не направляется, поэтому откуда анимации взяться.
Замена строчки на message_begin(MSG_ALL, SVC_WEAPONANIM, {0, 0, 0}, player) приводит к появлению анимации у спектатора. Но одновременно порождает глюк - когда в игре 2 минигана, то стреляет один игрок, а анимация идет у обоих игроков, так как инфа о анимации шлётся всем.
Как быть? Надо сделать чтобы анимация отправлялась только себе и игрокам у которых нет минигана. Или ,другими словами, чтобы игрок у которого есть в руках миниган, мог получать информацию о анимации только от своего оружия, но при этом сообщение отправлялось всем.
Короче одной строчкой тут не обойтись. Здесь нужно дописать какое-то хитрое условие. Прошу помощи у опытных скриптеров.
1. MSG_SPEC отправляет сообщение не спектаторам, а ХЛТВ, поэтому оно не подходит. 2. Если я правильно понял проблему, то нужно отправить по сообщению каждому игроку, который в данный момент следит за определенным игроком с миниганом. Вот, например, немного преределанный кусок кода из , который нужно добавить в ваш натив Код:
for( new dead = 1; dead <= gMaxPlayers; dead++ ) { if( is_user_connected(dead) ) { if( is_user_alive(dead) || is_user_bot(dead) ) { continue; }
if( pev(dead, pev_iuser2) == player ) // проверяем, следит ли он за игроком с миниганом { message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, dead) //отправляем спектатору месседж с анимацией, на всякий случай unreliable: лучше не доставить анимацию, чем кикнуть игрока write_byte(anim) write_byte(pev(player, pev_body)) message_end() } } }