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

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

В ответ пользователю KioM
KioM
не работает и эта функция... вообщем это у меня сделано в карте "трон", если есть желание посмотрите может я чтото упустил все таки, я пока хакнул... убрал вообще возможность нанять кого-нибудь в таверне

p.s. мне главное было бы запретить возводить в городах таверну

Трон 1.2
глянул. Че то ты там замутил вовсе нехорошее :D
setBuildingsLevel(TOWN01, 1, 3, 2); пишеш это, а через функцию присваиваеш level1=1 (хотя для запрета level1=0 должно быть)
DestroyTownBuildingToLevel(townName, TOWN_BUILDING_TAVERN, level1, 0); (т.е. разрешаеш постройку таверны, хотя вроде как запрет на таверну ставить хотел после трансформации :confused: ).
далее - по двеллам можно тоже эту же функцию использовать, (циклом проще - пример приводил, рабочий - еще раз говорю :) К тому же там и обратный пример - после захвата города компом, таверну и двеллы снова строить разрешалось).
Еще и алиасов намутил :eek: жесть :smile33: может и в них проблема - я вних не особо разбираюсь.
опять скажешь что не работает?? ;)
В ответ пользователю JonnyP
Аватар пользователя
JonnyP
глянул. Че то ты там замутил вовсе нехорошее :D
setBuildingsLevel(TOWN01, 1, 3, 2); пишеш это, а через функцию присваиваеш level1=1 (хотя для запрета level1=0 должно быть)
DestroyTownBuildingToLevel(townName, TOWN_BUILDING_TAVERN, level1, 0); (т.е. разрешаеш постройку таверны, хотя вроде как запрет на таверну ставить хотел после трансформации :confused: ).
далее - по двеллам можно тоже эту же функцию использовать, (циклом проще - пример приводил, рабочий - еще раз говорю :) К тому же там и обратный пример - после захвата города компом, таверну и двеллы снова строить разрешалось).
Еще и алиасов намутил :eek: жесть :smile33: может и в них проблема - я вних не особо разбираюсь.
опять скажешь что не работает?? ;)

свежий взгляд) спасибо: setBuildingsLevel(TOWN01, 1, 3, 2); здесь и был косяк...
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Добрый день всем!
В последнее время возник такого рода вопрос - как "включить" объект командой SetObjectEnabled?
При попытке поставить "not nil" или 'true' выдаёт ошибку в консоль с отсутствием такого рода переменной, тоже самое - когда уберу команду вообще.
С уважением.
Мои карты:
SinglePlayer: Выбор Зехира
Падение Стедвика(pre-release)
Готовится: Зима Титанов, Столетняя война
Аватар пользователя
Выдаёт ошибку? Странно, я всегда использовал "true" и успешно. Точно не путаю: очень часто приходится делать при диалоге с монстрами и прочее.
 

К А
Стикеры GBF в Telegram
Я подозревал то, что произошло, но обнаружил только после трезвого взгляда на консоль. Неправильно написал команду.
Спасибо за помощь, в любом случае.
С уважением.
Мои карты:
SinglePlayer: Выбор Зехира
Падение Стедвика(pre-release)
Готовится: Зима Титанов, Столетняя война
Добрый день всем!
У меня два вопроса:
1) Пытаюсь сделать проверку на наличие артефакта и последующее выполнение задачи, но то ли startThread, то ли while ... do упорно клинит. Перепробовал всё, но ничего не выходит. Варианты функции:
function RingF()
while HasArtefact('Giovanni',ARTIFACT_NECROMACER_PENDANT) == not nil do
SetObjectiveState('Amulet, OBJECTIVE_COMPLETED)
MessageBox(dir..'Posoh_naiden.txt')
end;
end;
startThread(RingF)

function RingF()
if HasArtefact('Giovanni', ARTIFACT_NECROMANCER_PENDANT) then
SetObjectiveState('Amulet', OBJECTIVE_COMPLETED)
MessageBox(dir..'Amulet_founded.txt')
end;
end;
startThread(RingF)
всё перепробовал. В чём косяк?
2) Что обозначает UnitName в комбат-скрипте?
С уважением.
Мои карты:
SinglePlayer: Выбор Зехира
Падение Стедвика(pre-release)
Готовится: Зима Титанов, Столетняя война
В ответ пользователю djulian13
Аватар пользователя
djulian13
Добрый день всем!
У меня два вопроса:
1) Пытаюсь сделать проверку на наличие артефакта и последующее выполнение задачи, но то ли startThread, то ли while ... do упорно клинит.
while HasArtefact('Giovanni',ARTIFACT_NECROMACER_PENDANT) == not nil do
:eek: while тама точно не должно быть
А так не катит? :
if HasArtifact("Giovanni",ARTIFACT_NECROMACER_PENDANT) == true ...

А что пишет консоль?
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю djulian13
Аватар пользователя
Может, после StartThread ";"поставить?
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
Нашёл решение. Спасибо всем за помощь!
Функция правильно выглядит так:
function RingF()
while 1 do
if HasArtefact('Giovanni', ARTIFACT_NECROMANCER_PENDANT) == true then
SetObjectiveState('Amulet', OBJECTIVE_COMPLETED)
MessageBox(dir..'Amulet_founded.txt')
end;
sleep(1)
end;
end;
startThread(RingF);

С уважением.
Мои карты:
SinglePlayer: Выбор Зехира
Падение Стедвика(pre-release)
Готовится: Зима Титанов, Столетняя война
И снова всем добрый день!
Сейчас пытаюсь освоить CombatScript. Вопрос такой - что означает переменная UnitName?
С уважением.
Мои карты:
SinglePlayer: Выбор Зехира
Падение Стедвика(pre-release)
Готовится: Зима Титанов, Столетняя война
В ответ пользователю djulian13
Аватар пользователя
djulian13
И снова всем добрый день!
Сейчас пытаюсь освоить CombatScript. Вопрос такой - что означает переменная UnitName?
С уважением.
Имя юнита :rolleyes:
Может, в смысле, какого-либо отряда
Мои карты:
Town
Готовится:Чума (40%), Сосиска(42%), Война Грааля
Спасибо. Имя юнита - это, в смысле, к примеру, CREATURE_IMP? Или оно как-то присваивается?
С уважением.
Мои карты:
SinglePlayer: Выбор Зехира
Падение Стедвика(pre-release)
Готовится: Зима Титанов, Столетняя война
Аватар пользователя
Хотелось бы узнать,почему не работает данный кусок скрипта. Вроде всё делал правильно...

function ask1 ()
MessageBox ("/Maps/SingleMissions/Illusion Castle/ask1F.txt");
then QuestionBox ("/Maps/SingleMissions/Illusion Castle/ask1.txt", 'yes', 'no');
end;

function yes ()
SetObjectiveState('obj_5', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_5', true, PLAYER_1 );
Trigger(OBJECT_TOUCH_TRIGGER, "hat", nil);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "hat" "ask1" );
Создаётся карта "Забытый Авангард (готовность 80%)
В ответ пользователю djulian13
djulian13
Имя юнита - это, в смысле, к примеру, CREATURE_IMP?
С уважением.
Нет. В такическом режиме имена юнитов отличаются от имен на глобальной карте. Проверь ф-ей GetUnitNames (как-то так вроде, лучше в мануале глянь, там подробнее и есть особенности кое-какие).
AkaR , в своем скрипте просто проверь синтаксис
Неправильное построение скрипта.
Должно быть:
function ask1 ()
MessageBox ("/Maps/SingleMissions/Illusion Castle/ask1F.txt");
sleep(5)
QuestionBox ("/Maps/SingleMissions/Illusion Castle/ask1.txt", 'yes', 'no');
Trigger(OBJECT_TOUCH_TRIGGER, "hat", nil);
end;
Trigger(OBJECT_TOUCH_TRIGGER, "hat" "ask1" );

function yes ()
SetObjectiveState('obj_5', OBJECTIVE_ACTIVE);
SetObjectiveVisible( 'obj_5', true, PLAYER_1 );
end;

Также советую вместо пути к папке использовать GetMapDataPath()..'имя_файла.txt'.
P.S. Кодировку .txt-файла проверили? Юникод?

Проверь ф-ей GetUnitNames (как-то так вроде, лучше в мануале глянь, там подробнее и есть особенности кое-какие).

Спасибо!
С уважением.
Мои карты:
SinglePlayer: Выбор Зехира
Падение Стедвика(pre-release)
Готовится: Зима Титанов, Столетняя война

Статистика

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