Search the Community
Showing results for tags 'sourcemod'.
-
Sourcemod на серверах обновлен до версии 1.10 - build 6501. Ни один плагин при обновлении не пострадал. Все работает в штатном режиме. Адреса серверов вы можете получить тут.
-
SPCode Просмотр файла SPCode - это редактор SourcePawn с открытым исходным кодом, с несколькими инструментами и функциями, разработанными, чтобы помочь вам быстро и легко разрабатывать и развертывать плагины SourceMod. Он родился в 2015 году под названием SPEdit, а в начале 2020 года мы позаботились о его развитии. Особенности: Полностью настраиваемая компиляция Подсветка синтаксиса Подсветка устаревшего синтаксиса Шаблоны плагинов SourcePawn Динамические автозаполнения Загрузка FTP Функция запуска сервера Ссылки на API Список ошибок Авто - обновление Декомпилятор Запросы RCON Переводы на нескольких языках И еще очень многое другое, что мне лень было переводить. Добавил Райан Добавлено 01.10.2022 Категория Софт
-
-
У меня сейчас нет тестового сервера по Left 4 Dead 2, поэтому я не проверял этот плагин. Если у вас есть возможность проверить его, будьте добры, не забудьте отписаться здесь после проверки этого плагина. Спасибо. Добавлен минимум обратного урона. Добавлены шансы на отсутствие обратного урона. Добавлен таймер для автоматического сброса шансов. Добавлено сообщение о повреждении от коктейля Молотова. Добавлены новые языки в языковой пакет плагина Добавлен подсчет общего урона для уменьшения сообщения в чате Изменен цвет текста для стиля от сервера pan0s. l4d2_reverse_ff.smx l4d2_reverse_ff.sp l4d2_reverse_ff.phrases.txt
-
Это вторая сборка сервера для Left 4 Dead 2 была скопирована с FTP 24.09.2020. Rcon пароль скрыт, в Database.cfg ничего секретного нету. ID группы Steam скрыто. Это такая легкая сборка, которую вам надо залить на чистый сервер, удалить ненужные для вас плагины из папки Plugins и накатить свои. Ничего особенного и сверхъестественного в сборке нет. Просто, я ее сейчас копировал на второй сервер, ну и архивом решил поделится (Ну а для чего этот сайт еще?). Если загрузить сборку на сервер, и сразу после этого включить сервер, то по стандарту запустится Выживание. Версия сервера L4D2: 2.1.5.5 7311 ОС Сервера: Linux Dedicated Установлен Metamod: Metamod:Source 1.10.7-dev Подключенные библиотеки: Плагины входящие в сборку: Подключенные расширения: Ссылка на скачивание с Google Диска. Данная сборка сервера для Left 4 Dead 2 предназначена только для ознакомления. Если вы решите ее просто скопировать и вставить на свой сервер не редактируя, то у вас может что то пойти не так. Будьте внимательны и трудолюбивы.
-
Версия плагина 2.1.3, изменения: Remke code Исправлена ошибка предыдущей памяти Исправлена утечка памяти Powerup возвращается в норму, когда игрок меняет команду или умирает Новая функция: Адреналин заставляет вас быстрее реагировать на нокдауны. Обновление cfg: Были добавлены новые переменные, поэтому удалите старую конфигурацию переменных, что бы вместо нее сгенерировалась новая. Новая конфигурация: // Нужно ли давать игрокам адреналин в начале раунда? l4d_powerups_adren_give_on "0" // Скорость восстановления l4d_powerups_animspeed "2.0" // Следует ли уведомлять игроков при подключении к серверу о бонусах? l4d_powerups_broadcast_on "1" // Как уведомляются игроки? (0 = Чат, 1 = Хинт 2 = Оба) l4d_powerups_broadcast_type "1" // Как долго должны длиться бусты? l4d_powerups_duration "20" // Нужно ли давать игрокам таблетки в начале раунда? l4d_powerups_pills_give_on "0" // Фактор удачи при проглатывании таблеток, которые дадут импульс. (1 = 1/1 2 = 1/2 3 = 1/3 4 = 1/4) l4d_powerups_pills_luck "3" // Включен ли плагин? l4d_powerups_plugin_on "1" // Нужно ли давать игрокам адреналин или таблетки в начале раунда? l4d_powerups_random_give_on "0" // Следует ли игрокам использовать адреналин для супер-перезарядки, стрельбы из оружия и рукопашных ударов? l4d_powerups_use_on "1" // Интервал между выстрелами умножается на это значение. ВНИМАНИЕ: достаточно короткий интервал приведет к искажению точности стрельбы из пистолетов-пулеметов и винтовок. l4d_powerups_weaponfiring_rate "0.6667" // Интервал размахивания холодного оружия l4d_powerups_weaponmelee_rate "0.45" // Интервал, возникающий при перезагрузке, умножается на это значение l4d_powerups_weaponreload_rate "0.5714" Команды плагина: sm_giveadren - Дать адреналин всем выжившим. (ADMFLAG_CHEATS) sm_givepills - Дать таблетки всем выжившим. (ADMFLAG_CHEATS) sm_giverandom - Дать или таблетки или адреналин всем выжившим. (ADMFLAG_CHEATS) Плагин мной не проверялся, так как в данный момент у меня нет тестового сервера для Left 4 Dead 2. l4d2_powerups_rush.smx l4d2_powerups_rush.sp
-
Данный плагин SourceMod до банального прост. Вы в конфиге биндите необходимое вам ключевое слово на команду и после этого команду можно вызывать с помощью привязанного слова. Полезно для плагинов с длинными командами. Пример !resetscore>!rs>!r. В версии которую я выложил, в конфиге, вместо флагов администратора можно использовать SteamID. Переменные: sm_commandshortcuts_notification - Отображать сообщение при срабатывании команды. 1 = включено, 0 = отключено. sm_commandshortcuts_publicinfo - разрешить всем клиентам просматривать о ярлыках, набрав !commandshortcuts. 1 = все клиенты, 0 = только администраторы Команды: sm_reloadshortcuts - Перезагружает файл конфигурации. sm_commandshortcuts - Дает информацию о сочетаниях клавиш. Пример конфига: "commandshortcuts" { "1" { "shortcut" "!restartgame" "flag" "d" "command" "mp_restartgame 5" "type" "1" "registershortcut" "0" } "2" { "shortcut" "sm_fly" "flag" "STEAM_0:1:175038461" "command" "sm_noclip {player}" "type" "1" "registershortcut" "1" } "3" { "shortcut" "!shortcuts" "flag" "" "command" "sm_commandshortcuts" "type" "2" "registershortcut" "0" } } Установка: Поместите содержимое архива в FTP вашего сервера и сделайте рестарт. sm_commandshortcuts_v1.2.zip Я плагин не тестировал. Это обычный перепост оригинального плагина.
-
Это плагин для менеджмента (управления) каткой. Если админ вводит команду sm_winner ct/t, то игра завершается со счетом в пользу выбранной команды. Плагин проверялся в игре Counter-Strike: Source, на версии SourceMod 1.10.0.6501. Установка: Скомпилируйте .sp файл и поместите его в /addons/sourcemod/plugins Или поместите уже готовый .smx файл в /addons/sourcemod/plugins Сделайте рестарт сервера. #pragma newdecls required #include <sourcemod> #include <sdktools> #include <cstrike> public Plugin myinfo = { name = "Winner", author = "Ilusion9", description = "При прописи команды sm_winner (CT/T) идет принудительное завершение игры и объявление победителя", version = "1.0", url = "https://ip-gamers.net/" }; ConVar g_Cvar_MaxRounds; ConVar g_Cvar_Timelimit; ConVar g_Cvar_RoundRestartDelay; public void OnPluginStart() { g_Cvar_MaxRounds = FindConVar("mp_maxrounds"); g_Cvar_Timelimit = FindConVar("mp_timelimit"); g_Cvar_RoundRestartDelay = FindConVar("mp_round_restart_delay"); RegConsoleCmd("sm_winner", Command_Winner); } public Action Command_Winner(int client, int args) { char arg[64]; GetCmdArg(1, arg, sizeof(arg)); if (StrEqual(arg, "T", false)) { EndGame(CS_TEAM_T); } else if (StrEqual(arg, "CT", false)) { EndGame(CS_TEAM_CT); } return Plugin_Handled; } void EndGame(int winner) { if (winner == CS_TEAM_T) { CS_SetTeamScore(CS_TEAM_T, g_Cvar_MaxRounds.IntValue / 2); SetTeamScore(CS_TEAM_T, g_Cvar_MaxRounds.IntValue / 2); CS_SetTeamScore(CS_TEAM_CT, 0); SetTeamScore(CS_TEAM_CT, 0); CS_TerminateRound(g_Cvar_RoundRestartDelay.FloatValue, CSRoundEnd_TerroristWin); } else { CS_SetTeamScore(CS_TEAM_CT, g_Cvar_MaxRounds.IntValue / 2); SetTeamScore(CS_TEAM_CT, g_Cvar_MaxRounds.IntValue / 2); CS_SetTeamScore(CS_TEAM_T, 0); SetTeamScore(CS_TEAM_T, 0); CS_TerminateRound(g_Cvar_RoundRestartDelay.FloatValue, CSRoundEnd_CTWin); } g_Cvar_Timelimit.SetInt(1); } winner.sp winner.smx
-
Это сборка сервера для Left 4 Dead 2 была скопирована с FTP 30.04.2020. Rcon пароль скрыт, все базы в Database.cfg скрыты. ID группы Steam скрыто. Версия сервера L4D2: 2.1.5.5 7311 ОС Сервера: Linux Dedicated Установлен Metamod: Metamod:Source 1.10.7-dev Подключенные библиотеки: Плагины входящие в сборку: Подключенные расширения: Ссылка на скачивание с Яндекс Диска. Данная сборка сервера для Left 4 Dead 2 предназначена только для ознакомления. Если вы решите ее просто скопировать и вставить на свой сервер не редактируя, то у вас может что то пойти не так. Будьте внимательны и трудолюбивы.
-
Пример команд выглядит для ввода консоли, не в чат. Можете забиндить необходимые команды по примеру "bind кнопка команда". Здесь выводится не весь список команд, полностью его можно посмотреть в игре через команду sm_help. Здесь показаны самые необходимые команды, доступные, скорее всего, для всех игроков. openvip, sm_vip, vipmenu - Меню VIP игрока sm_afk, sm_away - Перейти в наблюдатели sm_autobhop - Включить или выключить распрыжку sm_chat - Приватное сообщение админам sm_help - Получить полный список всех команд sm_joininfected, sm_joinspectators, sm_joinsurvivors, sm_jointeam1, sm_jointeam2, sm_jointeam3 - Занять одну из доступных команд (Выжившие, Зараженные, Наблюдатели). sm_pass - Передать Танка
- 2 replies
-
- left 4 dead 2
- sourcemod
-
(and 3 more)
Tagged with:
-
Предисловие: Я потратил весь день на адаптацию этого плагина, и в процессе создания темы, я мог что ни будь забыть или упустить. Поэтому не стесняйтесь предоставлять обратную связь (Вам ведь все равно придется зарегистрироваться, что бы скачать необходимые файлы). Метод установки плагина для IPS 4.6 немного отличается от стандартного. Это кустарное решение, и только этим решением я смог реализовать работу плагина. Я проверял плагин только на версии IPS 4.6.1. Я не уверен, будет ли он работать на других версиях. Описание: Система максимально проста. Игрок на сервере CS:S отправляет жалобу на игрока через команду !report. Если администратор на сервере, он сразу получит уведомление. Помимо этого, плагин транслирует жалобу в базу данных, а база данных отображается в виджете плагина для IPS 4.6.1. Игрок набирает команду !report и выбирает необходимого игрока: Игрок выбирает причину: Получаем ответ от плагина: На форуме invision community, в виджете отображаются последние жалобы: Проверить как все работает можно на нашем сервере. Установка: Создайте базу данных с любым удобным именем и пользователем, в которую будут отправляться репорты. В addons/sourcemod/configs/databases.cfg введите новый массив: "mReport" { "driver" "default" "host" "localhost" "database" "Имя базы данных" "user" "Имя пользователя" "pass" "Пароль" //"timeout" "0" "port" "3306" } В папку /addons/sourcemod/plugins поместите готовый плагин Report.smx Либо отредактируйте и скомпилируйте исходник плагина Report.sp Сделайте рестарт сервера и плагин сгенерирует вам следующий cfg: // This file was auto-generated by SourceMod (v1.10.0.6501) // ConVars for plugin "Report.smx" // Следует ли уведомлять администратора о жалобе, если он находится на сервере? // - // Default: "1" mAnnounceAdmin "1" // Сколько времени в секундах должно пройти с последней жалобы !report? // - // Default: "30" mCommandTimeInterval "30" // Название сервера (Полезно тем, у кого несколько серверов. // - // Default: "|IP-Gamers.Net| Classic" mServerName "|IP-Gamers.Net| Classic" Настройте конфиг на свой вкус и измените карту. На этом серверная часть установлена, теперь переходим к Invision Community. Плагин из коробки, от оригинального автора, у меня отказался работать. После того, как я его адаптировал, плагин заработал, но на польском языке. Поэтому делаем следующее: Устанавливаем в IPS 4.6.1 этот плагин - (DF) Zgloszenia graczy 1.0.1.xml Далее в админке форума переходим на Кастомизация>Языки и жмем на глобус возле необходимого языка. Нажимаем на вкладку "Не переведено" Сортируем строки по названию плагина Переводим все строки плагина (DF) Zgloszenia graczy. У меня получился следующий перевод: Далее в настройках плагина пропишите параметры вашей базы данных для репортов На удобной странице установите виджет в горизонтальной (Широкой форме) После всех этих процедур по адресу вашфорум/plugins/dfzgloszeniagraczy/widgets через ftp положите следующий файл dfzgloszeniagraczy.php и согласитесь перезаписать оригинальный файл. После в админке форума перейдите в раздел Кастомизация > Темы > Редактирование темы В поиске шаблонов введите слово dfzgloszeniagraczy. У вас найдется один единственный шаблон, замените в этом шаблоне ваш код на следующий: <h3 class='ipsWidget_title ipsType_reset'> {lang="dfZgloszeniaGraczy_title"} </h3> <div class='ipsWidget_inner dfzgloszeniagraczyDiv'> <ul class='ipsDataList ipsDataList_reducedSpacing'> {{if !empty($data['error'])}} <li class='ipsDataItem dfzgloszeniagraczyPad'> <div class='ipsList_inline'> {$data['error']} </div> </li> </ul> {{else}} <ul class='ipsDataList ipsDataList_reducedSpacing'> {{foreach $data as $row}} <li class='ipsDataItem dfzgloszeniagraczyPad'> <span class='ipsPos_right ipsType_small ipsType_light'>{datetime="$row['time']"}</span> <div class='ipsList_inline'> <img src="{$row['type']}" alt="{$row['typeAlt']}" data-ipstooltip="" _title="{$row['typeName']}"> <strong><a href="https://steamcommunity.com/profiles/{$row['client_steamid']}" target="_blank" data-ipstooltip="" _title="Если у игрока лицензия, откроется Steam страница {$row['client_name']}"> {$row['client_name']}</a></strong> отправил жалобу на игрока <strong><a href="https://steamcommunity.com/profiles/{$row['target_steamid']}" target="_blank" data-ipstooltip="" _title="Если у игрока лицензия, откроется Steam страница {$row['target_name']}"> {$row['target_name']}</a></strong> по причине <strong>{$row['report_reason']}</strong> на сервере <strong>{$row['server_name']}</strong> </div> </li> {{endforeach}} </ul> {{endif}} </div> На этом установка завершена, и в теории у вас все должно работать. Если нет, пишите, вместе разберемся.
-
Данный плагин добавляет команду !voice на сервер. Игрок ее прописывает, и после, для этого игрока отключаются микрофоны других игроков. Что бы снова активировать микрофоны надо снова прописать команду !voice. Так как мое файловое хранилище постоянно обновляется, и плагин может быть удален, выкладываю исходники в виде кода. voice.sp: #include <sdktools_voice> #include <clientprefs> ListenOverride g_userFlag[MAXPLAYERS + 1]; Handle g_hCookie; bool g_bVoiceEnable[MAXPLAYERS + 1] = true; public Plugin myinfo = { name = "Voice", author = "bat9xxx", version = "1.0", url = "vk.com/s_plus2018" }; public void OnPluginStart() { RegConsoleCmd("sm_voice", VoiceChange); LoadTranslations(GetEngineVersion() == Engine_SourceSDK2006 ? "voice_old.phrases" : "voice.phrases"); g_hCookie = RegClientCookie("voice_enable", "Включен/выключен", CookieAccess_Public); } public void OnClientCookiesCached(int iClient) { char szValue[4]; GetClientCookie(iClient, g_hCookie, szValue, sizeof(szValue)); if (szValue[0])g_bVoiceEnable[iClient] = view_as<bool>(StringToInt(szValue)); else g_bVoiceEnable[iClient] = true; } public Action VoiceChange(int iClient, int iArgs) { char szBuffer[128]; if (g_bVoiceEnable[iClient] == false) { g_bVoiceEnable[iClient] = true; SetClientCookie(iClient, g_hCookie, "1"); FormatEx(szBuffer, sizeof(szBuffer), "%t %t", "Prefix", "Enable"); g_userFlag[iClient] = Listen_Yes; } else { g_bVoiceEnable[iClient] = false; SetClientCookie(iClient, g_hCookie, "0"); FormatEx(szBuffer, sizeof(szBuffer), "%t %t", "Prefix", "Disable"); g_userFlag[iClient] = Listen_No; } PrintToChat2(iClient, szBuffer); for (int i = 1; i <= MaxClients; i++) { if (IsClientInGame(i) && !IsFakeClient(i)) { SetListenOverride(iClient, i, g_userFlag[iClient]); } } } public void OnClientPutInServer(int iClient) { g_userFlag[iClient] = g_bVoiceEnable[iClient] ? Listen_Yes : Listen_No; } stock void PrintToChat2(int iClient, char[] szMessage, any...) { static int iEngine = -1; static const int g_iColorsCSSOB[] = { 0xFFFFFF, 0xFF0000, 0x00AD00, 0x00FF00, 0x99FF99, 0xFF4040, 0xCCCCCC, 0xFFBD6B, 0xFA8B00, 0x99CCFF, 0x3D46FF, 0xFA00FA }; static const char g_sColorsOldBefore[][] = { "{DEFAULT}", "{TEAM}", "{GREEN}" }, g_sColorsOldCSS[][] = { "\x01", "\x03", "\x04" }, g_sColorsBefore[][] = { "{WHITE}", "{RED}", "{GREEN}", "{LIME}", "{LIGHTGREEN}", "{LIGHTRED}", "{GRAY}", "{LIGHTOLIVE}", "{OLIVE}", "{LIGHTBLUE}", "{BLUE}", "{PURPLE}" }, g_sColorsCSGO[][] = { "\x01", "\x02", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x10", "\x0B", "\x0C", "\x0E" }; if (iClient && IsClientInGame(iClient) && !IsFakeClient(iClient)) { char szBuffer[PLATFORM_MAX_PATH], szNewMessage[PLATFORM_MAX_PATH]; if (iEngine == -1) { switch (GetEngineVersion()) { case Engine_CSGO:iEngine = 0; case Engine_CSS:iEngine = 1; case Engine_SourceSDK2006:iEngine = 2; } } Format(szBuffer, sizeof(szBuffer), !iEngine ? " \x01%s" : "\x01%s", szMessage); VFormat(szNewMessage, sizeof(szNewMessage), szBuffer, 3); if (!iEngine) { for (int i = 0; i < 12; i++) { ReplaceString(szNewMessage, sizeof(szNewMessage), g_sColorsBefore[i], g_sColorsCSGO[i]); } ReplaceString(szNewMessage, sizeof(szNewMessage), "{TEAM}", "\x03"); } else { if (iEngine == 1) { char sBuff[64]; switch (GetClientTeam(iClient)) { case 1:Format(sBuff, sizeof(sBuff), "\x07%06X", g_iColorsCSSOB[6]); case 2:Format(sBuff, sizeof(sBuff), "\x07%06X", g_iColorsCSSOB[5]); case 3:Format(sBuff, sizeof(sBuff), "\x07%06X", g_iColorsCSSOB[9]); } ReplaceString(szNewMessage, sizeof(szNewMessage), "{TEAM}", sBuff); for (int i = 0; i < 12; i++) { Format(sBuff, sizeof(sBuff), "\x07%06X", g_iColorsCSSOB[i]); ReplaceString(szNewMessage, sizeof(szNewMessage), g_sColorsBefore[i], sBuff); } } else { for (int i = 0; i < 3; i++) { ReplaceString(szNewMessage, sizeof(szNewMessage), g_sColorsOldBefore[i], g_sColorsOldCSS[i]); } } } Handle hBf = StartMessageOne("SayText2", iClient, USERMSG_RELIABLE | USERMSG_BLOCKHOOKS); if (hBf) { if (GetUserMessageType() == UM_Protobuf) { Protobuf hProtoBuffer = UserMessageToProtobuf(hBf); hProtoBuffer.SetInt("ent_idx", iClient); hProtoBuffer.SetBool("chat", true); hProtoBuffer.SetString("msg_name", szNewMessage); hProtoBuffer.AddString("params", ""); hProtoBuffer.AddString("params", ""); hProtoBuffer.AddString("params", ""); hProtoBuffer.AddString("params", ""); } else { BfWrite hBfBuffer = UserMessageToBfWrite(hBf); hBfBuffer.WriteByte(iClient); hBfBuffer.WriteByte(true); hBfBuffer.WriteString(szNewMessage); } } EndMessage(); } } voice.phrases: "Phrases" { "Prefix" { "en" "{RED}[Voice]" "ru" "{RED}[Voice]" } "Enable" { "en" "{BLUE}Now everyone can hear!" "ru" "{BLUE}Теперь слышно всех!" } "Disable" { "en" "{BLUE}Now you can't hear anyone" "ru" "{BLUE}Теперь никого не слышно!" } } voice_old.phrases: "Phrases" { "Prefix" { "en" "{TEAM}[Voice]" "ru" "{TEAM}[Voice]" } "Enable" { "en" "{GREEN}Now everyone can hear!" "ru" "{GREEN}Теперь слышно всех!" } "Disable" { "en" "{GREEN}Now you can't hear anyone" "ru" "{GREEN}Теперь никого не слышно!" } } Voice.rar
-
Я сейчас работаю над одним сервером, на котором мне понадобилось для тестов сделать спавн только за Террористов. Для чего мне понадобился этот плагин. Он просто отключает спавн за Спецов. Может вам пригодится. disablect.sp disablect.smx