Контент Mr_Swag - Моддинг Игр и Серверов Перейти к содержанию
Гость

Mr_Swag

Пользователи
  • Постов

    1 288
  • Зарегистрирован

  • Посещение

Файлы, опубликованные Mr_Swag

  1. Сборка [TRUEZON| Deathrun] (Новая долина) v5 (Final)


    ФАЙЛ ПОМЕЧЕН КАК ПОДОЗРИТЕЛЬНЫЙ - СКАЧАТЬ ЕГО НЕЛЬЗЯ. ОПИСАНИЕ СОХРАНЕНО ДЛЯ АРХИВА.
     
    TRUEZON| Deathrun - приватная сборка сервера DR , в сборке большое количество уникальных плагинов причем с исходниками , так же сборка без багов и полностью рабочая и отсутствуют какие либо уязвимости.
    Содержимое:
    Сам мод (Переписанный).
    - Лохотрон
    - Авто-банихоп с возможностью Вкл/Выкл. У Админов ускорение.
    - Все не стандартные плагины, проходили фильтр. Переписывались не раз.
    - Различные красивые модели. А так же и другие плагины...
    На этом кс сервера стоит хорошая защита и даже читы для кс не смогу помешать игре
    Режимы:
    - Кнопки (Стандартный режим).
    - Снежки.
    - Гонка на Выживание.
    - Зомби. (Обновление: Добавлена темна-красная Аура/Атмосфера, доведено до совершенства, подробнее в видео).
    - Шпион. (Террорист не видем, он появляется на КТ базе, с ножем. И % соотношением здоровья от КТ).
    - Тьма. (У КТ фонарик, на карте полная темнота, Т разрешено нажимать на кнопки).
    - Призрак. (Т невидем, из оружия только нож).
    - В сборку не входит меню на F2. В прочем не столь важно.
    - В сборке присутствуют Исходники всех нестандартных плагинов.
    Добавлено:
    - Добавлена возможность выбора Ножа с функцией.
    - Добавлено Меню Террориста с выбором Рас.
    - Добавлено 7 Режимов.
    - Добавлена в Магазин, услуга "Король долины".
    - Добавлена в Магазин и Хранилище Душ услуга "Снять деньги с Банка".
    - Добавлена функция выбора Команды, очень удобная и хорошо профиксеная.
    - Новая (переписанная нами) версия Colored-translit. Все баги закрыты, добавлена приставка VIP + Функции вип. Настройка Флагов в конфиге.
    - Добавлена Система дуэлей + Ставки v4.5. Русифицирована.
    - Улучшения карт. Убраны некоторые элементы на картах, заблокированы запрещенные места на картах.
    Квары, полной настройки функции в amxx.cfg

    118 раз скачали  |  | Обновлено  | Mr_Swag в Готовые сервера


  2. SDK для CS:GO (Создание карт)


    ФАЙЛ ПОМЕЧЕН КАК ПОДОЗРИТЕЛЬНЫЙ - СКАЧАТЬ ЕГО НЕЛЬЗЯ. ОПИСАНИЕ СОХРАНЕНО ДЛЯ АРХИВА.
    Данная программа даст вам возможность создавать новые карты для игры. Она проста в использовании поэтому вам будет легко разобраться с настройками. SDK имеет много новых функций с помощью которых можно создавать более реалистичные текстуры карт. Вы сможете создавать карты на любой вкус!
    Установка:
    1. Извлечь все файлы из скаченного архива в папку с игрой.
    2. Запустить файл который находится в steamapps\Common\Counter-Strike Global Offensive\SDKLauncher из директории вашей игры.

    140 раз скачали  |  | Обновлено  | Mr_Swag в Разное


  3. [CS:GO]Дополнения к Jailbreak / SkylerJailAddons 1.42


    Плагин добавляет дополнительные функции на ваш Jailbreak/Jailmod сервер.
    Позволяет админам разнообразить геймплей и проще контролировать игровой процесс.
     
    Команды:
    sm_givelr - выдает "Последнее Желание" убитому террористу
    sm_medic - оповещение  в чате о статусе Медика
    sm_pvp - открывает меню плагина
    sm_box - открывает меню плагина
    sm_deagle - Выдает ВСЕМ террористам ПУСТОЙ дигл (deagle)

    Настройки:
    sm_setmutetime "30.0" - сколько секунд после начала раунда, у террористов будет отключен микрофон?
    sm_setmedictime "5.0" - интервал использования команды !medic

    91 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  4. [CS:GO] Новые гранаты / Grenade Modes [Nademodes] 1.1.0


    Sourcemod плагин для CS:GO, добавляющий новые моды/режимы гранат на сервер.
     
    Видео:
     
     
    На данный момент у гранат есть 4 режима:
    Классические гранаты Контактные,мины (взрываются от прикосновения) С датчиком движения (взрываются когда враг рядом,но не задел гранату) Мины-растяжки (взрываются когда игрок пересекает линию,лазер)  
    Игрок может выбрать какой тип гранаты использовать, нажав кнопку F (+lookatweapon , осмотр оружия).Этот процесс показан на видео выше.
    Цветовые эффекты гранат (цвет лазера, маяков и тд) зависит от команды игрока.Вражеские гранаты будут в красном цвете, союзнические - в синем.Это по стандартным значениям.Через настройки все можно изменить на свои цвета.
     
    Настройки:
    "sm_grenade_modes_enable" - включает и отключает плагин
    "sm_grenade_modes_self_color" - Цвет гранат игрока
    "sm_grenade_modes_teammate_color" - Цвет гранат союзников
    "sm_grenade_modes_enemy_color" - Цвета противников
    "sm_grenade_modes_proximity_powerup_time" - Время установки гранаты с датчиком движения
    "sm_grenade_modes_tripwire_powerup_time" - Время установки мины-растяжки
     
    Установка:
    Раскидать файлы по папкам (.smx в addons/sourcemod/plugins, .cfg в configs и так далее)

    1 449 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  5. [CS:GO] Ставки на хедшоты / Headshot Gamblers beta


    Плагин добавляет в игру ставки на то сколько игроков будет убито хедшотами за раунд - для любителей азартных игр.
    Плагин простой, с новым синтаксисом.
     
    Использование:
    Игрок должен прописать в консоли apo_hg_menu или нажать кнопку Delete  В появившемся меню нужно выбрать сумму ставки и сколько по мнению игроку будет убито игроков в голову В конце раунда игрок либо заработает либо проиграет ставку  
    Настройки:
    apo_hg_primary_control - сколько игроков должно быть на сервере что бы плагин заработал

    apo_hg_communication_control - живые игроки видят сообщения мертвых и наблюдателей?

    33 раза скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  6. [CS:GO]Расширенный Resetscore / Advanced ResetScore 1.0.1


    Расширенная и улучшенная версия плагина Resetscore (обнуления счета).Позволяет Вам настроить сообщения плагина в чат,цвет сообщений и т.д
     
    Команды:
    !rs , /rs или !resetscore - команда для игроков,обнуляет счет игрока
    !setscore <никнейм или #userid> <убийства> <смерти> <помощь> <mvp> <очки> - админская команда,позволяет задать статистику игроку
     
    Для работы плагина необходимо установить (если не установлен) Chat-Processor:
     
    Цвета которые можно использовать для настройки плагина:
    {default}
    {darkred}
    {green}
    {lightgreen}
    {red}
    {blue}
    {olive}
    {lime}
    {lightred}
    {purple}
    {grey}
    {orange}
     
    Настройки:
    sm_ars_adminflag "b" - админский флаг доступа
    sm_ars_alive "0" - кому разрешить обнулять счет?  1 - живым игрокам, 0 - мертвым + живым
    sm_ars_mvp "0" - включить обнуление очков MVP?
    sm_ars_score "0" - включить обнуление ОЧКОВ игрока (Не фрагов)?
    sm_ars_tag "{darkred}[SM]{default}" - чат-тег префикс плагина
    sm_ars_vip "0" - разрешить плагин только VIP игрокам?
    sm_ars_vipflag "a" - какой флаг у VIP игроков?

    318 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  7. [CS:GO][Jailbreak][Банды] Пожертвования кредитами / Credits Donation 1.2


    Плагин является дополнением к дополнению. Вот так.
    Позволяет игрокам жертвовать друг другу деньги. Можно настроить процент налогов и тд.
     
    Для работы плагина требуется Jailbreak Gangs:
     
    В качестве валюты (Кредитов) используется денежная система расчетов от основы - Jailbreak Gangs.
     
    Команда одна: 
    sm_donatecredits <ник или UserID игрока> <сумма перевода> - переводит конкретную сумму выбранному игроку
     
    Настройки:
    credits_donation_min_amount- минимальная сумма пожертвования
    credits_donation_max_amount   - максимальная сумма пожертвования (  0 = безгранично)
    credits_donation_fee - Процент налогов с пожертвования
    credits_donation_fee_subtract  - Кто платит налоги? 1 = получатель, 0 = тот кто жертвует
     

    71 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в Jail/Jailbreak


  8. [CS:GO] Секундомер / StopWatches 1.0.0


    Плагин позволяет добавить на сервер секундомер. Прописав команду появляется таймер в HUD.
    Пригодиться для разных целей, для ивентов на Roleplay серверах и тд.
     
    Команда одна: 
    sm_stopwatches - запускает и останавливает секундомер
     
    Настроек никаких нет, да и они не нужны.

    34 раза скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  9. [CS:GO/CS:S][Store] Кредиты за действия / Credits for Specified Events! 1.17


    Плагин дополнение для Zephyrus Store. Подходит как и для CS:GO, так и для CS:S.
    Позволяет выдавать кредитные бонусы за различные ивенты: Хедшоты, убийство с : ножа, Тайзером (Шокером), гранатой и так далее.
     
    Обязательно должен быть установлено ядро, Zephstore:
     
    Настройки:

    sm_cse_chatmsg "1" - отображать системные сообщения плагина в чат?

    sm_cse_assistsamount "3" - количество кредитов выдаваемых за помощь в убйстве

    sm_cse_backstabamount "3" - кредиты за убийство с ножа в спину

    sm_cse_decoyamount "50" - кредиты за убийство игрока с помощью фейковой (декой) гранаты

    sm_cse_defuseamount "3" - количество бонусов за обезвреживание C4

    sm_cse_flashamount "50" - кредиты за убийство флешкой

    sm_cse_hegrenadeamount "3" - кредиты за убийство разрывной гранатой

    sm_cse_hsamount "3"  - кредиты за убийство в голову

    sm_cse_knifeamount "10" - кредиты за убийства ножом

    sm_cse_molotovamount "5" - кредиты за убийство с помощью коктейля молотова/зажигательной гранаты

    sm_cse_mvpamount "5" - кредиты за "Самый ценный игрок раунда" (MVP)

    sm_cse_plantamount "3" - кредиты за установку C4

    sm_cse_smokeamount "50" - количество кредитов за убийство с помощью дымовой гранаты

    sm_cse_taseramount "10" - кредиты за убийство с помощью шокера / тайзера

    sm_cse_winneramount "3" - количество кредитов за победу в раунде

    277 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в Zephyrus Store


  10. [CS:GO/CS:S][Store]Кредиты за NoZoom убийство / Noscope Credits! 1.3


    Плагин-дополнение для Zephyrus Store CS:GO и CS:S. Позволяет выдавать игрокам бонусные кредиты за убийство без прицеливания (noscope,nozoom)
     
    Обязательно должен быть установлен Zephyrus Store:
     
     
    Настройки:
    sm_ns_chatmsg "1" - выводить сообщения о работе плагина в чат?
    sm_ns_noscope_above15mtrs "60" - сколько кредитов выдавать за убийство более чем с 15 метров?
    sm_ns_noscope_below15mtrs "30" - сколько кредитов выдавать за убийство ближе 15 метров?
    sm_ns_noscopeweapon "3" - защитывать  убийство без прицела с какого оружия? 1 = awp , 2 = scout , 3 = оба

    63 раза скачали  | 0 комментариев  | Обновлено  | Mr_Swag в Zephyrus Store


  11. [CS:GO] Рандомайзер оружия на карте / Map Weapon Randomizer 1.0.0


    Плагин заменяет все оружие на карте (вшитое в карту) на другое,рандомное.То же самое касается и гранат.
    Оружие будет меняться каждый раунд.
     
    Настройки:
    mwr_randomize_every_round 0   - Менять оружие каждый раунд, или только при смене карты?
    mwr_snap_spawn_angles 1    -   Поворачивать оружие на 90 градусов после создания. Просто что бы было красивее. Действует только при рестарте карты.
    mwr_debug 0        - Дебаг режим в консоли

    78 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  12. [CS:GO][Jailbreak] Обыск заключенного / ENT-BodySearch 2016 ver


    Плагин-дополнение к Jailbreak/jailmod, позволяет контрам (охранникам) проводить обыск террористов (заключенных) на предмет наличия огнестрельного оружия.
    Особенно будет полезен на серверах где используются нестандартные модели игроков, т.к на нестандартных моделях бывает не видно гранат и пистолетов.
    В последней версии (от 2016 года) обыск можно проводить просто зажав кнопку E (действие) на  игроке
     
    Видео:
     
    Команды и настройки:
    sm_bs_enabled - Включен ли плагин
    sm_bs_radius - Радиус действия Обыска
    !bodysearch или !bs - проводит обыск игрока  * ЭТА КОМАНДА АКТУАЛЬНА ТОЛЬКО ДЛЯ СТАРОЙ ВЕРСИИ.
     

    37 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в Jail/Jailbreak


  13. [CS:GO] Рандомное создавание предметов / Entity Spawner 1.0.1


    Плагин позволяет рандомно создавать вещи на карте (оружие,пропы и тд).
    Хорошо подойдет  для Zombie  или TTT сервера в CS:GO
     
    Для работы этого плагина потребуется основа:
     
    Команды:
    sm_esspawn - Создает предметы на карте 
    sm_esclear - Удаляет все предметы на карте,которые были созданы этим плагином
    sm_esreload - Перезагружает entities.cfg 
     
    Настройки:
    entityspawner_nav_areas_required - сколько должно быть NavArea на карте, чтобы создавать предметы
    entityspawner_spawn_limit - лимит ентитей, после которого плагин прекращает создавать новые
     
    Видео:
    Пример конфига предметов для создания:
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// // INFO // // The config is read from top to bottom, so maps put further up // the config will be prioritized // // Example: // - de_dust2 // - de_ // // If the map is dust2, the spawns for that section will be read. // If the map is nuke, the spawns for "de_" section will be read. // // MAP KEYS: // "spawnroundstart" "<number>" - 0 will disable entity spawning on round start // - 1 will enable entity spawning on round start // // "maxroundspawns" "<number>" - Amount of rounds entities will spawn // - 0 will spawn entities every round // // "spawninterval" "<number>" - Amount of seconds until entities should spawn again // - 0 will disable // // "resettimer" "<0/1>" - Should the spawn timer be reset on round start or transfer over rounds // // // ENTITY KEYS: // "classname" "<string>" - The classname of the entity you want to spawn // - List of CSGO specific entities can be found here: [url]https://developer.valvesoftware.com/wiki/List_of_Counter-Strike:_Global_Offensive_Entities[/url] // // "keyvalue<number>" "<key> <value>" - Enter a keyvalue for a entity, this is optional // - If you need to set multiple keyvalues, just increment the number after the key // Example: // - "keyvalue0" "model modelpath/modelname.mdl" // - "keyvalue1" "modelscale 5.0" // // "prop<number>" "<prop> <value>" - Enter a value for an entity property, this is optional // - If you need to set multiple props, just increment the number after the key // Example: // - "prop0" "m_iHealth 2" // - "prop1" "m_vecOrigin 50.0 24.5 36.0" // - "prop2" "m_iszName hehehehe" // // "maxspawns" "<number"> - Max amount of times this entity could be spawned per round. // However, it does not guarantee that it will spawn this amount of times. // // "zoffset" "<decimal>" - If the terrain is very uneven like dust2, increase this value a bit (5.0 - 10.0) // and you might see an increase of spawns. // - The reason for this key is because everytime a prop is spawned, it makes sure // that the prop fits around the area its spawned. // - Increasing this value will make the prop spawn higher above the ground // // "slopes" "<0/1>" - Can this entity spawn on slopes or only flat surfaces // //////////////////////////////////////////////////////////////////////////////////////////////////////////// // This stock config will spawn AWPS/Breakable crates/Chickens on maps that start with "de_" or "cs_" "entities" { "de_" { "spawnroundstart" "1" "maxroundspawns" "0" "spawninterval" "0" "resettimer" "1" "AWP" { "classname" "weapon_awp" "maxspawns" "20" "zoffset" "10.0" "slopes" "1" } "Breakable Crate" { "classname" "prop_physics_override" "keyvalue0" "model models/props_junk/wood_crate001a.mdl" "prop0" "m_takedamage 2" "maxspawns" "50" "zoffset" "10.0" "slopes" "1" } "Chicken Medium" { "classname" "chicken" "maxspawns" "20" "zoffset" "5.0" "slopes" "1" } } "cs_" { "spawnroundstart" "1" "maxroundspawns" "0" "spawninterval" "0" "resettimer" "1" "AWP" { "classname" "weapon_awp" "maxspawns" "20" "zoffset" "10.0" "slopes" "1" } "Breakable Crate" { "classname" "prop_physics_override" "keyvalue0" "model models/props_junk/wood_crate001a.mdl" "prop0" "m_takedamage 2" "maxspawns" "50" "zoffset" "10.0" "slopes" "1" } "Chicken Medium" { "classname" "chicken" "maxspawns" "20" "zoffset" "5.0" "slopes" "1" } } }  
     
    Разработчикам:
    #if defined _entityspawner_included #endinput #endif #define _entityspawner_included #define ES_PREFIX " \x09[\x04ES\x09]" #define ES_MAX_ENTITIES 256 #define ES_INVALID_MAX_SPAWNS 0 #define ES_INVALID_SPAWN_INTERVAL 0 #define ES_INVALID_PROP_SEND_OFFSET -1 #define ES_INVALID_PROP_DATA_OFFSET -1 /** * Spawns random entities on the map (Set in entityspawner.cfg) * @return int amount of entities spawned */ native int ES_SpawnEntities(); /** * Clears all randomly spawned entities * @return int amount of entities removed */ native int ES_ClearEntities(); /** * Returns true if spawning is enabled on round start * @return bool are entities spawning on round start */ native bool ES_IsSpawningOnRoundStart(); /** * Returns true if theres enough nav areas (Set by convar) and if config is setup for current map * @return bool enough nav areas/config setup */ native bool ES_IsRandomSpawnsEnabled(); /** * Called when entities are randomly spawned across the map * @param entities that spawned (Entity references) * @param amount of entities spawned * @noreturn */ forward void ES_OnEntitiesSpawned(int entities[ES_MAX_ENTITIES], int entCount); /** * Called when all randomly spawned entities are removed * @param amount of entities removed * @noreturn */ forward void ES_OnEntitiesCleared(int entCount); public SharedPlugin __pl_entityspawner = { name = "entityspawner", file = "entityspawner.smx", #if defined REQUIRE_PLUGIN required = 1 #else required = 0 #endif }; #if !defined REQUIRE_PLUGIN public __pl_entityspawner_SetNTVOptional() { MarkNativeAsOptional("ES_SpawnEntities"); MarkNativeAsOptional("ES_ClearEntities"); MarkNativeAsOptional("ES_IsSpawningOnRoundStart"); MarkNativeAsOptional("ES_IsRandomSpawnsEnabled"); } #endif

    60 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  14. [CS:GO] Визуализация NavArea/ Nav Area Utilities 1.02


    Плагин, в основном, для разработчиков работающих над созданием карт для CS:GO.
    Помогает определять NavArea на карте и визуализировать их.
     
    Команды:
    sm_naucount - Показывает количество nav area на карте
    sm_nauarea -  Визуализирует NavArea (sm_nauarea <navareaindex(optional)> <showneighbours(0-1)>
     
    Для разработчиков:
    #if defined _navareautilities_included #endinput #endif #define _navareautilities_included #define NAU_PREFIX " \x09[\x04Nav UTIL\x09]" #define NAU_GAMEDATA "navareautilities.gamedata" #define NAU_VERSION "1.02" #define NAU_NAVAREA_PARENT 0x7C #define NAU_NAVAREA_SOUTH_NAV_CONNECT_VECTOR 0x5C #define NAU_NAVAREA_LADDER_INDICATOR 0x34 #define NAU_NAVAREA_LADDER_HEIGHT 0x18 #define NAU_NAVAREA_LADDER_WIDTH 0x1C #define NAU_NAVAREA_LADDER_NAVAREAS 0x20 enum NavDirType { NAVDIR_SOUTH = 0, NAVDIR_EAST = 1, NAVDIR_NORTH = 2, NAVDIR_WEST = 3, NAVDIR_UP = 4, NAVDIR_DOWN = 5, NAVDIR_MAX } enum NavLadderDestination { NAVLADDER_TOP_FORWARD = 0, NAVLADDER_TOP_LEFT = 1, NAVLADDER_TOP_RIGHT = 2, NAVLADDER_TOP_BEHIND = 3, NAVLADDER_BOTTOM = 4, NAVLADDER_MAX } /** * Returns amount of nav areas * @return int amount of nav areas */ native int NAU_GetNavAreaCount(); /** * Returns an address of a navareaindex * @return address address of nav area */ native CNavArea NAU_GetNavAreaAddressByIndex(int navAreaIndex); /** * Called when nav areas are loaded by plugin (OnMapStart) * @param amount of nav areas found * @noreturn */ forward void NAU_OnNavAreasLoaded(); methodmap CNavArea { /** * Returns the north west corner of the nav area * @param buffer to store the position * @return void */ public void GetNorthWestCorner(float result[3]) { result[0] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(4), NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(8), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(12), NumberType_Int32)); } /** * Returns the south east corner of the nav area * @param buffer to store the position * @return void */ public void GetSouthEastCorner(float result[3]) { result[0] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(16), NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(20), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(24), NumberType_Int32)); } /** * Get the parent nav area * @return address address of the parent nav area */ public CNavArea GetParent() { Address navParent = view_as<Address>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(NAU_NAVAREA_PARENT), NumberType_Int32)); return view_as<CNavArea>(LoadFromAddress(navParent, NumberType_Int32)); } /** * Get the amount of nav areas in direction * @param direction * @return int Amount of neighbours in direction */ public int GetNeighbourCount(NavDirType direction) { Address navConnectVector = view_as<Address>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(NAU_NAVAREA_SOUTH_NAV_CONNECT_VECTOR + (0x4 * view_as<int>(direction))), NumberType_Int32)); return LoadFromAddress(navConnectVector, NumberType_Int32); } /** * Get address of a neighbour nav area * @param direction * @param neighbour index * @return address address of the neighbour nav area */ public CNavArea GetNeighbour(NavDirType direction, int directionListIndex) { Address navConnectVector = view_as<Address>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(NAU_NAVAREA_SOUTH_NAV_CONNECT_VECTOR + (0x4 * view_as<int>(direction))), NumberType_Int32)); return view_as<CNavArea>(LoadFromAddress(navConnectVector + view_as<Address>(0x4 + (0x8 * view_as<int>(directionListIndex))), NumberType_Int32)); } /** * Hacky way to find out if the nav area a CNavLadder or CNavArea * @return bool if ladder area or not */ public bool IsNavLadder() { int hack = view_as<int>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(NAU_NAVAREA_LADDER_INDICATOR), NumberType_Int32)); return hack == -1; } public bool IsNullPointer() { return view_as<Address>(this) <= Address_Null; } /** * Returns the center position of the nav area * @param buffer to store the position * @return void */ public void GetCenter(float result[3]) { float nwCorner[3], seCorner[3]; this.GetNorthWestCorner(nwCorner); this.GetSouthEastCorner(seCorner); NAU_GetMiddleOfABox(nwCorner, seCorner, result); } /** * Returns wether or not the entity has larger X/Y values than the nav area * @param entity index * @return bool can entity fit in nav area */ public bool CanEntityFit(int entity) { float mid[3], vMins[3], vMaxs[3]; GetEntPropVector(entity, Prop_Data, "m_vecMins", vMins); GetEntPropVector(entity, Prop_Data, "m_vecMaxs", vMaxs); mid[0] /= 2.0; mid[1] /= 2.0; mid[2] /= 2.0; if(mid[0] < 0.0) mid[0] *= -1; if(mid[1] < 0.0) mid[1] *= -1; if(mid[2] < 0.0) mid[2] *= -1; float nwCorner[3], seCorner[3], navAreaMid[3]; this.GetNorthWestCorner(nwCorner); this.GetSouthEastCorner(seCorner); MakeVectorFromPoints(seCorner, nwCorner, navAreaMid); navAreaMid[0] /= 2.0; navAreaMid[1] /= 2.0; navAreaMid[2] /= 2.0; if(navAreaMid[0] < 0.0) navAreaMid[0] *= -1; if(navAreaMid[1] < 0.0) navAreaMid[1] *= -1; if(navAreaMid[2] < 0.0) navAreaMid[2] *= -1; return (mid[0] <= navAreaMid[0] && mid[1] <= navAreaMid[1]); } /** * Returns wether or not the entity has larger X/Y values than the nav area * @param Mins of box * @param Maxs of box * @return bool can entity fit in nav area */ public bool CanFit(float vMins[3], float vMaxs[3]) { float mid[3]; MakeVectorFromPoints(vMins, vMaxs, mid); mid[0] /= 2.0; mid[1] /= 2.0; if(mid[0] < 0.0) mid[0] *= -1; if(mid[1] < 0.0) mid[1] *= -1; float nwCorner[3], seCorner[3], navAreaMid[3]; this.GetNorthWestCorner(nwCorner); this.GetSouthEastCorner(seCorner); MakeVectorFromPoints(seCorner, nwCorner, navAreaMid); navAreaMid[0] /= 2.0; navAreaMid[1] /= 2.0; if(navAreaMid[0] < 0.0) navAreaMid[0] *= -1; if(navAreaMid[1] < 0.0) navAreaMid[1] *= -1; return (mid[0] <= navAreaMid[0] && mid[1] <= navAreaMid[1]); } /** * Get a random position within a nav area, returns false if the mins/maxs are bigger than the area * @param Mins of entity you want to fit in the area * @param Maxs of entity you want to fit in the area * @param buffer to store the position * @return bool can entity fit in nav area */ public bool GetRandomPos(float vMins[3], float vMaxs[3], float result[3]) { // To stop random crashes if someone were to do stuff on a navladder if(this.IsNavLadder()) return false; bool returnVal = true; float mid[3]; MakeVectorFromPoints(vMins, vMaxs, mid); mid[0] /= 2.0; mid[1] /= 2.0; if(mid[0] < 0.0) mid[0] *= -1; if(mid[1] < 0.0) mid[1] *= -1; float nwCorner[3], seCorner[3], navAreaMid[3]; this.GetNorthWestCorner(nwCorner); this.GetSouthEastCorner(seCorner); MakeVectorFromPoints(seCorner, nwCorner, navAreaMid); navAreaMid[0] /= 2.0; navAreaMid[1] /= 2.0; if(navAreaMid[0] < 0.0) navAreaMid[0] *= -1; if(navAreaMid[1] < 0.0) navAreaMid[1] *= -1; if(mid[0] > navAreaMid[0] || mid[1] > navAreaMid[1]) returnVal = false; // Add/Subtract half of the size to the random pos (To make the entity fit properly) result[0] = GetRandomFloat(nwCorner[0] + mid[0], seCorner[0] - mid[0]); result[1] = GetRandomFloat(nwCorner[1] + mid[1], seCorner[1] - mid[1]); // Set the position to the highest point (TODO: Add function to calculate the height of the slope at a certain point of the plane) result[2] = seCorner[2]; return returnVal; } /** * Get the difference in Z positions of the nav area (Used to check if its a slope or not, returns 0 if plane surface) * @return float Z position difference */ public float GetZDifference() { float nwCorner[3], seCorner[3]; this.GetNorthWestCorner(nwCorner); this.GetSouthEastCorner(seCorner); return seCorner[2] - nwCorner[2]; } } methodmap CNavLadder < CNavArea { /** * Get the top left position of the nav ladder area * @param buffer to store the position * @return void */ public void GetTop(float result[3]) { result[0] = view_as<float>(LoadFromAddress(view_as<Address>(this), NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(4), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(8), NumberType_Int32)); } /** * Get the bottom right position of the nav ladder area * @param buffer to store the position * @return void */ public void GetBottom(float result[3]) { result[0] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(12), NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(16), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(20), NumberType_Int32)); } /** * Get the height of the ladder * @return float height of ladder */ public float GetHeight() { return view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(NAU_NAVAREA_LADDER_HEIGHT), NumberType_Int32)); } /** * Get the width of the ladder * @return float width of ladder */ public float GetWidth() { return view_as<float>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(NAU_NAVAREA_LADDER_WIDTH), NumberType_Int32)); } /** * Get address of a destination nav area from a ladder (check NavLadderDestination) * @param ladder destination * @return address address of the destination nav area (Address_Null if invalid navarea) */ public CNavArea GetDestinationNavArea(NavLadderDestination destination) { return view_as<CNavArea>(LoadFromAddress(view_as<Address>(this) + view_as<Address>(NAU_NAVAREA_LADDER_NAVAREAS + (0x4 * view_as<int>(destination))), NumberType_Int32)); } /** * Get the center position of the nav ladder area * @param buffer to store the position * @return void */ public void GetCenter(float result[3]) { float nwCorner[3], seCorner[3]; this.GetTop(nwCorner); this.GetBottom(seCorner); NAU_GetMiddleOfABox(nwCorner, seCorner, result); } } /** * Get closes neighbour nav area (By checking their center positions) * @param address of the nav area to check * @param a position to check which nav area is closest * @return address address of the closest neighbour area */ public CNavArea NAU_GetClosestNavAreaNeighbour(CNavArea navArea, float pos[3]) { CNavArea closestNavArea = navArea; float startPos[3]; //GetNavAreaCenter(navAreaAddress, startPos); if(!closestNavArea.IsNavLadder()) closestNavArea.GetCenter(startPos); else { CNavLadder ladder = view_as<CNavLadder>(closestNavArea); ladder.GetCenter(startPos); } float closestDistance = GetVectorDistance(pos, startPos, true); bool gotfirst = false; if(navArea.IsNavLadder()) { ArrayList ladderDestinations = new ArrayList(); for (int i = 0; i < view_as<int>(NAVLADDER_MAX); i++) { CNavLadder ladder = view_as<CNavLadder>(navArea); CNavArea destination = ladder.GetDestinationNavArea(view_as<NavLadderDestination>(i)); if(!destination.IsNullPointer()) ladderDestinations.Push(destination); } CNavArea destination = ladderDestinations.Get(GetRandomInt(0, ladderDestinations.Length - 1)); float navPos[3]; if(!destination.IsNavLadder()) destination.GetCenter(navPos); else { CNavLadder ladder = view_as<CNavLadder>(destination); ladder.GetCenter(navPos); } closestNavArea = destination; delete ladderDestinations; } else { for (int i = 0; i < view_as<int>(NAVDIR_MAX); i++) { int neighbourCount = navArea.GetNeighbourCount(view_as<NavDirType>(i)); for (int j = 0; j < neighbourCount; j++) { CNavArea neighbour = navArea.GetNeighbour(view_as<NavDirType>(i), j); float navPos[3]; //GetNavAreaCenter(neighbour, navPos); if(!closestNavArea.IsNavLadder()) neighbour.GetCenter(navPos); else { CNavLadder ladder = view_as<CNavLadder>(neighbour); ladder.GetCenter(navPos); } float dist = 0.0; if((dist = GetVectorDistance(navPos, pos, true)) < closestDistance || !gotfirst) { closestNavArea = neighbour; closestDistance = dist; gotfirst = true; } } } } return closestNavArea; } public void NAU_DebugNavArea(int client, CNavArea navArea, int laserModelIndex) { float navAreaNW[3], navAreaSE[3], center[3]; if(!navArea.IsNavLadder()) { navArea.GetNorthWestCorner(navAreaNW); navArea.GetSouthEastCorner(navAreaSE); navArea.GetCenter(center); } else { CNavLadder ladder = view_as<CNavLadder>(navArea); ladder.GetTop(navAreaNW); ladder.GetBottom(navAreaSE); ladder.GetCenter(center); } if(client > 0 && client <= MaxClients && IsClientInGame(client)) { NAU_PrintVector(client, "North West: ", navAreaNW); NAU_PrintVector(client, "South East: ", navAreaSE); NAU_PrintVector(client, "Center: ", center); } NAU_SendBox(navAreaSE, navAreaNW, laserModelIndex, { 255, 0, 0, 255 }, 5.0); } public void NAU_DebugNavAreaNeighbours(int client, CNavArea navArea, int laserModelIndex) { if(navArea.IsNavLadder()) { for (int i = 0; i < view_as<int>(NAVLADDER_MAX); i++) { CNavLadder ladder = view_as<CNavLadder>(navArea); CNavArea destination = ladder.GetDestinationNavArea(view_as<NavLadderDestination>(i)); NAU_DebugNavArea(client, destination, laserModelIndex); } } else { for (int i = 0; i < view_as<int>(NAVDIR_MAX); i++) { int neighbourCount = navArea.GetNeighbourCount(view_as<NavDirType>(i)); for (int j = 0; j < neighbourCount; j++) { CNavArea neighbour = navArea.GetNeighbour(view_as<NavDirType>(i), j); NAU_DebugNavArea(client, neighbour, laserModelIndex); } } } } /** * Get the address of the clients last known nav area (Private hidden variable: offset 0x8D8 as of 7/31/2018) * @param client index * @return address address of the last known nav area (Address_Null if player has no last known nav area) */ public CNavArea NAU_GetClientLastKnownNavArea(int client) { // Make shit break less return view_as<CNavArea>(GetEntData(client, FindSendPropInfo("CBaseCombatCharacter", "m_nRelativeDirectionOfLastInjury") + 0x8)); } public void NAU_Initialize(Address& navCount, Address& navAreas) { Handle hConf = LoadGameConfigFile(NAU_GAMEDATA); navCount = GameConfGetAddress(hConf, "navarea_count"); #if defined DEBUG PrintToServer("Found \"navarea_count\" @ 0x%X", navCount); #endif navAreas = view_as<Address>(LoadFromAddress(navCount + view_as<Address>(0x4), NumberType_Int32)); #if defined DEBUG PrintToServer("Found \"TheNavAreas\" @ 0x%X", navAreas); #endif delete hConf; #if defined DEBUG int navAreaCount = NAU_GetNavAreaCount(); PrintToServer("Nav area count: %d", navAreaCount); #endif } public void NAU_GetMiddleOfABox(const float vec1[3], const float vec2[3], float result[3]) { float mid[3]; MakeVectorFromPoints(vec1, vec2, mid); mid[0] /= 2.0; mid[1] /= 2.0; mid[2] /= 2.0; AddVectors(vec1, mid, result); } public bool NAU_IsPositionBlocked(float pos[3], float vMins[3], float vMaxs[3]) { Handle ray = TR_TraceHullFilterEx(pos, pos, vMins, vMaxs, MASK_PLAYERSOLID, NAU_TraceFilterNothing); return TR_DidHit(ray); } public bool NAU_TraceFilterNothing(int entityhit, int mask, any entity) { if(entityhit == 0) return true; return false; } public bool NAU_IsPositionBlockedIgnoreSelf(float pos[3], float vMins[3], float vMaxs[3], int entity) { Handle ray = TR_TraceHullFilterEx(pos, pos, vMins, vMaxs, MASK_PLAYERSOLID, NAU_TraceFilterIgnoreSelf, entity); return TR_DidHit(ray); } public bool NAU_TraceFilterIgnoreSelf(int entityhit, int mask, any entity) { if(entityhit > -1 && entityhit != entity) return true; return false; } public void NAU_PrintVector(int client, char[] prefix, float pos[3]) { PrintToChat(client, "%s %s\x02%.2f \x04%.2f \x0C%.2f", NAU_PREFIX, prefix, pos[0], pos[1], pos[2]); } public void NAU_SendBox(float vMins[3], float vMaxs[3], int modelIndex, int color[4], float lifetime) { float vPos1[3], vPos2[3], vPos3[3], vPos4[3], vPos5[3], vPos6[3]; vPos1 = vMaxs; vPos1[0] = vMins[0]; vPos2 = vMaxs; vPos2[1] = vMins[1]; vPos3 = vMaxs; vPos3[2] = vMins[2]; vPos4 = vMins; vPos4[0] = vMaxs[0]; vPos5 = vMins; vPos5[1] = vMaxs[1]; vPos6 = vMins; vPos6[2] = vMaxs[2]; NAU_SendBeam(vMaxs, vPos1, modelIndex, color, lifetime); NAU_SendBeam(vMaxs, vPos2, modelIndex, color, lifetime); NAU_SendBeam(vMaxs, vPos3, modelIndex, color, lifetime); //Vertical NAU_SendBeam(vPos6, vPos1, modelIndex, color, lifetime); NAU_SendBeam(vPos6, vPos2, modelIndex, color, lifetime); NAU_SendBeam(vPos6, vMins, modelIndex, color, lifetime); //Vertical NAU_SendBeam(vPos4, vMins, modelIndex, color, lifetime); NAU_SendBeam(vPos5, vMins, modelIndex, color, lifetime); NAU_SendBeam(vPos5, vPos1, modelIndex, color, lifetime); //Vertical NAU_SendBeam(vPos5, vPos3, modelIndex, color, lifetime); NAU_SendBeam(vPos4, vPos3, modelIndex, color, lifetime); NAU_SendBeam(vPos4, vPos2, modelIndex, color, lifetime); //Vertical } public void NAU_SendBeam(const float vMins[3], const float vMaxs[3], int modelIndex, const int color[4], float lifetime) { TE_SetupBeamPoints(vMins, vMaxs, modelIndex, modelIndex, 0, 0, lifetime, 1.0, 1.0, 1, 0.0, color, 0); TE_SendToAll(); } public SharedPlugin __pl_navareautilities = { name = "navareautilities", file = "navareautilities.smx", #if defined REQUIRE_PLUGIN required = 1 #else required = 0 #endif }; #if !defined REQUIRE_PLUGIN public __pl_navareautilities_SetNTVOptional() { MarkNativeAsOptional("NAU_GetNavAreaCount"); MarkNativeAsOptional("NAU_GetNavAreaAddressByIndex"); } #endif  
    Видео:

    34 раза скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  15. [CS:GO] Сохранение уровней в mg_100traps_v4_1 / Level saver/changer for mg_100traps_v4_1 1.0.0


    Плагин разработан конкретно для карты mg_100traps_v4_1 в CS:GO. Он позволяет сохранять в базу данных на каком уровне игрок закончил прохождение,   и позволяет телепортироваться на последнюю сохраненную точку.
    Для телепорта нужно прописать !goto и на какой уровень телепортироваться. Например: !goto 25
     
    В вашей базе данных SQL нужно выполнить следующее:
    CREATE TABLE `traps` ( `steamid` varchar(20) NOT NULL, `currentLevel` tinyint(4) NOT NULL, `highestLevel` tinyint(4) NOT NULL, UNIQUE KEY `steamid` (`steamid`) ) ENGINE

    48 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  16. [CS:GO]Deathmatch с убийством с одного выстрела / One in the Chamber 1.0.0


    Новый гейммод для CS:GO, оригинальная идея мода взята из CoD: BO2.
    На карте все так же остается цель (закладка бомбы, спасение заложников и тд), но выполнение цели не останавливает игру. На каждой карте есть 3 раунда - и выигрывает игрок заработавший 25 очков.
    Так же, у игроков нет другого оружия кроме Dual Berretas , и убить можно с одного выстрела (или удара ножом).
    Видео плагина:
     
     
    Команда:
    sm_setpoints  <ник> <очки от 0 до 24> - устанавливает очки для конкретного игрока //Usage: sm_setpoints <name> <points(0-24)>
     
    Настройки:

    oitc_maxpoints "25"  - максимальное количество очков которое игрок должен набрать для победы

    oitc_maxrounds "3"   - сколько раундов играют игроки ? до смены карты

    57 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  17. [CS:GO][Retakes] Рейтинг по урону / Round Win Share for Retakes 1.2


    Создает систему ранков (рейтинга) по нанесенному урону.Плагин не учитывает закладку бомбы и тд.Только урон нанесенный одним игроком - другому.
    Плагин дополнение к моду  Retakes (Захваты), скачать который можно тут:
     
    Для работы плагина требуется MySQL база данных.В databases.cfg вашего сервера нужно прописать следующее,заменив значения на свои:
    "RRWS" { "driver" "mysql" "host" "<host of your database>" "database" "<name of the database" "user" "<username of the database>" "pass" "<password of the database>" }  
     
    Команда:
    sm_rws <ник> - показывает статистику игрока
     
    Настройка:
    sm_rws_minrounds "5" - сколько раундов должен сыграть игрок,чтобы статистика для него заработала

    32 раза скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  18. [CS:GO]Битва на ножах (запрет смены оружия) / No Knife Bullshit 0.0.2


    Короткий и простой плагин, аналог многих подобных плагинов-битв на ножах в конце раунда.
    Плагин был создан для того чтобы предотвратить неприятную ситуацию, когда в командах остается по 1 игроку, они договариваются о битве на ножах, но в самый последний момент кто нибудь достает огнестрельное оружие.
     
    Теперь, если в командах останется по одному игроку, они должны будут прописать !nkb в чат, запуститься обратный отсчет.
    После отсчета у игроков будет отобрано оружие и начнется битва на ножах.
     
    Настроек никаких нет, но  если есть желание - можно изменить количество необходимых живых игроков для начала битвы.
    Для этого, нужно открыть исходник плагина и на 40 строке поменять количество игроков

    50 раз скачали  | 0 комментариев  | Обновлено  | Mr_Swag в CS:GO


  19. Настраиваемая Обойма / Customizable Extended Magazines 1.1.4


    Плагин для Rust сервера, позволит создавать нестандартные обоймы для оружия, в которых можно повышать боезапас и т.д.
     
    Настройка производится в конфиг файле CustomizableMagazines , который находится в папке configs
    Пример конфига:
    { "Settings": { "Enable Loot Container Spawns": true }, "Magazine settings": { "2892143123": { "Magazine Display Name": "Extended Magazine 15%", "Ammo Multiplier 1.0 = default Gun": 1.5, "Can Spawn In LootContainer types": [ "crate_basic", "crate_normal", "crate_normal_2" ], "LootContainer Spawn Chance 1-100": 20.0 }, "2892142979": { "Magazine Display Name": "Extended Magazine 30%", "Ammo Multiplier 1.0 = default Gun": 1.75, "Can Spawn In LootContainer types": [ "crate_basic", "crate_normal", "crate_normal_2" ], "LootContainer Spawn Chance 1-100": 20.0 }, "2892142846": { "Magazine Display Name": "Extended Magazine 50%", "Ammo Multiplier 1.0 = default Gun": 2.0, "Can Spawn In LootContainer types": [ "crate_basic", "crate_normal", "crate_normal_2" ], "LootContainer Spawn Chance 1-100": 20.0 }, "2892142705": { "Magazine Display Name": "Extended Magazine 100%", "Ammo Multiplier 1.0 = default Gun": 3.0, "Can Spawn In LootContainer types": [ "crate_basic", "crate_normal", "crate_normal_2" ], "LootContainer Spawn Chance 1-100": 20.0 } }, "Version": { "Major": 1, "Minor": 1, "Patch": 0 } }  
    Команды плагина:
    /magazine - показывает все нестандартные предметы
    /magazine <номер предмета> - выдать самому себе предмет с указанным ID
     
    Админские (серверные) команды:
    magazine <ID Игрока> <Номер Предмета> - выдать игроку заданный предмет

    29 раз скачали  | 0 комментариев  |  | Mr_Swag в Плагины Umod (Oxide)


  20. Вступление в команду без приглашения / Force Join Team 1.0.2


    Плагин позволит игрокам с заданным доступом - вступать в любые команды других игроков, без получения приглашения.
    Плагин для игровых серверов Rust.
     
    Команды плагина:
    /forcejoin <ник игрока или SteamID> - вступить в команду указанного игрока
     
    Доступ:
    forcejointeam.use -  используйте для выдачи доступа

    17 раз скачали  | 0 комментариев  |  | Mr_Swag в Плагины Umod (Oxide)


  21. Удаление подсказок / Event Tips Remover 1.0.3


    Удаляет подсказки с экранов игроков. Плагин для игровых серверов Rust.
     

    18 раз скачали  | 0 комментариев  |  | Mr_Swag в Плагины Umod (Oxide)


  22. [CS:GO] Ragdoll'ы на стороне сервера / Server Sided Ragdolls 1.0.0


    Плагин слегка разгружает клиента, и при смерти игрока труп  (регдол) создается не на стороне клиента а на стороне сервера.
    Не рекомендуется использовать плагин на DM серверах, т.к может быть перегруз.
     
    Настроек и команду плагина нет, установили - и вперед.

    55 раз скачали  | 0 комментариев  |  | Mr_Swag в CS:GO


  23. [CS:GO/CS:S] Упоминание в Чате / Mention player in chat 1.0.0


    При помощи этого плагина можно упоминать конкретных игроков в чате. 
    Упомянутый игрок получит звуковое (звук айфона)  и текстовое оповещение.
     
    Для упоминания игрока нужно поставить знак & перед ником. 
    Пример: Привет &unnamed
    и тогда игрок с ником unnamed получит оповещение.
     
    Других команд и настроек у плагина нет.
    Установка стандартная, файл message.mp3 поместите в папу csgo/sound

    60 раз скачали  | 0 комментариев  |  | Mr_Swag в CS:GO


  24. [CS:GO/CS:S] Запрет Плентов / Bombsite Restrict 1.2.0


    Плагин позволит автоматический запрещать (выключать) пленты на карте в зависимости от количества игроков.
     
    Настройки плагина:
    sm_bombsite_restrict_chat_prefix - префикс плагина в чате
    sm_bombsite_restrict_announcer - Оповещать игроков о работе плагина?  0 - нет , 1 - через чат,  2 - в HUD, 3 - по центру экрана,  4 - через Hint
    sm_bombsite_restrict_cts - сколько должно быть CT, для разблокировки плента?
    sm_bombsite_restrict_bombsite - Какой плент блокировать?  0 - Рандомный,  1 - A плент , 2 - B плент
    sm_bombsite_restrict_messages - оповещать игрока, если он попытается установить бомбу на заблокированный плент? 1 - да , 0 - нет
    sm_bombsite_restrict_countbots - считать ботов за игроков?  1 - да , 0 - нет

    98 раз скачали  | 0 комментариев  |  | Mr_Swag в CS:GO


  25. [CS:GO/CS:S] Zombie Riot 2.2.0


    Новая, расширенная версия оригинального Zombie Riot плагина для серверов CS:GO и CS:S.
     
    Особенности этой версии:
    Переход на новый синтакс SM Замена старых функций при помощи Sourcemod API Добавлена версия для CS:GO Регулировка максимального количества зомби Спаун защита при возрождении Динамическое изменение сложности Классы для команды Людей  
    Команды плагина:
    zriot_restrict <оружие> - запретить оружие
    zriot_unrestrict <оружие> - разрешить оружие
    zriot_setday <день> - задать День игры
    zriot_zombie <ник игрока> - перекинуть игрока в команду Зомби
    zriot_human <ник игрока> - перевести игрока в команду Людей
     
    Видео демонстрация плагина:
     

    120 раз скачали  | 0 комментариев  |  | Mr_Swag в CS:GO


Подписывайтесь на нас во Вконтакте!

×
×
  • Создать...
Искать в
  • Ещё...
Поиск контента, содержащего...
Поиск результатов в...

Напишите свой запрос, а Мы попробуем найти ответ!