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

Вернуться   Форум HeroesWorld-а > Все о игре Герои 5. All about Heroes 5 > Герои Меча и Магии 5 - Картостроительство (Редактор карт)
Имя
Пароль
Карта сайта Регистрация Справка Пользователи Календарь Все разделы прочитаны
Быстрая навигация по основным разделам форума:
Кланы HW Турниры на HW КАРТЫ и Картостроительство Heroes 6 Heroes 5 Heroes 4 Heroes 3 Heroes 2 Heroes 1 Might&Magic

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

Ответ
 
Опции темы
Старый 09.01.2013, 16:16   #871
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

Добавлено через 8 минут

function Start()
hero = GetAttackerHero
UnitCastGlobalSpell(hero, 54)
end

пишет в панели "wrong type of argument 1 when calling function UnitGlobalCast" , что не так?
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Старый 09.01.2013, 16:19   #872
RedHeavenHero
 
Аватар для RedHeavenHero
Регистрация: 10.02.2012
Сообщения: 2345
RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

Цитата:
Сообщение от Heroist
Добавлено через 8 минут

function Start()
hero = GetAttackerHero
UnitCastGlobalSpell(hero, 54)
end

пишет в панели "wrong type of argument 1 when calling function UnitGlobalCast" , что не так?
После GetAttackerHero должны стоять скобки (). Эта функция всегда возвращает 'attacker-hero' так что можно её не использовать.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума   Ответить с цитированием
Старый 09.01.2013, 16:29   #873
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

ага, спс это работает.

А можно ли сделать случайный выбор заклинания? Сейчас поясню:

function Start()
hero = GetAttackerHero ()
cast = random (5)
if cast == 0 then
UnitCastGlobalSpell(hero, 54)
elseif cast == 1 then
UnitCastGlobalSpell(hero, 24)
elseif cast == 2 then
UnitCastGlobalSpell(hero, 25)
elseif cast == 3 then
UnitCastGlobalSpell(hero, 28)
elseif cast == 4 then
UnitCastGlobalSpell(hero, 29)
elseif cast == 5 then
UnitCastGlobalSpell(hero, 23)
end
end

?
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Старый 09.01.2013, 16:32   #874
RedHeavenHero
 
Аватар для RedHeavenHero
Регистрация: 10.02.2012
Сообщения: 2345
RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума   Ответить с цитированием
Старый 09.01.2013, 16:38   #875
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

ай-ай-ай, жалко. А как же быть, можно ли как-нибудь сделать случайный каст? Может быть вызывать random каждый день, а потом в баттл скрипте его запрашивать?
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Старый 09.01.2013, 16:54   #876
RedHeavenHero
 
Аватар для RedHeavenHero
Регистрация: 10.02.2012
Сообщения: 2345
RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

Можно после каждой битвы:
Код:
function rndcast() while 1 do SetGameVar('spell', random(5)) local index = GetLastSavedCombatIndex() while index == GetLastSavedCombatIndex() do sleep(10) end end end startThread(rndcast)
А в боевом скрипте строчкой
cast = GetGameVar('spell')+0
заменить строку
cast = random (5)
Да, и random(5) вернёт случайное число от 0 до 4. То есть random(n) возвращает случайное число от 0 до n-1.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума   Ответить с цитированием
Старый 09.01.2013, 17:13   #877
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

да, теперь действительно кастует рандомно. Теперь, однако, ошибка в другом, никакие заклинание, кроме молитвы, он скастовать не может. Я ему прописываю вроде бы, массовые ускорение, каменную кожу и тп, а он пишет, что "hero can't cast #25, 24 и тп"
Вот вырезка скрипта опять таки:

if cast == 0 then
UnitCastGlobalSpell(hero, 54) --- молитва, работает
elseif cast == 1 then
UnitCastGlobalSpell(hero, 24) --- спешка
elseif cast == 2 then
UnitCastGlobalSpell(hero, 25) --- каменная кожа
elseif cast == 3 then
UnitCastGlobalSpell(hero, 28) --- bloodlust
elseif cast == 4 then
UnitCastGlobalSpell(hero, 29) --- отклонение
elseif cast == 5 then
UnitCastGlobalSpell(hero, 23) --- сила пророка
end

Поясните, пожалуйста, этот момент, в остальном вроде, наступает ясность.

Добавлено через 1 минуту
тьфу, простите, вопрос снят. надо mass spell ы было искать =)

Большое Вам спасибо.
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Старый 09.01.2013, 17:15   #878
RedHeavenHero
 
Аватар для RedHeavenHero
Регистрация: 10.02.2012
Сообщения: 2345
RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

Первое, что приходит в голову - нехватка маны. На эти заклинания расходуется мана, и её должно хватать.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума   Ответить с цитированием
Старый 09.01.2013, 17:18   #879
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

да, кстати, нехватка маны тоже, проверил =)
А сделать заклинания бесплатными при этом автокасте возможно?
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Старый 09.01.2013, 17:24   #880
RedHeavenHero
 
Аватар для RedHeavenHero
Регистрация: 10.02.2012
Сообщения: 2345
RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

Цитата:
Сообщение от Heroist
да, кстати, нехватка маны тоже, проверил =)
А сделать заклинания бесплатными при этом автокасте возможно?
Можно, если добавлять герою столько маны, сколько стоит это заклинание.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума   Ответить с цитированием
Старый 09.01.2013, 21:26   #881
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

да, я уже сделал. Просто в начале боя узнавал сколько у него маны, потом давал 100, а после рандом каста возвращал столько, сколько было в начале боя. Большое Вам спасибо! Теперь мне стало нАмного понятнее =)

Добавлено через 3 часа 55 минут
назрел новый вопрос:

-А как сделать проверку на имя героя при старте боя?
Я записываю так:

hero = GetAttackerHero ()
if GetHeroName(hero) == 'Alaric' then

Но ничего не работает...Даже если записывать проще:

hero = GetAttackerHero ()
if hero == 'Alaric'

Ps: Я вас, наверно, уже достал, но очень хочется в этом разобраться)
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Старый 09.01.2013, 22:02   #882
RedHeavenHero
 
Аватар для RedHeavenHero
Регистрация: 10.02.2012
Сообщения: 2345
RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

"Проще" не надо. GetHeroName даёт возможность получить скриптовое имя героя. А что должно происходить, если герой прошёл проверку?
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума   Ответить с цитированием
Старый 09.01.2013, 22:06   #883
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

Батл скрипт:

function Start()
hero = GetAttackerHero ()
if GetHeroName("hero") == 'Alaric' then
cast = GetGameVar('spell')+0
mana = GetUnitManaPoints (hero)
SetUnitManaPoints (hero, 100)
if cast == 0 then
UnitCastGlobalSpell(hero, 54)
elseif cast == 1 then
UnitCastGlobalSpell(hero, 221)
elseif cast == 2 then
UnitCastGlobalSpell(hero, 218)
elseif cast == 3 then
UnitCastGlobalSpell(hero, 220)
elseif cast == 4 then
UnitCastGlobalSpell(hero, 219)
elseif cast == 5 then
UnitCastGlobalSpell(hero, 216)
end
SetUnitManaPoints (hero, mana)
end

Скрипт:

function rndcast()
while 1 do
SetGameVar('spell', random(6))
local index = GetLastSavedCombatIndex()
while index == GetLastSavedCombatIndex() do
sleep(10)
end
end
end
startThread(rndcast)
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Старый 09.01.2013, 22:10   #884
RedHeavenHero
 
Аватар для RedHeavenHero
Регистрация: 10.02.2012
Сообщения: 2345
RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа RedHeavenHero - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

hero должно быть написано без кавычек.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума   Ответить с цитированием
Старый 10.01.2013, 12:29   #885
Heroist
 
Аватар для Heroist
Регистрация: 16.12.2012
Адрес: Запределье
Сообщения: 10379
Heroist - уровень боевого духа Heroist - уровень боевого духа Heroist - уровень боевого духа
Выставка наград
По умолчанию Re: Скрипты

да, опять я глупую ошибку допустил, спасибо. там еще end'а не хватало.

Добавлено через 13 часов 59 минут
так, остался самый главный вопрос на сегодня:

А как быть с привязкой баттлскрипта к герою? Дело в том, что мне хотелось бы нанимать такого героя, скажем, в таверне, но в этом случае он появляется на карте без привязанного скрипта и теряет свои функции.
Есть ли функция, чтобы, если на карте появился такой герой, автоматически привязывать к нему баттлскрипт? Или есть другой путь?
__________________
Ay, ay, ay
I'm your little butterfly
Green, black and blue
Make the colours in the sky

HoMM_V Maps
Heroist вне форума   Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.
Быстрый переход


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


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

Яндекс цитирование  Rambler\'s Top100   Рейтинг@Mail.ru

Авторские права - Copyright © 2002-2018 www.HeroesWorld.ru All rights reserved (new server)


На правах рекламы:123123