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

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

В ответ пользователю KioM
Аватар пользователя
14 лет назад
KioM
всем привет, кто может помочь разобратся с командой:
CreateStatic
пример из описания:
CreateStatic(scriptName, DataFile, x, y, floorId, rotation, terrainAligned, scalePercent);

все параметры ясны кроме DataFile
я почему-то решил, что должен указыватся путь к извлеченному объекту, а нет там чтото другое (название нужно, только что за название я не пойму...)
Указатель на тип объекта в ресурсной базе. Может, путь к Shared?
Аватар пользователя
14 лет назад
именно его и указывал, проблема может быть еще в том что нужный мне объект в оригинале типа: Building, а не Static... :(

Добавлено через 34 минуты
вобщем разобрался, следовало сразу обратить внимание на тип объекта, вся проблема была в нем) пересоздал объект с типом статик и все работает ;) (а я грешным делом начал думать, что команда не пашет)
В ответ пользователю KioM
Аватар пользователя
14 лет назад
Есть какая-нибудь команда на разблокирование региона?
Да, и еще насчет IsObjectExist ('имя монстра'). Как с его помощью, нарпример, можно выдать мессагу, если монстр побежден?
Аватар пользователя
14 лет назад
Загнать в бесконечный цикл, и если результат отрицательный, выдать сообщение и выйти из цикла (чтобы ресурсы зря не есть).
В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment
Загнать в бесконечный цикл, и если результат отрицательный, выдать сообщение и выйти из цикла (чтобы ресурсы зря не есть).
Это да, но как написать про отрицательный результат? ...==nil then?
Аватар пользователя
14 лет назад
Я вот не знаю, возвращает ли он nil или false, скорее последнее. Вот такой вариант точно сработает:
~=true then
В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment
Я вот не знаю, возвращает ли он nil или false, скорее последнее. Вот такой вариант точно сработает:
~=true then
Спсибо. Тогда насчет первого вопроса: как разблокировать регион?
Аватар пользователя
14 лет назад
SetRegionBlocked(имя региона с сохранением регистра символов, nil);
Аватар пользователя
14 лет назад
Никто не в курсе, почему разработчики игры забыли объявить глобальные константы для рас в игре?)))

RACE_HEAVEN, RACE_PRESERVE и т.п. не объявлены, числа то есть но самих констант нету. Или нужно к скрипту отдельный файл подключать еще? где эти расы объявлены, я такого не нашел лично...

================
Еще вопрос такого характера: если я даю игроку при старте три города, но при загрузке карты и скриптов отбираю два замка, можно ли как нибудь закрыть туман войны для этих двух городов?), а то на практике выходит права на оба города перешли к другому игроку, но города остались видны 1-ому.
Аватар пользователя
14 лет назад
Ну не объявили и ладно. По номеру их тогда зовите. Думаю, будут такие же, как у типов городов:
TOWN_HEAVEN = 0
TOWN_PRESERVE = 1; -- Sylvan
TOWN_ACADEMY = 2
TOWN_DUNGEON = 3
TOWN_NECROMANCY = 4
TOWN_INFERNO = 5
TOWN_FORTRESS = 6
TOWN_STRONGHOLD = 7
По поводу тумана я уже говорил, что ни разу в жизни не встречал такую функцию.
Аватар пользователя
14 лет назад
да такие же, уже проверил) просто интересно под какими номерами должны были бы быть: RACE_SPECIAL, RACE_RANDOM_TYPE, RACE_NO_TYPE... жаль насчет тумана (к слову о недостаточном функционале скриптовой библиотеки героев :() а если попробовать отключить автоматическое открытие тумана войны, отобрать города, и обратно включить?) или врятли... при загрузке, города принадлежащие игроку автоматом свою зону тумана откроют?
Аватар пользователя
14 лет назад
Не знаю, на самом деле. Думаю, что да, откроется.
Аватар пользователя
14 лет назад
Ув. Ment, вы не сталкивались по ближе с командой AllowHeroHiringByRaceInTown() ? Очень странно работает, хочу выставить к примеру 2 городам (город людей и город эльфов) чтобы в каждом городе был найм героев только расы города, пишу:
AllowHeroHiringByRaceInTown('городЛюдей', TOWN_HEAVEN, 1);
AllowHeroHiringByRaceInTown('городЭльфов', TOWN_PRESERVE, 1);
и так же через цикл запрещаю в этих городах найм всех героев остальных рас. В итоге у меня в 1ом городе в котором стартует игрок (к примеру люди) найм героев людей есть, все в норме, а во втором городе вообще нет героев. В чем беда не в курсе?)
Аватар пользователя
14 лет назад
Не сталкивался. Мне кажется, в цикле что-то не так. Вы бы проверили или код выложили.
Аватар пользователя
14 лет назад
blockedTavern = {TOWN_ACADEMY, TOWN_HEAVEN, TOWN_PRESERVE, TOWN_FORTRESS, TOWN_NECROMANCY, TOWN_INFERNO, TOWN_STRONGHOLD, TOWN_DUNGEON};
blockedTavern.n = length(blockedTavern);
allTown = {'AcademyTown', 'HeavenTown', 'SylvanTown', 'DwarvenTown', 'NecropolisTown', 'InfernoTown', 'HordeTown', 'DungeonTown'};
for i = 1, blockedTavern.n do
for j = 1, length(allTown) do
AllowHeroHiringByRaceInTown(allTown[j], blockedTavern, 0);
end;
end;
AllowHeroHiringByRaceInTown('AcademyTown', TOWN_ACADEMY, 1);
AllowHeroHiringByRaceInTown('HeavenTown', TOWN_HEAVEN, 1);
AllowHeroHiringByRaceInTown('SylvanTown', TOWN_PRESERVE, 1);
AllowHeroHiringByRaceInTown('DwarvenTown', TOWN_FORTRESS, 1);
AllowHeroHiringByRaceInTown('NecropolisTown', TOWN_NECROMANCY, 1);
AllowHeroHiringByRaceInTown('InfernoTown', TOWN_INFERNO, 1);
AllowHeroHiringByRaceInTown('HordeTown', TOWN_STRONGHOLD, 1);
AllowHeroHiringByRaceInTown('DungeonTown', TOWN_DUNGEON, 1);

т.е. я сперва запрещаю во всех городах найм всех героев, а затем разрешаю в каждом городе по отдельности найм героев его расы. Скорее всего в цикле не правильно, я так думаю что не верно запрещать найм всех героев, может есть способ выбирать отдельные значения из списка blockedTavern для каждого случая?

Статистика

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

Сейчас на сайте 6 пользователей 1301 гостей