Заказать Сервер Заказать Плагин Контакты Поиск

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

Страница 2 из 2«12
Форум » SourceMod - Counter Strike Source && CS GO » Плагины (от пользователей) » Разрывные пули. (Разрывные пули на всё оружие)
Разрывные пули.
BarD Дата: Четверг, 31.12.2015, 17:21:43 | Сообщение # 16
Сообщений: 944
Репутация: 132 [ +/- ]
tonline_kms65, хочешь решение всех проблем? Попробуй в оффсет env_explosion m_hInflictor запихать аттакера, как ты с клиентом в m_hOwnerEntity сделал. И без всей этой фигни обойдешься. Чисто одним энтити. С наступающим!


Сообщение отредактировал BarD - Четверг, 31.12.2015, 17:22:28
 
tonline_kms65 Дата: Пятница, 01.01.2016, 01:30:54 | Сообщение # 17
Сообщений: 183
Репутация: 2 [ +/- ]
Цитата BarD ()
tonline_kms65, хочешь решение всех проблем? Попробуй в оффсет env_explosion m_hInflictor запихать аттакера, как ты с клиентом в m_hOwnerEntity сделал. И без всей этой фигни обойдешься. Чисто одним энтити. С наступающим!


Спасибо за поздравление. Тебя тоже с Новым годом!
Попробую. Посмотреть бы значение всех оффсетов.

Prop_Send - это я так понимаю это куда записываются данные
Prop_Data - это откуда данные считываются

SetEntPropEnt Устанавливает индекс лица в собственности хозяйствующего субъекта.
или по другому - записывает владельца(того у кого в руках на этот момент эта энтитька) в проп энтити самой энтити(env_exposoin). Во них.. я намудрил.
----------------------------------------------------------->
Syntax:
SetEntPropEnt(entity, PropType:type, const String:prop[], other, element=0);

Использование:
entity Entity/edict index.
type Property type.
prop Property name.
other Entity index to set, or -1 to unset.
element Element # (starting from 0) if property is an array.
--------------------------------------------------------------------------------------->

SetEntPropEnt(ExplosionIndex, Prop_Send, "m_hOwnerEntity", i_Index);
Это мой пример, я если честно, кое как понимаю как это работает.
И даже если владельца энтитьки можно записать в data (он один и без ущерба), то как записать нескольких жертв в тот же проп? Их же не запишешь в простую строку. Значит нужно писать в массив. Для этого нужно вначале создать массив. Короче. Вот здесь я и впухаю.
Вот это я и хочу понять. Как это все работает. Пока только методом тыка все приходится делать.

Вот это бы понять.


Сообщение отредактировал tonline_kms65 - Пятница, 01.01.2016, 02:27:40
 
BarD Дата: Пятница, 01.01.2016, 05:06:51 | Сообщение # 18
Сообщений: 944
Репутация: 132 [ +/- ]
SetEntPropEnt(ExplosionIndex, Prop_Send, "m_hOwnerEntity", индекс аттакера);
SetEntPropEnt(ExplosionIndex, Prop_Send, "m_hInflictor", индекс аттакера);
Делай это при создании энтити. Все, что тебе нужно. И не надо этих бесконечных операций вычислительных. Должно работать.
 
tonline_kms65 Дата: Пятница, 01.01.2016, 06:11:30 | Сообщение # 19
Сообщений: 183
Репутация: 2 [ +/- ]
Цитата BarD ()
SetEntPropEnt(ExplosionIndex, Prop_Send, "m_hOwnerEntity", индекс аттакера);
SetEntPropEnt(ExplosionIndex, Prop_Send, "m_hInflictor", индекс аттакера);
Делай это при создании энтити. Все, что тебе нужно. И не надо этих бесконечных операций вычислительных. Должно работать.


L 01/01/2016 - 14:05:19: [SM] Blaming plugin: Exploding_bullets.smx
L 01/01/2016 - 14:05:19: [SM] Call stack trace:
L 01/01/2016 - 14:05:19: [SM] [0] SetEntPropEnt
L 01/01/2016 - 14:05:19: [SM] [1] Line 149, C:\Program Files\Valve\cstrike\addons\sourcemod\scripting\Exploding_bullets.sp::Event_BulletImpact()
L 01/01/2016 - 14:05:19: [SM] Exception reported: Property "m_hInflictor " not found (entity 460/hegrenade)
ну или так
614/env_explosion)
L 01/01/2016 - 14:12:32: [SM] Blaming plugin: Exploding_bullets.smx
L 01/01/2016 - 14:12:32: [SM] Call stack trace:
L 01/01/2016 - 14:12:32: [SM] [0] SetEntPropEnt
L 01/01/2016 - 14:12:32: [SM] [1] Line 149, C:\Program Files\Valve\cstrike\addons\sourcemod\scripting\Exploding_bullets.sp::Event_BulletImpact()
L 01/01/2016 - 14:14:15: [SM] Exception reported: Property "m_hInflictor " not found (entity 1379/env_explosi

Нет такого свойства m_hInflictor
Через 2 минуты сервак падает.
Не все так просто.

entity 1379 Я кстати не пойму почему происходит увеличение энтитек. Только заметил. Из за этого и сервак падает.
Или это счет ошибок.

Я понял. Энтитьку я убиваю далеко после ошибки. А сразу после ошибки дальнейший код то не работает.

/*--------------------------------------------------------------------------------*/
Не в тему немного, зато понятно. Кто знает как диффузки (от CSSDM) которых на земле валяется куча удалить попроще?
Какой нибудь код бы, что бы не возиться с этим.

Предполагаю 2 варианта:
1. В цикле (думаю плохой вариант, сервак будет грузить)
2. При смерти игрока

new ent_диффузз = FindEntityByClassname( MaxClients + 1, "item_defuser" );
У диффузок "kill" есть. Так что можно убить.
AcceptEntityInput(ent_диффузз , "Kill");

Наверно лучший вариант будет 2. Диффузки после смерти игрока появляются.
Я не пойму почему Баллопан не доделал этот момент. Вроде все этитьки убивает а вот диффузы оставил почему то.


Сообщение отредактировал tonline_kms65 - Пятница, 01.01.2016, 07:07:31
 
BarD Дата: Пятница, 01.01.2016, 08:21:04 | Сообщение # 20
Сообщений: 944
Репутация: 132 [ +/- ]
Цитата tonline_kms65 ()
Нет такого свойства m_hInflictor

Странно. В datamaps есть.
 
tonline_kms65 Дата: Пятница, 01.01.2016, 10:11:53 | Сообщение # 21
Сообщений: 183
Репутация: 2 [ +/- ]
Цитата BarD ()
В datamaps есть.


Дай хоть посмотрю где это.
 
BarD Дата: Пятница, 01.01.2016, 10:46:30 | Сообщение # 22
Сообщений: 944
Репутация: 132 [ +/- ]
tonline_kms65, http://world-source.ru/datamaps.txt
 
tonline_kms65 Дата: Пятница, 01.01.2016, 14:38:06 | Сообщение # 23
Сообщений: 183
Репутация: 2 [ +/- ]
Цитата BarD ()
http://world-source.ru/datamaps.txt

О. Спасибо за информацию.

Цитата BarD ()
Странно. В datamaps есть.

Попробовал заменить Prop_Send на Prop_Data (пишем в массив самой энтитьки)

SetEntPropEnt(ExplosionIndex, Prop_Data, "m_hInflictor", i_Index);
SetEntPropEnt(ExplosionIndex, Prop_Data, "m_hOwnerEntity", i_Index);
SetEntPropEnt(ExplosionIndex, Prop_Data, "m_hEntityIgnore", i_Index); // Предотвращение саморазрушения

Все стало ОК. Появилась в худе информация об оружии убийства.
Короче стало намного лучше. Надо потестировать сервак. Пока оставлю так как есть. Завтра на работу - уже будет не до этого.

Обновленный плагин v1.0.9

Прикрепления: 9851016.rar(91Kb)


Сообщение отредактировал tonline_kms65 - Воскресенье, 03.01.2016, 18:51:57
 
sourcegod Дата: Суббота, 02.01.2016, 18:32:02 | Сообщение # 24
Сообщений: 69
Репутация: 0 [ +/- ]
tonline_kms65, Ты исходник то выложишь или нет?
 
Форум » SourceMod - Counter Strike Source && CS GO » Плагины (от пользователей) » Разрывные пули. (Разрывные пули на всё оружие)
Страница 2 из 2«12
Поиск: