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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
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 не использую. ДИалог собственно начался с того, что я стараюсь лишний раз не генерить юнита когда это не нужно - а на меня обвалились с критикой, что это не нагружает канал синхронизации.
0
12
6 лет назад
Отредактирован Sergarr
0
Cancel:
DracoL1ch, какие данные именно синхронизируются? Меня тут убеждают (если я правильно понял) что данные не синхронизируются а генерируются на каждом клиенте отдельно. GameCache не использую. ДИалог собственно начался с того, что я стараюсь лишний раз не генерить юнита когда это не нужно - а на меня обвалились с критикой, что это не нагружает канал синхронизации.
Как написано здесь:
Doc:
Иначе никаких баталий 300 на 300 игра бы не потянула, тем более в 2003 году.
Deterministic lockstep is a method of networking a system from one computer to another by sending only the inputs that control that system, rather than the state of that system.
Т.е. синхронизируется не все данные, а лишь ввод данных игроками, в контексте варкрафта это, в основном, отдача приказов юнитам. Создание юнита - это не приказ игрока, потому что код создания юнита зашит в карте и исполняется параллельно на всех компьютерах, а приказы от игроков поступают динамически уже в процессе игры.
0
13
6 лет назад
0
Sergarr, в моей карте одновременно присутствует не так много юнитов, т. е. сомневаюсь что десятисекундные задержки происходят по этой причине. Зато большая загруженность по коду, где юниты созадются, для каждого их них формируются хеш таблицы с параметрами и т. д., поэтому мне важно разобраться что именно вызывает такие задержки. Посмотрите реплей сами - там не так много войск чтобы вызывать проблемы
0
12
6 лет назад
0
Cancel:
Sergarr, в моей карте одновременно присутствует не так много юнитов, т. е. сомневаюсь что десятисекундные задержки происходят по этой причине. Зато большая загруженность по коду, где юниты созадются, для каждого их них формируются хеш таблицы с параметрами и т. д., поэтому мне важно разобраться что именно вызывает такие задержки. Посмотрите реплей сами - там не так много войск чтобы вызывать проблемы
Если ты про видео, то там задержка секунды 2, а не 10. Тот клик, от которого там можно насчитать 10 секунд, сопровождается сообщением об недостатке золота. Задержка в 1-2 секунды может иногда наблюдаться на любой карте, если у кого-нибудь из играющих плохой интернет.
0
13
6 лет назад
0
Sergarr, речь не о видео, а о карте, и на этой карте довольно часто задержки по 10 секунд перед принятием приказа о строительстве
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.