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

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

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

Ответ
Страница 187 из 260
 
Опции темы
#2791
Старый 29.08.2018, 11:07
  #2791
^
Barboriska
📖
Регистрация: 29.08.2018
Сообщения: 1
Регистрация: 29.08.2018
Сообщения: 1
По умолчанию
Re: Скрипты

Здравствуйте. Впервые знакомлюсь со скриптами.
Можете подсказать скрипт на атаку монстра на глобальной карте (воиспроизведению анимации атаки)
Barboriska вне форума
Ответить с цитированием
#2792
Старый 29.08.2018, 12:11
  #2792
^
LetoX
 
Аватар для LetoX
📖
Регистрация: 16.11.2017
Сообщения: 67
Регистрация: 16.11.2017
Сообщения: 67
По умолчанию
Re: Скрипты

PlayObjectAnimation, посмотри в руководстве
LetoX вне форума
Ответить с цитированием
#2793
Старый 01.09.2018, 15:29
  #2793
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Скрипты

Столкнулся с такой проблемой...

Есть вражеский герой (подвижный). Его смерть приводит к победе в сценарии... но если этот герой погибает на ходу ИИ (сам расшибается об игрока), то после проигрывания ролика и прочего, вместо победы игра выдает консольную ошибку No player!, а смена хода зависает. Если игрок сам нападает на героя, то все работает правильно.

Кто-нибудь знает как это исправить? Плиз)))

Собственно, сама функция:

Trigger(PLAYER_REMOVE_HERO_TRIGGER, 2, "TheEnd")

function TheEnd(hero)
if hero == "RedHeavenHero05" then
StartDialogScene(path.."DialogScenes/DialogFinal/DialogScene.xdb#xpointer(/DialogScene)")
sleep(5)
SetObjectiveState("Final", OBJECTIVE_COMPLETED)
SetObjectiveState("NecroTown", OBJECTIVE_COMPLETED)
SetObjectiveState("ArantirLive", OBJECTIVE_COMPLETED)
sleep(10)
Win()
end
end
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#2794
Старый 01.09.2018, 15:32
  #2794
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Это единственный герой противника?
Ment вне форума
Ответить с цитированием
#2795
Старый 01.09.2018, 15:34
  #2795
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Скрипты

MentЭто единственный герой противника?

Нет. У него еще даже город оставался. И еще один ИИ-игрок.
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#2796
Старый 01.09.2018, 19:47
  #2796
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

AstralLeinСтолкнулся с такой проблемой...

Есть вражеский герой (подвижный). Его смерть приводит к победе в сценарии... но если этот герой погибает на ходу ИИ (сам расшибается об игрока), то после проигрывания ролика и прочего, вместо победы игра выдает консольную ошибку No player!, а смена хода зависает. Если игрок сам нападает на героя, то все работает правильно.

Кто-нибудь знает как это исправить? Плиз)))

Собственно, сама функция:

Trigger(PLAYER_REMOVE_HERO_TRIGGER, 2, "TheEnd")

function TheEnd(hero)
if hero == "RedHeavenHero05" then
StartDialogScene(path.."DialogScenes/DialogFinal/DialogScene.xdb#xpointer(/DialogScene)")
sleep(5)
SetObjectiveState("Final", OBJECTIVE_COMPLETED)
SetObjectiveState("NecroTown", OBJECTIVE_COMPLETED)
SetObjectiveState("ArantirLive", OBJECTIVE_COMPLETED)
sleep(10)
Win()
end
end

У меня была подобная проблема, если враж. герой разбивался об игрока, то игра как бы была в заморозке (BlockGame). Я решил это, что мол моё событие, которое происходило при смерти этого героя происходило во время хода третьего, левого игрока и всё окей стало. Но если у тебя всего 2 действующих игрока, то тогда не знаю, как это сможет помочь.
OrnsteinDragonslayer вне форума
Ответить с цитированием
#2797
Старый 01.09.2018, 20:37
  #2797
^
AlekseyS
📖
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
Регистрация: 02.04.2018
Адрес: Минск
Сообщения: 203
По умолчанию
Re: Скрипты

AstralLeinСтолкнулся с такой проблемой...

Есть вражеский герой (подвижный). Его смерть приводит к победе в сценарии... но если этот герой погибает на ходу ИИ (сам расшибается об игрока), то после проигрывания ролика и прочего, вместо победы игра выдает консольную ошибку No player!, а смена хода зависает. Если игрок сам нападает на героя, то все работает правильно.

Кто-нибудь знает как это исправить? Плиз)))

Собственно, сама функция:

Trigger(PLAYER_REMOVE_HERO_TRIGGER, 2, "TheEnd")

function TheEnd(hero)
if hero == "RedHeavenHero05" then
StartDialogScene(path.."DialogScenes/DialogFinal/DialogScene.xdb#xpointer(/DialogScene)")
sleep(5)
SetObjectiveState("Final", OBJECTIVE_COMPLETED)
SetObjectiveState("NecroTown", OBJECTIVE_COMPLETED)
SetObjectiveState("ArantirLive", OBJECTIVE_COMPLETED)
sleep(10)
Win()
end
end

Запиши, как я предлагал, через startThread.

function TheEnd()
while IsHeroAlive( "RedHeavenHero05" ) == true do sleep(5) end
sleep(1)
StartDialogScene(path.."DialogScenes/DialogFinal/DialogScene.xdb#xpointer(/DialogScene)")
sleep(5)
SetObjectiveState("Final", OBJECTIVE_COMPLETED)
SetObjectiveState("NecroTown", OBJECTIVE_COMPLETED)
SetObjectiveState("ArantirLive", OBJECTIVE_COMPLETED)
sleep(10)
Win()
end
(Мог что-то пропустить)
Саму функцию нужно запустить после победы над Весселем.
AlekseyS вне форума
Ответить с цитированием
#2798
Старый 01.09.2018, 20:48
  #2798
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Скрипты

OrnsteinDragonslayerУ меня была подобная проблема, если враж. герой разбивался об игрока, то игра как бы была в заморозке (BlockGame). Я решил это, что мол моё событие, которое происходило при смерти этого героя происходило во время хода третьего, левого игрока и всё окей стало. Но если у тебя всего 2 действующих игрока, то тогда не знаю, как это сможет помочь.

Три игрока.
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#2799
Старый 03.09.2018, 21:58
  #2799
^
JackBrainPredtech
📖
Регистрация: 03.09.2018
Сообщения: 4
Регистрация: 03.09.2018
Сообщения: 4
По умолчанию
Re: Скрипты

Ребят, подскажите скрипт на то, что бы существо типо атаковало и типо радовалось на карте, для карты очень важно, скажите пж
JackBrainPredtech вне форума
Ответить с цитированием
#2800
Старый 03.09.2018, 22:35
  #2800
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

JackBrainPredtechРебят, подскажите скрипт на то, что бы существо типо атаковало и типо радовалось на карте, для карты очень важно, скажите пж

PlayObjectAnimation("скриптовое название юнита", "happy", ONESHOT_STILL);

ONESHOT_STILL - если анимация должна проигрываться лишь 1 раз;
если хочешь, чтобы анимация была постоянной, то нужна другая команда, почитай в руководстве какая конкретно.
OrnsteinDragonslayer вне форума
Ответить с цитированием
#2801
Старый 03.09.2018, 23:37
  #2801
^
JackBrainPredtech
📖
Регистрация: 03.09.2018
Сообщения: 4
Регистрация: 03.09.2018
Сообщения: 4
По умолчанию
Re: Скрипты

OrnsteinDragonslayerPlayObjectAnimation("скриптовое название юнита", "happy", ONESHOT_STILL);

ONESHOT_STILL - если анимация должна проигрываться лишь 1 раз;
если хочешь, чтобы анимация была постоянной, то нужна другая команда, почитай в руководстве какая конкретно.

Читал, и нифига не понял, помогите

Добавлено через 35 минут
OrnsteinDragonslayerPlayObjectAnimation("скриптовое название юнита", "happy", ONESHOT_STILL);

ONESHOT_STILL - если анимация должна проигрываться лишь 1 раз;
если хочешь, чтобы анимация была постоянной, то нужна другая команда, почитай в руководстве какая конкретно.

Там все на ингл. напишите команды, которые я попросил, если не затруднит...

Добавлено через 8 минут
OrnsteinDragonslayerPlayObjectAnimation("скриптовое название юнита", "happy", ONESHOT_STILL);

ONESHOT_STILL - если анимация должна проигрываться лишь 1 раз;
если хочешь, чтобы анимация была постоянной, то нужна другая команда, почитай в руководстве какая конкретно.
помогите же
JackBrainPredtech вне форума
Ответить с цитированием
#2802
Старый 04.09.2018, 00:24
  #2802
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Скрипты

OrnsteinDragonslayer более чем все расписал.

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

PlayObjectAnimation("сюда писать скриптовое имя существа", "happy", IDLE) - для зацикленной радости
PlayObjectAnimation("сюда писать скриптовое имя существа", "attack00", IDLE) - для зацикленной атаки
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#2803
Старый 04.09.2018, 01:59
  #2803
^
JackBrainPredtech
📖
Регистрация: 03.09.2018
Сообщения: 4
Регистрация: 03.09.2018
Сообщения: 4
По умолчанию
Re: Скрипты

AstralLeinOrnsteinDragonslayer более чем все расписал.

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

PlayObjectAnimation("сюда писать скриптовое имя существа", "happy", IDLE) - для зацикленной радости
PlayObjectAnimation("сюда писать скриптовое имя существа", "attack00", IDLE) - для зацикленной атаки

Увы, они как стояли яйки чесали, так и продолжают чесать
JackBrainPredtech вне форума
Ответить с цитированием
#2804
Старый 04.09.2018, 08:09
  #2804
^
LetoX
 
Аватар для LetoX
📖
Регистрация: 16.11.2017
Сообщения: 67
Регистрация: 16.11.2017
Сообщения: 67
По умолчанию
Re: Скрипты

Вы в какой скрипт писали: существа или карты?
LetoX вне форума
Ответить с цитированием
#2805
Старый 04.09.2018, 16:38
  #2805
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

JackBrainPredtechУвы, они как стояли яйки чесали, так и продолжают чесать

Фрагмент из моей карты, где дерутся 2 элементаля

	function BattleThread()
  while (true) do
    if (IsObjectExists("elemF")) then
      PlayObjectAnimation("elemF", "attack00", ONESHOT);
    end
    sleep(random(10)+5);
    if (IsObjectExists("elemW")) then
      PlayObjectAnimation("elemW", "attack00", ONESHOT);
    end
    sleep(random(10)+5);
  end
end

startThread (BattleThread);

Где elemF и elemW - скриптовое название существ. Если вы не знаете, то тыкните в редакторе на нужного юнита, слева в менюшке в строке Name (вроде) дайте ему какое-нибудь название, это названию юзайте и в функции выше.
OrnsteinDragonslayer вне форума
Ответить с цитированием
Ответ
Страница 187 из 260


Опции темы



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


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

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