Русское сообщество по скриптингу

Бесконечный запас кислорода

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Бесконечный запас кислорода

Сообщение Eternal » 18 окт 2018, 10:04

Всем привет. Подскажите пожалуйста.Есть ли возможность отключить дамаг под водой когда кислород заканчивается или сделать кислород для игроков бесконечным. Искал через гугл но успехов это не принесло. Заранее спасибо.
Аватара пользователя
Eternal
 
Сообщения: 24
Зарегистрирован: 23 янв 2017, 08:49
Благодарил (а): 11 раз.
Поблагодарили: 1 раз.
Языки программирования: Php

Re: Бесконечный запас кислорода

Сообщение Vaqtincha » 18 окт 2018, 12:05

самый простой способ хукат TakeDamage, проверить бит DMG_DROWN и заблочить

Добавлено спустя 10 минут 23 секунды:
пока игрок в воде будет много вызовов TakeDamage.
я просто добавил в хуке TakeDamage
set_pev(pPlayer, pev_air_finished, get_gametime() + 99999.0)

Добавлено спустя 6 минут 36 секунд:
и кстати в кс есть такой энтити item_airtank
Вы должны зарегистрироваться, чтобы видеть ссылки. ... irtank.cpp

как раз он при таче дает доп. время (12 сек) на воде.
тут тоже
pOther->pev->air_finished = gpGlobals->time + 12.0f
админгандонсоси
Аватара пользователя
Vaqtincha
 
Сообщения: 277
Зарегистрирован: 28 мар 2018, 15:05
Забанен
Благодарил (а): 8 раз.
Поблагодарили: 53 раз.

Re: Бесконечный запас кислорода

Сообщение Eternal » 18 окт 2018, 13:00

Vaqtincha писал(а):самый простой способ хукат TakeDamage, проверить бит DMG_DROWN и заблочить

Добавлено спустя 10 минут 23 секунды:
пока игрок в воде будет много вызовов TakeDamage.
я просто добавил в хуке TakeDamage
set_pev(pPlayer, pev_air_finished, get_gametime() + 99999.0)

Добавлено спустя 6 минут 36 секунд:
и кстати в кс есть такой энтити item_airtank
Вы должны зарегистрироваться, чтобы видеть ссылки. ... irtank.cpp

как раз он при таче дает доп. время (12 сек) на воде.
тут тоже
pOther->pev->air_finished = gpGlobals->time + 12.0f


через отлов урона DMG_DROWN сделал и заблочил его, только сомневаюсь что без багов будет, нужно левый урон протестировать. Спасибо за помощь.
Аватара пользователя
Eternal
 
Сообщения: 24
Зарегистрирован: 23 янв 2017, 08:49
Благодарил (а): 11 раз.
Поблагодарили: 1 раз.
Языки программирования: Php

Re: Бесконечный запас кислорода

Сообщение Vaqtincha » 18 окт 2018, 13:42

Eternal, это зависит от того как ты заблочил.
еще добавь проверку что аттакер и инфликтор равен 0
админгандонсоси
Аватара пользователя
Vaqtincha
 
Сообщения: 277
Зарегистрирован: 28 мар 2018, 15:05
Забанен
Благодарил (а): 8 раз.
Поблагодарили: 53 раз.

Re: Бесконечный запас кислорода

Сообщение Eternal » 19 окт 2018, 17:55

Vaqtincha писал(а):Eternal, это зависит от того как ты заблочил.
еще добавь проверку что аттакер и инфликтор равен 0

Отловил DMG_DROWNRECOVER заблочил и всё получилось. Хотя посетила мысль пока реген отменял. Можно было бы оставить типо фишка ,всплыла подводная лодка востановилась и дальше в бой ))
Вы должны зарегистрироваться, чтобы видеть ссылки.
Аватара пользователя
Eternal
 
Сообщения: 24
Зарегистрирован: 23 янв 2017, 08:49
Благодарил (а): 11 раз.
Поблагодарили: 1 раз.
Языки программирования: Php


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11