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

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

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

Ответ
Страница 196 из 260
 
Опции темы
#2926
Старый 23.07.2019, 18:13
  #2926
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

Люди, нужна помощь:
Как сделать так, чтобы у героя, допустим при входе в регион, кол-во всех его существ уменьшилось в 2 раза? Заранее спасибо.

ну самое банальное повесить на регион что-то такое:

	for slot = 0, 6 do
  local creature, count = GetObjectArmySlotCreature(hero, slot)
  if not (creature == 0 or count == 0) then
    RemoveHeroCreatures(hero, creature, count/2)
  end
end
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2927
Старый 06.08.2019, 18:39
  #2927
^
Sverhrazum
 
Аватар для Sverhrazum
📖
Регистрация: 06.08.2019
Сообщения: 3
Регистрация: 06.08.2019
Сообщения: 3
По умолчанию
Re: Скрипты

Всем привет! Помогите, как увеличить количество очков хода для героя?
Sverhrazum вне форума
Ответить с цитированием
#2928
Старый 11.08.2019, 22:25
  #2928
^
Valkar
 
Аватар для Valkar
📖
Регистрация: 04.08.2019
Сообщения: 3
Регистрация: 04.08.2019
Сообщения: 3
По умолчанию
Re: Скрипты

Известно, что через "RazeTown" можно уничтожить город. А наоборот можно? Допустим, изначально на карте руины, а при выполнении определенного условия руины заменяются действующим городом.
__________________
Лишь тот в советах – солнце, в битвах – лев, кто разумом смирять умеет гнев.
Лишь тот в советах – солнце, в битвах – лев, кто разумом смирять умеет гнев.
Valkar вне форума
Ответить с цитированием
#2929
Старый 12.08.2019, 14:31
  #2929
^
DablNice234
📖
Регистрация: 21.07.2019
Сообщения: 4
Регистрация: 21.07.2019
Сообщения: 4
Вопрос
Re: Скрипты

Мне надо чтобы зарезервированный герой появлялся в начале недели второго месяца, но при ещё должно вызываться задание, задание вызывается, а вот герой (как я уже сказал) не появляется
function Blue ()
SetObjectiveState("blue", OBJECTIVE_ACTIVE);
local MONTH=GetDate (2)
if day == 0
then DeployReserveHero ("Maeve", 66, 3, 0, 0)
sleep (5)
MoveCamera (66, 3, 0, 50, 0, 0, 1, 1)
end ;
end;
DablNice234 вне форума
Ответить с цитированием
#2930
Старый 13.09.2019, 00:21
  #2930
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

Есть ли возможность через код включать/выключать подсветку объектов(которая при зажатии альта)? Скрипта точно нет, но может консольная команда есть?
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2931
Старый 15.09.2019, 20:32
  #2931
^
Grigoriy
 
Аватар для Grigoriy
📖
Регистрация: 02.11.2016
Сообщения: 134
Регистрация: 02.11.2016
Сообщения: 134
По умолчанию
Re: Скрипты

GerterЕсть ли возможность через код включать/выключать подсветку объектов(которая при зажатии альта)? Скрипта точно нет, но может консольная команда есть?

Если бы такой чит был, мы бы уже о нём давно знали бы, да и, честно говоря, это необходимое зло в такой игре как Герои, в 3дшной её итерации.

А вот у меня, кстати, такой момент - пытаюсь реализовать квест с выполнением оного двумя путями: один через выплату золотом и ожидание н-ого кол-ва дней, а другой через нахождение нужного существа и его уничтожение. И вот с моментом ожидания какая-то беда, никак не хочет отрабатывать скрипт, как я только его там не крутил, причём никаких ошибок в консоли нет.
Скрипт:

	centHero = ""

SetObjectEnabled("cent0", nil);
SetDisabledObjectMode("cent0", DISABLED_INTERACT);
sleep(1);

function Centaurquest(heroname)
if GetCurrentPlayer()==1 and centavr == 0 then
StartAdvMapDialog( 2 );
sleep(5);
centavr = 1;
trader = 1;
MessageBox("Maps/SingleMissions/orcs2/centtext10.txt");
elseif GetCurrentPlayer()==1 and centavr == 1 and trader == 1 then
MessageBox("Maps/SingleMissions/orcs2/centtext1.txt");
elseif GetObjectOwner( heroname ) == PLAYER_1 and centavr == 1 and trader == 3 then
centHero = heroname
QuestionBox("Maps/SingleMissions/orcs2/centtext4.txt", "Centaurquestcomplite");
elseif GetCurrentPlayer()==1 and centavr == 2 then
MessageBox("Maps/SingleMissions/orcs2/centtext2.txt");
end;
end;

function Centaurquestcomplite()
if HasArtefact( centHero, 17 ) == true then
StartAdvMapDialog( 3 );
sleep(1);
PlayObjectAnimation( "cent0", "happy", ONESHOT );
sleep(1);
RemoveArtefact( centHero, 17 );
SetTownBuildingLimitLevel("port", TOWN_BUILDING_DWELLING_2, 2);
centavr = 2;
elseif HasArtefact( centHero, 17 ) == false then
MessageBox("Maps/SingleMissions/orcs2/centtext3.txt");
end;
end;

function Centaurquesttrader()
if GetCurrentPlayer()==1 and centavr == 1 and trader == 1 then
QuestionBox("Maps/SingleMissions/orcs2/centtext5.txt", "Traderyes", "Traderno");
end;
end;

function Traderyes()
if GetPlayerResource(PLAYER_1, GOLD) >= 10000 then
dealtime = GetDate(ABSOLUTE_DAY);
SetPlayerResource(PLAYER_1, GOLD, GetPlayerResource(PLAYER_1, GOLD) - 10000 );
sleep(1);
trader = 2;
RemoveObject("thief");
sleep(1);
elseif GetPlayerResource(PLAYER_1, GOLD) < 10000  then
MessageBox("Maps/SingleMissions/orcs2/ubivectext6.txt");
end;
end;

Trigger(NEW_DAY_TRIGGER, 'TradeDay');
function TradeDay()
if ((GetDate(ABSOLUTE_DAY) - dealtime) == 4) then
MessageBox("Maps/SingleMissions/orcs2/centtext8.txt");
GiveArtifact("главныйгерой", 17);
trader = 3;
end;
end;

function Traderno()
MessageBox("Maps/SingleMissions/orcs2/centtext7.txt");
end;

function Thiefdead()
while 1 do
sleep(10);
if IsObjectExists ("thief") == nil and trader == 0 then
MessageBox("Maps/SingleMissions/orcs2/centtext9.txt");
trader = 3;
break;
elseif IsObjectExists ("thief") == nil and trader == 1 then
MessageBox("Maps/SingleMissions/orcs2/centtext9.txt");
trader = 3;
break;
elseif IsObjectExists ("thief") == nil and trader == 2 then
MessageBox("Maps/SingleMissions/orcs2/centtext6.txt");
break;
end;
end;
end;

startThread( Thiefdead );
Grigoriy вне форума
Ответить с цитированием
#2932
Старый 16.09.2019, 12:42
  #2932
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
По умолчанию
Re: Скрипты

Grigoriy, не очень хорошая затея выкладывать сто строк кода и просить искать в них ошибку. Для начала просто поставьте принты в каждой функции и внутри каждого if'а.
__________________
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#2933
Старый 17.09.2019, 13:53
  #2933
^
Grigoriy
 
Аватар для Grigoriy
📖
Регистрация: 02.11.2016
Сообщения: 134
Регистрация: 02.11.2016
Сообщения: 134
По умолчанию
Re: Скрипты

Jack_of_shadowsGrigoriy, не очень хорошая затея выкладывать сто строк кода и просить искать в них ошибку. Для начала просто поставьте принты в каждой функции и внутри каждого if'а.

Я учту это на будущее, спасибо. Тем временем скрипт заработал как надо, стоило мне поставить триггер нового дня после функции, а не перед. Даже интересно
Grigoriy вне форума
Ответить с цитированием
#2934
Старый 03.10.2019, 13:13
  #2934
^
thenekoor
📖
Регистрация: 29.03.2017
Сообщения: 4
Регистрация: 29.03.2017
Сообщения: 4
По умолчанию
Re: Скрипты

Приветик, помните в последней миссии за Арантира были города где можно сделать только один грейд существ. У меня три вопроса.
1. Как это сделать?
2. Можно ли это сделать другим расам?
3. Можно ли сделать только 1ый, а не 2ой грейд.
thenekoor вне форума
Ответить с цитированием
#2935
Старый 05.10.2019, 07:23
  #2935
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
По умолчанию
Re: Скрипты

thenekoorПриветик, помните в последней миссии за Арантира были города где можно сделать только один грейд существ. У меня три вопроса.
1. Как это сделать?
2. Можно ли это сделать другим расам?
3. Можно ли сделать только 1ый, а не 2ой грейд.
В редакторе выделите город, слева в дереве свойств найдите CreaturesUpgradesFilter, разверните. Чтобы запретить 1ый грейд добавляйте в ForbiddenBasicUpgradeTiers (ПКМ - Add) строки, в них записывайте уровень нужного существа. Соответственно, чтобы запретить всю ветку, нужно добавить 7 элементов и в них указать уровни от 1 до 7. ForbiddenAlterUpgradeTiers - все то же самое, только для запрета 2го грейда. Их, кстати, можно комбинировать.

Добавлено через 23 часа 32 минуты
Может кто сталкивался с таким или есть идеи?
Вылетает игра при использовании MoveHeroRealTime или даже при CalcHeroMoveCost на соседнюю, пустую клетку. Вылетает не с начала карты, но во второй половине, ближе к концу.
__________________
Сюжетные карты:

Охотник на чудовищ

Проклятый
32MeTpa вне форума
Ответить с цитированием
#2936
Старый 05.10.2019, 22:42
  #2936
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

могу предположить, что игра плохо справляется с большим количеством функций типа талкбокса. И по моим наблюдениям, функции, связанные с просчитыванием хода тоже игру неслабо грузят - если, скажем, запустить CalcHeroMoveCost в бесконечном потоке, игра начнет ощутимо лагать. И если в начале игра еще справляется, то как раз ближе к концу карты, ей возможно перестает хватать ресурсов, отсюда и вылеты. Но это только предположения, точно не могу сказать
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#2937
Старый 05.10.2019, 23:57
  #2937
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
По умолчанию
Re: Скрипты

Так а какие условия использования? Может там добавление значений в таблицу и память утекает?
Талкбокса я бы бояться не стал. Работает как часы.
__________________
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows сейчас на форуме
Ответить с цитированием
#2938
Старый 06.10.2019, 09:19
  #2938
^
32MeTpa
 
Аватар для 32MeTpa
📖
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
Регистрация: 06.08.2011
Сообщения: 178
Выставка наград
По умолчанию
Re: Скрипты

Jack_of_shadowsТак а какие условия использования? Может там добавление значений в таблицу и память утекает?
Если конкретно CalcHeroMoveCost - то можно просто в консоль ее написать, вылетит.
На счет прошедшего куска карты сложно сказать, там очень много всего. Пытался повторить баг дважды, пройдя до момента вылета с теми же условиями, и все сработало нормально.

GerterИ по моим наблюдениям, функции, связанные с просчитыванием хода тоже игру неслабо грузят - если, скажем, запустить CalcHeroMoveCost в бесконечном потоке, игра начнет ощутимо лагать. И если в начале игра еще справляется, то как раз ближе к концу карты, ей возможно перестает хватать ресурсов, отсюда и вылеты.
Звучит здраво, попробую в начале и в середине карты позапускать побольше MoveHeroRealTime, может что выйдет.

Добавлено через 1 час 49 минут
Нет, сколько не пытался, вручную вылет вызвать не получилось.
__________________
Сюжетные карты:

Охотник на чудовищ

Проклятый
32MeTpa вне форума
Ответить с цитированием
#2939
Старый 06.10.2019, 11:49
  #2939
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

GerterЕсть ли возможность через код включать/выключать подсветку объектов(которая при зажатии альта)? Скрипта точно нет, но может консольная команда есть?
Если еще актуально:
команда ui_adventure_hilight_radius 0 отключает подсветку, чтобы ее включить обратно вместо 0 ставим значение больше.
Лучше, если то, что было изначально задано.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2940
Старый 06.10.2019, 11:59
  #2940
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 825
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

RedHeavenHeroЕсли еще актуально:
команда ui_adventure_hilight_radius 0 отключает подсветку, чтобы ее включить обратно вместо 0 ставим значение больше.
Лучше, если то, что было изначально задано.
эту команду я пробовал, но это не то, к сожалению. меня интересовала возможность именно включить эффект подсветки в игре, ну т.е. имитировать нажатие альта, но это похоже невозможно
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
Ответ
Страница 196 из 260


Опции темы



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


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

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