RedHeavenHero — Posts
RedHeavenHero
| Topic / Post | Date |
|---|---|
|
Scripts
Кстати, параметр задачи CanUncomplete должно быть true.
|
|
|
Scripts
А что там в целом получилось (весь скрипт)?
|
|
|
Scripts
Я имел ввиду мой. Без изменений.
|
|
|
Scripts
А если проверить, а потом говорить?:smile08:
|
|
|
Scripts
Да в чём там сомневаться?! Это чтоб ошибку исключить!!!
|
|
|
Scripts
__________
|
|
|
Scripts
Цикл на цикле и циклом погоняет.
|
|
|
Scripts
Я ж написал уже скрипт с обновлением.
|
|
|
Scripts
Это связано именно с этим местом, и у разрабов на этом месте тоже выскакивает та же ошибка.;) Объяснять надо?
|
|
|
Scripts
Да. Как работает?
|
|
|
Scripts
function am() local old = 8 while 1 do local count = 0 for i=36,43 do count = count + (HasArtefact("Muscip", i) or 0) end if count ~= old then if old == 8 then SetObjectiveState("obj", OBJECTIVE_ACTIVE) end if count == 8 then SetObjectiveState("obj",…
|
|
|
Scripts
GetPlayerState(i) == 1 or 0 Если функция вернула единицу (игрок жив), то "==" вернет 1 и эта 1 будет прибавлена к n, иначе вернет nil. Но nil прибавлять нельзя и операция "или" заменяет его на 0.
|
|
|
Scripts
Значит так. GetPlayerState возвращает 1 - игрок участвует 2 - игрок победил 3 - игрок проиграл 4 - его не было сначала. В мануале полно косяков. Использовать константы или нет - ваше дело. Насчет непонятного выражения: всё на сайте разработчика языка…
|
|
|
Scripts
Почему "магических"? Где? К тому же игроки вне игры обозначаются 4.
|
|
|
Scripts
А как же GetPlayerState? function GetPlayers() local n = 0 for i=1,8 do n = n + (GetPlayerState(i) == 1 or 0) end return n end
|
|
|
Scripts
Где тут про героев? Если не секрет, то лучше выложить скрипт. Ошибка могла быть в другом.
|
|
|
Scripts
Он не даст имена гарнизонов, даже если задать в качестве аргумента пустую строку.
|
|
|
Scripts
Дело в том, что получить имя гарнизона с помощью GetObjectNamesByType нельзя.
|
|
|
Scripts
Должно. Там нет ничего навороченного, чего бы не было в 1.6. Добавлено через 5 минут 1. GetLastSavedCombatIndex() вернёт количество проведённых битв на текущей карте. 2. С помощью триггера (16), как и сказал Ment. Отследить прикосновение героя к…
|
|
|
Scripts
Это можно уместить в 23 строки.:) function obj() local old = 0 while 1 do local count = 0 for i=36,43 do count = count + (HasArtefact("Muscip", i) or 0) end if count == 8 then print("Player 1 has all artifacts") SetObjectiveState("obj",…
|