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

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

Аватар пользователя
build - это локальная переменная-счетчик для цикла, она по очереди принимает значения от TOWN_BUILDING_DWELLING_1(ее числовое значение - 7) до TOWN_BUILDING_DWELLING_7(13) и строчка SetTownBuildingLimitLevel('houseInferno', build, 0) выполняется для каждого из этих значений. i - такой же счетчик, только со значениями от 1 до 2, чтобы улучшение каждого здания выполнилось 2 раза(постройка + апгрейд)
Нет войне.
В ответ пользователю Gerter
Gerter
build - это локальная переменная-счетчик для цикла, она по очереди принимает значения от TOWN_BUILDING_DWELLING_1(ее числовое значение - 7) до TOWN_BUILDING_DWELLING_7(13) и строчка SetTownBuildingLimitLevel('houseInferno', build, 0) выполняется для каждого из этих значений. i - такой же счетчик, только со значениями от 1 до 2, чтобы улучшение каждого здания выполнилось 2 раза(постройка + апгрейд)
к сожалению функция работает не корректно. у меня например прошло 2 месяца, 4 недели и 5 дней, поэтому после захвата города существ в гарнизоне будет только в 4 раза больше, а не в 9. Подскажи пожалуйста как это исправить)
Аватар пользователя
ну да, тут моя ошибочка, GetDate(WEEK) вернет номер недели в месяце, т.е. как раз на любой 4 неделе будет в 4 раза больше. надо так переписать:
local week = ceil(GetDate(DAY)/7)
Нет войне.
В ответ пользователю Gerter
Gerter
ну да, тут моя ошибочка, GetDate(WEEK) вернет номер недели в месяце, т.е. как раз на любой 4 неделе будет в 4 раза больше. надо так переписать:
local week = ceil(GetDate(DAY)/7)
Теперь множитель прироста вообще не работает(
Аватар пользователя
версия игры 3.1?
Нет войне.
Аватар пользователя
поставь патч 3.1, не работает у тебя потому что функции ceil в 3.0 нет
Нет войне.
В ответ пользователю Gerter
Аватар пользователя
Gerter
ну да, тут моя ошибочка, GetDate(WEEK) вернет номер недели в месяце, т.е. как раз на любой 4 неделе будет в 4 раза больше. надо так переписать:
local week = ceil(GetDate(DAY)/7)


-- глобальная переменная
week = 1

function NewDayF()

dow = GetDate(3)

if dow == 1 then
week = week + 1
end

end

Trigger(0, "NewDayF")

я обычно так делаю
Кампании для Heroes V 3.1 (Трилогия):

Пробуждение зла
Нашествие из Преисподней
Смена эпох

Скачать все кампании одним архивом: Яндекс.Диск Google.Диск

You can download the set of 3 Campaigns (English version) here


Одиночные сценарии Heroes V 3.1:


Незваные гости
Красный кристалл
Синий кристалл
Закат тьмы

Мультиплеерные карты для Heroes V 3.1:

Легендарная война
Сердце вулкана
Передел мира
В ответ пользователю MasteR
MasteR


-- глобальная переменная
week = 1

function NewDayF()

dow = GetDate(3)

if dow == 1 then
week = week + 1
end

end

Trigger(0, "NewDayF")

я обычно так делаю

Это нужно добавить в самом верху кода я так понимаю? Ну чтоб все поочереди было?
В ответ пользователю MasteR
Аватар пользователя
MasteR


-- глобальная переменная
week = 1

function NewDayF()

dow = GetDate(3)

if dow == 1 then
week = week + 1
end

end

Trigger(0, "NewDayF")

я обычно так делаю

ну разницы, конечно, нет, но без 3.1 все равно далеко не уедешь. да и от глобальных переменных я всегда стараюсь избавляться
Нет войне.
Аватар пользователя
Скажите пожалуйста, как-нибудь можно заставить эльфа зачаровать стрелу определённым заклинанием? Само по себе зачарование стрелы в бою делать как понимаю, но как указать какое заклинание при этом надо использовать не знаю
Аватар пользователя
не получится. трудно объяснить, но функции боевого скрипта подразумевают одно действие/каст, здесь же их по факту 2(выбор зач. стрелы + выбор закла). т.е. подходящей функции нет. по этой же причине нельзя, например, скастовать телепорт скриптом(выбор цели + выбор места). Но можно попробовать эмулировать действие стрелы - сначала скастовать ливень из стрел, а затем нужное заклинание в отряды, которые понесут потери после залпа.
Нет войне.
В ответ пользователю Gerter
Аватар пользователя
Gerter
не получится. трудно объяснить, но функции боевого скрипта подразумевают одно действие/каст, здесь же их по факту 2(выбор зач. стрелы + выбор закла). т.е. подходящей функции нет. по этой же причине нельзя, например, скастовать телепорт скриптом(выбор цели + выбор места). Но можно попробовать эмулировать действие стрелы - сначала скастовать ливень из стрел, а затем нужное заклинание в отряды, которые понесут потери после залпа.
Эх, жаль. Спасибо за ответ, тем не менее, ровно как и за подсказку

Добавлено через 1 час 4 минуты
Gerter
не получится. трудно объяснить, но функции боевого скрипта подразумевают одно действие/каст, здесь же их по факту 2(выбор зач. стрелы + выбор закла). т.е. подходящей функции нет. по этой же причине нельзя, например, скастовать телепорт скриптом(выбор цели + выбор места). Но можно попробовать эмулировать действие стрелы - сначала скастовать ливень из стрел, а затем нужное заклинание в отряды, которые понесут потери после залпа.
Блин, не получается - даже сам ливень запускается всего по одной цели
Аватар пользователя
а заклятых сколько выбрано?
Нет войне.

Статистика

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

Сейчас на сайте 7 пользователей 1248 гостей