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

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

Аватар пользователя
#2008
Нажать на героя в редакторе, перейти в ObjectPropretiesTree (панель слева). Найти строку Shared. Нажать на строку, нажать на появившуюся кнопку "..." для редактирования героя (или "new" для создания нового). В открывшемся окошке нужно поменять класс героя с "barbarian" на что-нибудь другое, а также начальные навыки (skills и ability) на варварские. Как-то так вроде.
 

К А
Стикеры GBF в Telegram
В ответ пользователю Ment
Аватар пользователя
#2009
Аскет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 содержит:

скриптовое имя героя, получающего бонус

E_BONUS_ARTIFACT тип бонуса
тип и кол-во существ
CREATURE_UNKNOWN
0

GOLDEN_HORSESHOE артефакт
ресурс
0
0
0
0
0
0
0

SPELL_NONE заклинание
TB_TOWN_HALL строение
HeroesPool - герои, переходящие из одной миссии в другую. Count - количество, Heroes состоит из Item-ов:
HeroScriptName - скриптовое имя героя
TargetCampaign - кампания, в которую переходит герой. Если эта же самая, то можно оставить пустым.
TargetMission - номер миссии-1.

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

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

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

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

2. М1-М5 - папки для карт.
3. Остальные файлы - в большинстве описаны в п. 1.
Вложения 1
1 файл • Общий размер: 5,9 KB
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
#2010
Ух, спасибо.

Добавлено через 2 часа 34 минуты
Нужен скрипт, при котором победа будет присуждена первому игроку за нахождение артефакта.
В ответ пользователю Аскет2
Аватар пользователя
#2011
Автопереведено
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
#2012
Ах да, кстати. Тут обнаружил, пока так скажем, фичу: после того, как я скачал Template от RedHeavenHero, стала добавляться карта (пока одна) в любую кампанию под любым именем. С таким хоть кто-то сталкивался??

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

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

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

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

Добавлено через 34 секунды
Сори за копир, лагануло почему-то.
#2013
Кстати, скоро выложу вторую карту кампании. Если кто хочет её потестись, пишите в личку. Туда же пожелания и, если есть время, можете предложить свою помощь.

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

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
#2015
Но в том то и дело, что когда через редактор делаю, он как бы переносится.
Вложения 1
1 файл • Общий размер: 1015 B
#2016
Ну и? Что не так-то? Или дело в картах?

Добавлено через 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
Аватар пользователя
#2017
Аскет2
Если ресов несколько, то тип ресурса добавлять, что ли?


вот
Кампании для Heroes V 3.1 (Трилогия):

Пробуждение зла
Нашествие из Преисподней
Смена эпох

Скачать все кампании одним архивом: Яндекс.Диск Google.Диск

You can download the set of 3 Campaigns (English version) here


Одиночные сценарии Heroes V 3.1:


Незваные гости
Красный кристалл
Синий кристалл
Закат тьмы

Мультиплеерные карты для Heroes V 3.1:

Легендарная война
Сердце вулкана
Передел мира
#2018
Упс, вируса тама.
Аватар пользователя
#2019
SetPlayerResource(1, GOLD, ORE, GEMS, CRYSTALS, MERCURY, SULFUR, WOOD, GetPlayerResource(ORE, GEMS, CRYSTALS, MERCURY, SULFUR, WOOD) - 5, GetPlayerResource(1, GOLD) - 5000)

В этой строчке неправильно все. Читайте руководство
Кампании для Heroes V 3.1 (Трилогия):

Пробуждение зла
Нашествие из Преисподней
Смена эпох

Скачать все кампании одним архивом: Яндекс.Диск Google.Диск

You can download the set of 3 Campaigns (English version) here


Одиночные сценарии Heroes V 3.1:


Незваные гости
Красный кристалл
Синий кристалл
Закат тьмы

Мультиплеерные карты для Heroes V 3.1:

Легендарная война
Сердце вулкана
Передел мира
#2020
Ну у меня репак без рус руководства.
В ответ пользователю Аскет2
Аватар пользователя
#2021
Аскет2
Ну у меня репак без рус руководства.

/files/10086/>
попробуйте здесь скачать

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

Добавлено через 14 минут
Можно кстати взять чужие сценарные карты и посмотреть в них скрипты. Так и много нового для себя можно подчерпнуть, и узнать, как правильно писать те или иные функции.
Кампании для Heroes V 3.1 (Трилогия):

Пробуждение зла
Нашествие из Преисподней
Смена эпох

Скачать все кампании одним архивом: Яндекс.Диск Google.Диск

You can download the set of 3 Campaigns (English version) here


Одиночные сценарии Heroes V 3.1:


Незваные гости
Красный кристалл
Синий кристалл
Закат тьмы

Мультиплеерные карты для Heroes V 3.1:

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

Добавлено через 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 надо было убрать

Статистика

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

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