0
23
5 дней назад
Отредактирован konvan5
0

» WarCraft 3 / Массивы и циклы

SсRealm, ааа, воот.
  1. Значение для юнита одно
  2. Значение уникально
  3. А потом эти значения надо удалять или менять?
  4. Если юнит умрет его значение станет свободным?
  5. И как добавляются у тебя новые юниты, в плане может ли юнит получивший значение получить его заново новое?
  6. А сохранить в обычное значение тебе можно или хочешь в триггерный массив по какой-то причине?
  7. Из какого массива? В каком-то массиве эти значения ограничены? (о котором ты написал)
  8. Что значит после присвоения значения выпиливаться?
0
23
5 дней назад
Отредактирован konvan5
0

» WarCraft 3 / Массивы и циклы

SсRealm, тебе надо сохранять какие-то значения для юнитов, потом изменять их? или добавлять новые? а старые удаляются со временем? А если юнит умрет то и значения поудалять? Это одно значение для одного юнита или их несколько?
0
23
5 дней назад
Отредактирован konvan5
0

» WarCraft 3 / Массивы и циклы

SсRealm, еще раз, опиши задачу, а то непонятно что тебе нужно в конкретном вопросе если нет условий :D
Ты говоришь о решении, а что решаешь непонятно :D
0
23
5 дней назад
0

» WarCraft 3 / Массивы и циклы

Опиши в чем изначальная задача, зачем ты это делаешь. + скрин триггера было бы неплохо увидеть, это более точные данные нежели слова.

Но как вариант (не зная что и зачем тебе надо), если хочешь хранить какой-то счетчик для юнитов - можно просто записывать в его обычное значение самого юнита. Если ты хочешь контролировать отдельно в триггерах - как вариант можно использовать массив Юнитов А[t]=юнит, куда ты сохраняешь нового юнита, и значение в массив значение, B[t]=счетчик
Если надо повысить счетчик - проходимся по массиву юнитов, если не нашли нашего юнита, тогда добавляем его. Если же нашли юнита, значит используем текущий индекс t для второго массива чтобы увеличить его счетчик B[t] = B[t] + 1

Есть еще вариант через хэш-таблицы сохранять счетчика, не придется делать 2 параллельных массива.
0
23
6 дней назад
0

» WarCraft 3 / Проблема с ACac

quq_CCCP, хах, а забавный факт)
Да и в целом подобные способки "на себя" лучше заменить на не аурные аналоги, даже если будут состоять из нескольких скрытых способок.
0
23
6 дней назад
Отредактирован konvan5
0

» WarCraft 3 / Как воскресить юнита?

Решение прекрасно работает. Только если у тебя нет каких-то особенностей у юнита, которые могут не сохраниться после такого пересоздания, к примеру он был триггерно перекрашен, ты ему давал способку или еще что.
(иначе вариант nazarpank тоже подойдет, хоть и там могут быть свои костыли)
Загруженные файлы
0
23
6 дней назад
0

» WarCraft 3 / Как воскресить юнита?

Как вариант - удалить юнита и создать такого-же в точке смерти прошлого.
0
23
6 дней назад
Отредактирован konvan5
0

» WarCraft 3 / Проблема с ACac

Протестил в пустой карте - все нормально, не моргает. Мб что-то другое влияет на способку у тебя.
По поводу аналогов - аура меткости. Хотя способности вроде одинаковые, только настройки разные.
Загруженные файлы
1
23
6 дней назад
1

» WarCraft 3 / Как изменить "иконку нейтрального здания"

Не знаю, что у тебя могло не получиться... Все работает, вот:
Загрузил картинку kek.blp 16x16
Заменил путь в константах "Пиктограмма: Нейтральные на мини-карте"
В итоге в игре все заменилось замечательно (красные иконки)
(прикрепил карту с обоими способами, что через константу, что через триггеры как в теме выше, что скидывал раньше)
Загруженные файлы
0
23
6 дней назад
0

» WarCraft 3 / Как изменить "иконку нейтрального здания"

Чекни эту тему,
Могу предположить, что размер иконки должен быть обязательно 16х16.
1
23
6 дней назад
1

» WarCraft 3 / Где можно найти художника?

На любых фриланс площадках для художников, можешь выложить там заявки. Еще вариант поискать конкретных по уже готовым артам с ключевыми словами варкрафт, wow и тд (ты же в подобном стиле хочешь).
0
23
6 дней назад
Отредактирован konvan5
0

» WarCraft 3 / Проблема с ACac

Сделай область воздействия 100 хотя бы, и проблема должна решиться.
1
23
1 неделю назад
1

» WarCraft 3 / Как сделать бесконечную дальность прорисовки?

MpW, ну все верно, вот триггер, больше 10 000 он просто не воспринимает и устанавливает 10к. Это уже лучше, чем 5000 (как по стандарту), но как преодолеть этот порог не знаю, надо искать.
Загруженные файлы
1
23
1 неделю назад
1

» WarCraft 3 / Доходы от налогов других игроков не отображаются в рекордах

WilliamBz, да целочисленная)
Сделать проверку для игрока, что если есть налоги тогда делать перерасчеты, это как раз не проблема.
0
23
1 неделю назад
0

» IT и Наука / Suno.ai - генерация музыки с вокалом

ScorpioT1000, это просто кек XD
1
23
1 неделю назад
1

» WarCraft 3 / фатал ерор

Поделил на ноль. Если хочешь нормальный ответ - скинь карту. Или если знаешь, из-за какого триггера могло произойти - скинь скрины триггера.
Вариантов множество, из-за чего фаталит. Даже кривая моделька, которую импортировал карту, могла сломать варик.
1
23
1 неделю назад
1

» WarCraft 3 / Выделение контретной переменной юнита из группы

rsfghd, как говорится, ответ в вопросе :D
1
23
1 неделю назад
1

» WarCraft 3 / Доходы от налогов других игроков не отображаются в рекордах

Вот карта с тестом. Можешь добыть рабочим 2 раза по 3 монетки = 6, а в таблице рекордов покажет 20 монеток добыто.
Загруженные файлы
1
23
1 неделю назад
1

» WarCraft 3 / Доходы от налогов других игроков не отображаются в рекордах

Вот как выглядит скрипт решения на золото. Работает прекрасно, если нет расходов, и не важно какие ты там налоги расставишь между игроками. И при стандартной добычи золота (10 монеток, иначе надо делать доп условия. Как с деревом надо бы).
Загруженные файлы
1
23
1 неделю назад
1

» WarCraft 3 / Доходы от налогов других игроков не отображаются в рекордах

Если да, то я тут потестил, можно вполне создать скрипт... но со сложностями, учитывая твои условия...
Смысл способа в том, чтобы ловить каждую добычу. По моему примеру это 3 монеты с рудника.
Для этого нам понадобится переменная для хранения последней зарегистрированной добычи игрока (ибо я не нашел способ понять, сколько золота мы получили).
Текущее добытое золото - последняя зарегистрированное золото из переменной = добытое золото (3 монет)
Устанавливаем золото текущее у игрока = золото текущее - потерянное налогом золото (7 монет)
Выключаем этот триггер (чтобы не засечь добавление добычи)
Даем игроку триггерно потерянное налогом золото (7 монет)
Сохраняем текущее добытое золото в переменную (регистрируем).
Включаем этот триггер
Готово.
Как получили 7? Добытое золото можно было бы использовать для формулы, чтобы понять, сколько ты потерял из добычи, но это невозможно, когда проценты могут потерять единицы добычи. Как в примере выше 3+3+3+1 (где 3 для игроков а 1 потеряли монетку)
Поэтому единственный костыль - это прямо делать жесткую привязку добытого золота к числу компенсации. Типа если добытое золото = 3, то потеря равна 10-3=7 (при делении на 3 игроков).
Расчеты на 2-их игроков более легкие без потерь, там все окей. Да и расчеты мои работают при условии, что добыча стандартная 10 монет. Если говорить про дерево - то там же могут и 20 дерева добывать и 200, нужны свои условия и проверки на добытое кол-во.
Еще одна проблема - это расходы за лимиты (которые справа сверху отображаются, 30%, 60%). Прикол в том, что даже при 30% ты теряешь не 30% СВОЕГО золота, а 30% ВСЕГО золота, что добывал. То есть из 3 добытых монеток потеряешь все 3, то есть добудешь 0 монет. А значит по твоей системе налогов играть с расходами невозможно.
1
23
1 неделю назад
Отредактирован konvan5
1

» WarCraft 3 / Доходы от налогов других игроков не отображаются в рекордах

Предположим у тебя делится налог на 3 игроков. То есть из 10 монет тебе приходит 3, синему и бирюзовому тоже по 3 монеты. 1 теряется. Вопрос, ты хочешь, чтобы в результаты записало 10 монет за эту добычу а не 3, верно? Тому кто добыл, а не кто получил от другого игрока налог.
Все правильно понял?
0
23
1 неделю назад
0

» WarCraft 3 / MEATT alpha v0.2

Жду прохождения Павла! Скинешь сюда потом видос?
1
23
1 неделю назад
1

» WarCraft 3 / Атака Jass

могу объяснить что не так было.
Пройдемся по алгоритму:
  1. Ты создаешь группу юнитов
  2. Далее запускаешь цикл loop и первым действие выбираешь ПЕРВОГО юнита в группе. Тут очень важно слово "первого". Запомним на будущее.
  3. Если юнит не существует, что выбрали, то выход из цикла. То есть если группа пустая, мы не сможем получить первого юнита, и тут мы выйдем.
  4. Делаем какие-то проверки (это не важно) и входим в тело if (и это важно).
  5. Если мы вошли в тело if пройдя проверки, ты удаляешь группу. А что было в 3 действии? Если группа пустая - мы не получаем первого юнита и выходим из цикла. Поэтому у тебя обрабатывался только первый юнит.
  6. Если же условия if не прошли и попали в else, то ты удаляешь юнита из группы. А значит в следующий раз первый юнит будет НОВЫЙ юнит, который раньше был вторым (первого же мы удалили).
А теперь предположим, мы удалим 5 действие, то есть не будем чистить группу. Проверили ПЕРВОГО юнита, он попал под условие, мы задамажили но не удалили его. Далее цикл повторяется, снова выбирает того-же самого ПЕРВОГО юнита, и снова повторяем те-же самые действия и так до бесконечности, ибо из группы мы его не удаляем. Поэтому и зависает, ибо бесконечный цикл у тебя был :)
Поэтому удалять юнита из группы надо ВСЕГДА в конце цикла, чтобы следующий выбор был с новым юнитом а не старым (не важно, прошел он твои условия или нет для действий).
И поэтому чистить группу тоже нельзя во время перебора, ибо мы тогда не чекнем остальных юнитов, что были в группе на этот момент.
Загруженные файлы
0
23
1 неделю назад
Отредактирован konvan5
0

» WarCraft 3 / Атака Jass

jasonrus96, удали эту строку, else тоже удали, а удаление юнита перенеси после endif, готово, не зависнет.
Загруженные файлы
0
23
1 неделю назад
0

» WarCraft 3 / Атака Jass

Может быть хотел это действие перенести после endloop но промахнулся? :D