Jump to content

Twitch > Sourcemod плагины L4D2


Recommended Posts

  • Administrator

Проанализировав ключевые запросы с поисковиков, мы решили отказаться от раздела Twitch, и переделать его в раздел плагинов Sourcemod для игры Left 4 Dead 2. Возможно этот раздел в будущем будет расширяться. Но это не точно.

Спасибо за ваш вклад в сообщество.

Я не ищу ничего логичного, например денег. Меня нельзя купить, запугать, аргументировать или договориться со мной. Я просто хочу смотреть, как горит мир.

Link to post
  • 11 months later...
  • Administrator

Ссылка на раздел. Тема закрыта.

Я не ищу ничего логичного, например денег. Меня нельзя купить, запугать, аргументировать или договориться со мной. Я просто хочу смотреть, как горит мир.

Link to post
  • Ry@N locked this topic
Guest
This topic is now closed to further replies.
  • Similar Content

    • By Ry@N
      Это вторая сборка сервера для 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 предназначена только для ознакомления. Если вы решите ее просто скопировать и вставить на свой сервер не редактируя, то у вас может что то пойти не так. Будьте внимательны и трудолюбивы.
    • By Ry@N
      Поздаравление от Pikachu.Я использую читы не ради себя и не для набивания рейтинга . Я использую читы только для победы моей команды . Я не зазываю использовать читы это плохо я согласен.
      Я заслужил бана баньте. Ваше решения я нарушил првавила.
      ПОЗДРАВЛЯЮ ВСЕХ С НОВЫМ ГОДОМ 2021  FOREVER
    • By Ry@N
      Поздаравление от Pikachu.Я использую читы не ради себя и не для набивания рейтинга . Я использую читы только для победы моей команды . Я не зазываю использовать читы это плохо я согласен.
      Я заслужил бана баньте. Ваше решения я нарушил првавила.
      ПОЗДРАВЛЯЮ ВСЕХ С НОВЫМ ГОДОМ 2021  FOREVER
    • By Ry@N
      Поздаравление от Pikachu.Я использую читы не ради себя и не для набивания рейтинга . Я использую читы только для победы моей команды . Я не зазываю использовать читы это плохо я согласен.
      Я заслужил бана баньте. Ваше решения я нарушил првавила.
      ПОЗДРАВЛЯЮ ВСЕХ С НОВЫМ ГОДОМ 2021  FOREVER
    • By Ry@N
      Данный плагин добавляет команду !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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Ты умеешь плакать под водой?

×
×
  • Create New...