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

Урон при ходьбе по воде  [Решено]

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

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

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

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

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

Урон при ходьбе по воде

Сообщение Mandar1n » 18 фев 2018, 16:24

Как можно сделать плагин, если игрок ходит по воде или касается воды, то ему будет наносится урон?
Аватара пользователя
Mandar1n
 
Сообщения: 133
Зарегистрирован: 08 дек 2013, 14:08
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Counter-Strike 1.6

Re: Урон при ходьбе по воде

Сообщение Subb98 » 18 фев 2018, 16:36

Можно. Ловим тач с водой и наносим урон раз в секунду, например.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Урон при ходьбе по воде

Сообщение Mandar1n » 18 фев 2018, 21:05

А есть примеры плагина или какой модуль использовать?
Аватара пользователя
Mandar1n
 
Сообщения: 133
Зарегистрирован: 08 дек 2013, 14:08
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Counter-Strike 1.6

Re: Урон при ходьбе по воде

Сообщение Subb98 » 18 фев 2018, 21:10

Код: Выделить всё
#include <engine> 

Код: Выделить всё
register_touch("func_water""player""FwdTouchWater"); 
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Урон при ходьбе по воде

Сообщение Hilarious » 19 фев 2018, 02:38

Я вот не знаю, есть ли в игре событие, где можно опросить ходьбу игрока, но также можно проверить в нём, если оно есть
if (pev(iPlayer, pev_flags) & FL_INWATER)
Если же его нет, то можно создать цикличное задание (set_task) с опросом в 0.1 секунду и проверять, находится ли игрок в воде. Ну это если прям совсем хочется сделать меньше вызовов, чем в register_touch, а так можно и не заморачиваться с заданием.
В матрице :-[
Аватара пользователя
Hilarious
 
Сообщения: 69
Зарегистрирован: 07 фев 2018, 08:46
Благодарил (а): 6 раз.
Поблагодарили: 29 раз.

Re: Урон при ходьбе по воде

Сообщение Mandar1n » 19 фев 2018, 15:08

Subb98 писал(а):
Код: Выделить всё
#include <engine>   

Код: Выделить всё
register_touch("func_water", "player", "FwdTouchWater"); 

Код: Выделить всё
#include <amxmodx> 
#include <engine> 
#include <fakemeta>

public plugin_init()
{
    
register_touch("func_water""player""FwdTouchWater")


public 
FwdTouchWater(iEntityid
{
    if( 
get_pdata_int(id,114) == )
    {
        
user_slap(id1)
    }
client_print_color(idprint_chat"^3Вы в воде")
}   


Нашел в нэте единственный код и то он не работает
Аватара пользователя
Mandar1n
 
Сообщения: 133
Зарегистрирован: 08 дек 2013, 14:08
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Counter-Strike 1.6

Re: Урон при ходьбе по воде

Сообщение Subb98 » 19 фев 2018, 15:33

Код: Выделить всё
public FwdTouchWater(iEntityid
{
    if (
is_user_alive(id) {
        
user_slap(id1);
        
client_print(idprint_chat"You are in the water");
    }
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Урон при ходьбе по воде

Сообщение Hilarious » 19 фев 2018, 16:22

Да это точно, с такими частыми вызовами баловаться с оффсетом иногда боком выходит.
Кстати он и не работает.
Сейчас посмотрим сколько раз вызывается в чат :-D
В матрице :-[
Аватара пользователя
Hilarious
 
Сообщения: 69
Зарегистрирован: 07 фев 2018, 08:46
Благодарил (а): 6 раз.
Поблагодарили: 29 раз.

Re: Урон при ходьбе по воде

Сообщение Mandar1n » 19 фев 2018, 16:24

Subb98 писал(а):
Код: Выделить всё
public FwdTouchWater(iEntity, id) 
{
    if (is_user_alive(id) {
        user_slap(id, 1);
        client_print(id, print_chat, "You are in the water");
    }
}

Тоже не работает, компилирую в reamxmodx
Аватара пользователя
Mandar1n
 
Сообщения: 133
Зарегистрирован: 08 дек 2013, 14:08
Благодарил (а): 38 раз.
Поблагодарили: 4 раз.
Языки программирования: Counter-Strike 1.6

Re: Урон при ходьбе по воде

Сообщение Hilarious » 19 фев 2018, 16:30

Что-то странно у меня не работает ни один из вариантов :crazy:

Добавлено спустя 23 секунды:
Сейчас вместе разберёмся :-D

Добавлено спустя 2 минуты 41 секунду:
А всё, я почитал, не сработает оно так. Ну по крайней мере на карте Aztec, где я прыгал. Сейчас я посмотрю в другом форварде.
В матрице :-[
Аватара пользователя
Hilarious
 
Сообщения: 69
Зарегистрирован: 07 фев 2018, 08:46
Благодарил (а): 6 раз.
Поблагодарили: 29 раз.

След.

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

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

Сейчас этот форум просматривают: Bing [Bot] и гости: 14