В наши дни дефайны лишь стон изголодавшегося разума по вменяемо написанному коду.
"этим не пользуюсь я - это бесполезно всем"
Не надо утрировать. Текстовый препроцессинг откровенно устаревшая фича, которая заменяется адекватными гигиеническими макросами и строго определенной внутри основного языка семантикой метапрограммирования в целом.
Насчет отсутствия отличий с Zinc - бред, помимо упомянутых макросов есть вещи типа flushlocals и foreach по группам (через генерацию FirstInGroup), а также нет клоунского ограничения на объявление переменных в начале функции.
В целом не нужно, я думаю, если ты все поля при создании структуры инициализируешь (я не уверен обнуляет ли их аллокатор)
Структура просто integer потому что в коде в итоге генерирутся параллельные массивы т.е. например
real array cord_x
real array cord_y
real array cord_z
unit array cord_u
Для каждого члена структуры. Поэтом сама cord это просто индекс в эти массивы. Когда ты делаешь cord.create() находится свободный индекс в этих "параллельных" массивах и помечается заполненным.
Ну очевидно, что челик просто завидует, потому что его высеры никому не интересны, а ванпанчмен людям нравится, хотя вырос из вебкомикса с рисовкой вот такого уровня и вытянул чисто интересными персонажами и своим сатирическим, пародийным и комедийным сюжетом. А причина в том, что все люди деляются на обычных и клоунов и автор поста не просто так с красным носом и разноцветной прической.
Не увидел жалкого нытья с просьбами забанить, похоже слабо. Показал сгенерированный текст другу психотерапевту, он не смог диагностировать ментальных расстройств, хотя по сообщениям оригинала вердикт ставится сразу. Возможно, было скормлено недостаточно данных? Это также подтверждает отсутствие слова "морровинд" в тексте.
Игра смотрится симпатично, но геймплей по одной гифке и скринам не понятен, т.е. как происходит постройка и откуда берутся блоки и т.д., какие примерные различия в уровнях и в чем лейтгейм
Хм, очередная инди с крутой обложкой, а внутри пиксельная игра уровня флешек пятнадцатилетней давности (или леммингов, которым в следующем году уже 30)? Такое мб для мобилки сойдёт, но на своём сыче (а тем более хбоксе) я в такое играть точно не буду.
Подробный гайд как выставить себя дураком в интернете одним постом.
Пушистый, открой старые JNGP с сжассом, там в луа скриптах есть то как он интегрируется. По сути сжасс это просто экзешник запускающийся на архиве карты и генерящий жасс код, запускать его можно откуда угодно.
Кроматик абберейшн выглядит ужасно, зачем это? Места где деревья/здания/стены стыкаются с землей оч плохие, видно отсутствие АО. Конфетка такого же уровня как и Quenching, когда разворачиваешь, а оно плохо пахнет. Динамик тени очевидно смотрятся норм.
Опять же прекрасно видно - для того чтобы рефордж стал конфеткой, надо всего лишь добавить тени
у неё, в отличие от д2, тайминги появления нейтралов, рун, крипов не будут съезжать
По-моему это уже пофиксили. Но я не думаю, что это было из-за накопления ошибки флоатов в привычном понимании, а скорее из-за обычной логической ошибки в скедулинге событий из-за нецелого деления круглых минут на время тика.
Я, конечно, знал, что динамическая типизация - это зло, но то, что Lua скомпилирует и запустит без выдачи ошибок функцию с заведомо недостаточным числом аргументов - это просто провал. Как такими языками программирования можно пользоваться в 2020-м году? Это, типа, фича такая, чтобы люди на грабли наступали побольше?
Т.к. синтаксического различия между обращением к локальной и глобальной переменной нет, то в случае несуществующей локальной переменной идет обращение к глобальной таблице переменных _G. На этапе компиляции нельзя понять есть или нет там определенная переменная.
видимо сумма в 10к долларов никого не заинтересовала, для норм разработчка - слишком мало, для школьника - слишком много и требует качества, которое он не может дать
Это не мало, просто был довольно слабый адвертайсмент + не было никакой регистрации, поэтому заинтересованных было сложно отследить + через пару дней началась драма после которой все про конкурс забыли
Слишком мало людей приняло участие и организатор решил вложить деньги во что-нибудь еще, конкретно разработку более удобного визуального редактора данных
Для записи более менее крупных задач - Trello, для мелких технических правок в коде просто оставляю // TODO коммент. Монитор один. Иногда записываю в notepad.exe временные вещи.
local x, y, z, xx, yy, zz
local dx = xx - x
local dy = yy - y
local dz = zz - z
local len = math.sqrt(dx * dx + dy * dy + dz * dz)
local nx = dx / len
local ny = dy / len
local nz = dz / len
local range = 0
Так кешируй его при выделении юнита каждый раз и можно будет получать в любой момент
Doc, фокус разве не синхронен сам по себе? Он же в реплеи пишется и в спектаторы передается
Селекшн синхронен, все так. У всех игроков кондишн пройдет, но инфа с фрейма то будет разная.
Почему могло сработать: наивно тестировали например, выделили юнита с зеленой атакой у нескольких игроков, а затем выделение сняли у всех кроме овнера, в итоге зеленое число в интерфейсе осталось, но скрылось. Правильный тест: сделать нескольких юнитов с зеленой атакой и у остальных игроков выделить именно его.
Поэтому и должен? Ты эту зеленую цифру используешь в любом вычислении, но т.к. юнит выделен только у одного игрока то числа у игроков будут разные. От вызова функции конечно же ничего не десинканет, десинканет использование ее результата. Если оно не десинкает так это потому что вы коряво проверяли...
Doc, фпс ни как не влияет на сеть и запомни навсегда. фпс отвечает за отрисовку а остальное механика
Гений, если не шаришь, лучше промолчать, запомни навсегда. Читаем что такое локстеп и убавляем гонор. Если логический тик в игре начнет занимать больше времени логического фрейма 1/30 секунды, симуляция одного клиента начнет отставать и остальным придется его ждать, появится окно ожидания игрока. Так что ты да не разбираешься, ты да, ну да.
com23, как это если он только у хоста меняется данные а клиенты лишь сихронизирует что о фпс не могут и быть речи. фас это кадр который отрисовали но ни как данные сихронизации
Не разбираешься в том как работает сеть в вк3 - не пиши.
Я точно не знаю насколько сейчас актуален формат vmf, с Source 2 формат карт теперь vmap. Вполне возможно что resourceconverter.exe поддерживает апгрейд этого до vmap. + Непонятно насколько актуальна эта тулза сама по себе и что именно она конвертирует.
Плюс точно возникнет проблема с тем, что тайл эдитор не будет поддерживать этот ландшафт и он будет выглядеть как пачка мешей.
И есть ли быстрый способ синхронизации (глобализации) данных в выпуске рефордж?
---@param whichTrigger trigger
---@param whichPlayer player
---@param prefix string
---@param fromServer boolean
---@return event
function BlzTriggerRegisterPlayerSyncEvent(whichTrigger, whichPlayer, prefix, fromServer) end -- (native)
---@param prefix string
---@param data string
---@return boolean
function BlzSendSyncData(prefix, data) end -- (native)
---@return string
function BlzGetTriggerSyncPrefix() end -- (native)
---@return string
function BlzGetTriggerSyncData() end -- (native)
Зачем тогда что-то посылать, если можно из чата игры это делать. Большие вещи всё равно требуют разных инит эвентов и прочего
Если ты тебе нужно написать например 200 способностей то проблемы в этом нет, т.к. опираешься ты на каст ивент, но очевидно что из чата игры ты это не напишешь. Понятно что это не серебряная пуля как и хот-релоадинг любого типа, чем более персистентны твои данные тем менее полезна их перезагрузка. Опять же определенные игры можно не выходя рестартить заново или самому триггерить нужные ивенты.
а чтобы чекал новое обновление думаю тут задейсвован таймер на прелоад а потом исполняет код удаляя старого код
+ Немного кода на стороне прелоада чтобы посылать код кусками (упирается в размер одного ивента синхронизации), немного кода чтобы его кусками принимать и немного кода для скрипта который из папки с кодом собирает прелоад файл из шаблона и кладет его в нужную папку. Но это детали реализации.
Ну потому что это абсолютная тривиальщина, какой смысл ее разбирать в деталях? Собрано на коленке за полчаса. Есть всего один нативный способ доставить данные с диска в игру. Есть способ выполнить код из строки. Больше ничего для этого не нужно.
Ну может быть миллиард причин, начиная от выпуска нового обновления вульвой до твоих косяков внутри режима, например ты не прописал доступные карты.
Все правильно сказал. В addoninfo.txt должна быть написана корректная карта. Плюс мод нужно делать либо публичным либо запускать в кастомном лобби с выбором локального сервера
Есть китайские сайты, ссылку навскидку найти не смогу, а так нет. Благо что импортировать можно модели большинства распространенных форматов, те же модельки из юнити стора.
всем и так всё ясно, это же бесконечная тема для рассуждений
Как ты и сказал. Проблемы очевидны, с нашей стороны остается ждать решения, либо забить. Выбор каждого. Дело в том, что так как про все это уже было сказано, разработчики об этом знают. Нормальный ладдер и т.д. упоминается постоянно в патчноутах. Сделать его БЫСТРЕЕ твое нытье не поможет. Так зачем в очередной раз возить соплями по столу?
Блог
» WarCraft 3 / Как лучше организовать обработку кастов?
Блог
Edited by Doc
» WarCraft 3 / Как лучше организовать обработку кастов?
Блог
Edited by Doc
» WarCraft 3 / JNGP: Rebuild от PT153
Блог
Edited by PT153
» WarCraft 3 / Структуры и хэш-таблица
Блог
» WarCraft 3 / Структуры и хэш-таблица
Структура просто integer потому что в коде в итоге генерирутся параллельные массивы т.е. например
Блог
» WarCraft 3 / Структуры и хэш-таблица
Структура действительно просто integer
Блог
Edited by Doc
» Зона Агрена. / Почему аниму "ванпичмен" - не пародия.
Блог
» Зона Агрена. / Почему аниму "ванпичмен" - не пародия.
Блог
» Скорпиблог / Нейросеть ruGPT-3 и немного YaLM
Блог
Edited by Doc
» BakuMari / Главная страница
Блог
» WarCraft 3 / Поддержка cJass
Блог
» Warcraft Kingdoms / Render Edge чудеса творит
Блог
» WarCraft 3 / Рассинхрон от GetLocalPlayer() -> SetCameraQuickPosition()
Блог
» XGM Конкурсы / Terrain Contest: Reforged. Итоги
Блог
» WarCraft 3 / Дебаггер Lua
Блог
» WarCraft 3 / можно ли синхронизировать магазин варкрафта с новым интерфейсом
Блог
» Dota 2 / Unofficial Arcade Festival
Блог
» Dota 2 / Unofficial Arcade Festival
Блог
» Dota 2 / Unofficial Arcade Festival
Блог
Edited by Doc
» XGM Конкурсы / Голосование конкурса героев
Блог
Edited by Doc
» WarCraft 3 / Как вы работе с проектами?
Блог
» WarCraft 3 / Движение по осям хyz
Блог
» WarCraft 3 / Движение по осям хyz
local dx = xx - x
local dy = yy - y
local dz = zz - z
local len = math.sqrt(dx * dx + dy * dy + dz * dz)
local nx = dx / len
local ny = dy / len
local nz = dz / len
local range = 0
xx,yy,zz=x+range*nx,y+range*ny,z+range*nz
Блог
» Dota 2 / Unofficial Arcade Festival
Блог
» WarCraft 3 / GetUnitGreenAttackBonus
Блог
Edited by Doc
» WarCraft 3 / GetUnitGreenAttackBonus
Блог
» WarCraft 3 / GetUnitGreenAttackBonus
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» WarCraft 3 / ТРЕЙЛЕР - WarCraft 3 Reforged Beta 3.0 MOD
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
Edited by Doc
» WarCraft 3 / wGeometry - 3D библиотека (lua)
Блог
» WarCraft 3 / wGeometry - 3D библиотека (lua)
Блог
» Dota 2 / Перенос карты.
Блог
» Dota 2 / Перенос карты.
Блог
» WarCraft 3 / Синхронизация в Lua
Блог
Edited by Doc
» WarCraft 3 / Lua или jass?
Блог
Edited by Doc
» WarCraft 3 / Lua или jass?
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
Edited by Doc
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» Dota 2 / Главная страница
Блог
» Dota 2 / Сайт с кастомными модельками для Dota 2
Блог
» WarCraft 3 / HiveWE - World Editor 0.6
Блог
» WarCraft 3 / Одиночная игра в Reforged
Блог
Edited by Doc
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9
Блог
» WarCraft 3 / Warcraft 3 Reforged: Патч 1.32.9