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

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

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

Ответ
Страница 133 из 260
 
Опции темы
#1981
Старый 10.06.2015, 23:44
  #1981
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30681
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30681
По умолчанию
Re: Скрипты

Нажать на героя в редакторе, перейти в ObjectPropretiesTree (панель слева). Найти строку Shared. Нажать на строку, нажать на появившуюся кнопку "..." для редактирования героя (или "new" для создания нового). В открывшемся окошке нужно поменять класс героя с "barbarian" на что-нибудь другое, а также начальные навыки (skills и ability) на варварские. Как-то так вроде.
Ment вне форума
Ответить с цитированием
#1982
Старый 11.06.2015, 14:14
  #1982
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Аскет2,

Вот, сделал болванку кампании. Каждый файл имеет свой функционал.

1. campaign.xdb - собственно, кампания.
Теги для заполнения:
InternalName - внутреннее имя кампании, в данной болванке = Asket2Campaign
NameFileRef, FullNameFileRef, NameCommentFileRef - ссылки на файлы названия кампании и описание. Ссылки прописаны, надо изменить только сами тексты.
DependentCampaigns - кампании, без полного прохождения которых не будет работать данная. Оставим тег пустой.

Missions - миссии кампании. Тег состоит из 1-5 подтегов Item.
Каждый Item содержит:
NameFileRef, NameCommentFileRef - ссылки на тексты с названием миссии и комментарий к ней.
MissionTag - ссылка на файл map-tag.xdb, для удобства каждая карта (содержимое maps/singlemissions/*mapname*/) лежит в папках М1-М5.
Bonuses - бонус, выдаваемый перед началом кампании.
Тег состоит из 0-3 подтегов Item, каждый Item содержит:
	<Target>
	<Hero/>  скриптовое имя героя, получающего бонус
</Target>
<Type>E_BONUS_ARTIFACT</Type> тип бонуса
<BonusArmy> тип и кол-во существ
	<Creature>CREATURE_UNKNOWN</Creature>
	<Count>0</Count>
</BonusArmy>
<BonusArtifactID>GOLDEN_HORSESHOE</BonusArtifactID> артефакт
<BonusResources> ресурс
	<Wood>0</Wood>
	<Ore>0</Ore>
	<Mercury>0</Mercury>
	<Crystal>0</Crystal>
	<Sulfur>0</Sulfur>
	<Gem>0</Gem>
	<Gold>0</Gold>
</BonusResources>
<BonusSpellID>SPELL_NONE</BonusSpellID> заклинание
<Building>TB_TOWN_HALL</Building> строение
HeroesPool - герои, переходящие из одной миссии в другую. Count - количество, Heroes состоит из Item-ов:
HeroScriptName - скриптовое имя героя
TargetCampaign - кампания, в которую переходит герой. Если эта же самая, то можно оставить пустым.
TargetMission - номер миссии-1.

Дальше идут теги для музыки миссии:
startMusics - музыка на старте, вероятно, миссии
additionalAdventureMusics - доп. музыка на карте
additionalWaitMusics - доп. музыка во время хода компа
additionalCombatMusics - доп. боевая музыка

Теги музыки для всей кампании:
AdventureMusic - на карте
WinMissionMusic - победа
LoseMissionMusic - поражение

Теги музыки в болванке заполнены соответствующими ссылками из кампании "В честь отцов наших".

DescriptionFileRef - описание кампании
Icon - иконка кампании
UserCampaign - является ли кампания пользовательской.

2. М1-М5 - папки для карт.
3. Остальные файлы - в большинстве описаны в п. 1.
Вложения
Тип файла: zip Template.zip (5.9 Кбайт, 12 просмотров)
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1983
Старый 11.06.2015, 16:51
  #1983
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Ух, спасибо.

Добавлено через 2 часа 34 минуты
Нужен скрипт, при котором победа будет присуждена первому игроку за нахождение артефакта.
Аскет2 вне форума
Ответить с цитированием
#1984
Старый 11.06.2015, 17:28
  #1984
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

	function checkArtefact()
  while 1 do
    for i, hero in GetPlayerHeroes(1) do
      if HasArtefact(hero, id_артефакта) then
        Win(1)
        return
      end
    end
    sleep(10)
  end
end

startThread(checkArtefact)
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1985
Старый 12.06.2015, 14:09
  #1985
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Ах да, кстати. Тут обнаружил, пока так скажем, фичу: после того, как я скачал Template от RedHeavenHero, стала добавляться карта (пока одна) в любую кампанию под любым именем. С таким хоть кто-то сталкивался??

Добавлено через 17 часов 43 минуты
Эм, а как делать тему, если карта недоделана, но хочется её выложить, чтобы посмотреть, что добавить, облегчить, исправить и т.д.?

Добавлено через 12 минут
И можно карту называть именем с цифрами?

Добавлено через 12 минут
И ещё вопрос: как артефакты оставлять герою?

Добавлено через 1 минуту
И ещё вопрос: как артефакты оставлять герою?

Добавлено через 34 секунды
Сори за копир, лагануло почему-то.
Аскет2 вне форума
Ответить с цитированием
#1986
Старый 14.06.2015, 09:06
  #1986
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Кстати, скоро выложу вторую карту кампании. Если кто хочет её потестись, пишите в личку. Туда же пожелания и, если есть время, можете предложить свою помощь.

Добавлено через 14 часов 52 минуты
Нужна помощь: герой не переходит во вторую миссию в кампании. Как его заставить перейти в неё?

Добавлено через 20 минут
Ещё нужен скрипт, который будет брать определённое кол-во ресурсов.
Аскет2 вне форума
Ответить с цитированием
#1987
Старый 14.06.2015, 11:34
  #1987
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

1. Файл campaign.xdb в студию!
2.
	SetPlayerResource(ИГРОК, ТИП_РЕСУРСА, GetPlayerResource(ИГРОК, ТИП_РЕСУРСА) - КОЛИЧЕСТВО)
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1988
Старый 14.06.2015, 12:56
  #1988
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Но в том то и дело, что когда через редактор делаю, он как бы переносится.
Вложения
Тип файла: zip campaign.zip (1,015 байт, 7 просмотров)
Аскет2 вне форума
Ответить с цитированием
#1989
Старый 15.06.2015, 10:40
  #1989
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Ну и? Что не так-то? Или дело в картах?

Добавлено через 12 часов 3 минуты
Если ресов несколько, то тип ресурса добавлять, что ли?

Добавлено через 5 минут
Кстати, не создаётся персонаж с навыком короля гоблинов на карте. Может, из-за этого он не переходит?

Добавлено через 48 минут
function Newday ()
local day, wday, week, month = GetDate(DAY), GetDate(DAY_OF_WEEK), GetDate(WEEK), GetDate(MONTH)
if wday == 2
then MessageBox (GetMapDataPath().."Newday.txt")
Trigger(NEW_DAY_TRIGGER, "Newday")
SetPlayerResource(1, GOLD, ORE, GEMS, CRYSTALS, MERCURY, SULFUR, WOOD, GetPlayerResource(ORE, GEMS, CRYSTALS, MERCURY, SULFUR, WOOD) - 5, GetPlayerResource(1, GOLD) - 5000)
end
end

Trigger(NEW_DAY_TRIGGER, "Newday")
Что в данном скрипте неверно?
Аскет2 вне форума
Ответить с цитированием
#1990
Старый 15.06.2015, 10:43
  #1990
^
MasteR
 
Аватар для MasteR
📖
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
По умолчанию
Re: Скрипты

Аскет2Если ресов несколько, то тип ресурса добавлять, что ли?


вот
MasteR вне форума
Ответить с цитированием
#1991
Старый 15.06.2015, 10:45
  #1991
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Упс, вируса тама.
Аскет2 вне форума
Ответить с цитированием
#1992
Старый 15.06.2015, 10:45
  #1992
^
MasteR
 
Аватар для MasteR
📖
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
По умолчанию
Re: Скрипты

SetPlayerResource(1, GOLD, ORE, GEMS, CRYSTALS, MERCURY, SULFUR, WOOD, GetPlayerResource(ORE, GEMS, CRYSTALS, MERCURY, SULFUR, WOOD) - 5, GetPlayerResource(1, GOLD) - 5000)

В этой строчке неправильно все. Читайте руководство
MasteR вне форума
Ответить с цитированием
#1993
Старый 15.06.2015, 10:46
  #1993
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Ну у меня репак без рус руководства.
Аскет2 вне форума
Ответить с цитированием
#1994
Старый 15.06.2015, 11:03
  #1994
^
MasteR
 
Аватар для MasteR
📖
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
По умолчанию
Re: Скрипты

Аскет2Ну у меня репак без рус руководства.

https://heroesworld.ru/files.php?section=465
попробуйте здесь скачать

Добавлено через 1 минуту
И да, зачем 2 раза объявлять триггер newday? Его только 1 раз на всю игру объявить достаточно

Добавлено через 14 минут
Можно кстати взять чужие сценарные карты и посмотреть в них скрипты. Так и много нового для себя можно подчерпнуть, и узнать, как правильно писать те или иные функции.
MasteR вне форума
Ответить с цитированием
#1995
Старый 16.06.2015, 10:53
  #1995
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Насчёт глюка. Нашёл, исправил, так что помощь не требуется. Фух( шумный выдох облегчения)

Добавлено через 32 минуты
Так и не понял, как перекидывать героев

Добавлено через 3 часа 6 минут
Таки добился я своего. Выложу карту завтра вместе с первой и файлом кампании.

Добавлено через 18 часов 46 минут
function QuestPervii ()
if HasArtefacts ("Hero9", 76, 79)
then MessageBox (GetMapDataPath().."QuestPervii.txt")
ChandeHeroStat ("Hero9", STAT_DEFENSE, 7)
ReamoveArtefact ("Hero9", 76, 79)
Trigger(OBJECT_TOUCH_TRIGGER, "Pervii", nil)
else MessageBox (GetMapDataPath().."LoseL.txt")
end;
end;

Trigger(OBJECT_TOUCH_TRIGGER, "Pervii", "QuestPervii")

function QuestVtoroi ()
if HasArtefacts ("Hero9", 83)
then MessageBox (GetMapDataPath().."QuestVtoroi.txt")
ChandeHeroStat ("Hero9", STAT_OFFENCE, 7)
ReamoveArtefact ("Hero9", 83 )
Trigger(OBJECT_TOUCH_TRIGGER, "Vtoroi", nil)
else MessageBox (GetMapDataPath().."LoseLI.txt")
end;
end;

Trigger(OBJECT_TOUCH_TRIGGER, "Btoroi", "QuestVtoroi")
Можете подсказать, где здесь ошибка? А то скрипты не работают, которые после них идут.

Добавлено через 6 минут
Нашёл ошибку, помощь не требуется. A надо было убрать
Аскет2 вне форума
Ответить с цитированием
Ответ
Страница 133 из 260


Опции темы



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


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

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