Указываются точки по типу переменная с массивом а = а + 1,
затем нужно определить не является ли новая точка способности точкой из уже указанных, и если является, то нужно чтобы определило какая она по счету
Есть в условиях сравнение х и у точки, но там же только число координат точки, а как сразу все точки сравнить? Пришлось в условие координаты каждого массива писать, дошел до 9 пока что)
Пробовал сделать через цикл, но он только для действий, а цикла для условий не нашел. Подскажите пожалуйста.

Делать это не в условии триггера, а в действиях, очевидно.
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Это не пробовали?
Или вот это. Хорошая наработка, насколько я помню.
ответ
ответ
спасибо всем, подали пару идей. буду работать
ответ
NekoriDes:
Тебе нужно именно улучшение или исследование?
Потому что если улучшение, то условие будет выглядеть как-то так: Тип Triggering unit == Юнит, который должен получиться после улучшения.
В редакторе исследования называются улучшениями. Да, мне нужно улучшение
я похоже нашел что искал. нужное условие называлось - "Сравнение типа техники". Этот божественный перевод :/
ответ
~8gabriel8:
PT153:
Потому что число 0.01, сложенное 10 раз, меньше 0.1.
Выводи число следующим кодом, где r - твоё real число.
call DisplayTimedTextToPlayer(GetLocalPlayer(), 0., 0., 5., R2SW(r, 0, -1))
PT153:
у парня проблемы с алгоритмом, в какой вселенной 0.01 * 10 не 0.1?
В компьютерной. И да, 0.01 * 10 тоже может быть не равно 0.01 + ... + 0.01. Потому что складываются и умножаются real по-разному.
Hate, надо просто использовать целочисленные, или пользоваться ==, в JASS == округляет числа для сравнения (!= не округляет).

Пороверил разные варианты, сразу упомяну, что с целочисленными всё огонь, просто какие-то другие воспоминания с ними всплывали.
PT153, сначала не понял, зачем мне твоя строчка, она всего лишь выдавала 0.1 вместо 0.100, но тестировал разные варианты и всё прояснилось. Если задавать шаг 1.0, то всё исправно считается до 10.0, если задавать шаг 0.2, то всё считается до 2.2 и отображается ровно, но если сделать шаг 1.01, то вот тут и появляется то, ради чего ты эту строчку дал.
Именно с дробной частью косяк, и теперь не знаю как выбрать лучший ответ, по идее у тебя в каждом комментарии полезная информация. Просто объединил их в итоге.

Hate:
сначала прибавляет, а затем проверяет, потом удивляется почему 0.11
Обычно просто отшучиваюсь на подобные комментарии, но сейчас так всё грустно в нём, что не смогу.

24
Делать это не в условии триггера, а в действиях, очевидно.
Принятый ответ
10
prog:
Делать это не в условии триггера, а в действиях, очевидно.
Итак делаю в действиях триггера в if ... then... , и вот как в этом if это сделать?
10
prog:
Lotus101, использовать иф внутри цикла же.
Ну вот он вычисляет что да, выбранная точка одна из точек с массивом, но как узнать с каким она массивом?
26
Если точка совпала, то вывести индекс массива, с которым сравниваешь.
10
8gabriel8:
Если точка совпала, то вывести индекс массива, с которым сравниваешь.
То есть так?
Для всех чисел А от 1 до "переменная индекса массива точки"
Если X точки NewPoint = X точки Point [число А]
Если Y точки NewPoint = Y точки Point [число А]
То:
Установить Point [переменная индекса] = NewPoint (мне это нужно было, если точка повторяется ее сделать последней в массиве)
Создать плавающий текст в этой точке
В итоге создается куча текста в этой точке, пробовал по другому игра зависает или фатал... Или он указывает просто точку с последним индексом, а не нужную
27
ScorpioT1000, я в своей наработке тоже как описал Lotus101 сравниваю. Чтобы повторно точки пересечения в массив не добавлялись. Вроде работает, но наверное...
Мб в моем случае полезнее дробную часть отсекать? хотя у меня погрешностей никогда не должно быть, тк после запятой ноль
26
Lotus101, чего-то странно, что у тебя не получается, наверное, где-то какой-то сбой. По идее должно быть так:
Цикл по А от 0 до размера массива Point
Если (х NewPoint)=(x Point[A]) и (y NewPoint)=(y Point[A])
То создать всплывающий текст в NewPoint
Иначе <пусто>
Про сделать последней в массиве в случае повторения не совсем понял.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.