Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: Death Bug

  1. #1
    Аватар для naxxyelite
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.01.2018
    Сообщений
    36
    Репутация:
    0 ±

    Death Bug

    Проконсультируюсь тут

    И все же спустя несколько лет, до сих пор не нашел ответа на вопрос по поводу того, что при смерти, игрок не падает в анимации смерти с летящей камерой вверх, а просто продолжает бегать, причем остальные игроки видят педа в анимации смерти и АФК, все темы перешарил, везде одно и тоже: вызывать SpawnPlayer в ручную, подкидывать игрока вверх, и так далее, но это все не то, на проектах гигантах же все без проблем и анимация как положено и камера вверх, и спавн по расписанию, кто что по этому поводу думает?

    К топику приложу видео, чтобы было конкретно понятно, о чем идет речь.


  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Обычно подобные баги - результат обхода встроенных систем (выбора скина, например) или же неправильное использование функций.
    Например, спавнить игрока, задавая координаты через SetPlayerPos в OnPlayerSpawn - неверный вариант. Правильнее задавать координаты спавна через SetSpawnInfo ещё до всяких смертей и вызова SpawnPlayer. А если этого не делать, сервер попросту не знает куда спавнить игрока, из-за чего и ломаются некоторые встроенные системы.
    В общем,нужно код смотреть и пробовать его изменять, проверяя результат
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    naxxyelite (05.01.2018)
  4. #3
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Обычно подобные баги - результат обхода встроенных систем (выбора скина, например) или же неправильное использование функций.
    Например, спавнить игрока, задавая координаты через SetPlayerPos в OnPlayerSpawn - неверный вариант. Правильнее задавать координаты спавна через SetSpawnInfo ещё до всяких смертей и вызова SpawnPlayer. А если этого не делать, сервер попросту не знает куда спавнить игрока, из-за чего и ломаются некоторые встроенные системы.
    В общем,нужно код смотреть и пробовать его изменять, проверяя результат
    Ещё, возможно, нет ни одного вызова AddPlayerClass.

  5. #4
    Аватар для KrutoyKrosch
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.02.2016
    Сообщений
    301
    Репутация:
    7 ±
    Никогда не использовал AddPlayerClass и SetSpawnInfo и такого не было. Просто гта чистые ставить нужно и все. Тут проблема на стороне клиента.

  6. #5
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от KrutoyKrosch Посмотреть сообщение
    Никогда не использовал AddPlayerClass и SetSpawnInfo и такого не было. Просто гта чистые ставить нужно и все. Тут проблема на стороне клиента.
    Нет, это скорее всего серверная проблема.

    У самого тоже бывало иногда на тестах, но никаких закономерностей проявления этой проблемы так сам и не смог уловить (но скорее всего из-за своего кода). Также видел что кто-то жаловался на эту проблему, но потом отписал, что всё стало нормально после того, как поменял хостинг, что вообще удивительно. Хотя возможно заодно что-то и в моде изменил, да не заметил.

    - - - Добавлено - - -

    Ради интереса скинь код из OnPlayerDeath, OnPlayerStateChange и OnPlayerSpawn, который может влиять на систему урона или смерти.
    Последний раз редактировалось Nexius_Tailer; 05.01.2018 в 15:37.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  7. #6
    Аватар для seriu
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.11.2013
    Сообщений
    69
    Репутация:
    6 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    всё стало нормально после того, как поменял хостинг, что вообще удивительно. Хотя возможно заодно что-то и в моде изменил, да не заметил.
    Это был я. На тот момент я уже не знал, что думать поэтому я загрузил на хостинг (myarena на тот момент) grand larceny - самый обычный скаченный с sa-mp.com. Заходил на сервер с собейтом и без = баг этот был из-за чего я погрешил на хостинг, но проблема то есть, то нет, так до сих пор и не понял в чем прикол.

  8. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Знать бы когда этот баг впервые начал появляться (в какой версии SA-MP). Так бы можно было попытаться что-то в исходниках нарыть, касаемо того, при каких условиях сервер регистрирует смерть и вызывает OnPlayerDeath.
    Так же можно посмотреть, какие именно пакеты отправляет сервер во время бага (ну в том плане, что, может, сервер сам устанавливает здоровье обратно)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. #8
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от KrutoyKrosch Посмотреть сообщение
    Никогда не использовал AddPlayerClass и SetSpawnInfo и такого не было. Просто гта чистые ставить нужно и все. Тут проблема на стороне клиента.
    Не в GTA дело, это явно серверная проблема, а не клиента

  10. #9
    Аватар для naxxyelite
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.01.2018
    Сообщений
    36
    Репутация:
    0 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение

    Ради интереса скинь код из OnPlayerDeath, OnPlayerStateChange и OnPlayerSpawn, который может влиять на систему урона или смерти.

    OnPlayerDeath при этом баге вызывается нормально, только вот спавна не происходит, анимации смерти нет, и что самое противное, у других ты просто лежишь в АФК на месте смерти, т.е OnPlayerUpdate не вызывается.

    PHP код:
    public OnPlayerDeath(playeridkilleridreason)
    {
        return 
    true;

    в OnPlayerStateChange ничего такого нет касательно PLAYER_STATE_WASTED

    PHP код:
    public OnPlayerSpawn(playerid)
    {
        
    // Выбор скина при регистрации //
        
    if(pRegister{playerid} == true) return ChosePlayerSkin(playerid);
        
    SetPlayerSpawn(playerid);
            
    SetPlayerColorToTeam(playerid);
        
    SetPlayerTeam(playerid1);
            return 
    true
    SetPlayerSpawn(playerid); телепортирует игрока на определенные координаты.

    Еще не знаю, ошибаюсь или нет, но заметил закономерность, что такой баг происходит, если перезайти на сервер или же спомощью собейта Shift + 0, или если gmx (рестарт) сервера произойдет, в общем если заход на сервер осуществился не выходя при этом из клиента
    Последний раз редактировалось naxxyelite; 05.01.2018 в 22:00.

  11. #10
    Аватар для StevenH
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от naxxyelite Посмотреть сообщение
    OnPlayerDeath при этом баге вызывается нормально, только вот спавна не происходит, анимации смерти нет, и что самое противное, у других ты просто лежишь в АФК на месте смерти, т.е OnPlayerUpdate не вызывается.

    PHP код:
    public OnPlayerDeath(playeridkilleridreason)
    {
        return 
    true;

    в OnPlayerStateChange ничего такого нет касательно PLAYER_STATE_WASTED

    PHP код:
    public OnPlayerSpawn(playerid)
    {
        
    // Выбор скина при регистрации //
        
    if(pRegister{playerid} == true) return ChosePlayerSkin(playerid);
        
    SetPlayerSpawn(playerid);
            
    SetPlayerColorToTeam(playerid);
        
    SetPlayerTeam(playerid1);
            return 
    true
    SetPlayerSpawn(playerid); телепортирует игрока на определенные координаты.

    Еще не знаю, ошибаюсь или нет, но заметил закономерность, что такой баг происходит, если перезайти на сервер или же спомощью собейта Shift + 0, или если gmx (рестарт) сервера произойдет, в общем если заход на сервер осуществился не выходя при этом из клиента
    SetSpawnInfo есть? AddPlayerClass?

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

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

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •