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

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

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

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

Не пропускать пули через оболочку entity[NEW][UPD]

shel
сообщение 1.11.2014, 14:04
Сообщение #1
Стаж: 12 лет

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

Что ловить чем ретурнить? Интересует урон с огнестрельного оружия и гранат(чтобы при входе в entity они удалялись)

Отредактировал: shel, - 2.11.2014, 16:00
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
shel
сообщение 1.11.2014, 19:16
Сообщение #2
Стаж: 12 лет

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

мб присвоить entity имя и через traceline при прохождении через нее блокировать урон? Если так реально пример бы...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя LeoBH
сообщение 2.11.2014, 0:50
Сообщение #3


Стаж: 12 лет

Сообщений: 159
Благодарностей: 91
Полезность: 170

Вот вариант блокирования урона:
Код:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

public plugin_init()
{
register_plugin("Block Damage", "1.0", "Leo_[BH]")

RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if (victim == attacker || !is_user_alive(attacker))
{
return HAM_IGNORED;
}

if(get_user_weapon(attacker) == CSW_AWP) // С какого оружия блокировать урон. В данном случае AWP
{
SetHamParamFloat(4, damage * 0.00) // Задаем коэффициент урона. В нашем случае 0.00
return HAM_HANDLED;
}

return HAM_IGNORED;
}

Список оружия и его ID:
Скрытый текст
Код:
/* Id of weapons in CS */
#define CSW_P228 1
#define CSW_SCOUT 3
#define CSW_HEGRENADE 4
#define CSW_XM1014 5
#define CSW_C4 6
#define CSW_MAC10 7
#define CSW_AUG 8
#define CSW_SMOKEGRENADE 9
#define CSW_ELITE 10
#define CSW_FIVESEVEN 11
#define CSW_UMP45 12
#define CSW_SG550 13
#define CSW_GALI 14
#define CSW_GALIL 14
#define CSW_FAMAS 15
#define CSW_USP 16
#define CSW_GLOCK18 17
#define CSW_AWP 18
#define CSW_MP5NAVY 19
#define CSW_M249 20
#define CSW_M3 21
#define CSW_M4A1 22
#define CSW_TMP 23
#define CSW_G3SG1 24
#define CSW_FLASHBANG 25
#define CSW_DEAGLE 26
#define CSW_SG552 27
#define CSW_AK47 28
#define CSW_KNIFE 29
#define CSW_P90 30
#define CSW_VEST 31
#define CSW_VESTHELM 32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 2.11.2014, 1:57
Сообщение #4
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

готовый код удаления гранат и пуль + урон есть в плагине Knife Zone
https://forums.alliedmods.net/showthread.php?t=20396


LeoBH ты уже показал свой скилл постом выше.

Просили через entity

еще есть вариант поставить entity Takedamage Yes и ХП ему побольше тогда тоже будет блочить
вариантов и других полно кстати

Отредактировал: csnet, - 2.11.2014, 2:00


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
shel
сообщение 2.11.2014, 9:28
Сообщение #5
Стаж: 12 лет

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

entity Takedamage Yes и ХП ему побольше тогда тоже будет блочить// понравилось можно подробнее или статью
Код:
	entity_set_string(iEntity, EV_SZ_classname, entclas)
entity_set_float(iEntity, EV_FL_health, 11000.0)
entity_set_float(iEntity, EV_FL_takedamage, DAMAGE_YES)

все тоже самое пули проходят задевая игрока


Код:
public crear_ent(id) {

// Create entitity
new iEntity = create_entity("info_target")

if(!is_valid_ent(iEntity))
return PLUGIN_HANDLED

new Float: Origin[3]
entity_get_vector(id, EV_VEC_origin, Origin)
new Float:fHealth = float( get_pcvar_num( g_Cvar[1] ))
entity_set_string(iEntity, EV_SZ_classname, entclas)
entity_set_float(iEntity, EV_FL_health, fHealth)
entity_set_float(iEntity, EV_FL_takedamage, 1.0)
entity_set_int(iEntity, EV_INT_solid, SOLID_TRIGGER)
entity_set_vector(iEntity,EV_VEC_origin, Origin)
entity_set_model(iEntity,model)
entity_set_size(iEntity, Mins, Maxs )
entity_set_int(iEntity, EV_INT_renderfx, kRenderFxGlowShell)
entity_set_int(iEntity, EV_INT_rendermode, kRenderTransAlpha)
entity_set_float(iEntity, EV_FL_renderamt, 50.0)

return PLUGIN_CONTINUE;
}


Отредактировал: shel, - 2.11.2014, 15:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
shel
сообщение 2.11.2014, 15:50
Сообщение #6
Стаж: 12 лет

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

up
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s1lent
сообщение 2.11.2014, 16:23
Сообщение #7
Стаж: 16 лет

Сообщений: 440
Благодарности: выкл.

какова цель?
чтобы пули проходили через определенного игрока/ентити насквозь?
или наоборот?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
shel
сообщение 2.11.2014, 17:18
Сообщение #8
Стаж: 12 лет

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

да да именно это)
Скрытый текст
сковзь ентити насквозь


Отредактировал: shel, - 2.11.2014, 18:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: