Бтв, про сбор команды - для продвинутых сущностей нередко исправлять за другими оказывается тяжелее, чем делать самому, важно создать максимально комфортные условия для созидания, вот для чего деньги не лишние, а уж дело и самому можно делать.
И, да, тема-то не про то, надо это или не надо, а про то, как лучше это сделать, я про это и в стартовом сообщении написал.
Я на крайний сам вопрос по варианту 3 проверю и/или будет сделан выбор между третьим вариантом, вторым, каким-то ещё и отказом от Cooldown Reduction, но если кто поможет - спасибо.
Aws, тогда мой вариант тебе идеально подходит, осталось решить какой необратимый хеш одновременно достаточно хорош и не слишком сложен в реализации. Я помню кто-то даже md5 на jass выкладывал тут на xgm, но, имхо, это изврат.
Принцип примерно такой:
игрок вводит команду вида "-code qwerty", где code это или универсальное ключевое слово для ввода кодов или уникальное для каждого кода, в зависимости от реализации, а qwerty это ключевое слово для конкретного кода
триггер отлавливает ввод первого ключевого слова "-code" и выделяет из строки второе ключевое слово "qwerty"
ключевое слово "qwerty" прогоняется через необратимую хеш-функцию и превращается в хеш "123456"
хеш "123456" сравнивается с записаным в карте хешем, циклом если команда "-сode" универсальная, или напрямую если у каждого кода есть своя команда
если хеш совпал, то выдаем плюшки, ну а если нет, то шлем нах
при попытке вскрыть карту кулхацкер обнаружит только "-code" и "123456", но не "qwerty", а значит не сможет правильно ввести команду в официальной версии карты
наличие алгоритма хеширования в карте не спасает кулхацкера т.к. алгоритм необоратимый и не может из "123456" получить "qwerty"
кулхацкер может поробовать подобрать ключевое слово, хеш которого совпадет с "123456", но если функция хеширования достаточно хороша, то он скорее начнет рвать волосы на жопе и визжа кататься по полу, чем у него это получится
вот карта
неправильно используешь константы, лень объяснять.
Короче, тут его один баг. Ты всех вурдалаков вначале отправляешь разрушать ворота, а если выйти и перекрыть им вход? Полностью не перекрыть им вход, но все же вурдалаки проигнорят ваших солдат (ибо отдана атака ворот). Надо сначала сделать так, им дойти до ворот (атака в точку), а после проверить нет ли кого рядом с воротами. И попробовать разрушить (отдать атаковать ворота). Надо кампании посмотреть как там сделано.
Еще надо проверять, если кто-то попытается открыть ворота и выйти.
Мне вот интересно ворота живы, когда они открыты? Просто используется проверка жива/мертва декорация. это не проверял. Если интересно, в одной кампании, чтобы опустить проход, декор разрушают kill.
В моей карте нет ничего этого, что описал. Просто проверяют периодиком жива/декорация, берем группы вурдалаков и отдаем нужные приказы
вставляешь условие на проверку своего главного здания (если нет главного здания), ии читает код с самого начала, следовательно каждый раз при улучшении своего главного здания твой ии будет строить новое главное здание, потому как в самом начале кода ии это прописано.
тебе нужно добавить условие строить главное здание, только при отсутствии аналога.
открой любой нормальный wai запусти в редакторе и посмотри какое условие стоит на главном здании.
тебе нужно добавить условие строить главное здание, только при отсутствии аналога.
открой любой нормальный wai запусти в редакторе и посмотри какое условие стоит на главном здании.