Принудительный увеличить ослепление
|
|
Naykon
|
Дата: Пятница, 06.06.2014, 17:43:00 | Сообщение # 1 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Можно ли как ниубедь увеличить длительность ослепления игрока воспользовавшись слеповой гранатой... аналогично и боевой (больше дымаг) и дымовой (больше дыма) ?
|
|
| |
BarD
|
Дата: Пятница, 06.06.2014, 18:35:47 | Сообщение # 2 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Насчёт осколочной: 1) Ловишь событие player_hurt (Pre) 2) Проверяешь оружие 3) Если это граната, то уменьшаешь хп игрока через SetEntProp на сколько хочешь Т.к. даже если хп игрока ты сделаешь равным нулю, то он не умрёт. И граната его добьет. Только обязательно лови Pre, чтобы уменьшить ему хп до взрыва гранаты.
Насчёт слеповухи: 1) Ловишь событие ослепления от флешки (player_blind) 2) Находишь игрока, которого ослепило (event, "userid") 3) Делаешь ему ослепление, на сколько тебе надо
Код SetEntPropFloat(client, Prop_Send, "m_flFlashDuration", 0.0); //Время SetEntPropFloat(client, Prop_Send, "m_flFlashMaxAlpha", 0.0); //Прозрачность. Попробуй на 255 поставить
|
|
| |
Naykon
|
Дата: Четверг, 07.08.2014, 18:16:47 | Сообщение # 3 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Время ослепления зависит от того куда смотрит пострадавший от слепы.. если на нее то заслепить его конкретно если нет то мение сильно... также зависит от расстояния от пострадавшего.Как получить время ослепления от слеповой?
Сообщение отредактировал Naykon - Четверг, 07.08.2014, 18:46:02 |
|
| |
BarD
|
Дата: Четверг, 07.08.2014, 18:58:45 | Сообщение # 4 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Думаю, что так: Код new Float:Time = GetEntPropFloat(client, Prop_Send, "m_flFlashDuration"); Логично же...
|
|
| |
Naykon
|
Дата: Четверг, 07.08.2014, 19:19:04 | Сообщение # 5 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
оуу возможно просто вариант SetEntPropFloat(client, Prop_Send, "m_flFlashDuration", 0.0); работал не корректно.. а конкретно работал только 1 раз. после слеп вообще не слепила.
|
|
| |
BarD
|
Дата: Четверг, 07.08.2014, 19:25:18 | Сообщение # 6 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Попробуй, вдруг сработает.
|
|
| |
Naykon
|
Дата: Четверг, 07.08.2014, 19:47:33 | Сообщение # 7 |
|
Сообщений: 439
Репутация: -4 [ +/- ]
|
|
Сработало.
Код public Action:player_blind(Handle:event, const String:name[], bool:dontBroadcast) { new client = GetClientOfUserId(GetEventInt(event,"userid")); new killer = GetClientOfUserId(GetEventInt(event, "attacker")); PrintToChatAll("%N,%N",killer, client); } new killer = GetClientOfUserId(GetEventInt(event, "attacker")); - не работает... Как можно получить индекс игрока который кинул слепу в момент ее активации.?
Если не знаете как получить индекс игрока. Тогда встречный вопрос как получить индекс взорвавшейся флешки?
Сообщение отредактировал Naykon - Четверг, 07.08.2014, 20:37:19 |
|
| |