Добавлен , опубликован
Если данная тема уже существует, или я её создал не в том месте - укажите мне на ошибку, пожалуйста.
Здесь я бы хотел поделиться найденными багами. Возможно Вы пожелаете дополнить этот список. Далее список можно будет перевести и отправить разработчикам.
call SetUnitDiceSides( GetTriggerUnit(), 1, 0 )
в GUI редакторе в качестве индекса атаки можно выбрать только значение 0. Хотя первая аткака начинается не с 0 а с 1
call UnitAddAbilityBJ( udg_lSpell, GetTriggerUnit() )
call UnitHideAbility( GetTriggerUnit(), udg_lSpell, true )
call UnitHideAbility( GetTriggerUnit(), udg_lSpell, false )
Если герою дать обилку, сначала его спрятать, а потом отобразить - то абилке скроется, но не отобразится вновь
call UnitDisableAbility( GetTriggerUnit(), udg_lSpell, true, true )
call UnitDisableAbility( GetTriggerUnit(), udg_lSpell, false, false )
если абилку сначала заблочить, потом отобразить - то абилка не отобразится
call SetItemName( GetLastCreatedItem(), "test name" )
call DisplayTextToForce( GetPlayersAll(), GetUnitName(GetTriggerUnit()) )
если юниту поменять имя, а потом попытаться это имя узнать - то вернётся дефолтное имя юнита, а не установленное триггером
call SetItemName( GetLastCreatedItem(), "item name" )
call SetItemTooltip( GetLastCreatedItem(), "tooltip" )
если попытаться присвоить предмету уникальное имя или описание - то имя и описание поменяется у ВСЕХ предметов данного типа (а не одного лишь
call SetAbilityResearchTooltip( udg_lSpell, "test value 1", 1 )
call SetAbilityResearchTooltip( udg_lSpell, "test value 2", 2 )
не работает изменение описания для указанного уровня в окне изучения героических способностей
Следующий баг не до конца изучен:
Когда пытаюсь вывести строку, в которой используется символ % - вместо этого символа и символов рядом стоящих - подставляются странные значения, похожие на адреса данных.
set udg_itemStatASpd[i] = 0.05 * (1 + 0.1 * I2R(level-1))
set udg_items_descr[i] = name + " |cffffcc33(L" + I2S(level) + ")|r\n"
set udg_items_descr[i] = udg_items_descr[i] + "+" + I2S(udg_itemStatHp[i]) + " HP\n"
set udg_items_descr[i] = udg_items_descr[i] + "+" + I2S(R2I(udg_itemStatASpd[i] * 100)) + "% attack speed\n"
Т е вместо "% a" подставилась какая-то херь
Комментарий пользователя Sergarr, :
Возможно, это связано с недокументированной добавленной функцией целого деления (a % b), и интерпретатор делает черт знает что, когда он видит этот процент в строке.
Попробуй поставить два процента подряд вместо одного: %%. Обычно в языках программирования это работает с подобного рода символами.
Хотя, конечно, это очень сильная хрень.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
17
Clamp, тебе в каждой карте нужно узнавать классификацию типа объекта? У меня проблема другого рода - при игре по сети очень сильные задержки при общении клиентов. Поэтому я стараюсь как можно меньше давать нагрузки на сеть (а значит - на создание данных, которые должны синхронизироваться между клиентами). Создавать юнита, чтобы узнать свойство его типа - непозволительная роскошь, я лучше для такой узкой задачи не поленюсь, и вложу свойства в флаги имени
29
Я очень сомневаюсь что данные каждого юнита отдельно синхронизируются. Решение клампа можно было бы здорово улучшить кешем.
17
Doc, подумай сам - если юнит создаётся - об этом должен узнать каждый клиент, в том числе узнать все параметры созданного юнита. Тоже самое когда юнит удаляется.
И тут всё зависит от того, как часто эта функция вызывается - если на этапе инициализации, чтобы узнать и сохранить параметр - то ок, а если в событии малой переодичности - то дорого выходит
29
Нет, не должен. Учите матчасть. Локстеп работает не так. Юнит создается одновременно у всех потому что у всех выполняется один и тот же код. Синхронизация конкретного юнита тут не нужна. Десинк можно определить прохешировав весь стейт (хендлы) и сравнив его с клиентами.
29
Иначе никаких баталий 300 на 300 игра бы не потянула, тем более в 2003 году.
17
Doc, скажи, в Warcraft скрипт отрабатывается на сервере, или на всех клиентах?
30
Решение клампа можно было бы здорово улучшить кешем.
Если не сложно, можешь пояснить кодом?

16
IsUnitIdType, ребята со зданиями. Не все свойства может проверить, но хоть попробуйте
Про группы - отдельная тема, по факту двиг умеет сразу фильтровать по игроку и айди юнита, но эти возможности в апи вынесены никак почти
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.