Баг при смерти -
14_KaPaT - 31.12.2012
Столкнулся с проблемой такого характера. При убийстве игрока playerid убийцей killerid, и если в момент смерти playerid был в движении, бежал к примеру, продолжает бегать пока еще раз сам себя не убьет. Я использовал такое вот решение
Code:
new pLastAnimIndex[MAX_PLAYERS];
в onplayerupdate
Code:
pLastAnimIndex[playerid] = GetPlayerAnimationIndex(playerid);
и в public OnPlayerDeath
Code:
new animlib[32], animname[32];
GetAnimationName(pLastAnimIndex[playerid],animlib,32,animname,32);
if(strcmp(animlib, "PED", true) != 0) ClearAnimations(playerid);
Теперь playerid продолжает бегать с 0 hp и через секунд 5 умирает, но изредка уже происходит подобное
Re: Баг при смерти -
Diorturato - 01.01.2013
Как? Как он продолжает бегать то? Завалили - сразу анимация смерти, ни разу не было такого, чтоб анимация оставалась.
Re: Баг при смерти -
GameMan - 01.01.2013
Такое бывает если игрок перезашел не выходя из игры. Или у него пропало соединение на несколько секунд и у него вылетело. Или даже при рестарте сервера. Вообщем при перезаходе игрока не выходя из игры
Re: Баг при смерти -
stabker - 01.01.2013
У меня такое часто бывает из-за того, что я в OnPlayerGiveDamage убиваю игрока (хп на 0 изменяю).
Re: Баг при смерти -
Vladok - 17.10.2014
Ап тему.
Описание самого бага:
После того как игрока убивают, у него становится 0 хп, он продолжает бегать и жить, пока он сам себе еще раз не нанесет урон. Другие игроки видят тело, что лежит. После перезахода в игру, баг исчезает. А если еще раз перезайти он может снова появиться, или в следующие разы, когда вы зайдете в GTA он возобновится.
Спустя столько времени я еще 1 человек который встретился с этим багом.
Прошу помощи. Вариант сверху не помогает, использовал много других вариантов - не помогло.
Чистил полностью мод - не помогло. Такое чуство, что баг находится нигде, но почему-то вызывается. Хостер если что рухостер. Может быть и такое, что бага нету пару дней, а потом он опять появляется. 3 месяца ищу решение, ничего не помогает.
Тут я думаю нужно сначало найти причину бага, а потом его фиксить. Я не знаю от чего он вызывается, он рандомный и живет сам по себе.
Прошу помощи прям в теме.(Или же мне в ВК
http://vk.com/id113032878 )
Re: Баг при смерти -
Jon_De - 17.10.2014
Если игрок в течение 15 секунд после смерти не заспавнился - спавнить его самому
Re: Баг при смерти -
Stepashka - 17.10.2014
Принудительно убивать убитого в
OnPlayerDeath не пробовали?
Re: Баг при смерти -
14_KaPaT - 17.10.2014
Quote:
Originally Posted by Stepashka
Принудительно убивать убитого в OnPlayerDeath не пробовали?
|
Если SetPlayerHealth(playerid, 0) то не поможет, если игрок не заспавнился после смерти его нужно подбрасывать на небольшую высоту и тогда он уже умирает
Как я решил проблему указанную в первом посте:
В моем случае на кнопку пробел вызывалась функция остановки анимации и если игрок во время своей смерти нажимал эту кнопку у него сбивалась анимация смерти вроде как и он продолжал бегать, я просто там добавил проверку, чтобы срабатывало только если игрок со здоровьем > 0 и вроде перестало, однако есть исключения если игрок погибает в огне, он не заспавнится пока его не вынесет за пределы огня и если игрок падает с большой высоты иногда случается такой баг не срабатывает анимация прыжка с парашютом он шлепается об землю и продолжает бегать
Re: Баг при смерти -
Vladok - 17.10.2014
На сервере нет никаких кнопок для сбытия анимации, и вообще включение анимаций.
Баг еще в зтом что иногда просто не вызывается OnPlayerDeath.
GetPlayerHealth показывает что у игрока 100.0 хп
Игрок не может садится в транспорт, приседать.
Не видит еще пикапы.
OnPlayerUpdate не вызывается.
Пробывал делать таймер на 250мс с повтором, там куча химии с хп if(health <1.0) OnPlayerDeath, куча всяких проверок, попытка отключить стандартную смерть, блочить респавн и т.д. - но вот всеравно есть баги иногда ClearAnims + SetHP 0.0 + SetHP 1.0 + SpawnPlayer + ClearAnims + SetHP 2.0
Всеравно иногда игрок не спавнится и нужно повторять SetHP 1.0 + SpawnPlayer пару раз через команду.
Вообщем таймер с проверкой не конает тоже.
Даже если OnPlayerDeath вызывается и сделать таймер на 10 сек респавн, всеравно будут баги т.к. игрок мог быть АФК и т.д.
Re: Баг при смерти -
Romz - 17.10.2014
У вас установлены читы? Может проблема только у вас такая? Сталкивался с этим если устанавливал mod_sa для того что бы делать античит.