Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Урон по entity без SOLID_BBOX и т.д.

, Возможно ли сделать урон по entity не используя SOLID_BBOX?
Статус пользователя maxe34
сообщение 9.8.2017, 21:52
Сообщение #1
Стаж: 10 лет

Сообщений: 79
Благодарностей: 5
Полезность: < 0

Имеется плагин.

С помощью одного человека получилось сделать так, чтобы можно было проходить сквозь entity и при этом entity можно нанести урон.
Это хороший вариант, но не для меня. Так как в таком варианте имеется куча недостатков.

1. Когда берешь в руки нож (находясь в entity) и нажимаешь на ЛКМ (атака), сервер падает и вылазит ошибка - "Hit a AuraForce with no model (models/aura8.mdl)".
2. Если взять гранату (находясь в entity) и кинуть ее, то она застрянет в ней, тем же самым может подорвать себя.
3. Все другие entity так же застревают как и гранаты.

Это то, что я заметил... Может есть и еще недостатки, пока незнаю.

Энтити имеет такой состав:

Код:
new const gAuraForceMdl[ ] = "models/aura8.mdl";
...
entity_set_model( iEntity, gAuraForceMdl )
entity_set_int( iEntity, EV_INT_solid, SOLID_BSP )
entity_set_int( iEntity, EV_INT_movetype, /*MOVETYPE_FLY*/ MOVETYPE_PUSH );
entity_set_float( iEntity, EV_FL_takedamage, DAMAGE_YES )
entity_set_float( iEntity, EV_FL_health, 5000.0 )


Так вот вопрос, можно ли как-то костыльно создать урон для entity? Желательно чтобы это имело сферическую форму ( под модель ).

Отредактировал: maxe34, - 9.8.2017, 23:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя fl0werD
сообщение 9.8.2017, 22:09
Сообщение #2
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

Попробовать поставить BBOX и блочить тач.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя maxe34
сообщение 9.8.2017, 22:27
Сообщение #3
Стаж: 10 лет

Сообщений: 79
Благодарностей: 5
Полезность: < 0

fl0werD, а можно пример? Просто не до конца понимаю, как это реализовать...

Судя по словам это должно выглядеть как-то так:

Код:
RegisterHam( Ham_Touch, "player", "fw_AuraTouch" );

public fw_AuraTouch( ent, id )
{
if ( !pev_valid ( ent ) )
return HAM_IGNORED

new szClassname[ 32 ];
pev( ent, pev_classname, szClassname, charsmax( szClassname ) );

if( equal( szClassname, gAuraForceClassname ) )
{
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}

или

register_touch( gAuraForceClassname, "player", "Aura_Touch" );

public Aura_Touch( ent, id )
{
new szClassname[ 32 ];
pev( ent, pev_classname, szClassname, charsmax( szClassname ) );

if( equal( szClassname, gAuraForceClassname ) )
return FMRES_SUPERCEDE;

return FMRES_IGNORED;
}



Но такие варианты не работают...

Отредактировал: maxe34, - 9.8.2017, 22:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 10.8.2017, 1:08
Сообщение #4
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

А если поменять тач человека на тач твоей энтити.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 10.8.2017, 1:24
Сообщение #5


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

почему именно solid_bsp? как раз с ним и будут падения
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fl0werD
сообщение 10.8.2017, 20:51
Сообщение #6
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

И поставить SLIDEBOX
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя maxe34
сообщение 10.8.2017, 22:35
Сообщение #7
Стаж: 10 лет

Сообщений: 79
Благодарностей: 5
Полезность: < 0

fl0werD, не работает. Все по прежнему, стоит entity ауры ( квадрат ) в который не пройти.

DeMNiX, падения есть, но в принципе функционал выполняет на ура. Но с выше упомянутыми нюансами, мне не вариант использовать SOLID_BSP.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 11.8.2017, 6:47
Сообщение #8


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

У меня был похожий заказ, что-то вроде entity-мешка для zp, где выживший мог пройти через мешок, зараженный - нет
Использовал SOLID_TRIGGER, но, при условии что оно не детектится трейслайном, пришлось чудить не очень хорошим способом
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: