SA-MP Forums Archive
Баг при смерти - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Баг при смерти (/showthread.php?tid=403684)



Баг при смерти - 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
View Post
Принудительно убивать убитого в 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 для того что бы делать античит.