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

Сообщения от Текущие вопросы и ответы по редактору карт

В ответ пользователю Alinksolo
Аватар пользователя
Alinksolo
Почему после команды SetObjecteveState тоесть там запустить задание убить героя
Ну вот и когда эта команда сработала герой которого нужно победить он исчезает просто из карты и пишит задание выполнено

Покажите функцию, которая обрабатывает условия данного квеста.
Всем привет, не подскажите в редакторе карт можно ли добавить в гарнизон больше тысячи войнов на каждую клетку? а то хотел добавить 3000 воителей и тут паказывает только 999(
В ответ пользователю Alinksolo
Аватар пользователя
Alinksolo
Вот
Вложение 66218
Советую написать условие задачи вручную. Тип задачи  OBJECTIVE_KIND_MANUAL .
 function Brem_Defeat(hero)
 if hero=="Brem" then
SetObjectiveState("имя задания", OBJECTIVE_COMPLETED)
 Trigger(PLAYER_REMOVE_HERO_TRIGGER, номер игрока, nil)
print("123")
 end
   end

 Trigger(PLAYER_REMOVE_HERO_TRIGGER, номер игрока, "Brem_Defeat")

Опять же здесь могут быть ошибки
В ответ пользователю prostoi988
Аватар пользователя
prostoi988
Всем привет, не подскажите в редакторе карт можно ли добавить в гарнизон больше тысячи войнов на каждую клетку? а то хотел добавить 3000 воителей и тут паказывает только 999(
 Это можно сделать либо через скриптовую команду AddObjectCreatures, либо нажать на гарнизон, найти в левом окне редактора  параметр ArmySlots, нажать на него правой кнопкой мыши, во всплывшем окне нажать Add, потом нажать на появившийся рядом плюсик, в списке выбрать параметр и в графе Creature указать CREATURE_STOUT_DEFENDER (это id воитилей), а в графе
Count указать нужное вам количество.
Сценарий: "Наследие прошлого"
Кампании:
"
Новый порядок", "Серый Альянс""Поиски Истины"

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

В ответ пользователю Andrei_21
Andrei_21
Это можно сделать либо через скриптовую команду AddObjectCreatures, либо нажать на гарнизон, найти в левом окне редактора  параметр ArmySlots, нажать на него правой кнопкой мыши, во всплывшем окне нажать Add, потом нажать на появившийся рядом плюсик, в списке выбрать параметр и в графе Creature указать CREATURE_STOUT_DEFENDER (это id воитилей), а в графе
Count указать нужное вам количество.
Спасибо
В ответ пользователю Азгалор
Аватар пользователя
Азгалор
Понятно... Так, а покажите тогда функцию которая запускает этот квест.
function CreatureShouldSurvive(hero, id)
  while 1 do
  sleep(10);
    if GetHeroCreatures(hero, id)==0 then
      SetObjectiveState("zadanie4", OBJECTIVE_FAILED)
      sleep(10);
      Loose();
      break
    end;
  end;
end;

function StartScene()
StartDialogScene('/MyScene/StartScene/DialogScene1/DialogScene.xdb#xpointer(/DialogScene)')
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg12", nil);
for i=1,4 do
  SetObjectiveState("zadanie"..i, OBJECTIVE_ACTIVE) 
end
startThread(CreatureShouldSurvive, 'Mardigo', CREATURE_CLERIC)
AddHeroCreatures("Mardigo", 1, 40);
AddHeroCreatures("Mardigo", 5, 10);
AddHeroCreatures("Mardigo", 10, 1);
for i=500,508 do 
  RemoveObject(i)
end
end

Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg12", "StartScene");
Вот
В ответ пользователю Alinksolo
Аватар пользователя
Alinksolo
function CreatureShouldSurvive(hero, id)
  while 1 do
  sleep(10);
    if GetHeroCreatures(hero, id)==0 then
      SetObjectiveState("zadanie4", OBJECTIVE_FAILED)
      sleep(10);
      Loose();
      break
    end;
  end;
end;

function StartScene()
StartDialogScene('/MyScene/StartScene/DialogScene1/DialogScene.xdb#xpointer(/DialogScene)')
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg12", nil);
for i=1,4 do
  SetObjectiveState("zadanie"..i, OBJECTIVE_ACTIVE) 
end
startThread(CreatureShouldSurvive, 'Mardigo', CREATURE_CLERIC)
AddHeroCreatures("Mardigo", 1, 40);
AddHeroCreatures("Mardigo", 5, 10);
AddHeroCreatures("Mardigo", 10, 1);
for i=500,508 do 
  RemoveObject(i)
end
end

Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg12", "StartScene");
Вот
Ошибка вроде в функции startThread. Там нужно только название функции
Аватар пользователя
Григорий Ковалев, startThread принимает любое количество параметров.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
Строчку, добавляющую инквизитора, следует поместить выше startThread, АЗГАЛОР вроде вам об этом говорил.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Аватар пользователя
}{0TT@6bI4
Григорий Ковалев, startThread принимает любое количество параметров.
Спасибо за просветление
Аватар пользователя
Alinksolo, вероятно какой-то из ваших 4-х квестов имеет настройку InstantVictory = true, и при этом не имеет доработанных условий, как если бы в случае с квестом на убийство героя Brem отсутствовал бы/не появлялся бы перед выдачей квеста сам Brem(этот квест у вас настроен корректно, я лишь привёл в пример вероятную недоработку условий квеста). Таким образом, после выдачи задания, сценарий завершается победой игрока. Удаление же героев происходит из-за победы игрока. Проверьте, все ли ваши квесты имеют InstantVictory = false?
В ответ пользователю Азгалор
Аватар пользователя
Азгалор
Alinksolo, вероятно какой-то из ваших 4-х квестов имеет настройку InstantVictory = true, и при этом не имеет доработанных условий, как если бы в случае с квестом на убийство героя Brem отсутствовал бы/не появлялся бы перед выдачей квеста сам Brem(этот квест у вас настроен корректно, я лишь привёл в пример вероятную недоработку условий квеста). Таким образом, после выдачи задания, сценарий завершается победой игрока. Удаление же героев происходит из-за победы игрока. Проверьте, все ли ваши квесты имеют InstantVictory = false?
Да стоят только что проверил

Статистика

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