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

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

Аватар пользователя
В теле функции, перед МессаджБоксом поставьте зануляющий триггер:
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "Имярегиона", nil)
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
Возник вопрос: существует созданный моб, со своими характеристиками и абилками. Возможно ли как-то редактировать его учитывая уровень выбранной сложности? При загрузке карты
Или только созданием 4х одинаковых мобов с разными настройками под 4е сложности?
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
Имеете в виду, динамически изменять абилки и характеристики существ? Нет, это, увы, невозможно.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Аватар пользователя
Добрый день! Не работает вот такой скрипт, вылетает с ошибкой Attempt to compare nil with number
HEAL = {}
HEAL.variant = -1

Healing_arts = {{id=176, heal = 50}, {id=177, heal = 10},}

function HEAL.UseHeal(pl, ans)
if not ans then
HEAL.heal_arts_on = {}
for key, art in Healing_arts do
if HasArtefact(MAIN_HERO, art.id) then
table.insert(HEAL.heal_arts_on, art.id)
end
end
HEAL.len = length(HEAL.heal_arts_on)-1
print(HEAL.len, ' - длина 'массива) --Выводит минус единицу - длина массива
sleep()
if 0 < HEAL.len <= 4 then ---ВОТ ЗДЕСЬ ПАДАЕТ СКРИПТ.
print('Проверка') --НЕ ВЫВОДИТСЯ В КОНСОЛЬ
HEAL.variant = 1
local pthheal = "Interface/CustomAbilities/UseFirstAidKit/"
local options = {}
local values = {}
while not values and not options do
sleep()
end
for i=1, HEAL.len do
print (HEAL.len)
print('Проверка 2 ', HEAL.heal_arts_on)
options=pthheal..'Use_'..i..'...'
values= artifacts[HEAL.heal_arts_on].name
--
end
while not options[HEAL.len] do
sleep()
end
options[HEAL.len+1]=Talk.BACK
Talk.mode = 1

Talk.NewDialog(GetIconPath('Heal'), pthheal..'Heal', pthheal..'HealDesc', 'HEAL.UseHeal', options, values)
--
-- elseif HEAL.len > 4 then

elseif HEAL.len <= 0 then
print('Ai?oe') ---ТОЖЕ НЕ ВЫВОДИТСЯ В КОНСОЛЬ
Talk.mode = 1
Talk.NewDialog("/UI/MessageBox/Warning.xdb#xpointer(/Texture)", pthheal.."WarningNoKit", pthheal.."NoKit", nil)
end
elseif ans then
if HEAL.variant == 1 then
if 0
STALKER.ChangeHealth(artifacts[HEAL.heal_arts_on[ans]].heal)
RemoveArtefact(MAIN_HERO, HEAL.heal_arts_on[ans])
end
end
end
end


Эта функция вызывается из книги заклинаний, первый вызов проходит нормально, второй с ошибкой в указанном месте. Даже не знаю, в чём проблема, хотя наверняка с областью видимости. Но как исправить (а главное, что?) не знаю...

С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
если HEAL.len = -1, то проверка 0<heal.len выдаст nil, которое уже будет сравниваться с 4, что и провоцирует ошибку. проще написать условие if heal.len> 0 and HEAL.len <=4
Нет войне.
В ответ пользователю }{0TT@6bI4
function pabota()
SetObjectEnabled("slava", false);
sleep(10);
SetMonsterSelectionType("slava", 0);
PlayObjectAnimation("slava", "attack00", IDLE);
end;
Trigger(NEW_DAY_TRIGGER, "pabota");

Крестьяне должны постоянно атаковать, но не атакуют. Не подскажете что не так?
Аватар пользователя
Ну и имечко у вашей функции. Лучше назовите "Peas_working". По поводу неработы: вы ход передавали? Функция "нового дня" начинает работать со второго дня. Также, в консоли ошибки есть?
С уважением, }{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
Долго думал так и понял, что надо делать....\

Но подумав ещё все же понял...

}{0TT@6bI4 большое СПАСИБО!
Аватар пользователя
Здравствуйте. Возникла проблема с этим скриптом:

function Win()
while 1 do
sleep(10)
if IsHeroAlive("Quroq") == nil then
StartDialogScene("/Maps/SingleMissions/ne5/St3/DialogScene.xdb#xpointer(/DialogScene)");
sleep(10)
StartDialogScene("/Maps/SingleMissions/ne5/St4/DialogScene.xdb#xpointer(/DialogScene)");
sleep(10)
Win();
break;
end;
sleep(3)
end;
end;

startThread(Win);

Проигрыш диалогов (по непонятной для меня причине) зациклен. Команда Win не срабатывает. Подскажите, где я допустил ошибку..
Аватар пользователя
Вот этот кусок
sleep(10) Win();

Запускает функцию заново, а все потому, что вы неправильно выбрали название. Назовите функцию WinCheckLoop и соответственно, startThread(WinCheckLoop)
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Не подскажете есть ли команды которая проверяет наличие определённого количества денег, отнемает определённое количество денег? 
Аватар пользователя
pl1gold = GetPlayerResource(PLAYER_номер, GOLD)
SetPlayerResource(PLAYER_номер, GOLD, pl1gold - d),
Где d — дельта. Если у игрока нет столько денен, то выдаст ошибку.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________

Статистика

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