| Разрывные пули. | 
|  | 
| 
| BarD | Дата: Четверг, 31.12.2015, 17:21:43 | Сообщение # 16 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  |  tonline_kms65,  хочешь решение всех проблем? Попробуй в оффсет env_explosion m_hInflictor запихать аттакера, как ты с клиентом в m_hOwnerEntity сделал. И без всей этой фигни обойдешься. Чисто одним энтити. С наступающим! 
 
 Сообщение отредактировал BarD - Четверг, 31.12.2015, 17:22:28 |  |  |  |  | 
| 
| tonline_kms65 | Дата: Пятница, 01.01.2016, 01:30:54 | Сообщение # 17 |  |   
|  |  | Сообщений: 215 Репутация: 3 [ +/- ]
 |  | Цитата 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 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  | SetEntPropEnt(ExplosionIndex, Prop_Send, "m_hOwnerEntity", индекс аттакера);SetEntPropEnt(ExplosionIndex, Prop_Send, "m_hInflictor", индекс аттакера);
 Делай это при создании энтити. Все, что тебе нужно. И не надо этих бесконечных операций вычислительных. Должно работать.
 |  |  |  |  | 
| 
| tonline_kms65 | Дата: Пятница, 01.01.2016, 06:11:30 | Сообщение # 19 |  |   
|  |  | Сообщений: 215 Репутация: 3 [ +/- ]
 |  | Цитата 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 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  | Цитата tonline_kms65 (  ) Нет такого свойства m_hInflictorСтранно. В datamaps есть.
 |  |  |  |  | 
| 
| tonline_kms65 | Дата: Пятница, 01.01.2016, 10:11:53 | Сообщение # 21 |  |   
|  |  | Сообщений: 215 Репутация: 3 [ +/- ]
 |  | Цитата BarD (  )  В datamaps есть.
 Дай хоть посмотрю где это.
 |  |  |  |  | 
| 
| BarD | Дата: Пятница, 01.01.2016, 10:46:30 | Сообщение # 22 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  |  tonline_kms65,  http://world-source.ru/datamaps.txt |  |  |  |  | 
| 
| tonline_kms65 | Дата: Пятница, 01.01.2016, 14:38:06 | Сообщение # 23 |  |   
|  |  | Сообщений: 215 Репутация: 3 [ +/- ]
 |  | Цитата 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
 | Гости не могут скачивать файлы | 
 
 
 Сообщение отредактировал tonline_kms65 - Воскресенье, 03.01.2016, 18:51:57 |  |  |  |  | 
| 
| sourcegod | Дата: Суббота, 02.01.2016, 18:32:02 | Сообщение # 24 |  |   
|  |  | Сообщений: 69 Репутация: 0 [ +/- ]
 |  | tonline_kms65, Ты исходник то выложишь или нет? |  |  |  |  |