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

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

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

Ответ
Страница 247 из 260
 
Опции темы
#3691
Старый 20.07.2022, 23:07
  #3691
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 42
Регистрация: 07.07.2019
Сообщения: 42
По умолчанию
Re: Скрипты

ДолгийПуть текста не должен содержать / перед Maps?

Ну а так, всегда смотрите, что консоль говорит.

Консоль не  жалуется, спросил у знакомого, который в этом дерьме разбирается и он говорит мне, что все я нормально написал и сделал, должно работать, но просто не работает потому-что не работает. И как это понять? Какого черта оно не работает?
Shiroyasha2910 вне форума
Ответить с цитированием
#3692
Старый 20.07.2022, 23:11
  #3692
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 91
Регистрация: 23.04.2019
Сообщения: 91
По умолчанию
Re: Скрипты

Shiroyasha2910Консоль не  жалуется, спросил у знакомого, который в этом дерьме разбирается и он говорит мне, что все я нормально написал и сделал, должно работать, но просто не работает потому-что не работает. И как это понять? Какого черта оно не работает?

Удалили слеш перед Maps?
Долгий вне форума
Ответить с цитированием
#3693
Старый 20.07.2022, 23:22
  #3693
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1971
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1971
Выставка наград
По умолчанию
Re: Скрипты

Текстовый файл где создавали? Должна быть кодировка Unicode. Не UTF-8, хоть это тоже юник
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3694
Старый 20.07.2022, 23:27
  #3694
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 91
Регистрация: 23.04.2019
Сообщения: 91
По умолчанию
Re: Скрипты

}{0TT@6bI4Текстовый файл где создавали? Должна быть кодировка Unicode. Не UTF-8, хоть это тоже юник

Точно
Долгий вне форума
Ответить с цитированием
#3695
Старый 21.07.2022, 00:17
  #3695
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 42
Регистрация: 07.07.2019
Сообщения: 42
По умолчанию
Re: Скрипты

}{0TT@6bI4Текстовый файл где создавали? Должна быть кодировка Unicode. Не UTF-8, хоть это тоже юник

Сделал, не заработало. После даже слеш убрал, как рекомендовал "Долгий", но все также. Понимаете, смех в том, что даже эта команда не работает, хотя как я и писал ранее, даже знакомый сказал, что я все сделал правильно:

SetObjectEnabled("dolmen1", false);

Единственная команда, которая у меня заработала, это:

SetPlayerStartResources(1, 0, 0, 0, 0, 0, 0, 5000);

Но это первый скрипт, который я написал для карты, после этого, такое ощущение, что больше никакие скрипты, которые я вписываю, не работают.

Решил прикольнуться, зашел сейчас в сам редактор -> свою карту -> Map Properties -> Script -> нажимаю кнопку Script и сразу вылетает редактор. Но как я понял, это обычный случай для обычного редактора.

Shiroyasha2910 вне форума
Ответить с цитированием
#3696
Старый 21.07.2022, 00:39
  #3696
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 206
Регистрация: 24.04.2016
Сообщения: 206
По умолчанию
Re: Скрипты

Shiroyasha2910

Сделал, не заработало. После даже слеш убрал, как рекомендовал "Долгий", но все также. Понимаете, смех в том, что даже эта команда не работает, хотя как я и писал ранее, даже знакомый сказал, что я все сделал правильно:

SetObjectEnabled("dolmen1", false);

Единственная команда, которая у меня заработала, это:

SetPlayerStartResources(1, 0, 0, 0, 0, 0, 0, 5000);

Это первый скрипт, который я прописал, после этого, такое ощущение, что больше никакие скрипты, которые я вписываю, не работают.

Окей, тогда по новой. Открывай свой текстовый файл, копируй что там написано. После этого открой файлы карты, удали его. Перезапусти карту. Потом поставь объект Signpost(указатель), в нём слева в MessageFile нажми New, введи то же название что было у твоего файла и нажми Ok, после откроется пустое окно с этим файлов. Вставляй туда свой текст, жми Окей, закрывай карту и тестируй в игре появится ли текст.

 

Если не сработает, скинь свою карту("названиекарты.h5m" файл в папке Maps)



Добавлено через 6 минут
Shiroyasha2910Решил прикольнуться, зашел сейчас в сам редактор -> свою карту -> Map Properties -> Script -> нажимаю кнопку Script и сразу вылетает редактор. Но как я понял, это обычный случай для обычного редактора.
Не пользуйся этой кнопкой, представь что её нет) Скрипты пиши/редактируй либо в текстовом файле в корне файлов карты(как я, и многие другие делают), либо же пользуйся HoMM5MapScriptsEditor(вообще, в ней рекомендую и писать скрипты, а потом переносить в текст. Однако не советую в нём делать заметки на русской раскладке, т.к. при переносе в lua файлик может полететь русский текст и тогда тот станет "ломаным арабским" Точно так же может случиться если русский текст скопировать из lua файлика карты и перенести в ScriptsEditor)
Азгалор вне форума
Ответить с цитированием
#3697
Старый 21.07.2022, 20:35
  #3697
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 42
Регистрация: 07.07.2019
Сообщения: 42
По умолчанию
Re: Скрипты

[quote=Азгалор]

Окей, тогда по новой. Открывай свой текстовый файл, копируй что там написано. После этого открой файлы карты, удали его. Перезапусти карту. Потом поставь объект Signpost(указатель), в нём слева в MessageFile нажми New, введи то же название что было у твоего файла и нажми Ok, после откроется пустое окно с этим файлов. Вставляй туда свой текст, жми Окей, закрывай карту и тестируй в игре появится ли текст.

 

Если не сработает, скинь свою карту("названиекарты.h5m" файл в папке Maps)


Не, это работает. В карте уже добавленные задания или тексты с указателей работают. Может быть это просто на дольмене не работает? Заработало, поменял на дерево Сильваны и заработало, только теперь после прочтения текста, я не могу зайти в героя, а другой, игровой текст (например: ваш герой больше не может ходить на этом ходу, заклинание изучено) начал отображаться через секунд 5-10 от изначального. Короче, походу я воистину гений, если у меня такие простые команды вызывают баги в игре -_-

 

Насчёт редактора я знаю) Поэтому изначально пользуюсь ScriptsEditor))

Shiroyasha2910 вне форума
Ответить с цитированием
#3698
Старый 21.07.2022, 21:21
  #3698
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 206
Регистрация: 24.04.2016
Сообщения: 206
По умолчанию
Re: Скрипты

Shiroyasha2910, у тебя всё равно не запускается функция из OBJECT_TOUCH_TRIGGER?

Добавлено через 38 минут
Shiroyasha2910Не, это работает. В карте уже добавленные задания или тексты с указателей работают. Может быть это просто на дольмене не работает? Заработало, поменял на дерево Сильваны и заработало, только теперь после прочтения текста, я не могу зайти в героя, а другой, игровой текст (например: ваш герой больше не может ходить на этом ходу, заклинание изучено) начал отображаться через секунд 5-10 от изначального. Короче, походу я воистину гений, если у меня такие простые команды вызывают баги в игре -_-
Задержки скорее всего вызывает какой-то цикл(или циклы, если их несколько), я не зря просил карту залить. А с дольменом ошибка вероятно от того, что ты в дольмене прописал скриптовое имя по другому, не так как в Trigger( OBJECT_TOUCH_TRIGGER, "", "")
Азгалор вне форума
Ответить с цитированием
#3699
Старый 21.07.2022, 22:10
  #3699
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 42
Регистрация: 07.07.2019
Сообщения: 42
По умолчанию
Re: Скрипты

АзгалорShiroyasha2910, у тебя всё равно не запускается функция из OBJECT_TOUCH_TRIGGER?

Добавлено через 38 минут
Задержки скорее всего вызывает какой-то цикл(или циклы, если их несколько), я не зря просил карту залить. А с дольменом ошибка вероятно от того, что ты в дольмене прописал скриптовое имя по другому, не так как в Trigger( OBJECT_TOUCH_TRIGGER, "", "")

Понял тебя. Возможен-ли вариант, чтобы я тебе куда-нибудь в личные сообщения скинул карту?
Shiroyasha2910 вне форума
Ответить с цитированием
#3700
Старый 21.07.2022, 22:35
  #3700
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 206
Регистрация: 24.04.2016
Сообщения: 206
По умолчанию
Re: Скрипты

Shiroyasha2910Понял тебя. Возможен-ли вариант, чтобы я тебе куда-нибудь в личные сообщения скинул карту?
Да, нажми на мой ник и там будет "Отправить личное сообщение"
Азгалор вне форума
Ответить с цитированием
#3701
Старый 07.08.2022, 19:09
  #3701
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 206
Регистрация: 24.04.2016
Сообщения: 206
По умолчанию
Re: Скрипты

Приветствую. Как-то можно отслеживать гарнизоны без имён? GetObjectNamesByType их не отображает. Может, есть какая-то другая функция для них?
Азгалор вне форума
Ответить с цитированием
#3702
Старый 08.08.2022, 09:14
  #3702
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1971
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1971
Выставка наград
По умолчанию
Re: Скрипты

Точно не находит по "BUILDING_GARRISON"?
Если нет, то остаётся один способ: парсить map.xdb собственной программой, устанавливая всем объектам типа гарнизон скриптовое имя
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3703
Старый 08.08.2022, 20:18
  #3703
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 206
Регистрация: 24.04.2016
Сообщения: 206
По умолчанию
Re: Скрипты

}{0TT@6bI4Точно не находит по "BUILDING_GARRISON"?

Да, к сожалению... Ни BUILDING_GARRISON, ни в принципе по BUILDING. Решил это дело протестировать на одной из карт где у бота во владении шахты, домики и гарнизоны. Через BUILDING набрал массив владений бота и сделал SetObjectOwner, и у всех зданий бота, кроме гарнизонов, сменился владелец. Не отслеживаются даже те гарнизоны, которые имеют имена.

 



Добавлено через 8 часов 26 минут
Прописал себе небольшой скрипт: 
function NoFlee( n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20 )
    heroeslist = { n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20 }
    for key, heroes in heroeslist do
        if IsObjectExists( heroes ) ~= nil then
           DenyAIHeroFlee( heroes, 1 )
           print("<color=blue>Герой ", heroes, " <color=blue>больше не покидает бои пока не погибнет")
        end
    end
end

Всё работает, но дико напрягает ругань консоли на неверный первый аргумент в IsObjectExists, который возникает из-за незаполненых аргументов. Можно ли как-то переписать скрипт или что-то добавить, чтобы массив заполнялся только заполненными аргументами? Или же переписать так, чтобы консоль не ругалась на пустые аргументы. 

Азгалор вне форума
Ответить с цитированием
#3704
Старый 08.08.2022, 21:23
  #3704
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Скрипты

Азгалор, в функцию можно сразу передавать таблицу:
   
function NoFlee(heroeslist)
    for key, heroes in heroeslist do
        if IsObjectExists( heroes ) ~= nil then
           DenyAIHeroFlee( heroes, 1 )
           print("<color=blue>Герой ", heroes, " <color=blue>больше не покидает бои пока не погибнет")
        end
    end
end

-- Пример использования
NoFlee({n1, n2, n3});
__________________
РПГ-сценарий для HoMM5: Путь героя

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

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием
#3705
Старый 11.08.2022, 10:56
  #3705
^
Min_Carolin
 
Аватар для Min_Carolin
📖
Регистрация: 10.07.2018
Сообщения: 25
Регистрация: 10.07.2018
Сообщения: 25
По умолчанию
Re: Скрипты

Здравствуйте. Возникла странная проблема с откастовкой заклинаний в боевом скрипте.

function DefenderCreatureDeath (unit)
  if exist ('Priest') then
  sleep (2)
  SetUnitManaPoints(Osillian, GetUnitManaPoints(Osillian)+50)
  sleep (1)
  UnitCastAimedSpell (Osillian, SPELL_RESURRECT, unit)
  sleep (5)
  UnitCastAimedSpell (Osillian, SPELL_CELESTIAL_SHIELD, unit)
  end
end

В данном куске скрипта мне необходимо, чтобы после смерти стека защитников их герой воскрешал их, а затем навешивал небесный щит. Воскрешение работает нормально, а вот небесный щит не хочет накидываться ни в какую. В консоли пишет рядовое "Unit can't cast aimed spell...". Уже два дня бьюсь над тем, в чем соль, был бы очень признателен, если бы кто-нибудь подсказал).

И еще один вопросик: мне нужно, чтобы в ход героя противника его лучник, назовем его 'Hunter', стрелял по какому-то из существ героя игрока, при этом не по конкретному. Но у меня не хватает воображения на то, чтобы понять, как это сделать. Вроде как, нужно составить таблицу существ, которые будут входить в пул выбора лучника, но непонятно, как ее сделать, плюс еще здесь ведь не будет работать обычный commandShot, так что как заставить потом лучника непосредственно стрелять? 

Min_Carolin вне форума
Ответить с цитированием
Ответ
Страница 247 из 260


Опции темы



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


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

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