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

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

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

Ответ
Страница 233 из 260
 
Опции темы
#3481
Старый 25.08.2021, 15:02
  #3481
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Неа, всё равно глыбу кастует на 20м левеле.
Может, тут что-то лишнее?

path = '/'..GetMapDataPath()
main_hero = 'Raelag'
print("ГГ назван");

SetHeroCombatScript('Raelag', path.."CombatScript.xdb#xpointer(/Script)");
print("Комбат скрипт запущен");

LevR = GetHeroLevel('Raelag');
print("LevR установлен как определитель уровня Раилага");

function HeroLevelSaveF()
SetGameVar("LevR", ceil(GetHeroLevel('Raelag')));
print("Установили что LevR это Сет Гейм Вар");
end

SetGameVar("LevR", 1)
Trigger(HERO_LEVELUP_TRIGGER, "Raelag", "HeroLevelSaveF")

function ProbaF()
    if LevR < 20 then
print("уровень меньше 20");
else
print("уровень 20 или больше");
    end;
        end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "ProbaF");
Марта вне форума
Ответить с цитированием
#3482
Старый 25.08.2021, 15:12
  #3482
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

в комбате строчку 
Level_R = GetGameVar("LevR") + 0

тоже поменяй на

Level_R = ceil(GetGameVar("LevR") + 0)
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3483
Старый 25.08.2021, 15:29
  #3483
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Поменяла. Кастует глыбы, паразит, как ни в чём ни бывало))
И консоль пишет "если уровень меньше 20, то"
Марта вне форума
Ответить с цитированием
#3484
Старый 25.08.2021, 15:44
  #3484
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

ну я перепроверил этот вариант скрипта у себя, на 20 уровне, как и нужно, кастует шары. Точно героя до нужного уровня апаешь? Покажи, что в мап скрипте полностью написано.
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3485
Старый 25.08.2021, 15:52
  #3485
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Всё, что там написано, до последней запятой, я выше уже повесила. Там просто больше ничего нет, я даже вступительный ролик ещё не делала.
Что до комбат-скрипта, то я поставила молнии, а не шары, чтобы не переписывать.
Левел у него точно двадцатый, я в редакторе дала ему опыт и способности, да на нём и написано.
Пойду опять на свою пробную карту, понавешаю там то же самое, и проверю, будет ли он кастовать молнии.
Марта вне форума
Ответить с цитированием
#3486
Старый 25.08.2021, 15:56
  #3486
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

МартаЛевел у него точно двадцатый, я в редакторе дала ему опыт и способности, да на нём и написано.
вот тут и кроется проблема. Триггер повышения уровня срабатывает, только если уровень повышается в процессе самой игры, если он был прописан в редакторе, этого не произойдет. Поэтому у тебя срабатывает только строчка
SetGameVar("LevR", 1)

из-за чего боевой скрипт всегда считает, что у героя 1 уровень. 
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3487
Старый 25.08.2021, 16:17
  #3487
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Аа, млин. Так, должно быть, и есть, - на моей пробной карте у него тоже глыбы падают.
Дык, как же мне проверить, работает ли скрипт? Всякий раз вручную набивать ему 20й левел? 
Или, может быть, сменить пока что условие с 20го левела на 2й, а потом переправить, если всё будет хорошо...
Марта вне форума
Ответить с цитированием
#3488
Старый 25.08.2021, 16:25
  #3488
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

МартаДык, как же мне проверить, работает ли скрипт? Всякий раз вручную набивать ему 20й левел? 
можешь при старте карты прописать в консоль @WarpHeroExp('Raelag', 97972). Это апнет героя на нужный уровень.
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3489
Старый 25.08.2021, 16:32
  #3489
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

ЗЫ Точно, всё так и есть. Не знаю, что там с ним будет на 20м, но при смене числа уровней на 2 он исправно кастует молнии. 
Большущее спасибо тебе, я же и знать не знала про набор опыта, и вообще про все эти тонкости.
Хе) Я на читах собаку съела, но единственное, что я никогда не апала, так это опыт). Если чит зачтут, это выход, точно, - спасибо за идею.
Марта вне форума
Ответить с цитированием
#3490
Старый 25.08.2021, 17:14
  #3490
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
Re: Скрипты

Gerterв триггере нужно указать функцию, которая будет срабатывать при повышении уровня. Т.е. ошибка тут:
Trigger(HERO_LEVELUP_TRIGGER, "Raelag")

а должно быть
Trigger(HERO_LEVELUP_TRIGGER, "Raelag", "HeroLevelSaveF")

Это моя вина, я недописал и скинул.
__________________
С уважением, }{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 вне форума
Ответить с цитированием
#3491
Старый 25.08.2021, 17:16
  #3491
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
Re: Скрипты

Gerterвот тут и кроется проблема. Триггер повышения уровня срабатывает, только если уровень повышается в процессе самой игры, если он был прописан в редакторе, этого не произойдет. Поэтому у тебя срабатывает только строчка
SetGameVar("LevR", 1)

из-за чего боевой скрипт всегда считает, что у героя 1 уровень. 
Повысить уровень можно
@for i=1, N do LevelUpHero("Имягероя") end , где N — количество добавочных уровней. Тогда и запоминать конкретное кол-во опыта для уровней не нужно.
__________________
С уважением, }{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 вне форума
Ответить с цитированием
#3492
Старый 25.08.2021, 17:26
  #3492
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Чит, увы, не сработал - не зачли. И не факт, что и скрипт в этой ситуации зачтут. Но это не страшно, я уже проверила, - целую рощу деревьев познания насажала, и скакала читом телепорта от одного к другому.
Всё работает. Огромное спасибо вам обоим.
Марта вне форума
Ответить с цитированием
#3493
Старый 25.08.2021, 17:28
  #3493
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 824
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

WarpHeroExp просто устанавливает число опыта героя, без выдачи навыков/статов, поэтому для быстрого тестирования эта функция, очевидно, удобнее.
И это не чит, к слову.
Читом можно так(в консоль прописать):
enable_cheats
add_exp 97972
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием
#3494
Старый 25.08.2021, 18:11
  #3494
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
Re: Скрипты

}{0TT@6bI4Повысить уровень можно
@for i=1, N do LevelUpHero("Имягероя") end , где N — количество добавочных уровней. Тогда и запоминать конкретное кол-во опыта для уровней не нужно.
А вы попробовали этот вариант?
__________________
С уважением, }{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 вне форума
Ответить с цитированием
#3495
Старый 26.08.2021, 14:08
  #3495
^
Andrei_21
 
Аватар для Andrei_21
📖
Регистрация: 14.03.2021
Сообщения: 235
andrei_21
Выставка наград
Регистрация: 14.03.2021
Сообщения: 235
andrei_21
Выставка наград
По умолчанию
Re: Скрипты

Приветствую всех. Влезла проблема в скрипте:

function fon()
local day1;
while 1 do
if GetObjectiveState("zad5")==OBJECTIVE_ACTIVE then
day1=GetDate( ABSOLUTE_DAY ) + 2
while day1 >= GetDate( ABSOLUTE_DAY ) do
sleep(10);
end;
SetObjectiveState("dzad3", OBJECTIVE_ACTIVE);
break
end;
sleep(2);
end;
while 1 do
pfonix = GetHeroCreatures( "Main_Hero", CREATURE_PHOENIX);
if pfonix >= 5 then
SetObjectiveState("dzad3", OBJECTIVE_COMPLETED);
SetObjectiveState("dzad2", OBJECTIVE_FAILED);
break;
end;
end;
end

Игра просто крашится при его выполнении. Сам скрипт был навеян похожим циклом из кампании за Маркела. Вся эта конструкция должна работать. Не уверен, но возможно проблема именно в исполнении через поток. 
__________________
Сценарий: "Наследие прошлого"
Кампании:
"
Новый порядок", "Серый Альянс""Поиски Истины"

Трейлер кампании "Дыхание Пустоты": https://www.youtube.com/watch?v=NH04dyKPmw8&ab_channel=%D0%90ndrei_21

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


Опции темы



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


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

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