Да, всё так и сделано, спасибо за ответы. В мультиплеере необходимы были слипы и обязательно после нужных скриптовых функций. В отличие от сингла, пришлось задержку увеличить ещё на 1, изменить порядок обнулений триггеров и вызовов функций. Что позволило работать функции перекрестных триггеров и в мульте (в сингле и с ошибками всё хорошо работало). Тест покажет, насколько это стабильно. Пройти кампанию? ))
Сообщения от Скрипты
Помогите кто-нибудь. Нужно, чтобы объект переместился, когда любой герой войдет в регион. Я написал это:
function lightF(heroname)
SetObjectPosition("light",87,85,-1);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"light1","lightF");
где light скриптовое имя объекта, light1 - регион и lightF, собственно, функция. Что не так в моей функции? Помогите плз. Заранее спасибо.
Добавлено через 40 секунд
перед setobject есть tab
function lightF(heroname)
SetObjectPosition("light",87,85,-1);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"light1","lightF");
где light скриптовое имя объекта, light1 - регион и lightF, собственно, функция. Что не так в моей функции? Помогите плз. Заранее спасибо.
Добавлено через 40 секунд
перед setobject есть tab
Что есть переносимый объект? Перенести можно только подвижный объект, героя, нейтрала.
Добавлено через 2 минуты
Tab не нужно, не знаю уж что это.
Нужно еще добавить в функцию удаление действия, а то ведь скрипт сработает всегда когда зайдешь в регион.
Добавлено через 2 минуты
Tab не нужно, не знаю уж что это.
Нужно еще добавить в функцию удаление действия, а то ведь скрипт сработает всегда когда зайдешь в регион.
Спасибо. Не знал насчет подвижных объектов. Но все же проблема не решена. Объясню по подробней. Мне нужно, чтобы герой подойдя к стене в подземелье встал в регион и произошли следующие вещи: в стене появился эффект (light), удалился регион, по которому герой не мог ходить, и был открыт тайный путь сквозь стену. Как все это прописать?
Насчет подземных стен. Сквозь них можно ходить, если поставишь мост из папки Grass и закопаешь его с помощью z координат. Его не будет видно, и будет типо невидимый проход.
Насчет подземных стен. Сквозь них можно ходить, если поставишь мост из папки Grass и закопаешь его с помощью z координат. Его не будет видно, и будет типо невидимый проход.
А... для спецэффектов есть отдельная команда. Проиграет разок и сама удалит.
Добавлено через 58 секунд
Регион не нужно удалять. Таже команда блокировки, но вместо 1 там будет 0.
Добавлено через 58 секунд
Регион не нужно удалять. Таже команда блокировки, но вместо 1 там будет 0.
в стене появился эффект (light)
удалился регион, по которому герой не мог ходить
Благодарю вас, AstralLein и Jack of Shadows, за помощь. Есть еще один вопрос. Как заставить определенный регион не развеявать туман войны, когда герой подходит к нему. Нужно сначала чтобы он не развеявался, а потом, во время функции смог развеяваться.
Есть команда, что отвечает за это, но она вроде действует на всю карту....
То есть, кроме SetWarfogBehaviour ничего нет?
Во всяком случае я не видел другой команды.
Здравствуйте. Пожалуйста подскажите, умные люди, если знаете ответ! :)
Как помните, во Владыках Севера красные рыцари переводили свой найм в красный с помощью этого скрипта:
function transformTroops( heroName )
sleep(3);
print("function transformTroops for hero ", heroName ," has started...");
while IsHeroAlive ( heroName ) == true do
for i=1,14 do
creaturesCount = GetHeroCreatures( heroName, i );
if creaturesCount > 0 then
RemoveHeroCreatures( heroName, i, 10000);
n = i;
if mod(i,2) ~= 0 then n = i + 1; end;
AddHeroCreatures( heroName, 105 + (n/2), creaturesCount );
end;
end;
sleep(2);
end;
print("Hero ", heroName, " is dead. Function transformTroops terminated");
end;
Помощь нужна в плане такого: Как бы мне заставить функцию наоборот из красных переводить в белых? Сколько ни пробовал - вообще не получалось. Вместо 1,14 ставил 106, 112, а вместо 105 вставил 1... Красных-то удаляет, но спавнит в героя вообще что-попало.
Спасибо за помощь(если такова будет). :)
Как помните, во Владыках Севера красные рыцари переводили свой найм в красный с помощью этого скрипта:
function transformTroops( heroName )
sleep(3);
print("function transformTroops for hero ", heroName ," has started...");
while IsHeroAlive ( heroName ) == true do
for i=1,14 do
creaturesCount = GetHeroCreatures( heroName, i );
if creaturesCount > 0 then
RemoveHeroCreatures( heroName, i, 10000);
n = i;
if mod(i,2) ~= 0 then n = i + 1; end;
AddHeroCreatures( heroName, 105 + (n/2), creaturesCount );
end;
end;
sleep(2);
end;
print("Hero ", heroName, " is dead. Function transformTroops terminated");
end;
Помощь нужна в плане такого: Как бы мне заставить функцию наоборот из красных переводить в белых? Сколько ни пробовал - вообще не получалось. Вместо 1,14 ставил 106, 112, а вместо 105 вставил 1... Красных-то удаляет, но спавнит в героя вообще что-попало.
Спасибо за помощь(если такова будет). :)
Здравствуйте. Пожалуйста подскажите, умные люди, если знаете ответ! :)
Как помните, во Владыках Севера красные рыцари переводили свой найм в красный с помощью этого скрипта:
function transformTroops( heroName )
sleep(3);
print("function transformTroops for hero ", heroName ," has started...");
while IsHeroAlive ( heroName ) == true do
for i=1,14 do
creaturesCount = GetHeroCreatures( heroName, i );
if creaturesCount > 0 then
RemoveHeroCreatures( heroName, i, 10000);
n = i;
if mod(i,2) ~= 0 then n = i + 1; end;
AddHeroCreatures( heroName, 105 + (n/2), creaturesCount );
end;
end;
sleep(2);
end;
print("Hero ", heroName, " is dead. Function transformTroops terminated");
end;
Помощь нужна в плане такого: Как бы мне заставить функцию наоборот из красных переводить в белых? Сколько ни пробовал - вообще не получалось. Вместо 1,14 ставил 106, 112, а вместо 105 вставил 1... Красных-то удаляет, но спавнит в героя вообще что-попало.
Спасибо за помощь(если такова будет). :)
function transformTroops(hero)
while IsHeroAlive(hero) do
sleep(2)
for i=106,112 do
local n = GetHeroCreatures(hero, i)
if n > 0 then
RemoveHeroCreatures(hero, i, n)
AddHeroCreatures(hero, (i-105)*2, n)
end
end
end
end
Есть ли команда которая заставит некликабельный объект (камень, дерево, мост и т. д.) появиться или переместиться на указанные координаты. Пример: Герой дотронулся до обелиска и появилась часть моста. Герой должен найти все обелиски и, дотронувшись до них, мост бы полностью появился, и проход был бы открыт.
Есть ли команда которая заставит некликабельный объект (камень, дерево, мост и т. д.) появиться или переместиться на указанные координаты. Пример: Герой дотронулся до обелиска и появилась часть моста. Герой должен найти все обелиски и, дотронувшись до них, мост бы полностью появился, и проход был бы открыт.
Только в свойствах объекта IsRemovable надо поставить в true.
Благодарю. Я думал это только для RemoveObject.
Статистика
Приветствуем новейшего участника:
recijeb