Скрипты - Страница 40 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 40 из 260
 
Опции темы
#586
Старый 16.04.2012, 15:09
  #586
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

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

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

Трон 1.2
глянул. Че то ты там замутил вовсе нехорошее
setBuildingsLevel(TOWN01, 1, 3, 2); пишеш это, а через функцию присваиваеш level1=1 (хотя для запрета level1=0 должно быть)
DestroyTownBuildingToLevel(townName, TOWN_BUILDING_TAVERN, level1, 0); (т.е. разрешаеш постройку таверны, хотя вроде как запрет на таверну ставить хотел после трансформации ).
далее - по двеллам можно тоже эту же функцию использовать, (циклом проще - пример приводил, рабочий - еще раз говорю К тому же там и обратный пример - после захвата города компом, таверну и двеллы снова строить разрешалось).
Еще и алиасов намутил жесть может и в них проблема - я вних не особо разбираюсь.
опять скажешь что не работает??
JonnyP вне форума
Ответить с цитированием
#587
Старый 16.04.2012, 15:40
  #587
^
KioM
 
Аватар для KioM
📖
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
По умолчанию
Re: Скрипты

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

свежий взгляд) спасибо: setBuildingsLevel(TOWN01, 1, 3, 2); здесь и был косяк...
KioM вне форума
Ответить с цитированием
#588
Старый 17.04.2012, 17:28
  #588
^
djulian13
📖
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
По умолчанию
Re: Скрипты

Добрый день всем!
В последнее время возник такого рода вопрос - как "включить" объект командой SetObjectEnabled?
При попытке поставить "not nil" или 'true' выдаёт ошибку в консоль с отсутствием такого рода переменной, тоже самое - когда уберу команду вообще.
С уважением.
__________________
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
djulian13 вне форума
Ответить с цитированием
#589
Старый 17.04.2012, 17:34
  #589
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30692
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30692
По умолчанию
Re: Скрипты

Выдаёт ошибку? Странно, я всегда использовал "true" и успешно. Точно не путаю: очень часто приходится делать при диалоге с монстрами и прочее.
Ment сейчас на форуме
Ответить с цитированием
#590
Старый 17.04.2012, 18:11
  #590
^
djulian13
📖
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
По умолчанию
Re: Скрипты

Я подозревал то, что произошло, но обнаружил только после трезвого взгляда на консоль. Неправильно написал команду.
Спасибо за помощь, в любом случае.
С уважением.
__________________
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
djulian13 вне форума
Ответить с цитированием
#591
Старый 26.04.2012, 16:30
  #591
^
djulian13
📖
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
По умолчанию
Re: Скрипты

Добрый день всем!
У меня два вопроса:
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)

Готовится: Зима Титанов, Столетняя война
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
djulian13 вне форума
Ответить с цитированием
#592
Старый 26.04.2012, 16:34
  #592
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

djulian13Добрый день всем!
У меня два вопроса:
1) Пытаюсь сделать проверку на наличие артефакта и последующее выполнение задачи, но то ли startThread, то ли while ... do упорно клинит.
while HasArtefact('Giovanni',ARTIFACT_NECROMACER_PENDANT ) == not nil do
while тама точно не должно быть
А так не катит? :
if HasArtifact("Giovanni",ARTIFACT_NECROMACER_PENDANT) == true ...

А что пишет консоль?
Dyrman вне форума
Ответить с цитированием
#593
Старый 26.04.2012, 16:57
  #593
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

Может, после StartThread ";"поставить?
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#594
Старый 26.04.2012, 18:21
  #594
^
djulian13
📖
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
По умолчанию
Re: Скрипты

Нашёл решение. Спасибо всем за помощь!
Функция правильно выглядит так:
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)

Готовится: Зима Титанов, Столетняя война
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
djulian13 вне форума
Ответить с цитированием
#595
Старый 30.04.2012, 12:27
  #595
^
djulian13
📖
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
По умолчанию
Re: Скрипты

И снова всем добрый день!
Сейчас пытаюсь освоить CombatScript. Вопрос такой - что означает переменная UnitName?
С уважением.
__________________
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
djulian13 вне форума
Ответить с цитированием
#596
Старый 30.04.2012, 13:21
  #596
^
Олегарх
 
Аватар для Олегарх
📖
Регистрация: 02.12.2011
Сообщения: 294
Регистрация: 02.12.2011
Сообщения: 294
По умолчанию
Re: Скрипты

djulian13И снова всем добрый день!
Сейчас пытаюсь освоить CombatScript. Вопрос такой - что означает переменная UnitName?
С уважением.
Имя юнита
Может, в смысле, какого-либо отряда
__________________
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Мои карты:

Town

Готовится:Чума (40%), Сосиска(42%), Война Грааля
Олегарх вне форума
Ответить с цитированием
#597
Старый 30.04.2012, 17:10
  #597
^
djulian13
📖
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
По умолчанию
Re: Скрипты

Спасибо. Имя юнита - это, в смысле, к примеру, CREATURE_IMP? Или оно как-то присваивается?
С уважением.
__________________
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
djulian13 вне форума
Ответить с цитированием
#598
Старый 30.04.2012, 17:34
  #598
^
AkaR
 
Аватар для AkaR
📖
Регистрация: 25.08.2011
Сообщения: 29
Регистрация: 25.08.2011
Сообщения: 29
По умолчанию
Re: Скрипты

Хотелось бы узнать,почему не работает данный кусок скрипта. Вроде всё делал правильно...

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%)
Создаётся карта "Забытый Авангард (готовность 80%)
AkaR вне форума
Ответить с цитированием
#599
Старый 30.04.2012, 18:24
  #599
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

djulian13Имя юнита - это, в смысле, к примеру, CREATURE_IMP?
С уважением.
Нет. В такическом режиме имена юнитов отличаются от имен на глобальной карте. Проверь ф-ей GetUnitNames (как-то так вроде, лучше в мануале глянь, там подробнее и есть особенности кое-какие).
AkaR , в своем скрипте просто проверь синтаксис
JonnyP вне форума
Ответить с цитированием
#600
Старый 30.04.2012, 18:27
  #600
^
djulian13
📖
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
Регистрация: 18.09.2011
Адрес: Сары-Тау, Ранаар.
Сообщения: 161
По умолчанию
Re: Скрипты

Неправильное построение скрипта.
Должно быть:
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)

Готовится: Зима Титанов, Столетняя война
Мои карты:

SinglePlayer: Выбор Зехира

Падение Стедвика(pre-release)

Готовится: Зима Титанов, Столетняя война
djulian13 вне форума
Ответить с цитированием
Ответ
Страница 40 из 260


Опции темы



Часовой пояс GMT +4, время: 13:58.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru