Перейти к содержанию

Сообщения от Скрипты

Аватар пользователя
12 лет назад
обнаружил пусть и очень незначительную, но странную штуку касательно циклов по элементам массива. Я обычно старался использовать для этого стандартный lua-инструмент, вида
for i, element in table do
так вот, для примера набросал код, который печатает по-порядку все элементы некой таблицы:
test_table = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
for i, el in test_table do
print('i = ', i, ', el = ', el)
end
консоль выдает следующее:
i = 13, el = 13
i = 1, el = 1
i = 2, el = 2
i = 3, el = 3
i = 4, el = 4
i = 5, el = 5
i = 6, el = 6
i = 7, el = 7
i = 8, el = 8
i = 9, el = 9
i = 10, el = 10
i = 11, el = 11
i = 12, el = 12
т.е. первым идет 13 элемент, а потом все по-порядку. И самое интересное - это проявляется ТОЛЬКО при размере массива 13 элементов, все что я проверял с большим или меньшим размером перебирало нормально, начиная с 1 элемента. Такая вот lua фича. Столкнулся с этим в коде, для которого порядок перебора был важен.
В ответ пользователю Jack_of_shadows
Аватар пользователя
12 лет назад
Это нормальное поведение. На порядок следования в таких циклах полагаться нельзя.
Перевод руководства по Lua 4.0
Порядок, в котором элементы таблицы будут пересечены, неопределен, даже для числовых индексов. Если Вы хотите пересекать индексы в числовом порядке, используйте числовой вариант for.
Странно может показаться на первый взгляд, но, если вдуматься, то можно понять, что порядок не всегда будет однозначным, т.к. индекс может быть любого типа.
Аватар пользователя
12 лет назад
i не проинициализированно, так что всё логично вроде бы...
Аватар пользователя
12 лет назад
Это понятно, что на порядок полагаться нельзя, но как говорится "я тысячу раз так делал, и все было нормально". Сейчас то уже переделал критичные места через другой вариант for.
Аватар пользователя
12 лет назад
Господа, как скриптами возвести здание в городе? Не нашёл такой функции, а нужно бы...
Аватар пользователя
12 лет назад
UpgradeTownBuilding(имя_города, идентификатор_строения)
Возводит или улучшает строение в городе, на один уровень.
Аватар пользователя
12 лет назад
Так, а если здание не построено, то оно нулевого уровня, да? Функция это предусматривает?
В ответ пользователю Ment
Аватар пользователя
12 лет назад
Ment
Так, а если здание не построено, то оно нулевого уровня, да? Функция это предусматривает?
Да, предусматривает.
Аватар пользователя
12 лет назад
BlockTownGarrisonForAI - не позволяет герою ИИ брать существ из города, или не позволяет герою прятаться в городе?

Можно ли как-то ввести верхний предел на развитие не для всех героев на карте, а только для некоторых?
Аватар пользователя
12 лет назад
Не даёт героям ИИ брать гарнизон из города, и, как побочный эффект, залезать в город полностью.
Аватар пользователя
12 лет назад
Люди создаю миссию помогите со скриптами я сделал горизонт с огромной армией в миссии мне нужно когда к нему подходишь выскакивало диалоговое окно что их не победить и в определённом месте появлялся портал а на пути к нему войны!Возможно ли сделать так????И ещё я хочу чтоб на последнем горизонте появлялись по бокам биара и аларик и начинали меня атаковать.А потом я отбирал горизонт и побеждал!!!
Аватар пользователя
12 лет назад
:D Я не знаю скрипт это или нет но как указать количество существ:D
:smile50:

Добавлено через 4 минуты
Как сделать задание герой должен выжить и как сделать чтоб никому из игроков ни надо было бы захватывать замок за одну неделю???
В ответ пользователю Dark messain
Аватар пользователя
12 лет назад
Dark messain
Люди создаю миссию помогите со скриптами я сделал горизонт с огромной армией в миссии мне нужно когда к нему подходишь выскакивало диалоговое окно что их не победить

это сделать не сложно. Достаточно создать регион и повесить на него триггер. Могу скинуть руководство, в котором это подробно все описывается

Добавлено через 5 минут
Dark messain
и в определённом месте появлялся портал
а вот это вряд ли. Объекты такого типа вроде как создавать и перемещать нельзя

Добавлено через 9 минут
Dark messain
И ещё я хочу чтоб на последнем горизонте появлялись по бокам биара и аларик и начинали меня атаковать.А потом я отбирал горизонт и побеждал!!!

это сделать реально, стандартными функциями. Почитай файл с ними, там все предельно понятно.

Добавлено через 5 минут
Dark messain
:D Я не знаю скрипт это или нет но как указать количество существ:D :smile50:

Добавлено через 4 минуты
Как сделать задание герой должен выжить и как сделать чтоб никому из игроков ни надо было бы захватывать замок за одну неделю???

нет, не скрипт. достаточно выделить объект мышкой и нажать пробел

про задания все тоже подробно написано в теме Вопросы по редактору. Если найду нужный пост, скину сюда
В ответ пользователю MasteR
Аватар пользователя
12 лет назад
Друзья! Что бы не затруднять вас своими тупыми вопросами, не могли бы кинуть ссылку на Руководство по редактору карт от Нивала. Только, пожалуйста, свежую ссылку, а то я просматривала предыдущие посты, а там ссылки теперь недоступны:( Заранее спасибо!
В ответ пользователю Lucan_Porri
Аватар пользователя
12 лет назад
^-^Furry^-^
Друзья! Что бы не затруднять вас своими тупыми вопросами, не могли бы кинуть ссылку на Руководство по редактору карт от Нивала. Только, пожалуйста, свежую ссылку, а то я просматривала предыдущие посты, а там ссылки теперь недоступны:( Заранее спасибо!
http://www.heroesworld.ru/files/data/409/465/H5_Editor_Manual.zip

Статистика

Приветствуем новейшего участника: recijeb