Плагин отображает в HUD информацию о союзниках: их ХП, какое у них оружие и тд (слот 1-2-4-5)
Может быть полезен для тренировок, матчей и так далее.
Важно: плагин рассчитан на 10 игроков, по 5 на каждую команду.Если игроков будет больше - они не влезут в область HUD.
Так же есть один известный баг в плагине: usp-s определяется и отображается как p2000
Настройка одна:
loadout_enable 1 - включает и отключает плагин
75 раз скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Интересный и необычный плагин, добавлящий на сервер Тактический щит как в CS 1.6
Кстати, добавив плагин Камеры и дроны / Cameras and Drones 1.2.3 можно сделать неплохой клон Rainbow's Six Siege
забавно, в CS:GO сделать клон игры которая является клоном CS:GO
Функции плагина:
Покупка тактического щита
Блокируют попадания по игру (даже из AWP)
Можно стрелять только держа в руках пистолет
Можно двигаться боком и стрелять
Можно выбросить и передать щит другому игроку
Можно выбрать свою модель щита
Выбор какая команда может пользоваться щитом
Команды:
Для игроков:
ts_buy - покупка щита
ts_toggle - раскрыть или убрать щит
ts_help - помощь по плагину
Админские:
ts_override - дает админу возможность запретить конкретному игроку использовать щит
ts_reloadmodel - перезагружает модель щита
Настройки:
ts_buytime "-2" - сколько времени есть у игрока для покупки щита ( -2 = на время закупа, -1 = неограниченно)
ts_buytime_start "0" - когда начать отсчет? ( 0 - со старта раунда , 1 = с момента спауна игрока)
ts_cooldown "1" - через сколько игрок может повторно развернуть (достать) щит?
ts_custom_model "0" - использовать ли модель котороая прописана в конфиге sourcemod/gamedata/tacticalshield/custom_models.txt ?
ts_custom_model_path "gamedata/tacticalshield" - путь папки с конфигом модели щита
ts_keep_between_rounds "1" - сохранять ли щит у живого игрока при переходе в следующий раунд?
ts_price "800" - цена щита
ts_shield_health "1000" - сколько урона получит щит до того как сломается? -1 = бесконечный
ts_shield_team "0" - какая команда может покупать щит? 0 = все команды, 1 = никто , 2 = только террористы , 3 = только контры
ts_speed "100" - скорость игрока когда в руках щит ( 130 = ходьба с ножом, 250 = бег с ножом)
ts_welcomemessage "1" - показывать ли сообщение с информацией о плагине новым игрокам?
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
Плагин позволяет нанести больше урона от удора с ножа, попав противнику в голову.
Настройки:
knife_headshot_enabled - Default "1" - включает и выключает все функции плагина
knife_headshot_multiplier - Default "2.0" - В какое количество раз будет умножен урон от удара ножом,при попадании в голову
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
Способы убийства игрока с полной броней:
1. 1 удар правой кнопкой мыши в голову со спины
2. 1 удар левой кнопкой мыши в голову, и один удар с правой в тело
3. 3 удара левой кнопкой мыши в голову
Плагин добавляет на сервер несколько условий, при которых бомба может быть разминирована контром моментально:
Не осталось живых террористов
Достаточно времени для разминирования (зависит от того есть ли дефуза у игрока или нет)
Если под игроком не взорван коктейл молотова
Команда одна:
sm_instadefuse_enabled - включает и отключает плагин
Настроек у плагина нет.Все остальное конфигурируется через исходный код.
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
Плагин, позволяющий настроить специальные чат-триггеры, которые будут открывать игроку заданную ссылку.
Так же плагин позволяет открывать страницы в скрытом (бекграунд) режиме
Настройка ссылок в easywebshortcuts.txt
// Easy Web Shortcuts
// Configuration File
//
// Enter your shortcuts in this file. One per line.
// Empty lines or lines begging with '//' are ignored
//
// Format: "triggers" "commands" "dimensions" "url"
//
// dimensions must either be "full" (for client max screen size), "hidden" (invisible window) or in "widthxheight" format (i.e. 1280x720)
// url should start with "http://", "https://" or be the exact string "about:blank"
//Открытие сайта с заданным размером окна
"!vip" "" "1280x720" "https://www.e-players.ru"
//Окно с полным разрешением
"" "sm_wikipedia" "full" "https://www.e-players.ru"
//Вариант добавления нескольких чат-триггеров
"!forums|!website|!home" "sm_forums|sm_website|sm_home" "full" "https://www.e-players.ru"
//Запуск видео в бэкграунд режиме (игрок будет слышать только звук)
"!funnyvideo" "" "hidden" "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
//Остановить видео
"!stop" "" "hidden" "about:blank"
//Using string replacements
"!gametracker" "" "full" "https://www.gametracker.com/server_info/{SERVERIP}:{SERVERPORT}}/"
"!serverswiththismap" "" "full" "https://www.gametracker.com/search/csgo/?search_by=map&query={MAPNAME}"
"!mysteamprofile" "" "full" "http://steamcommunity.com/profiles/{STEAMID64}"
URL String которые можно добавлять к ссылкам
{SERVERIP} - IP Сервера {SERVERPORT} - Порт сервера {NAME} - Ник игрока {USERID} - USER ID игрока {STEAMID} - SteamID игрока {STEAMID64} - SteamID 64 игрока (id сообщества) {IP} - IP адрес игрока {MAPNAME} - название карты {MAPDISPLAYNAME} - Путь до карты после слеша /
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
103 раза скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Плагин по типу Cron задач, с гибкими настройками. Работает со всеми Source играми. Позволяет создавать различные задачи:
Выполнение системных команд по графику
Выполнение команд в консоль сервера
Выполнение команд игроков
С помощью настроек можно настроить, например, что бы команда sm_slay @all выполнялась каждый месяц в 14:00 , 25го числа.
А какие команды использовать - зависит от ваших потребностей.
Подробнее о том как настроить конфиг (находиться в cfg/cronjobs.txt)
// * * * * * * <тип> <комманда>
// - - - - - - - -
// ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
// ¦ ¦ ¦ ¦ ¦ ¦ ¦ +-- Какую команду задействовать
// ¦ ¦ ¦ ¦ ¦ ¦ +-------- Доступные типы: console (запускает команду в консоль сервера), system (системная команда), player (запускает команду в консоль игрока)
// ¦ ¦ ¦ ¦ ¦ +---------- День недели (0-7, Воскресенье это 0 или 7)
// ¦ ¦ ¦ ¦ +------------ Месяц (1-12)
// ¦ ¦ ¦ +-------------- день (1-31)
// ¦ ¦ +---------------- час (0-23)
// ¦ +------------------ минута (0-59)
// +-------------------- секунды (0-59) - не обязательно,можно вписать 0
//
// Комбинации:
// * = Все дни
// */x = Каждые x секунд/минут/часов/дней/месяцев/дней неделиday
// x-y = От X по Y
// x,y,z = В x, y и z
//
// Пример:
//
// Сервер загружает плагин myplugin каждое 15е число месяца и отгружает 16го числа
// 0 0 15 * * console sm plugins load myplugin
// 0 0 16 * * console sm plugins unload myplugin
//
// Делает бекап сервера каждые 3 часа
// * */3 * * * system tar zcvf backup.tar.gz "/home/user/server"
//
// Каждый игрок пишет: Why am i writing? В заданное время: 15.20, 15.40, 16.20, 16.40, 17.20, 17.40, 20.20 и 20.40
// 20,40 15-17,20 * * player say "Why am i writing ?"
//
// More examples here: http://www.thesitewizard.com/general/set-cron-job.shtml
//
// OR:
//
// @<special> <typ> <command>
// - - -
// ¦ ¦ ¦
// ¦ ¦ +-- The command to execute.
// ¦ +-------- Available types are: console (execute server command), system (execute system command with system2 extension), player (execute on player console)
// +------------------- The special time to execute the command at. Has to start with a @ following the special
//
// Allowed specials: plugin_start, plugin_end, map_start, map_end and every event available in the current game ( see https://wiki.alliedmods.net/Game_Events_(Source) )!
//
// So for example this is valid:
// @player_death player say "Oh! Someone died!"
//
// Just write your Cronjobs below this Line!
Вообще информацию о том как работать с cron задачами вы сможете найти и в интернете. Суть одна и та же.
Для того чтобы запускать системные команды необходимо установить на сервер расширение System2 extension:
47 раз скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Плагин позволяет игрокам передавать друг другу свои деньги для покупки оружия и обмундирования.
Присутствует визуальная составляющая - игроки скидывают модельки денег, которые лежат по карте.
Настройки:
sm_rainingmoney_value 100 - Сколько денег в одной пачке денег
sm_rainingmoney_ground 100 - Максимальное количество пачек денег которые могут быть на карте одновременно
sm_rainingmoney_time 60 - через сколько секунд пачки с деньгами исчезнут с земли
Команда для сброса денег (есть разные варианты написания, но функция у всех одна):
sm_dropmoney
sm_rainingmoney
sm_dm или !dm в чат
sm_rm или !rm в чат
47 раз скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Плагин создает маленьких прикольных призраков после смерти игрока.Призраки подсвечиваются цветом команды.
Настройки:
sm_ghost_time "0.0" - как быстро исчезнет призрак? sm_ghost_warmup "0" - призраки появляются на разминке? sm_ghost_warmup_time "10.0" - как быстро исчезнет призрак на разминке? sm_ghost_team_color "1" - цвет призрака зависит от команды? 0 - случайным образом
Команды:
sm_ghost - отключает призрак у конкретного игрока
sm_ghosts - отключает призраки у всех игроков
161 раз скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Бывает баг когда переменная sv_full_alltalk не срабатывает как надо,даже если в конфигах все прописано правильно.
Плагин исправляет эту ошибку и все игроки смогут слышать друг друга.
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
Плагин взаимодействует с игровыми деньгами (стандартные, за которые покупается оружие и тд), и позволяет покупать различные улучшения.
Список улучшений:
Дигл с 1 пулей
+50 ХП
Декой граната
Взрывная граната
Невидимость
Гравитация
Скорость
Настройки:
eli_gravity default: 0.60 - сколько гравитации получает игрок eli_speed default: 1.2 - сколько скорости получает игрок eli_time_gravity default: 12.0 - сколько длится пониженная гравитация игрока? eli_time_invisibility default: 15.0 - как долго длится невидимость игрока? eli_time_speed default: 10.0 - сколько длится дополнительная скорость игрока?
Настроить предметы для покупки можно в конфиге: addons/sourcemod/configs/mshop/shop_items.cfg
Команда для открытия меню магазина: !shop
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
После смерти игрока, если у него были гранаты - они взрываются.
Но так же можно настроить что если даже у игрока не было гранат - после смерти они все ровно могут выпадать и взрываться у всех игроков.
Настройки:
sm_martyrdom_enabled (default: 1) [bool] (0/1) - включает и отключает плагин sm_martyrdom_always (default: 0) [bool] (0/1) - гранаты появляются и взрываются у всех игроков? sm_martyrdom_consume_grenade (default: 1) [bool] (0/1) - превращать любые гранаты во взрывные?
73 раза скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Легкий и простой плагин: выпавшие гранаты (например, с убитых) лежащие на земле, могут взроваться если в них выстрелить.
Возможно будет работать и в CS:S, но не протестировано.
Плагин позволяет создавать различные партикли (частицы) на сервере.
Позволяет сохранять проделанные изменения.
Видео демонстрация:
Команды:
sm_getposition - показывает позицию админа sm_getaimposition - координаты того места куда смотрит прицел sm_getpos - показывает позицию админа sm_getaimpos - координаты того места куда смотрит прицел sm_getaimentity - показывает информацию о предмете на который направлен прицел sm_editparticles - меню редактирования sm_particleeditor - меню редактирования sm_saveparticles - сохранить все изменения sm_revertparticles - Отменяет все последние изменения sm_revertchanges - Отменяет все последние изменения sm_changename - изменяет название партикля sm_changeeffect - изменяет эффект партикля sm_changeffect - изменяет эффект партикля
44 раза скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Плагин позволяет запустить голосование за следующую карту при смене команд ( в середине матча).Это поможет сделать игрокам более обдуманный выбор.
Лучше чем ситуация когда за пару минут до конца раунда, в разгар боя, вам вылазит менюшка и предлагают выбор.Обычно игроки жмут первую попавшуюся карту.
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
Плагин добавляет новые функции для VIP игроков.
VIP Меню открывается командой !vipmenu
Функции:
Позволяет VIP игрокам возрождаться посреди матча
Игроки могут возрождаться даже если только подключились к серверу
Множество настраиваемых настроек, все в конфиге cfg/sourcemod/kewaii_lib.cfg
Множество других функций..Читайте настройки
Настройки:
kewvip_nofalldamage "1" - включает и отключает урон от падения
kewvip_nofallsound "1" - отключает звук от падения
kewvip_auto_armor "1" - выдает броню при возрождении
kewvip_auto_armorquantity "100" - количество выдаваемой брони
kewvip_auto_helmet "1" - включает шлем при возрождении
kewvip_benefits_max "3" - сколько улучшений одновременно получают VIP игроки
Плагин исправляет проблему, которая зачастую возникает на Surf серверах.
Часто на рампах или ускорителях игрок теряет скорость, замедляется или останавливается.
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
99 раз скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
С помощью чат команды плагин позволяет менять AWP на Scout и обратно. Только для игроков с особым уровнем доступа (ADMFLAG_CUSTOM1 / флаг О)
Хорошо подойдет как дополнение к VIP функциям на снайперских серверах
Команда для замены оружия: !scout или !scawp
При смерти игрока, выпавшее оружие превратится в то, с каким играет весь сервер.
34 раза скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Плагин позволяет отключить реакцию телепортов и триггеров карты на игроков которые летают с помощью noclip.
Бывает очень полезно, например когда админу нужно быстро перенестись в другую точку карты, но он не может спокойно пролететь из за триггеров и телепортов.
Команды:
!blocktp - Отключает реакцию телепортов и триггеров на Noclip !unblocktp - Включает реакцию телепортов и триггеров на Noclip
40 раз скачали
|
0 комментариев
|
Обновлено
|
OriginalShaman
Плагин позволяет игрокам, умерших от рук своих союзников, выбирать какое наказание к ним применить.
Наказания доступные сейчас:
Шлепок
Маяк
Заморозить
Сжечь
Убить
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)
Плагин-фикс исправляющий баг ( game_player_equip) на некоторых зомби картах.
Иногда на картах бывают вшиты специальные перки - например бесконечные патроны.
Иногда они не работают, но данный плагин может помочь исправить это.
Плагин превращающий обычный ДМ в битву супер героев.Чем то похоже на WarCraft мод.
Суть проста: игрок убивает - игрок получает XP - игрок может стать более сильным супергероем.
Разновидностей супергероев много, так же как и их способностей.
Видео плагина:
Список супер героев и их сил:
Anubis - Видит нанесенный и полученный урон Batgirl - Есть крюк чтобы цеплятся за стены (+POWER: Гарпун) Black Panther - Бесшумная ходьба Captain America - Рандомный урон (неуязвимость) Cyclops - Стреляет лазером из глаз Daredevil - Видит игроков на радаре + видит когда они рядом Dracula - Получает ХП за нанесенный урон (вампир) Flash - Очень быстрый бег Grandmaster - Возрождение убитого тиммейта (союзника) Hobgoblin - Повышенный урон от гранат + лечащие гранаты Morpheus - Пониженная гравитация, двойные MP7 + безлимитный патроны Mystique - Превращается в противника + те же способности что и у Morpheus Punisher - Бесконечные патроны без перезарядки Shadowcat - может ходить сквозь стены на котороткое время.Застряв в стене - умирает Spiderman - Стреляет паутиной и может перемещаться с помощью нее Superman - повышенные ХП, больше брони, пониженная гравитация Wolverine - ускорение с ножом, повышенный урон ножа, регенерация ХП Xavier - Определяет шпионов Vash The Stampede - Дигл (Deagle) наносит повышенный урон + убраны рандомные хитбоксы Scorpion - Цепляет гарпуном игрока и подтягивает к себе (+POWER: Get Over Here!) Super Sayian Gohan - Заряжает и стреляет супер шаром ( Kamehameha ) Yadrat - Телепортирует игрока к ближайшему противнику Domino - Наносит повышенный урон тем кто выше по уровню.Чем выше уровень противника - тем больше наносимый урон Penguin - бросает гранату-пингвина которая ищет противника The Tick - Отключен урон от падения Phoenix - Возрождение после смерти Beast - Быстрее флеша, больше хп и брони, пониженная гравитация (Speed/Health/Armor/Gravity) Yoda - отталкивает врагов от себя на большое расстояние Scout - может прыгать высоко и менять направление в прыжке Frogger - может прыгать в длину Invisible Woman - становится невидемым на короткое время Morph - превращение в ящик и возможность слиться с картой Madness - Двойные Sawed-Offs/Дополнительные ХП и Бронь/Повышенный урон от Sawed-Off Rambo - M249/Повышенный урон/Повышенные ХП и Бронь/Дымовые,взрывные и ослепительные гранаты Master Roshi - Защита от флешек + Повышенные ХП,Бронь и скорость Mr. Freeze - Замораживает землю вокруг, все начинают скользить (кроме самого супергероя) Golden Frieza - Выстреливает огромным количеством смертельных лучей
Команды
Админ команды: sm_shsetxp - Установить игроку определенное количество XP sm_shaddxp - Добавить игру очков XP sm_shsetlevel - Установить конкретный уровент игрока sm_shreloadvip - Перезагрузить vipheroes (конфиг VIP героев)
Команды игроков:
sm_help - Информация о всех командах в консоли sm_superherohelp - Описание всех команд в консоли sm_herolist - Список доступных героев sm_playerskills - Показывает у каких игроков какие умения sm_playerpowers - Показывает у каких игроков какие способности sm_playerheroes - Показывает у каких игроков какие герои sm_playerinfo - Показывает информацию об игроках sm_myheroes - Показывает героев которые доступны игроку sm_clearheroes - стирает всех доступных игроку героев sm_clearpowers - стирает все доступные игроку способности sm_clearskills - стирает все доступные игроки умения sm_showmenu - показывает меню с выбором способностей sm_heroes - показывает меню с выбором героев sm_heromenu - показывает меню с выбором героев sm_drophero - удалить героя из своего меню sm_drop - удалить героя из своего меню sm_whohas - показывает у кого есть такой же герой из тех кто сейчас на сервере sm_buyxp - покупка XP
superheromod.inc - для разработчиков
#define SH_PREFIX " \x09[\x04SuperHero\x09]"
// Max levels that can be loaded from the superhero.ini
#define SH_MAXLEVELS 100
// Max Amount of heroes that can be loaded
#define SH_MAXHEROES 100
// Potential of power1-power9 but limited by sh_maxbinds (3 default)
#define SH_MAXBINDPOWERS 9
// The max length of a hero name
#define SH_HERO_NAME_SIZE 32
// The max string length of a hero power description
#define SH_SUPERPOWER_SIZE 32
// The max string length of a hero help dscription
#define SH_HELP_SIZE 128
// InitializeHero(id, heroID, mode) modes
#define SH_HERO_DROP 0 //Hero is dropped
#define SH_HERO_ADD 1 //Hero is added
#define SH_DEFAULT_SPEED 1.0
#define SH_DEFAULT_GRAVITY 1.0
#define SH_MEMORY_TABLE_SIZE 64
#define SH_UBYTE_MAX 255
#define SH_KEYDOWN 1
#define SH_KEYUP 0
#define SH_DEFAULT_MODEL_T "models/player/custom_player/legacy/tm_phoenix.mdl"
#define SH_DEFAULT_MODEL_CT "models/player/custom_player/legacy/ctm_st6.mdl"
enum CSGOWeaponID
{
CSGOWeaponID_NONE = 0,
CSGOWeaponID_DEAGLE,
CSGOWeaponID_REVOLVER,
CSGOWeaponID_ELITE,
CSGOWeaponID_FIVESEVEN,
CSGOWeaponID_GLOCK,
CSGOWeaponID_AK47,
CSGOWeaponID_AUG,
CSGOWeaponID_AWP,
CSGOWeaponID_FAMAS,
CSGOWeaponID_G3SG1,
CSGOWeaponID_GALILAR,
CSGOWeaponID_M249,
CSGOWeaponID_M4A1,
CSGOWeaponID_M4A1SILENCER,
CSGOWeaponID_MAC10,
CSGOWeaponID_P90,
CSGOWeaponID_UMP45,
CSGOWeaponID_XM1014,
CSGOWeaponID_BIZON,
CSGOWeaponID_MAG7,
CSGOWeaponID_NEGEV,
CSGOWeaponID_SAWEDOFF,
CSGOWeaponID_TEC9,
CSGOWeaponID_TASER,
CSGOWeaponID_HKP2000,
CSGOWeaponID_USPSILENCER,
CSGOWeaponID_MP7,
CSGOWeaponID_MP9,
CSGOWeaponID_NOVA,
CSGOWeaponID_P250,
CSGOWeaponID_CZ75A,
CSGOWeaponID_SCAR20,
CSGOWeaponID_SG556,
CSGOWeaponID_SSG08,
CSGOWeaponID_KNIFE,
CSGOWeaponID_FLASHBANG,
CSGOWeaponID_SMOKEGRENADE,
CSGOWeaponID_HEGRENADE,
CSGOWeaponID_MOLOTOV,
CSGOWeaponID_DECOY,
CSGOWeaponID_INCGRENADE,
CSGOWeaponID_C4,
CSGOWeaponID_HEALTHSHOT,
}
enum HeroEnum
{
String:szHero[SH_HERO_NAME_SIZE],
String:szSuperPower[SH_SUPERPOWER_SIZE],
String:szHelp[SH_HELP_SIZE],
bool:requiresBind,
availableLevel,
}
enum //PlayerData
{
SH_DATA_PLAYER = 0,
SH_DATA_HEROES,
SH_DATA_MAX,
}
//NATIVES
// REQUIRED
// Creates your hero
// Call this on pluginstart
// param1: the name of your hero
// param2: the level you want your hero to be
// return: heroIndex
native int SuperHero_CreateHero(char[] hero, int minlevel);
// REQUIRED
// Set some required info of your hero
// Call this on plugin start
// param1: the heroindex you wanna set info on
// param2: very short power description
// param3: longer power description
native void SuperHero_SetHeroInfo(int heroIndex, char[] superpower, char[] help);
// REQUIRED If you wanna give your hero a primary weapon and have multiple heroes that gives primary weapons, just use it for safety
// Sets the heros primary weapon in a variable to determine what primary weapon to give the player if he has multiple heroes that gives primary weapons
// param1: heroindex that spawns a weapon
// param2: weaponid (CTRL + F: CSGOWeaponID in superheromod.inc (this file)). You can pass the enum into the parameter by using e.g: view_as<int>(CSGOWeaponID_AK47)
native void SuperHero_SetHeroPrimaryWeapon(int heroIndex, int weaponid);
// REQUIRED If you wanna give your hero a secondary weapon and have multiple heroes that gives secondary weapons, just use it for safety
// Sets the heros secondary weapon in a variable to determine what secondary weapon to give the player if he has multiple heroes that gives secondary weapons
// param1: heroindex that spawns a weapon
// param2: weaponid (CTRL + F: CSGOWeaponID in superheromod.inc (this file)). You can pass the enum into the parameter by using e.g: view_as<int>(CSGOWeaponID_AK47)
native void SuperHero_SetHeroSecondaryWeapon(int heroIndex, int weaponid);
// REQUIRED If your hero has a player model
// Sets the heros player model
// param1: heroindex to set player model
// param2: model path
// Extra: THIS FUNCTION DOES NOT PRECACHE/ADDFILETODOWNLOADSTABLE
native void SuperHero_SetHeroPlayerModel(int heroindex, const char[] model);
// Adds a bind to your hero (+POWER[heroindex])
// param1: the hero you want to have a bind
native void SuperHero_SetHeroBind(int heroIndex);
// Sets your heros max health
// param1: the heroindex you wanna set max health on
// param2: amount of health
native void SuperHero_SetHeroHealth(int heroIndex, int health);
// Sets your heros max armor
// param1: the heroindex you wanna set max armor on
// param2: amount of armor
native void SuperHero_SetHeroArmor(int heroIndex, int armor);
// Sets your heros max speed
// param1: the heroindex you wanna set max speed on
// param2: amount of speed
// param3: the weapons you want to set speed on (leave empty if you want the speed affect all weapons)
// param4: the number of weapons you're setting speed on
native void SuperHero_SetHeroSpeed(int heroIndex, float speed, int weapons[42] = {0}, int numberofweapons = 0);
// Sets your heros gravity
// param1: the hero index you wanna set gravity on
// param2: amount of gravity (1.0 is default, 0.0 is never fall down)
native void SuperHero_SetHeroGravity(int heroIndex, float gravity);
// Sets a damage multiplier on a hero wepaon
// param1: the hero index you wanna set damage multiplier on
// param2: amount of multiplied damage (2.0 is double the damage)
// param3: weaponid (CTRL + F: CSGOWeaponID in superheromod.inc (this file)). You can pass the enum into the parameter by using e.g: view_as<int>(CSGOWeaponID_AK47)
native void SuperHero_SetHeroDamageMultiplier(int heroIndex, float dmgmult, int weaponid);
// Gets the players max health (from all of his heroes together)
// param1: player you wanna get max health from
// return: player max health
native int SuperHero_GetMaxHealth(int client);
// Gets the players max armor (from all of his heroes together)
// param1: player you wanna get max armor from
// return: player max armor
native int SuperHero_GetMaxArmor(int client);
// Gets the players max speed (from all of his heroes together, or max speed for a weapon if weaponid > CSGOWeaponID_NONE)
// param1: player you wanna get speed from
// param2: what weapon id you wanna get max speed from (CSGOWeaponID_NONE for no specific weapon)
// param3: float buffer to store the result speed
native void SuperHero_GetMaxSpeed(int client, int weaponid, float& resultspeed);
// Gets the players lowest gravity (from all of his heroes together)
// param1: player you wanna get lowest gravity from
// param2: float buffer to store the result gravity
native void SuperHero_GetGravity(int client, float& resultgravity);
// Gets the amount of levels that are loaded by configs/superhero.ini
// return: max levels
native int SuperHero_GetLevelCount();
// Gets the amount of experience the level requires from previous level
// param1: the level you want to get experience from
// return: amount of experience
native int SuperHero_GetLevelExperience(int level);
// Gets the players level
// param1: player you wanna get level from
// return: player level
native int SuperHero_GetPlayerLevel(int client);
// Sets the players level
// param1: player you wanna set level on
// param2: level you wanna set the client
// return: the level set (-1 if fail)
native int SuperHero_SetPlayerLevel(int client, int setlevel);
// Gets the players experience
// param1: player you wanna get experience from
// return: amount of experience
native int SuperHero_GetPlayerExperience(int client);
// Sets the players experience
// param1: player you wanna set experience on
// param2: amount of experience
// return: the experience set (-1 if fail)
native int SuperHero_SetPlayerExperience(int client, int setexperience);
// Adds experience to client (xp is based on victims level)
// param1: player you wanna add xp to
// param2: player you want players xp to base off
native void SuperHero_AddKillExperience(int client, int victim);
// Gets the hero index of a hero name
// param1: named hero to get hero index of
// return: hero index
native int SuperHero_GetHeroIndex(const char[] hero);
// Does the player have this hero?
// param1: player to check
// param2: heroindex to check
// return: true if player has hero, false if not
native bool SuperHero_PlayerHasHero(int client, int heroIndex);
// Set player stun (Make him walk slower and not be able to use power binds)
// param1: player to stun
// param2: duration of the stun
// param3: the amount of speed the player should get when stunned
native void SuperHero_SetStun(int client, float duration, float speed);
// Get the amount of stun time left
// param1: player to get stun time off
// return: time in seconds left of stun
native int SuperHero_GetStun(int client);
// Set godmode on player
// param1: player to set godmode on
// param2: duration of the godmode
native void SuperHero_SetGodMode(int client, float duration);
// Does player have godmode?
// param1: player to check
// return: true if player has godmode, false if not
native bool SuperHero_IsGodMode(int client);
// Reset the players speed to his max hero speed
// param1: player to reset speed on
native void SuperHero_ResetMaxSpeed(int client);
// Reset the players gravity to his min hero gravity
// param1: player to reset gravity on
native void SuperHero_ResetGravity(int client);
// Set the cooldown of a hero (power or anything really)
// param1: player to set cooldown on
// param2: hero to set cooldown on
// param3: duration of the cooldown
native void SuperHero_SetPlayerHeroCooldown(int client, int heroIndex, float time);
// End the cooldown of a hero
// param1: player to end cooldown on
// param2: heroindex to end cooldown on
native void SuperHero_EndPlayerHeroCooldown(int client, int heroIndex);
// Is the players hero in cooldown?
// param1: player to check
// param2: heroindex to check
// return: returns true if players hero is in cooldown, false if not
native bool SuperHero_IsPlayerHeroInCooldown(int client, int heroIndex);
// Force set the players hero cooldown
// param1: player to force cooldown on
// param2: heroindex to force cooldown on
// param3: value (true or false)
native void SuperHero_ForceSetPlayerHeroCooldown(int client, int heroIndex, bool value);
// Add health to player (This function already checks if health exceeds max health)
// param1: player to add health to
// param2: amount of health
// return: the amount of real health added (0 if health was not changed, -1 if invalid client)
native int SuperHero_AddHealth(int client, int health);
// Add armor to player (This function already checks if armor exceeds max armor)
// param1: player to add armor to
// param2: amount of armor
// return: the amount of real armor added (0 if armor was not changed, -1 if invalid client)
native int SuperHero_AddArmor(int client, int armor);
// Play deny sound to player (Used for power cooldowns and stuns)
// param1: player to play deny sound to
native void SuperHero_PlayDenySound(int client);
// Set the bool that checks if players speed should be changed on weapon speed (Had to be made for shadowcat superhero)
// param1: player to set bool
// param2: value to set
native void SuperHero_SetChangeWeaponSpeedBool(int client, bool value);
// Gets the weaponid of the players highest leveled hero that gives a primary weapon
// param1: player to get highest primary weapon level
// return: casted CSGOWeaponID weapon id
native int SuperHero_GetHighestPrimaryWeaponLevel(int client);
// Gets the weaponid of the players highest leveled hero that gives a secondary weapon
// param1: player to get highest primary weapon level
// return: casted CSGOWeaponID weapon id
native int SuperHero_GetHighestSecondaryWeaponLevel(int client);
// Gets the players highest level hero
// param1: player to get highest level hero
// return: highest level
native int SuperHero_GetHighestLevelHero(int client);
// Gets the heros player model
// param1: heroindex to get player model from
// param2: buffer to store the player model
// param3: size of the buffer
native void SuperHero_GetHeroPlayerModel(int heroindex, char[] szbuffer, int maxlen);
// Does the hero have a player model?
// param1: heroindex to check
// return: true if hero has a player model, false if not
native bool SuperHero_HeroHasPlayerModel(int heroindex);
// Gets the players final player model if he has multiple heroes that changes his player model (Model picked is determined by highest level)
// param1: player to get highest level model
// param2: buffer to store the model path
// param3: size of the buffer
// return: heroindex (-1 on failure)
// Extra info: Model is automatically set from superheromod.sp on Event_PlayerSpawn aslong as SuperHero_SetHeroPlayerModel is called on your superhero
native int SuperHero_GetHighestPlayerModelLevel(int client, char[] szbuffer, int maxlen);
// Sets the heros available level (Use this in OnConfigsExecuted forward since AutoExecConfig requires more than 1 frame to execute)
// param1: heroindex to set level on
// param2: the level to set
native void SuperHero_SetHeroAvailableLevel(int heroIndex, int level);
//FORWARDS
// This is called when a players hero is initialized (e.g playerspawn or when player picks a new hero). Its used to set info like if the player has this hero and what not
// param1: player that initializes a hero
// param2: heroindex that was initialized
// param3: 1 (SH_HERO_ADD) if hero was added, 0 (SH_HERO_DROP) if hero was dropped/removed
forward void SuperHero_OnHeroInitialized(int client, int heroIndex, int mode);
// This is called on player_spawn event
// param1: player that spawned
// param2: was it a new round spawn or mid round spawn?
forward void SuperHero_OnPlayerSpawned(int client, bool newroundspawn);
// This is called when player dies
// param1: player that died
// param2: player that killed
// param3: was it a headshot?
forward void SuperHero_OnPlayerDeath(int victim, int attacker, bool headshot);
// This is called when a player presses a power key
// param1: player that pressed power key
// param2: heroindex that pressed power key
// param3: 1 (SH_KEYDOWN) if pressed, 0 (SH_KEYUP) if released
forward void SuperHero_OnHeroBind(int client, int heroIndex, int key);
// This is called when a player takes damage
// param1: player that takes damage
// param2: player that attacks
// param3: entity that inflicted the damage (I have no idea tbh, see more in some sdkhooks docs)
// param4: amount of damage the attacker did
// param5: what damagetype (e.g DMG_BLAST for grenade)
// param6: weapon entity index that did damage
// param7: damage force vector
// param8: damage position vector
// Extra: this forward is called on SDKHook_OnTakeDamage in superheromod.sp and if this is called, it will always return plugin_changed
forward void SuperHero_OnPlayerTakeDamage(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &weapon, float damageForce[3], float damagePosition[3]);
// This is called after a player took damage
// param1: player that takes damage
// param2: player that attacks
// param3: damage type
// param4: weapon entity index that damaged player
// param5: amount of damage taken
// param6: amount of armor taken
// Extra: this forward is created for the sole purpose of getting proper health/armor damage taken (Useful for superhero anubis or dracula)
forward void SuperHero_OnPlayerTakeDamagePost(int victim, int attacker, int damagetype, int weapon, int damagetaken, int armortaken);
// This is called after a players data is loaded (XP, Levels, heroes)
// param1: player the data is loaded for
forward void SuperHero_OnPlayerDataLoaded(int client);
//Converts a weapon class named to CSGOWeaponID enum
stock CSGOWeaponID WeaponClassNameToCSWeaponID(char[] classname)
{
if(StrEqual(classname, "weapon_deagle")) return CSGOWeaponID_DEAGLE;
else if(StrEqual(classname, "weapon_revolver")) return CSGOWeaponID_REVOLVER;
else if(StrEqual(classname, "weapon_elite")) return CSGOWeaponID_ELITE;
else if(StrEqual(classname, "weapon_fiveseven")) return CSGOWeaponID_FIVESEVEN;
else if(StrEqual(classname, "weapon_glock")) return CSGOWeaponID_GLOCK;
else if(StrEqual(classname, "weapon_ak47")) return CSGOWeaponID_AK47;
else if(StrEqual(classname, "weapon_aug")) return CSGOWeaponID_AUG;
else if(StrEqual(classname, "weapon_awp")) return CSGOWeaponID_AWP;
else if(StrEqual(classname, "weapon_famas")) return CSGOWeaponID_FAMAS;
else if(StrEqual(classname, "weapon_g3sg1")) return CSGOWeaponID_G3SG1;
else if(StrEqual(classname, "weapon_galilar")) return CSGOWeaponID_GALILAR;
else if(StrEqual(classname, "weapon_m249")) return CSGOWeaponID_M249;
else if(StrEqual(classname, "weapon_m4a1")) return CSGOWeaponID_M4A1;
else if(StrEqual(classname, "weapon_mac10")) return CSGOWeaponID_MAC10;
else if(StrEqual(classname, "weapon_p90")) return CSGOWeaponID_P90;
else if(StrEqual(classname, "weapon_ump45")) return CSGOWeaponID_UMP45;
else if(StrEqual(classname, "weapon_xm1014")) return CSGOWeaponID_XM1014;
else if(StrEqual(classname, "weapon_bizon")) return CSGOWeaponID_BIZON;
else if(StrEqual(classname, "weapon_mag7")) return CSGOWeaponID_MAG7;
else if(StrEqual(classname, "weapon_negev")) return CSGOWeaponID_NEGEV;
else if(StrEqual(classname, "weapon_sawedoff")) return CSGOWeaponID_SAWEDOFF;
else if(StrEqual(classname, "weapon_tec9")) return CSGOWeaponID_TEC9;
else if(StrEqual(classname, "weapon_taser")) return CSGOWeaponID_TASER;
else if(StrEqual(classname, "weapon_hkp2000")) return CSGOWeaponID_HKP2000;
else if(StrEqual(classname, "weapon_mp7")) return CSGOWeaponID_MP7;
else if(StrEqual(classname, "weapon_mp9")) return CSGOWeaponID_MP9;
else if(StrEqual(classname, "weapon_nova")) return CSGOWeaponID_NOVA;
else if(StrEqual(classname, "weapon_p250")) return CSGOWeaponID_P250;
else if(StrEqual(classname, "weapon_scar20")) return CSGOWeaponID_SCAR20;
else if(StrEqual(classname, "weapon_sg556")) return CSGOWeaponID_SG556;
else if(StrEqual(classname, "weapon_ssg08")) return CSGOWeaponID_SSG08;
else if(StrContains(classname, "knife") != -1 || StrContains(classname, "bayonet") != -1) return CSGOWeaponID_KNIFE; //NO:GO
else if(StrEqual(classname, "weapon_flashbang")) return CSGOWeaponID_FLASHBANG;
else if(StrEqual(classname, "weapon_smokegrenade")) return CSGOWeaponID_SMOKEGRENADE;
else if(StrEqual(classname, "weapon_hegrenade")) return CSGOWeaponID_HEGRENADE;
else if(StrEqual(classname, "weapon_molotov")) return CSGOWeaponID_MOLOTOV;
else if(StrEqual(classname, "weapon_decoy")) return CSGOWeaponID_DECOY;
else if(StrEqual(classname, "weapon_incgrenade")) return CSGOWeaponID_INCGRENADE;
else if(StrEqual(classname, "weapon_c4")) return CSGOWeaponID_C4;
else if(StrEqual(classname, "weapon_m4a1_silencer")) return CSGOWeaponID_M4A1SILENCER;
else if(StrEqual(classname, "weapon_usp_silencer")) return CSGOWeaponID_USPSILENCER;
else if(StrEqual(classname, "weapon_cz75a")) return CSGOWeaponID_CZ75A;
else if(StrEqual(classname, "weapon_revolver")) return CSGOWeaponID_REVOLVER;
else if(StrEqual(classname, "weapon_healthshot")) return CSGOWeaponID_HEALTHSHOT;
else return CSGOWeaponID_NONE;
}
stock bool IsGameLive()
{
if(GameRules_GetProp("m_bWarmupPeriod") == 0 && GameRules_GetProp("m_bFreezePeriod") == 0)
return true;
return false;
}
stock bool IsFreezeTime()
{
if(GameRules_GetProp("m_bFreezePeriod"))
return true;
return false;
}
stock int clamp(int value, int min, int max)
{
if(value > max)
return max;
if(value < min)
return min;
return value;
}
stock float floatclamp(float value, float minf, float maxf)
{
if(value > maxf)
return maxf;
if(value < minf)
return minf;
return value;
}
stock int max(int x, int y)
{
return x >= y ? x : y;
}
stock int min(int x, int y)
{
return x <= y ? x : y;
}
stock float floatmax(float x, float y)
{
return x >= y ? x : y;
}
stock float floatmin(float x, float y)
{
return x <= y ? x : y;
}
// strip all weapons
stock void StripWeapons(int client, bool knife = true)
{
int weapon;
for(int i = 0; i < 5; i++)
{
if((weapon = GetPlayerWeaponSlot(client, i)) != -1)
{
SDKHooks_DropWeapon(client, weapon, NULL_VECTOR, NULL_VECTOR);
AcceptEntityInput(weapon, "Kill");
}
}
if(!knife)
GivePlayerItem(client, "weapon_knife");
}
// Is the player in game?
stock bool IsValidClient(int client)
{
if(client > 0 && client <= MaxClients && IsClientInGame(client))
return true;
return false;
}
// Strip players primary weapon
stock void StripPrimary(int client)
{
int weapon;
if((weapon = GetPlayerWeaponSlot(client, CS_SLOT_PRIMARY)) != -1)
{
SDKHooks_DropWeapon(client, weapon, NULL_VECTOR, NULL_VECTOR);
AcceptEntityInput(weapon, "Kill");
}
}
// Strip players secondary weapon
stock void StripSecondary(int client)
{
int weapon;
if((weapon = GetPlayerWeaponSlot(client, CS_SLOT_SECONDARY)) != -1)
{
SDKHooks_DropWeapon(client, weapon, NULL_VECTOR, NULL_VECTOR);
AcceptEntityInput(weapon, "Kill");
}
}
Установка:
Раскидать файлы по папкам (.smx в plugins, .cfg в configs и так далее)