Перейти к содержанию

ryancoolround

Администратор
  • Постов

    7 073
  • Зарегистрирован

  • Посещение

  • Победитель дней

    546

Весь контент ryancoolround

  1. В который раз убеждаюсь, что не стоит использовать на этом движке, эти корявые блоги. Запись о анонсе нового обновления, случайно удалилась из за того, что я решил поиграться с категориями. Поэтому я создал ограниченный раздел новости, и возьму на себя право, отредактировать эту тему, коли мы в ней стали говорить, и переместить ее в созданный раздел новости. Спасибо за понимание. С момента первого удара инфекции прошло много лет. Радиомолчание, никаких признаков жизни, одни надежды... CEDA не спасет нас. Но надежда есть! Несколько смельчаков продолжили борьбу вопреки всему, и вскоре мы все сможем извлечь выгоду из их стойкости. «Последний бой» - это обновление для Left 4 Dead 2, созданное сообществом для сообщества. Дополнительные подробности появятся в ближайшее время. А пока посмотрите тизер-трейлер.и приготовьтесь к своему последнему бою.
  2. ryancoolround

    Global Shadow Fix

    Оригинальный плагин, прекрасно работает на версии SM 1.10.0.6492. Исходник у меня почему то не получилось перекомпилировать. Но я его оставлю на всякий случай. Либо Valve ленивы, либо глупы из-за того, что упускают эту незначительную деталь. Исправлены карты: c1m1_hotel c1m2_streets c1m3_mall c1m4_atrium c4m1_milltown_a Установка: Скачайте файл .smx и поместите его в папку server\addons\sourcemod\plugins\ Сделайте рестарт сервера l4d2_global_shadow_fix.smx l4d2_global_shadow_fix.sp
  3. Я у Мамы инженер!

    IMG_2296.jpg

  4. Ну, мы общались с @dr.lex на эту тему, и каждый сделал для себя какие то выводы. Исправления ошибок определенно появится, ну я надеюсь. Какие это исправления, кто знает. Но то что плагины с расширениями после обновления могут полететь на серверах, об этом догадываются, об этом знают, и этого боятся. Так же я на многих новостных сайтах прочел о изменении баланса. Не знаю, откуда у всех эти «изменения баланса», но это чистое предположение, ведь в официальном блоге еще ничего нет, а на всяких новостных сайтах уже все знают. Как же. И я очень сомневаюсь, в том что кто то будет менять баланс. Баланс игры не менялся примерно 8, может, 9 лет. Самым заметным изменением баланса, которое можно заметить сразу же, является то, что в режимах Версус недоступны взрывоопасные боеприпасы. Да, разработчик Valve участвует, но главные люди, стоящие за этим обновлением, - это игровое сообщество. А сотрудник Valve, просто чувак которому сказали, проконтролировать процесс, и все. Помимо всего этого, никто не говорил что это обновление будет бесплатным, как никто не говорил что оно будет платным. Никто даже дату выпуска не сказал. И я вот например думаю о том, что дополнение выпустят на Хэллоуинские праздники. Но опять же, это чисто мои размышления, как и идеи про баланс, это тоже чисто размышления других. А вы из размышлений вырываете частички и принимаете их за правду.
  5. Не знаю почему, но этот плагин крашит сервер на "Нет Милосердию". Проверил два раза. То что задумывалось плагин делает, но вот крашит. Если сможете починить, дерзайте! #pragma semicolon 1 #include <sourcemod> #include <sdktools> #define DEFAULT_FLAGS FCVAR_PLUGIN|FCVAR_NOTIFY #define PLUGIN_VERSION "1.1" #define TEST_DEBUG 0 #define TEST_DEBUG_LOG 1 static Handle:IAtoEATransformCVAR = INVALID_HANDLE; public Plugin:myinfo = { name = "Разрывные патроны", author = "McFlurry; Редакция - L4D2Noob.RU", description = "Возвращает разрывные патроны в Сражение", version = PLUGIN_VERSION, url = "L4D2Noob.RU" } public OnPluginStart() { decl String:game_name[64]; GetGameFolderName(game_name, sizeof(game_name)); if (!StrEqual(game_name, "left4dead2", false)) { SetFailState("Плагин работает только в L4D2"); } CreateConVar("l4d2_eammo_version", PLUGIN_VERSION, "Версия плагина", DEFAULT_FLAGS|FCVAR_SPONLY|FCVAR_DONTRECORD); IAtoEATransformCVAR = CreateConVar("l4d2_eammo_chance", "2", "Шанс появления разрывных патронов. 1 - 100%; 2 - 50%.", DEFAULT_FLAGS); HookEvent("round_start", Event_Round_Start); AutoExecConfig(true, "l4d2_eammo"); } public Action:Event_Round_Start(Handle:event, const String:name[], bool:dontBroadcast) { CreateTimer(10.0, ReplaceIAWithEADelayed); if (!IsModelPrecached("models/w_models/weapons/w_eq_explosive_ammopack.mdl")) PrecacheModel("models/w_models/weapons/w_eq_explosive_ammopack.mdl"); if (!IsModelPrecached("models/v_models/v_explosive_ammopack.mdl")) PrecacheModel("models/v_models/v_explosive_ammopack.mdl"); } public Action:ReplaceIAWithEADelayed(Handle:timer) { ReplaceIAWithEA(GetConVarInt(IAtoEATransformCVAR)); } ReplaceIAWithEA(chance) { decl String:GameMode[16]; GetConVarString(FindConVar("mp_gamemode"), GameMode, sizeof(GameMode)); if(StrEqual(GameMode, "versus") || StrEqual(GameMode, "teamversus")) { if (chance == 0) return; new ent = -1; new prev = 0; new replacement; decl Float:origin[3]; decl Float:angles[3]; while ((ent = FindEntityByClassname(ent, "weapon_upgradepack_incendiary_spawn")) != -1) { if (prev) { if (GetRandomInt(1, chance) == 1) { GetEntPropVector(prev, Prop_Send, "m_vecOrigin", origin); GetEntPropVector(prev, Prop_Send, "m_angRotation", angles); replacement = CreateEntityByName("weapon_upgradepack_explosive_spawn"); DispatchSpawn(replacement); DebugPrintToAll("Была произведена замена", prev, replacement); if (!IsValidEdict(replacement)) return; TeleportEntity(replacement, origin, angles, NULL_VECTOR); DebugPrintToAll("Была произведена замена", replacement); RemoveEdict(prev); } } prev = ent; } if (prev) { if (GetRandomInt(1, chance) == 1) { GetEntPropVector(prev, Prop_Send, "m_vecOrigin", origin); GetEntPropVector(prev, Prop_Send, "m_angRotation", angles); replacement = CreateEntityByName("weapon_upgradepack_explosive_spawn"); DispatchSpawn(replacement); DebugPrintToAll("Была произведена замена", prev, replacement); if (!IsValidEdict(replacement)) return; TeleportEntity(replacement, origin, angles, NULL_VECTOR); DebugPrintToAll("Была произведена замена", replacement); RemoveEdict(prev); } } } } stock DebugPrintToAll(const String:format[], any:...) { #if (TEST_DEBUG || TEST_DEBUG_LOG) decl String:buffer[256]; VFormat(buffer, sizeof(buffer), format, 2); #if TEST_DEBUG PrintToChatAll("%s", buffer); PrintToConsole(0, "%s", buffer); #endif LogMessage("%s", buffer); #else //suppress "format" never used warning if(format[0]) return; else return; #endif }
  6. Никому не доверяйте. Даже Тренеру!

    Trust+nobody+not+even+coach_e10d8a_7931983.png

  7. Плагин позволит ускорить игру, он отвечает за изменение переменной host_timescale. Для того что бы использовать, в чат, админу с флагом CHEATS, надо ввести команду !timescale значение. Возможные значения: .25 .5 1 1.25 1.5 Плагин компилировал на версии SM 1.10.0.6492 l4d2_time_controller.sp l4d2_time_controller.smx
  8. Реклама отображается всем хостам, кроме входящих хостов в группу Премиум. Позже придумаю способ перемещения в нее участников.
  9. A new update is available for installation. https://invisioncommunity.com/files/file/9713-mister-yellow/
  10. Вот теперь официально. Новость взята с официального блога.
  11. Просто что б вы знали! Этот парень за неделю вывел наш сайт из раздела поиск Google в раздел новости Google! Респект!

    respect GIF

  12. Раньше:

    БРИТАНСКИЕ УЧЕНЫЕ БЛА БЛА БЛА БЛА БЛА

    Сейчас:

    В России создадут аналог сервиса БЛА БЛА БЛА БЛА

     

    IMG_2288.jpg

  13. Плагин выставляет рандомное здоровье у Танка. По умолчанию от 6000 до 50000. В cfg/sourcemod создается cfg файл Random_HP_Tank.cfg в котором можно выставить минимальное и максимальное значение здоровья. // This file was auto-generated by SourceMod (v1.10.0.6492) // ConVars for plugin "random_hp_tank.smx" // Максимальное количество ХП Танка // - // Default: "9999999" // Minimum: "1.000000" sm_random_hpt_maxtime "9999999" // Минимальное количество ХП Танка // - // Default: "1000" // Minimum: "0.000000" sm_random_hpt_mintime "1000" Подробнее о создании плагина: random_hp_tank.smx random_hp_tank.sp
  14. Починил, работает. Вырезал все лишнее. #include <sourcemod> #pragma semicolon 1 #define Version "0.0.4" new Handle:CvarMin; new Handle:CvarMax; new Handle:z_tank_health; new Random; public Plugin:myinfo = { name = "Random HP Tank", author = "L4D2Noob.RU", description = "Этот плагин устанавливает случайное количество здоровья Танку", version = Version, url = "http://L4D2Noob.RU" }; public OnPluginStart() { CvarMin = CreateConVar("sm_random_hpt_mintime", "6000", "Минимальное количество ХП Танка", FCVAR_PLUGIN, true, 0.0); CvarMax = CreateConVar("sm_random_hpt_maxtime", "30000", "Максимальное количество ХП Танка", FCVAR_PLUGIN, true, 1.0); AutoExecConfig(true, "Random_HP_Tank"); z_tank_health = FindConVar("z_tank_health"); Random = GetRandomInt(GetConVarInt(CvarMin), GetConVarInt(CvarMax)); SetConVarInt(z_tank_health, Random); } Кстати, @Емир Садыков хотел помочь протестировать, но не успел, он позвонил под конец теста.
  15. Таких плагинов много, но я решил переделать рандомный таймер у C4 из Counter-Strike: Source. И у меня почти получилось, плагин реально устанавливает рандомное здоровье Танку. #include <sourcemod> #pragma semicolon 1 #define Version "0.0.2" new Handle:CvarMode; new Handle:CvarMin; new Handle:CvarMax; new Handle:z_tank_health; new Random; new bool:IsHooked; public Plugin:myinfo = { name = "Random HP Tank", author = "L4D2Noob.RU", description = "Этот плагин устанавливает случайное количество здоровья Танку", version = Version, url = "http://L4D2Noob.RU" }; public OnPluginStart() { CvarMode = CreateConVar("sm_random_hpt_mode", "1", "1 - Per Round / 0 - Per Map", FCVAR_PLUGIN, true, 0.0, true, 1.0); CvarMin = CreateConVar("sm_random_hpt_mintime", "1000", "Минимальное количество ХП Танка", FCVAR_PLUGIN, true, 0.0); CvarMax = CreateConVar("sm_random_hpt_maxtime", "9999999", "Максимальное количество ХП Танка", FCVAR_PLUGIN, true, 1.0); AutoExecConfig(true, "Random_HP_Tank"); z_tank_health = FindConVar("z_tank_health"); if(GetConVarInt(CvarMode) == 0) { Functions(); PrintToServer("[RHT] Берегись, Здоровье Танка: %i ХП", Random, (Random > 1) ? "s." : "."); return; } HookEvent("round_start", Event_RoundStart); IsHooked = true; } public OnPluginEnd() { if(IsHooked == true) UnhookEvent("round_start", Event_RoundStart); } public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast) { Functions(); PrintToChatAll("[РХТ] Берегись, Здоровье Танка: %i ХП", Random, (Random > 1) ? "s." : "."); } Functions() { Random = GetRandomInt(GetConVarInt(CvarMin), GetConVarInt(CvarMax)); SetConVarInt(z_tank_health, Random); } Но вот беда, я здесь что то неправильно сделал, ведь Танка с этим плагином убить невозможно. Как только ситуация подводит к смерти Танка, его здоровье перезагружается. Кто то может помочь? Сделал новую версию, пойду протестирую
  16. Эта тема скорее из разряда гневных и печальных тем. Но тут смеяться хочется над тупостью тех людей, которые пишут новости, для вроде узнаваемых, и уважаемых игровых сайтов, которые ты читаешь не первый год. Например всеми известный cybersport.ru назвал свою новость: Какая безвкусица и безкультурщина. Таких редакторов надо отправлять на курсы создания заголовков. The Last Stand это не кампания, это одиночная карта выживания из первой части L4D. И вторая ошибка в заголовке в слове "Сюжетной", кампания The Last Stand является неканоничной, и к сюжету она никакого отношения не имеет. Надеюсь представители cybersport.ru когда нибудь это увидят и им будет стыдно! vgtimes.ru и ихнее: Это уже работа грубее. Тут не ошибки из за непонимания ситуации, как это было с cybersport.ru, и за которые просто должно быть стыдно, не более. Здесь уже идет намеренное введение в заблуждение и предоставление ложной информации. За такое не стыдно должно быть, за такое штрафовать надо, и увольнять. Чисто для галочки, компания Valve не делала каких либо официальных анонсов. Тизер Last Stand вышел на канале, который официально не имеет никакого отношения к компании Valve. А последние новости в Steam по теме Left 4 Dead 2 датируются 2013 годом. Как то так.
  17. Помните проходил слух, что будет делаться новая кампания для L4D2? Так вот, скорее всего, это будет порт Last Stand на ПК.

     

  18. Опрос движется к завершению. Я убрал вариант с минимальным количеством проголосовавших, а голоса распределил между другими вариантами. Спасибо за то что принимаете участие.
  19. Такой дорогой движок, а файловое хранилище у него, словно это поделка семиклассника на уроке информатики. Мне не понравилось что все данные хранятся вперемешку в папке Uploads, где единственная сортировка, это сортировка по месяцам. И в папке с месяцем могут хранится как и файлы вложений, и аватарки и файлы стилей. Это не очень удобно, особенно если ты ищешь потерянные вложения, и боишься удалить что то лишнее. И лучше это сделать на начальном этапе, когда твой сайт мало весит, чем мучатся в разы дольше потом. Для начала разберемся с аватарками пользователей. Сделаем так, что аватарка не будет генерироваться из первой буквы ника, потому что такая аватарка, это тоже одна jpg картинка. Сделаем так, что бы у нового пользователя была заранее установленная аватарка. Идем по пути: Система > Пользователи > Профили > Настройка Профиля В разделе "Стандартные Аватары" выбираем первый пункт "Использовать стандартный аватар стиля", нажимаем сохранить. Теперь отключаем дополнительные методы входа. Это вход через Steam, Facebook и так далее. Суть в том, что аватарки, которые обновляются в сообществе, если пользователь поменял аватарку скажем в Steam, они не отображаются удаленно, они импортируются к вам на сервер. И ладно бы, если пользователь поменяет аватарку и старая аватарка удалится. Нет, она остается лежать мертвым грузом у вас на сервере. Идем по пути: Система > Вход и регистрация Удаляем все методы входа, кроме стандартного. Так же по пути: Система > Приложения Система > Плагины Не забудьте удалить все приложения и плагины, которые отвечали за дополнительные методы входа. В них теперь нет необходимости. Двигаемся дальше, по пути: Система > Файлы > Настройки хранения Для каждого раздела, который вы видите в настройках хранения, мы будем в FTP доступе создавать отдельную папку. Причем не в директории uploads, создадим для этого отдельный каталог и назовем его например downloads. И уже в этой директории для аватарок создаем папку avatar, для реакций папку reactions, и так далее. У меня например получилось 20 папок. После создания папок, в настройках хранения файлов переходим на вкладку конфигурация. Нажимаем кнопку "Создать", метод хранения выбираем "Файловая система", а в строке директория, вместо окончания ссылки upload мы напишем downloads/Avatars. Потом нажмем сохранить, и так надо повторить для каждой созданной папки. Когда вы создали кучу методов хранения, возвращаемся обратно на вкладку "Методы Хранения". И уже смайлам выбираем файловую систему для смайлов. Аватарам, файловую систему для аватаров. Ну вы поняли. Когда все файловые системы указали, нажимаем на кнопку "Сохранить" внизу. Начнется процесс перемещения файлов. Этот процесс длительный, займет времени как минимум полчаса. Можете отдохнуть. Помимо этого на сайте вы сможете видеть битые ссылки / изображения, пока перемещение не будет завершено. Не переживайте, все будет хорошо, в конце. Когда процесс перемещения завершится, делаем резервное копирование вашей папки uploads, что бы в случае фатальной ошибки, у вас была возможность все исправить. А после резервного копирования, в папки uploads оставляем 2 файла - index.html, .htaccess и папку logs, а остальное просто удаляем с сервера. Не бойтесь, вы же сделали резервную копию! Затем в разделе: Система > Поддержка Пару тройку раз чистим кеш. Я вот еще и перемещенные файлы снес, в папках avatars, различных Cover папках. Поэтому вы сейчас у нас в сообществе, большую часть профилей видите с битыми картинками. Но в теории, данная операция очистит ваше дисковое пространство на 40%. В ТЕОРИИ! Я не знаю как вы пользуетесь файловым хранилищем. Спасибо за внимание!
  20. ryancoolround

    Private CVar Listing

    Установка: Пометите cvarlist.smx в /left4dead2/addons/sourcemod/plugins Сделайте рестарт сервера Описание: Этот мод перечисляет все переменные и команды в игре, если ты ввел следующие команды: sm_cvarlist и sm_cmdlist. Плагином смогут воспользоваться только админы.
  21. Чем больше вы постите постов в сообществе, тем чаще будут отображаться ваши IP адреса и ссылки на ваши ресурсы.

  22. Я всю ночь переделывал файловое хранилище, это нужно было для того, что бы в будущем его было удобно чистить. Пока я этим занимался, я так же отключил возможность генерировать аватарки из первых символов ваших ников. Что бы вы понимали, одна сгенерированная аватарка, это одна картинка в хранилище. И так же, были отключены дополнительные методы входа, там Steam, Mail и так далее. И это тоже связано с аватарами. Дело в том, что в этом движке аватарки не отображаются удалено, они тоже импортируются на сервер. А учитывая сколько раз за день школьник меняет аватарку... Ну вы поняли. Спасибо за понимание. Да, забыл сказать. Оптимизация хранилища может занять много времени и вы сможете видеть битые ссылки/изображения, пока перемещение не будет завершено. Если вы не можете войти в свой аккаунт, свяжитесь со мной через кнопку "Обратная Связь" внизу сообщества. Так же, в конце этой операции, я просто удалю некоторые папки, с устаревшими аватарками, шапками и так далее. Так что возможно у кого то может слететь текущая аватарка. Вложения, которые вы цепляли к вашим постам пострадать не должны.
  23. Хочешь решить проблему. Купи лицензионную версию через Steam и играй в онлайн.
  24. Аннотация 2020-08-25 234416.png

    Я люблю left 4 dead 2, но не за 60$!

    igje2xkgg1j51.png

    Последний взгляд.jpg

×
×
  • Создать...