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

    Статус
    Оффлайн
    Регистрация
    14.12.2016
    Сообщений
    27
    Репутация:
    2 ±

    Смерть игрока

    Как мне сделать так, чтобы при смерти игрока или когда хп меньше 5 игрока не спавнило? Хочу сделать систему подобия потери сознания. Пробовал в OnPlayerDeath делать return 0, пробовал OnPlayerTakeDamage условие на проверку хп добавить, надеясь, что при убийстве игрока сначала вызовется TakeDamage и там уже установлю ему 5 хп, чтоб не помер. Но все это не сработало :(.

  2. #2
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Нужно когда игрок умер сохранить его координаты и когда он заспавнится телепортировать его на те же координаты.

  3. #3
    Аватар для Kamigakuro
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.12.2016
    Сообщений
    27
    Репутация:
    2 ±
    А вариант убить не убивая есть?

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

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от Kamigakuro Посмотреть сообщение
    А вариант убить не убивая есть?
    нет

  5. #5
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Можно свою систему урона реализовать с помощью помещения всех игроков в одну команду (SetPlayerTeam).
    И сама система урона (очень простая):
    PHP код:
    public OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponidbodypart)
    {
        if (
    damagedid != INVALID_PLAYER_ID) {
            static
                
    Float:health,
                
    Float:armour,
                
    Float:difference;

            
    GetPlayerHealth(damagedidhealth);
            
    GetPlayerArmour(damagedidarmour);

            if (
    armour 0.0) {
                
    difference armour amount;
            }

            if (
    difference >= 0.0) {
                
    SetPlayerArmour(damagedidarmour amount);
            } else {
                
    SetPlayerArmour(damagedid0.0);
                
    SetPlayerHealth(damagedidhealth difference);
            }
        }
        return 
    1;

    Собственно, к этому не составит труда добавить проверку на количество здоровья.

    И, естественно, здесь нужно проверять величину нанесённого урона, для защиты от читеров.

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

    Статус
    Оффлайн
    Регистрация
    14.12.2016
    Сообщений
    27
    Репутация:
    2 ±
    А при смерти игрока что вызывается быстрее TakeDamage или PlayerDeath?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Можно свою систему урона реализовать с помощью помещения всех игроков в одну команду (SetPlayerTeam).
    И сама система урона (очень простая):
    PHP код:
    public OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponidbodypart)
    {
        if (
    damagedid != INVALID_PLAYER_ID) {
            static
                
    Float:health,
                
    Float:armour,
                
    Float:difference;

            
    GetPlayerHealth(damagedidhealth);
            
    GetPlayerArmour(damagedidarmour);

            if (
    armour 0.0) {
                
    difference armour amount;
            }

            if (
    difference >= 0.0) {
                
    SetPlayerArmour(damagedidarmour amount);
            } else {
                
    SetPlayerArmour(damagedid0.0);
                
    SetPlayerHealth(damagedidhealth difference);
            }
        }
        return 
    1;

    Собственно, к этому не составит труда добавить проверку на количество здоровья.

    И, естественно, здесь нужно проверять величину нанесённого урона, для защиты от читеров.
    Таки не спасёт от падения и прочей лабуды же.
    Гораздо проще взять этот инклуд и использовать его
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    На самом деле ничего сложного нет, действительно нужно использовать свою систему урона от оружия + в TakeDamage перехватывать урон от коллизий и прочего. Только проблемой станут читеры которые будут просто блокировать урон полученный из TakeDamage, но это всегда было проблемой

  9. #9
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Таки не спасёт от падения и прочей лабуды же.
    Гораздо проще взять этот инклуд и использовать его
    Проблема в том, что это не просто инклуд, это инклуд + плагин, причём memory hack плагин.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Проблема в том, что это не просто инклуд, это инклуд + плагин, причём memory hack плагин.
    Ну ближайшее обновление, которое обещает добавить возможность контроля урона игроку, запланировано, как я слышал, на никогда, так что не вижу ничего плохого в том, чтоб использовать подобные решения. Особенно если учесть, что этим плагином можно решить огромное число проблем и сделать много чего интересного помимо того, что хочет сделать автор.
    Ну всё равно решать лишь автору
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  11. 3 пользователя(ей) сказали cпасибо:
    Daniel_Cortez (27.12.2016) qwezert (27.12.2016) VVWVV (27.12.2016)
 

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

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

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

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

Ваши права

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