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

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

В ответ пользователю Gerter
Неа, всё равно глыбу кастует на 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");
Аватар пользователя
в комбате строчку 
Level_R = GetGameVar("LevR") + 0

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

Level_R = ceil(GetGameVar("LevR") + 0)
Нет войне.
В ответ пользователю Gerter
Поменяла. Кастует глыбы, паразит, как ни в чём ни бывало))
И консоль пишет "если уровень меньше 20, то"
Аватар пользователя
ну я перепроверил этот вариант скрипта у себя, на 20 уровне, как и нужно, кастует шары. Точно героя до нужного уровня апаешь? Покажи, что в мап скрипте полностью написано.
Нет войне.
В ответ пользователю Gerter
Всё, что там написано, до последней запятой, я выше уже повесила. Там просто больше ничего нет, я даже вступительный ролик ещё не делала.
Что до комбат-скрипта, то я поставила молнии, а не шары, чтобы не переписывать.
Левел у него точно двадцатый, я в редакторе дала ему опыт и способности, да на нём и написано.
Пойду опять на свою пробную карту, понавешаю там то же самое, и проверю, будет ли он кастовать молнии.
В ответ пользователю Марта
Аватар пользователя
Марта

Левел у него точно двадцатый, я в редакторе дала ему опыт и способности, да на нём и написано.
вот тут и кроется проблема. Триггер повышения уровня срабатывает, только если уровень повышается в процессе самой игры, если он был прописан в редакторе, этого не произойдет. Поэтому у тебя срабатывает только строчка
SetGameVar("LevR", 1)
из-за чего боевой скрипт всегда считает, что у героя 1 уровень. 
Нет войне.
В ответ пользователю Gerter
Аа, млин. Так, должно быть, и есть, - на моей пробной карте у него тоже глыбы падают.
Дык, как же мне проверить, работает ли скрипт? Всякий раз вручную набивать ему 20й левел? 
Или, может быть, сменить пока что условие с 20го левела на 2й, а потом переправить, если всё будет хорошо...
В ответ пользователю Марта
Аватар пользователя
Марта

Дык, как же мне проверить, работает ли скрипт? Всякий раз вручную набивать ему 20й левел? 
можешь при старте карты прописать в консоль @WarpHeroExp('Raelag', 97972). Это апнет героя на нужный уровень.
Нет войне.
В ответ пользователю Марта
ЗЫ Точно, всё так и есть. Не знаю, что там с ним будет на 20м, но при смене числа уровней на 2 он исправно кастует молнии. 
Большущее спасибо тебе, я же и знать не знала про набор опыта, и вообще про все эти тонкости.
Хе) Я на читах собаку съела, но единственное, что я никогда не апала, так это опыт). Если чит зачтут, это выход, точно, - спасибо за идею.
В ответ пользователю Gerter
Аватар пользователя
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"
_________________
В ответ пользователю Gerter
Аватар пользователя
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
Чит, увы, не сработал - не зачли. И не факт, что и скрипт в этой ситуации зачтут. Но это не страшно, я уже проверила, - целую рощу деревьев познания насажала, и скакала читом телепорта от одного к другому.
Всё работает. Огромное спасибо вам обоим.
Аватар пользователя
WarpHeroExp просто устанавливает число опыта героя, без выдачи навыков/статов, поэтому для быстрого тестирования эта функция, очевидно, удобнее.
И это не чит, к слову.
Читом можно так(в консоль прописать):
enable_cheats
add_exp 97972
Нет войне.
В ответ пользователю }{0TT@6bI4
Аватар пользователя
}{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"
_________________
Аватар пользователя
Приветствую всех. Влезла проблема в скрипте:

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

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

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

Статистика

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