Добавлен
Правильно ли я делаю устанавливая z1 2 раза? 1 раз в globals. 2 раз в таймере каждые 0.03 сек? Просто по другому триггер работать не хочет

Skolz:
дайте мне уж чёткий ответ. То что я устанавливаю z1 = 0 каждые 0.03 сек это плохо или норм?
внизу идёт цикл z1 от 1 до z (по гуишному)
Ладно, ничего в этом страшного нет, если оно работает.
Так что всё в порядке, если тебя это успокоит.
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
Чтобы было норм читать, надо хотя бы выделять содержимое каждого блока (типа function/endfunction, if/endif, loop/endloop) табуляцией. Если блок внутри блока, то двойная табуляция, и т. д.
В vJASS и cJASS не стоит использовать одновременно C-подобный и Turing-подобный (стандартный JASS) синтаксис.
А если ты неправильно поставишь пробелы, запятые или кавычки, тебе об этом скажет парсер =)
ответ
Во-первых, что есть "локальный таймер" ? Это таймер записанный в локальную переменную?
Во-вторых, зачем тебе точка, если ты используешь XY ? Работай с ними
В-третьих, да. Использование в течении всей игры одной заранее созданной точки вызывает меньше нагрузки чем постоянно создание и удаление новых (кто-то там доказывал на примере и цифрами что от ремувнутых точке всё равно остаётся шлак в памяти...)
ответ
Всё, понял как сделать
ответ
Там до +50 не хватает скобки

28
возможно муишно надоела маленькая зарплата и он устроил забастовку
для более подробного ответа советую подождать когда штатный телепат вернётся из отпуска
29
Я точно не понял, что имел ввиду автор. Но не кажется ли мне, что всё дело в переменной z?
21
Если ты используешь одну глобалку для всех переборов, то правильно. А то кто знает что в ней там будет.
13
Зачем глобальная z1, если она все равно обнуляется? Как я понял по коду, то функция запускается периодично каждые 0.03 секунды, что, вероятно, ненадежно (так как если запустится несколько таких таймеров, то z1 в каком-то из них начнет принимать значения от другого применения), поэтому z1 нужно сделать локальной.
10
KingMaximax, z устанавливается во время каста (z = z + 1) для муи
Пушистый, мне нужно её сделать глобальной, т.к. у меня идёт связка из 2-х спеллов. В данном случае в этом спелле создаётся даммик[z1] мне его надо перенести в другой триггер с другим спеллом для того, чтобы его (даммик[z1]) использовать
21
Пушистый, мб. у него один таймер, а все периодические системы эксекьютятся?
10
Raised, у меня есть система одиночного таймера, но мне пока ею пользоваться рано. ибо у меня проблема с изучение .this
13
И вопрос на вопрос: почему юнит с хп больше (именно строго больше), чем 0.405 считается живым? А никто никогда не пробовал юниту ставить 0.405 ровно? Проверьте, это немного изменит представление о жизни и смерти в варе:)
10
Пушистый, мне бы кто ответил на вопрос... Ничего страшного от того, что я переменную z1 каждые 0.03 сек устанавливаю z1 = 0? Будет ли это нагружать варик или нет? Если да, то как правильнее будет?
29
А не лучше ли использовать структуры с таймером, чем так пыжится? Jass всё-таки. С помощью структур можно делать бесконечное муи. И тем более, там всё идёт по принципу стека... Ы... Так, что переполнения не будет. Только аллокейть и дэаллокейть.
21
Перезапись одного инта не перегрузит вар.
29
Skolz:
KingMaximax, я не знаю как пользоваться структурами
В чем проблемы изучить? Это почти как классы с++ для новичка. И ещё они очень удобны будут для ваших манипуляций. Хотя бы прочитайте про стек, ибо он тут ой как нужен в вашем муи. Просто функция переполняется ограничением, А использованные индексы вновь не используются как бы. Поэтому советую вам перейти на структуры.
18
Пушистый:
Зачем глобальная z1, если она все равно обнуляется? Как я понял по коду, то функция запускается периодично каждые 0.03 секунды, что, вероятно, ненадежно (так как если запустится несколько таких таймеров, то z1 в каком-то из них начнет принимать значения от другого применения), поэтому z1 нужно сделать локальной.
в jass потоки синхронизированы
Skolz, если ты в функции обращаешься к глобалке больше трёх раз, то с точки зрения производительности будет выгоднее объявить локалку и её использовать, т.к обращение к локальной переменной в 4 раза быстрее чем к глобальной
, тем более ты буквально делаешь из этой глобалки счетчик для работы цикла, а это присваивание по кд - значит ты сильно проигрываешь в производительности, лучше всего будет объявить там локалку и использовать её
16
Мои замеры не показали никакой разницы между локал и глобал переменными
29
DracoL1ch, локалки лишь затормаживает из-за их объявления, а глобалки уже заранее объявляются, а скорость операции над ними одинакова.
Хотя, пере-взглянув на кусок кода данного пользователя, я не могу определить правильность его кода, потому что, он, во первых показал его не полностью. Во вторых, он не рассказал, что именно делает та часть кода. Мы не ясновидящие. (Но всё же , лучше используй структуры)
18
DracoL1ch:
Мои замеры не показали никакой разницы между локал и глобал переменными
ну не из воздуха же он взял эти цифры
10
дайте мне уж чёткий ответ. То что я устанавливаю z1 = 0 каждые 0.03 сек это плохо или норм?
внизу идёт цикл z1 от 1 до z (по гуишному)
29
Skolz:
дайте мне уж чёткий ответ. То что я устанавливаю z1 = 0 каждые 0.03 сек это плохо или норм?
внизу идёт цикл z1 от 1 до z (по гуишному)
Ладно, ничего в этом страшного нет, если оно работает.
Так что всё в порядке, если тебя это успокоит.
Принятый ответ
18
KingMaximax:
скорость операции над ними одинакова.
не одинакова, область видимости у глобалки и локалки разные - значит и чтобы добраться до глобалки нужно больше ресурсов. Но это если судить по строгой оптимизации, ну а если закрыть глаза на это, то можно представить что они одинаковы по затратам ресурсов
10
KingMaximax, спасиб.
Но а делать z1 локальной не вариант, т.к. мне нужно в этом таймере создать даммика и перенести его в другой спелл
18
Skolz, сказали уже, объяви локалку и присвой ей значение глобалки которую передаешь, далее в функции работай с этой локалкой.
И под конец можешь вновь присвоить глобалке значение из локалки и передать куда тебе нужно
А структуры вообще то сделаны из массивов глобалок
10
UrsaBoss, "объяви локалку и присвой ей значение глобалки которую передаешь"
Не понял? Как это сделать?
18
Skolz неправильно выразился, там просто ты используешь глобалку для работы цикла и т.д - а это != хорошо.
Можно в начале объявить локалку и повесить на неё эти обязанности
А если ты потом куда то будешь передавать z1, то просто в конце функции присваиваешь z1 нужное значение из локалки
Чтобы оставить комментарий, пожалуйста, войдите на сайт.