Скрипты для SAMP
Информация о файле и ссылка ниже
ЖМИ НА ССЫЛКУ: Скачать [FS+INC] OnPlayerHitSystem с сайта
Описание:
Данный FS + INC добавляет событие OnPlayerHit, которые вызывается при нанесении игроку урона.
Например можно сделать мгновенную смерть с одного патрона в голову и т.д.
В отличии от других алгоритмов которые я видел, этот работает значительно быстрее, а значит и
при активной стрельбе в 100 человек значительных задержек (лагов) не будет.
Определение урона происходит не так точно как хотелось бы, но этого достаточно для серверов, где
охватывается прежде всего геймплей, а потом уже физика GTA SA.
Установка:
1. Скопируйте oph.amx в папку filterscripts.
2. Откройте Server.cfg и укажите в параметр «filterscripts», название скрипта т.е. «oph» без кавычек.
3. Скопируйте инклуд oph.inc, в папку где ваши инклуды. Обычно это «папка_сервера/pawno/include/».
4. Добавьте ваш мод\скрипт ниже «#include » строчку «#include » без кавычек.
Использование:
Code
200?’200px’:»+(this.scrollHeight+5)+’px’);»>OnPlayerHit(playerid, hiterid, bodypart, weaponid, Float:distance); — Вызывается при нанесении урона игроку.
playerid — ид игрока в кому нанесен урон.
hiterid — ид игрока который нанес урон.
bodypart — (OPH_HEAD — Голова, OPH_BODY — Туловище, OPH_FOOT — Ноги).
weaponid — ид оружия с которого был нанесен урон.
distance — расстояние с которого был нанесен урон.
TogglePlayerOnHitted(playerid, toggle); — Включает\выключает вызов OnPlayerHit при нанесение урона игроку.
playerid — ид игрока
toggle — 1(вкл), 0(выкл).
ToggleWeaponBlockHit(weaponid, toggle); — Блокирует вызов OnPlayerHit с определённого оружия.
weaponid — ид оружия.
toggle — 1(блокировать), 0(разблокировать).
ToggleWeaponBlockHitForPlayer(playerid, weaponid, toggle); — Блокирует вызов OnPlayerHit с определённого оружия для конкретного игрока.
playerid — ид игрока
weaponid — ид оружия.
toggle — 1(блокировать), 0(разблокировать).
SetWeaponRangeHit(weaponid, Float:range); — Задёт радиус действия оружия для вызова OnPlayerHit.
weaponid — ид оружия.
range — радиус.
По умолчанию настройки радиусов можно узнать из файла default_weapon_radius.txt (в архиве)
SetPlayerDemagedHealth(playerid, Float:health, hiterid=-1, reason=-1); — Отнимает у игрока hp и вызывает OnPlayerDeath в случае смерти.
playerid — ид игрока.
health — сколько hp отнять.
hiterid — ид игрока который отнял hp (не обязательный параметр для OnPlayerDeath в случае смерти).
reason — ид причины или оружия (не обязательный параметр для OnPlayerDeath в случае смерти).
SetOnPlayerDeath(playerid, killerid, reason); — Вызывает OnPlayerDeath с заданными параметрами.
playerid — ид игрока.
killerid — ид игрока который убил playerid.
reason — ид причины или оружия.
Небольшой пример можно посмотреть в папке sample_code (в архиве).
Автор: AirKite
Версия: 0.1b
[ Обсудить на форуме ]