30

» Огонёк Феникса / Я часть системы или ее сбой?

Ярлыки облегчают жизнь
Это не так, но в примеры вдаваться не буду. Каждый сам находит свои обучающие аграбли.

Ярлыки на то и ярлыки, что объединяют сущности самим фактом своего существования и ничем более.
30

» Огонёк Феникса / Я часть системы или ее сбой?

IIIНекромантIII, с латыни.
Не имеет значения, какой смысл использовать для обозначения сущности, лишённой смысла.
30

» Clamp'ова кухня / Герой после конкурса: WIP

Diaboliko, спасибо за коммент, сейчас отвечу по частям.

выдели константное число элементов под сущности
Оно так и есть, в Config выведена константа (через define).
unitiserdata...вместо двусвязного списка
Двусвязный список в данном случае ничуть не хуже, и даже лучше, так как не использует внешних игровых сущностей.
Для хранения иных значений можно использовать оффсеты номера ячейки или иные массивы с параллельным выделением номеров
Это по своей сути будет просто огромным костылём и существенно усложнит архитектуру кода в целом без каких-либо реальных улучшений.

Как-то так =)
30

» Огонёк Феникса / Я часть системы или ее сбой?

PrincePhoenix, вирус - это или микроорганизм, или вредоносная программа. В обоих случаях существование вируса обусловлено системой, в которой он существует. В первом случае система (биосфера) породила процесс эволюции, в ходе которого возникло царство вирусов, а во втором вирус был намеренно написан человеком.

Кроме того, политика это такая вещь, которую нет никакого смысла обсуждать: ты или действуешь и имеешь результаты, или бездействуешь и никак на эти результаты не влияешь. Пустые обсуждения есть бездействие, до выводов попробуйте дойти самостоятельно.
30

» Clamp'ова кухня / Custom player controller for Warcraft 3

prog, так нет же. Если глянуть на мой код, то там из нативных типов используются только int, float, bool, string, timer, trigger, причём таймер единожды для всей карты, а триггеры только для чтения инпата юзеров. Всё взаимодействие с UI, где невозможно обойтись без хендлов, инкапсулировано в максимально компактные библиотеки, которые работают через абсолютно адекватное API.

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

Ну а так да, конкретно этот кусок - велосипед.
30

» Clamp'ова кухня / Custom player controller for Warcraft 3

Вот это версия, которую я заливал. Она хорошо инкапсулирована и, хотя и рассчитана на строго определённую архитектуру карты (глобальный таймер, запускающий поток обработки игры N раз в секунду), показала себя достойно.
Сейчас сильно перепилил, всё красиво делаю, без костылей и с максимально адекватной логикой внутри самой системы. В свободное время учусь прогать таким изощрённым образом =)
Загруженные файлы
30

» Огонёк Феникса / Я часть системы или ее сбой?

Не являться частью той или иной системы возможно только при полной изоляции тебя или системы, а при полной взаимной изоляции ты никогда даже не узнаешь о её существовании => никогда не задумаешься, часть ты её или "сбой".
Что вообще за бред, "сбой"? Ошибки системы не перестают быть её частью.
30

» Clamp'ова кухня / Custom player controller for Warcraft 3

ZlaYa1000, отрефакторю и закину обратно, да. Сейчас душа лежит героя допилить =)
30

» Dota 2 / Результаты конкурса героев Dota 2

Предлагаю запрячь ещё один конкурс, чтобы все недовольные могли поучаствовать самостоятельно :3
30

» WarCraft 3 / Нужно ли удалять после создание CreateForce()

nvc123, вот кстати кейс использования, о котором я говорил:
library LocalEffect {
    #include "cj_types_priv.j"
    #include "cj_typesEX_priv.j"

    private force  allies = new force;
    private string temp;

    private string ForAllies(player ofPlayer, string modelName) {
        temp = " ";
        ForceEnumAllies(allies, ofPlayer, null);
        if (IsPlayerInForce(GetLocalPlayer(), allies)) {
            temp = modelName;
        }
        ForceClear(allies);
        return temp;
    }

    effect AddEffectForAllies(player ofPlayer, string modelName, float x, float y) {
        return AddSpecialEffect(ForAllies(ofPlayer, modelName), x, y);
    }

    effect AddEffectTargetForAllies(player ofPlayer, string modelName, widget targetWidget, string attachPointName) {
        return AddSpecialEffectTarget(ForAllies(ofPlayer, modelName), targetWidget, attachPointName);
    }
}
30

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

alexprey, сейчас уже не найду, давно было, но вроде как читал, что проверяется только код, который вызывается напрямую из "config" и "main", а всё, что вызывается через "ExecuteFunc" проверкой обходится.
Могу быть неправ, впрочем.
30

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

rastrelat, после изменения надо сохранить карту и перезапустить редактор.
30

» WarCraft 3 / Невозможно узнать цели после CHANNEL

Принятый ответ
EVENT_PLAYER_UNIT_SPELL_CHANNEL
Просто тут сохраняй все данные и жди время каста, если за него не прилетело событие "EVENT_PLAYER_UNIT_SPELL_EFFECT" или прилетело новое событие "EVENT_PLAYER_UNIT_SPELL_CHANNEL" , то удаляй данные, во втором случае начиная ожидание заново
quq_CCCP, на днях проверял, сохраняет.
30

» WarCraft 3 / IsUnitDeadBJ()

что там близзы наворотили в алгоритме такого, что юнит мертвый не при хп меньше 0.5
Это не близы, а Vexorian наворотил, а дальше "так повелось". По факту такое хп у юнита только вручную можно сделать, проблема надумана.
30

» WarCraft 3 / Многие юнитов

60+ юнитов это ... тупость автора
Это очевидно не так, если автор делал карту, вдохновляясь игрой серии "Total War", например.
Карты из серии "Risk" (всякие "зомби инвейжны", "лорды европы" и итд) тоже в туда же.
30

» WarCraft 3 / IsUnitDeadBJ()

Щяс там из за 2х знаков все сломается.
Именно в результате такого подхода растущие в геометрической прогрессии мощности железа постоянно не успевают за растущими требованиями софта. Существует антипаттерн преждевременной оптимизации, но это определённо не тот случай.
30

» WarCraft 3 / IsUnitDeadBJ()

GetWidgetLife( unit ) < 0.405
Неоднократно было показано, что такое количество здоровья у юнита может быть только если его специально задать триггерно.
Кроме того, число "0.4" ничем не хуже числа "0.405", и даже лучше: в нём меньше знаков.
30

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

ENAleksey, смотри: функция "config" содержит в себе такие вещи, как название карты, количество игроков на карте и т.д., и вызывается при выборе карты в списке карт, даже не при создании лобби. При запуски карты из лобби вызывается функция "main", в неё действительно тыкаться мало смысла даже в теории.
30

» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III

dll с нативками подгрузится ещё позже
Подгрузка много времени занимает?
Если нет, то можно попробовать в config (эта функция вызывается при при выборе карты в списке) вписать действие на подгрузку и небольшую задержку.

В теории при подгрузке карты в списке карт игра подвиснет на время задержки и подгрузит dll.
30

» Clamp'ова кухня / Custom player controller for Warcraft 3

Недавно пообщался с одним чуваком, и в разговоре выяснилось, что его зовут Гора Комментов. Больше как-то не связывались, и я хз, где он сейчас, но уверен, что на этом сайте его найти не получится при всём желании