30

» WarCraft 3 / Как удалить все файлы импорта?

Возьми war3map.imp от пустой карты и вставь через MpqEditor в свою. Потом открой свою карту в редакторе и сохрани. Редактор пересоберёт карту без лишних файлов.
30

» WarRaft / Order

ScorpioT1000, держи, они в репе пылятся с момента слива дебага. Прям с оригинальными именами в коде. Если не лень, добавляй.
30

» WarCraft 3 / Три коридора v1.2

Darkmen500, это по сути концепт чтоб понять, куда дальше идти. Возможно и сделаю новую версию на ужопе с фреймами.
30

» WarRaft / JASS-ANTLR-Kotlin: CLI

Smeto, это одно ядро, так что проблемы общие. Но я на него забил и бегаю голым на другом стеке. Если решу доделать до вменяемого состояния, то опубликую.
30

» WarCraft 3 / w3x2lni

Красный Товарищ, продолжай и дальше пользоваться непонятной китайской шляпой.
30

» Game Dev / (веб-игра) Roguegeddon

Если собрать в кучку много врагов, то они начинают дыргаться из-за кривой системы движения.
30

» WarCraft 3 / Давайте обсудим создание вопросов

А давайте просто поставим в условие наличие моска и умение им пользоваться?
30

» Stormgate / 8 месяцев раннего доступа Stormgate

Чёт я ничего не понял. Они раздают бесплатный доступ к бесплатной игре?
30

» Литература / Приключения в ГП

Рецензия на произведение

Произведение представляет собой динамичный, полный сарказма и абсурда рассказ, который переносит читателя в мир, где обыденность сталкивается с магией, а пьяный угар оборачивается эпическим приключением. Главный герой, Ото, — типичный студент-инженер, живущий в ритме вечеринок и юношеского бунтарства, неожиданно оказывается в фантастической реальности, напоминающей вселенную Хогвартса из «Гарри Поттера». Эта смесь грубого реализма и магического абсурда создаёт уникальный тон повествования, который одновременно вызывает смех и заставляет задуматься о природе реальности.

Сюжет и структура

Сюжет начинается с предисловия, которое погружает читателя в хаотичную жизнь Ото. Его пьяное блуждание по ночному городу, попытка избежать милиции и случайное укрытие в заброшенной машине задают тон истории: это не героическое путешествие, а спонтанное падение в неизвестность. Переход в магический мир происходит резко и без объяснений, что усиливает ощущение когнитивного диссонанса, который испытывает сам герой. Машина, внезапно ставшая летающей, и появление Гарри и Рона — это одновременно пародия на знакомые клише и свежий взгляд на них через призму циничного мировоззрения Ото.
Структура произведения хаотична, но эта хаотичность работает в его пользу. Короткие главы, переполненные событиями, диалогами и внутренними монологами героя, создают ощущение стремительного движения. Однако отсутствие финала («not to be continued...») оставляет читателя в подвешенном состоянии, что можно интерпретировать как художественный приём, подчёркивающий абсурдность происходящего, или как недоработку, лишающую историю завершённости.

Персонажи

Ото — яркий и запоминающийся протагонист. Его грубый юмор, склонность к импровизации и умение выкручиваться из любой ситуации делают его одновременно антигероем и обаятельным плутом. Его внутренний голос, полный сарказма и отсылок к поп-культуре (от Ленина до канала «Наука»), добавляет тексту живости. Взаимодействие с персонажами вроде Снэйпа, Драко и МакГоннагал раскрывает их с неожиданной стороны: знакомые герои «Гарри Поттера» предстают в новом свете, фильтруемом через восприятие Ото.
Второстепенные персонажи, такие как Драко Малфой, служат скорее фоном для продвижения сюжета и подчёркивания конфликтов, чем полноценными фигурами. Их реакции на Ото часто предсказуемы, но это компенсируется его нестандартным поведением, которое постоянно ломает ожидания.

Стиль и язык

Язык произведения — его сильнейшая сторона. Автор мастерски использует разговорную речь, сленг и ненормативную лексику, чтобы передать характер Ото и его мировосприятие. Диалоги живые, полные остроумия и абсурдных поворотов, а внутренние монологи героя добавляют тексту глубины, раскрывая его как человека, который, несмотря на внешнюю браваду, постоянно находится в состоянии замешательства.
Однако местами избыточное использование сленга и намеренная грубость могут оттолкнуть читателей, не привыкших к такому стилю. Кроме того, орфографические и пунктуационные ошибки (например, «впишете» вместо «впишите», «прийдётся» вместо «придётся») мешают восприятию текста и создают впечатление небрежности.

Темы и идеи

На поверхностном уровне произведение — это пародия на жанр фэнтези и фанфикшн, высмеивающая клише магических миров. Однако за грубым юмором скрываются более глубокие темы: столкновение обыденности с фантастикой, поиск идентичности в чужом мире и абсурдность социальных норм. Ото, называющий себя «Владимиром Ильичом», играет роль трикстера, который одновременно нарушает правила и пытается в них вписаться, что делает его фигурантом конфликта между свободой и системой.

Плюсы и минусы

Плюсы:
  • Яркий, харизматичный главный герой.
  • Остроумные диалоги и саркастический юмор.
  • Удачное сочетание реализма и магического абсурда.
  • Энергичный темп повествования.
Минусы:
  • Незавершённость сюжета.
  • Орфографические и стилистические недочёты.
  • Избыточная грубость, которая может не всем прийтись по вкусу.
  • Недостаточная проработка второстепенных персонажей.

Итог

Произведение — это дерзкий, полный энергии эксперимент, который балансирует на грани пародии и оригинального повествования. Оно идеально подойдёт для читателей, любящих нестандартные истории, грубый юмор и абсурдные ситуации. Однако отсутствие финала и некоторая небрежность в исполнении снижают общее впечатление. Если автор продолжит работу над текстом, доработав структуру и устранив недочёты, эта история может стать настоящей жемчужиной в жанре юмористического фэнтези.
Оценка: 7/10.
30

» WarCraft 3 / Вылетает карта

без утечек
Без утечек. Верим.
function GetUnitsInRangeOfLocAll takes real radius, location whichLocation returns group
    return GetUnitsInRangeOfLocMatching(radius, whichLocation, null)
endfunction
function GetUnitsInRangeOfLocMatching takes real radius, location whichLocation, boolexpr filter returns group
    local group g = CreateGroup()
    call GroupEnumUnitsInRangeOfLoc(g, whichLocation, radius, filter)
    call DestroyBoolExpr(filter)
    return g
endfunction