Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#258
Старый 09.12.2011, 12:40
  #258
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

ПобедительА можно немного подробнее объяснить ?

Поставил вместо "~1" "2", всё равно ничего не происходит. Потом сделал так: при захвате одного города, проверяется, не захвачен ли второй. Теперь, при захвате двух городов игра вылетает . С тем квестом тоже непонятно... Видимо, придётся переделывать.
значит так запускаю цикл: (также у меня здесь проверка на наличие монстра на карте, если его нету - миссия завалена)

while 1 do
if atonce_5==1 then
startThread (lost_PL4);
if IsObjectExists('Lelliana')==nil then
SetObjectiveState ('obj_7',OBJECTIVE_FAILED);
startThread(gameover);
end;
end;
sleep (5);
end;

этой функцией проверяем состояние игрока 4, т.е. тут если PL_4 в игре не участвует, то задание 'obj_7' выполняется
function lost_PL4()
if GetPlayerState(PLAYER_4)~=1 then
atonce_5=99;
SetObjectiveState ('obj_7',OBJECTIVE_COMPLETED);
end;
end;

ну и еще при активации задания нужно присвоить
atonce_5=1; а после выполнения задания atonce_5=99; чтоб цикл не затармаживал игру.
Попробуй еще сделать новое задание во вкладке Objectives, не изменяя параметры (сделать только name, description, OBJECTIVE_KIND_MANUAL) , и проверь как оно себя вести будет в случае его выполнения (будет ли миссия сразу выиграна, без выполнения других заданий)
JonnyP вне форума
Ответить с цитированием