нет, тут я ошибся, функция хоть и срабатывает, но ИИ все равно выкупает прирост. думаю, это связано с тем, что владелец - нейтральный игрок. поэтому я вижу только такой способ - убрать все здания изначально, а при захвате их строить:
for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do SetTownBuildingLimitLevel('houseInferno', build, 0) end
function CaptureTown(p_owner, n_owner, hero, object) for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do SetTownBuildingLimitLevel(object, build, 2) for i = 1, 2 do UpgradeTownBuilding(object, build) end end local week = GetDate(WEEK) SetObjectDwellingCreatures(object, 16, 35 * week) SetObjectDwellingCreatures(object, 18, 34 * week) SetObjectDwellingCreatures(object, 20, 18 * week) SetObjectDwellingCreatures(object, 22, 10 * week) SetObjectDwellingCreatures(object, 24, 7 * week) SetObjectDwellingCreatures(object, 26, 4 * week) SetObjectDwellingCreatures(object, 28, 2 * week) end
нет, тут я ошибся, функция хоть и срабатывает, но ИИ все равно выкупает прирост. думаю, это связано с тем, что владелец - нейтральный игрок. поэтому я вижу только такой способ - убрать все здания изначально, а при захвате их строить:
for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do SetTownBuildingLimitLevel('houseInferno', build, 0) end
function CaptureTown(p_owner, n_owner, hero, object) for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do SetTownBuildingLimitLevel(object, build, 2) for i = 1, 2 do UpgradeTownBuilding(object, build) end end local week = GetDate(WEEK) SetObjectDwellingCreatures(object, 16, 35 * week) SetObjectDwellingCreatures(object, 18, 34 * week) SetObjectDwellingCreatures(object, 20, 18 * week) SetObjectDwellingCreatures(object, 22, 10 * week) SetObjectDwellingCreatures(object, 24, 7 * week) SetObjectDwellingCreatures(object, 26, 4 * week) SetObjectDwellingCreatures(object, 28, 2 * week) end
Ага) а мне в этом коде что то менять надо?) я просто много чего еще не понимаю тут)
ну этот код убирает возможность строить здания в нейтральном городе при старте карты, а при его захвате убирает это ограничение, строит все нужные здания и добавляет приросты за все прошедшие недели. вроде все как и планировалось?
нет, тут я ошибся, функция хоть и срабатывает, но ИИ все равно выкупает прирост. думаю, это связано с тем, что владелец - нейтральный игрок. поэтому я вижу только такой способ - убрать все здания изначально, а при захвате их строить:
for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do SetTownBuildingLimitLevel('houseInferno', build, 0) end
function CaptureTown(p_owner, n_owner, hero, object) for build = TOWN_BUILDING_DWELLING_1, TOWN_BUILDING_DWELLING_7 do SetTownBuildingLimitLevel(object, build, 2) for i = 1, 2 do UpgradeTownBuilding(object, build) end end local week = GetDate(WEEK) SetObjectDwellingCreatures(object, 16, 35 * week) SetObjectDwellingCreatures(object, 18, 34 * week) SetObjectDwellingCreatures(object, 20, 18 * week) SetObjectDwellingCreatures(object, 22, 10 * week) SetObjectDwellingCreatures(object, 24, 7 * week) SetObjectDwellingCreatures(object, 26, 4 * week) SetObjectDwellingCreatures(object, 28, 2 * week) end
все равно не работает. Аи все равно закупает войска, после захвата города существа не добавляются(
Gerter
6 лет назад
даже хз, у меня все отрабатывает как надо, этот код как раз на твоей карте и тестил... мб забыл в редакторе убрать все здания на прирост в городе?
Killer5029
6 лет назад
И еще, там в редакторе карт все время пишет при проверке скрипта: «Function CaptureTown not defined Function p_owner nor defined Function n_owner not defined Function hero not defined Function i not defined” Может из за этого не работает?
Добавлено через 2 минуты Gerter
даже хз, у меня все отрабатывает как надо, этот код как раз на твоей карте и тестил... мб забыл в редакторе убрать все здания на прирост в городе?
А убирать надо все здания относящиеся к приросту, даже форт?
Добавлено через 2 минуты Все работает) убрал все здания и заработало, спасибо)))
Добавлено через 1 минуту А можешь пожалуйста объяснить как это работает? Если не трудно? Например что означает build в самом начале? Почему ты не объявил эту переменную? Что такое i? Почему опять же не объявил ее?