Добавлен , опубликован
Если данная тема уже существует, или я её создал не в том месте - укажите мне на ошибку, пожалуйста.
Здесь я бы хотел поделиться найденными багами. Возможно Вы пожелаете дополнить этот список. Далее список можно будет перевести и отправить разработчикам.
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), и интерпретатор делает черт знает что, когда он видит этот процент в строке.
Попробуй поставить два процента подряд вместо одного: %%. Обычно в языках программирования это работает с подобного рода символами.
Хотя, конечно, это очень сильная хрень.

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
29
6 лет назад
Отредактирован Doc
2
Иначе никаких баталий 300 на 300 игра бы не потянула, тем более в 2003 году.
0
13
6 лет назад
0
Doc, скажи, в Warcraft скрипт отрабатывается на сервере, или на всех клиентах?
0
30
6 лет назад
0
Решение клампа можно было бы здорово улучшить кешем.
Если не сложно, можешь пояснить кодом?

4
29
6 лет назад
4
0
16
6 лет назад
0
IsUnitIdType, ребята со зданиями. Не все свойства может проверить, но хоть попробуйте
Про группы - отдельная тема, по факту двиг умеет сразу фильтровать по игроку и айди юнита, но эти возможности в апи вынесены никак почти
0
13
6 лет назад
0
Doc, пруфы есть?
0
12
6 лет назад
0
Cancel:
Doc, пруфы есть?
Если бы код исполнялся только на сервере/хосте, то десинка бы не существовало в принципе. Десинк есть, значит код исполняется на всех компьютерах.
3
29
6 лет назад
3
Какие пруфы нужны кроме GetLocalPlayer?
0
13
6 лет назад
Отредактирован Cancel
0
Sergarr, мб тогда кто-нибудь подскажет всвязи с чем на карте может появляться следующая проблема: у игрока мало юнитов (не больше десяти) но при игре по сети очень большая задержка перед выполнением приказов. Например - крестьянин может начать строить башню лишь секунд через 10 после того, как игрок приказал это сделать. В одиночной игре с ботами такого не встречается. Карта не защищена wayofworlds.atlassian.net/wiki/spaces/SS/overview . Видео, где это производится www.youtube.com/watch?time_continue=366&v=C3tKPnKTVCo на 11:56 по таймингу
Это старая карта, полностью сделанная на GUI, сейчас делаю её заново на JASS
Но так как я до сих пор не понял в чём проблема - рискую снова нарваться на эту ошибку
0
16
6 лет назад
0
Раз в одиночной не встречается, проблема слишком большого числа данных для синхронизации по сети. Каждый игрок имеет свой лимит приказов + внутренние GameCache засоряют канал, когда используется синхронизация.
0
13
6 лет назад
0
DracoL1ch, какие данные именно синхронизируются? Меня тут убеждают (если я правильно понял) что данные не синхронизируются а генерируются на каждом клиенте отдельно. GameCache не использую. ДИалог собственно начался с того, что я стараюсь лишний раз не генерить юнита когда это не нужно - а на меня обвалились с критикой, что это не нагружает канал синхронизации.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.