Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Сквозь пропы
polo7965 Дата: Четверг, 24.03.2016, 18:14:01 | Сообщение # 1
Сообщений: 10
Репутация: 0 [ +/- ]
Всем привет. Подскажите пожалуйста, как сделать так, чтобы гранаты пролетали сквозь проп, то есть игнорировали его, но при этом игроки врезались в него? Заранее спасибо.
 
RunCrafting Дата: Пятница, 25.03.2016, 12:35:32 | Сообщение # 2
Сообщений: 52
Репутация: 0 [ +/- ]
Хм... попробуй захукать SDKHook_StartTouch или SDKHook_Touch, сделать проверку на игрока, и если это игрок, продолжать действие, если проп, запрещать
 
polo7965 Дата: Воскресенье, 27.03.2016, 00:29:51 | Сообщение # 3
Сообщений: 10
Репутация: 0 [ +/- ]
Цитата RunCrafting ()
Хм... попробуй захукать SDKHook_StartTouch или SDKHook_Touch, сделать проверку на игрока, и если это игрок, продолжать действие, если проп, запрещать

А как его запретить? Вот я отследил что допустим хае в полёте соприкоснулась, а как дальше быть?
 
RunCrafting Дата: Среда, 30.03.2016, 21:22:13 | Сообщение # 4
Сообщений: 52
Репутация: 0 [ +/- ]
Цитата polo7965 ()

А как его запретить? Вот я отследил что допустим хае в полёте соприкоснулась, а как дальше быть?


Долго отвечал, т.к. не видел поста (Лучше ко мне обращаться в ВК vk.com/id168628974)

Код

public Action OnStartTouch(int entity1, int entity2)
{
return Plugin_Handled
}


можно не только Plugin_Handled, есть и другие
Plugin_Continue - продолжить действие, но завершить функцию
Plugin_Handled - запретить функцию и действие
Plugin_Changed - используется, когда есть переменные, которые можно изменить
Plugin_Stop - как Plugin_Handled, разницы не вижу, но что-то точно есть :)

И да, я пробывал такое делать, сквозь ентити -1 он не идет, а насчет норм.пропов я незнаю, но сквозь игрока он проходит


Сообщение отредактировал RunCrafting - Среда, 30.03.2016, 21:23:47
 
Scarface_slv Дата: Четверг, 31.03.2016, 11:33:16 | Сообщение # 5
Сообщений: 737
Репутация: 61 [ +/- ]
polo7965, Посмотри плагин наподобие, например NoBlock там используют m_CollisionGroup что бы игрок проходил через другого игрока. А еще есть m_usSolidFlags и m_nSolidType у проп. Возможно что ни будь у тебя получится
И попробуй так
Код

#include <sdkhooks>

public OnEntityCreated(entity, const String:classname[])
{
        if (StrContains(classname, "_projectile", false) != -1)
        {
                SDKHook(entity, SDKHook_SpawnPost, OnProjectileSpawned);
        }
}

public OnProjectileSpawned(entity)
{
         SetEntProp(entity, Prop_Send, "m_CollisionGroup", 13);
}

И еще нужно добавить индексу пропа m_CollisionGroup при ее создание
SetEntProp(prop_index, Prop_Send, "m_CollisionGroup", 13);
должно сработать


Сообщение отредактировал Scarface_slv - Четверг, 31.03.2016, 13:42:21
 
  • Страница 1 из 1
  • 1
Поиск: