Вместо "local integer i = null" напиши "local integer i = 0", вместо "bj_forLoopAIndex" и "GetForLoopIndexA()" везде пиши "i", функцию Trig_BlockA_Func005Func011Func001C() сделай "takes integer i" вместо "takes nothing" и в if-then "Trig_BlockA_Func005Func011Func001C()" внутри пустых скобок функции поставь "i".
А вообще, я не вижу зачем тебе здесь вообще нужна локальная переменная. Мог бы все оставить как было, через Index A.
Мастер клинка (их штук 5), Алхимик ( 4 штуки) и так далее.
Мб выбор сделать какнить иначе? Визуально? Писать в чат название не сильно то круто, быстро надоест.
Есть кстати String2UnitIdBJ("footman") но работает только на дефолт, да и распознаёт ток. игнлишь,
Из визуальных методов выбора самое простое - это поставить магазины в котором все нужные юниты просто продаются в отгороженном месте на карте, плюс команда в чат для телепорта всех купленных юнитов в центр карты.
Sergarr, Будем задавать кости парой чисел. (костей, граней у костей): у некоторых. (1,2). У некоторых (1,80), у некоторых (2,15), у одного (10,30)
В общем, 12 уровней юнитов и все варьируются (1-10, 2-85)
Есть одна идея - попробуй снизить число костей у юнита, который (10,30) и подвергается данному улучшению, до нуля, и то же сделать с количеством грани у кости (увеличив при этом базовый урон этого юнита на количество, равное (число костей)*(число граней у кости+1)/2, для сохранения баланса). И посмотреть, будет ли меняться уровень улучшения, при котором десинкает.
Если он будет меняться, это означает, что варик просто некорректно обрабатывает синхронизацию рандома урона от юнитов, начиная с какого-то достаточно большого количества костей или (костей*число граней у кости).
Dwarf Fortress вполне себе существует на пожертвования, и спокойно выпускает, как выражается, в "паблик", новые версии. И ничего, народ дает. Как вы это объясните, со стороны Вашего глубокого опыта в области "сбора пожертвований"? Там у них человеческая природа внезапно меняется, что ли?
Dwarf Fortress - это вообще уникальный случай. Не стоит сравнивать.
Я согласен, что DF - случай довольно особый, но тут же речь идет не просто о тенденции или о подавляющем большинстве - тут сразу о "человеческой природе" начался разговор, мол, проблема не в отдельных людях, а сразу во всем семи-миллиардном человечестве.
Такая аргументация, по своей логике, не предполагает исключений. Если есть исключение, а оно есть, в лице Dwarf Fortress, значит аргумент был неправильный. Неправильные аргументы необходимо публично опровергать, чтобы исключать засорения социального пространства предложениями, наподобие "все негры - преступники", "все жиды - в сговоре и обворовывают честных людей" и тому подобным расизмом. Мы же здесь, на XGM, цивилизованные люди, поэтому не стоит уподобляться всяким с Vk.
Я же говорил, что надо было сначала брать плату, потом отдавать проект (готовый или не очень). Это людская психология - плачу, когда есть за что платить. Попользовался - уже все, нет желания.
И не в коем случае не давайте в паблик готовых или полуготовых проект. Люди платят, чтобы получить товар - и они откажутся платить, когда товар уже будет у них. Я просто знаю не понаслышке, что такое сбор пожертвований - поэтому реальный опыт есть.
В общем-то это не очень правильно, делать такие масштабные выводы по поводу групп, состоящих из сотен миллионов людей.
Dwarf Fortress вполне себе существует на пожертвования, и спокойно выпускает, как выражается, в "паблик", новые версии. И ничего, народ дает. Как вы это объясните, со стороны Вашего глубокого опыта в области "сбора пожертвований"? Там у них человеческая природа внезапно меняется, что ли?
Че т мне такая активность не нравится. Я думаю, они попытаются убрать игру по локальной сети и переделать редактор под ск2-подобный формат, попутно поломав все карты выпущенные на прошлых версиях а ля 1.24.
Это Jass.
Хэш Таблицу объявить в корне карты: hashtable H = InitHashtable();
Как именно сделать на 1 таймере?
Делаешь один таймер, вешаешь на него функцию, которая проходит по главному массиву с числами - количеством времени до срабатывания соответствующего действия, уменьшает их на величину периода главного таймера и, если есть числа меньше нуля (соответствующие истекшим таймерам в твоей схеме) - выполняет соответствующие необходимые действия. Всю информацию, необходимую для таких действий, можно легко поместить в массивы, параллельные главному.
Дополнительным плюсом такой схемы является отсутствие необходимости использовать хеш-таблицу.
Функции, обращающиеся к хеш-таблице, я вижу, а вот где сама хеш-таблица?
Также, создавать таймер на каждого юнита - жесть. Они же грузят неимоверно, 100 таймеров и варик все, вешается. Можно же легко сделать на одном таймере все.
Параллельные массивы, офк. Достаточно один раз написать пару функций для добавления/удаления элементов, чтобы после этого получить максимальную скорость, как в написании, так и в применении.
Если есть проблемы с их написанием, можно просто использовать уже готовый вариант - структуры vJass-а.
" ALL.j - автоматическое устранение утечек от использования GUI триггеров
Глючная вещь. Иногда удаляет то, что не нужно удалять.
Все равно, это будет вариант лучше, чем пытаться удалять утечки на ГУИ вручную, потому что для этого нужно знать JASS (для Custom Script команд), а если знаешь JASS, то писать будет проще чисто на нем.
" ALL.j - автоматическое устранение утечек от использования GUI триггеров
Просто впишите #include "ALL.j" в код вашей карты и будет счастье"
А вообще, правильного ГУИ, во-первых не бывает по определению, и во вторых, даже если бы он был, здесь его ты не найдешь. Здесь все изначально ориентировались на JASS и его улучшения, как принципиально более мощный и быстрый вариант - что можно легко видеть по статьям.
local string o = OrderId2String(GetUnitCurrentOrder(h)) вместо h подставляешь героя которому ты хочешь что-нибудь приказать
...
if ((o == "smart") or (o == "attack") or (o == "patrol") or (o == "move") or (o == "stop") or (o == "hold") or (o == null)) then сюда вставляешь команду на аттак-мув в центр арены или куда тебе там нужно
endif
» WarCraft 3 / jass if внутри loop
» WarCraft 3 / Патч 1.28.2
» WarCraft 3 / Выбор Юнита по Строке
» WarCraft 3 / Выбор Юнита по Строке
» WarCraft 3 / Разветвленная Атака
» WarCraft 3 / Лимита редакторская
» WarCraft 3 / Патч 1.28.2
» WarCraft 3 / Умножение типов real
» WarCraft 3 / Ошибка открытия карты
» WarCraft 3 / Десинхронизация от улучшения
» WarCraft: Armies Of Azeroth / Выход на Indiegogo
» WarCraft 3 / Десинхронизация от улучшения
» WarCraft: Armies Of Azeroth / Выход на Indiegogo
» WarCraft 3 / Blizzard выпустит 1.27 для WarCraft 3
» WarCraft 3 / Слетает графика.
» WarCraft 3 / Помогите со спелом!
» WarCraft 3 / Помогите со спелом!
Ред. Sergarr
» WarCraft 3 / Хэш или Кэш
» WarCraft 3 / Не могли бы вы, somebody, написать статью об правильном GUI?
» WarCraft 3 / Не могли бы вы, somebody, написать статью об правильном GUI?
» WarCraft 3 / Формат BLP читается "не до конца".
» WarCraft 3 / Атака в воздухе, дальность атаки.
» WarCraft 3 / Как отловить простой юнитов?
сюда вставляешь команду на аттак-мув в центр арены или куда тебе там нужно
endif
» WarCraft 3 / Как сделать триггерный реколор юнита?
» WarCraft 3 / vJass?