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

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

14 лет назад
Как ни скажет наша учительница математики, домой тоже можно идти через крытый рынок.
Система QuestionBox-ов, спрашивающих у игрока, за кого он играет, и тогда бы выдавал
ShowFlyingSign( spTXT, sObjectName, nPlayerID, nTimeSec)
Выдаёт игроку nPlayerID сообщение spTXT, отлетающее от объекта sObjectName в течение nTimeSec.
В идеале, можно ещёкак-то через if GetObjectOwner('стартовый_город_игрока') == PLAYER_1 then
elseif GetObjectOwner('стартовый_город_второго_игрока') == PLAYER_2 then
и т.д.
Как ещё - не знаю, может, более опытные картостроители знают.
С уважением.
В ответ пользователю djulian13
Аватар пользователя
14 лет назад
А можно сделать так, чтобы на карте двигались монстры? Например, крестьянин ходил по дороге туда-сюда?
14 лет назад
Ммм. Не знаю. Можно приклеить ему анимацию хода, но вот двигать... Я знаю только SetObjectPosition, но это явно не то, что вам надо.
С уважением.
В ответ пользователю djulian13
Аватар пользователя
14 лет назад
djulian13
Как ни скажет наша учительница математики, домой тоже можно идти через крытый рынок.
...
С уважением.
Во-первых, GetObjectOwner логичнее применять на героя. Во-вторых, возможность вывести сообщение для конкретного игрока как минимум в 3.1 есть, хотя как именно посмотреть сейчас не могу.
В ответ пользователю djulian13
Аватар пользователя
14 лет назад
djulian13
Ммм. Не знаю. Можно приклеить ему анимацию хода, но вот двигать... Я знаю только SetObjectPosition, но это явно не то, что вам надо.
С уважением.
Да то не то. Значит, при анимации движения он просто будет ногами передвигать?
В ответ пользователю Олегарх
14 лет назад
Олегарх
А можно сделать так, чтобы на карте двигались монстры? Например, крестьянин ходил по дороге туда-сюда?
Можно.
1 - проиграть на монстре анимацию движения
или
2 - сделать монстра из героя (с заменой модели и анимации на монстрячью)
Аватар пользователя
14 лет назад
По поводу движения есть тонкости. Дело в том, что монстр с такой анимацией будет не ходить взад-вперед, а бегать вперед, телепортироваться назад и снова бежать вперед. Так что его надо как-то разворачмвать после каждого цикла.
В ответ пользователю Iron Wolf
Аватар пользователя
14 лет назад
Iron Wolf
Ребята подскажите пожалуйста, я на мультиплэерную карту впихнул
мэссэджбок который выдается при взаимодействии с объектом, но когда к примеру игрок1 провзаимодействовал с объектом и получил мэссэджбокс то этот же месседжбок на следующий ход видят все другие игроки, так вот возможно ли как то зделать так чтобы мэссэджбок видел только тот герой который провзаимодействовал с объектом, причем чтоб любой игрок мог подействовать на объект и увидеть мэссэджбокс?
djulian13
Как ни скажет наша учительница математики, домой тоже можно идти через крытый рынок.
Система QuestionBox-ов, спрашивающих у игрока, за кого он играет, и тогда бы выдавал 
ShowFlyingSign( spTXT, sObjectName, nPlayerID, nTimeSec)
Выдаёт игроку nPlayerID сообщение spTXT, отлетающее от объекта sObjectName в течение nTimeSec.
В идеале, можно ещёкак-то через if GetObjectOwner('стартовый_город_игрока') == PLAYER_1 then
elseif GetObjectOwner('стартовый_город_второго_игрока') == PLAYER_2 then
и т.д.
Как ещё - не знаю, может, более опытные картостроители знают.
С уважением.
Вот в помощь вам один из моих постов. На будущее: пользуйтесь поиском ;) Вот
14 лет назад
помогите пожалуйста.
1.Как сделать что бы уже раскаченный герой с армией сидел в городе и не выходил оттуда.
2.Как сделать что бы после определенного действия появлялся герой из портала с армией и нападал на город,а когда его убивали через некоторое время из портала появлялся другой и т.д.

Заранее спасибо!
В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment
По поводу движения есть тонкости. Дело в том, что монстр с такой анимацией будет не ходить взад-вперед, а бегать вперед, телепортироваться назад и снова бежать вперед. Так что его надо как-то разворачмвать после каждого цикла.
а как вообще такой скрипт выглядит?
Аватар пользователя
14 лет назад
1. Выбираете город, переключаетесь на вкладку Garrison, ставите армию и во вкладке GarrisonHero гарнизонного героя. В скрипте пишете
EnableHeroAI('имя героя',nil);
2. Надо поставить триггер на это действие. Примерно так:
function func(параметр)
SetObjectPosition('имя вражеского героя для телепортации',координаты);
MoveHeroRealTime('этот герой',координаты города);
Trigger(код_действия, доп. параметры, nil);
Trigger(такой же, только на время);
end;
Trigger(код_действия, доп. параметры, func);
подробнее могу расписать, если подрообно сформулируете цель.
---------
а как вообще такой скрипт выглядит?
PlayObjectAnimation('имя монстра','move',IDLE);
Если с поворотами, то там проблемы... Дело теперь в SetObjectPosition, она теоретически может повернуть, но как я сейчас уточнил, смена эффекта телепортации (нам ведь надо, чтобы его не было!) работает только в 3.1 и только применительно к героям, так что я даже не знаю.
В ответ пользователю Ment
14 лет назад
1.Вроде сделал как надо,а он всеравно выходит и нападает на меня=(
2.А на счет второго т.е
К примеру в heroes v последняя миссия за изабель. Там какой то период времени из портала появлялись демоны и атаковали город
В ответ пользователю Ment
Аватар пользователя
14 лет назад
Ment
PlayObjectAnimation('имя монстра','move',IDLE);
Если с поворотами, то там проблемы... Дело теперь в SetObjectPosition, она теоретически может повернуть, но как я сейчас уточнил, смена эффекта телепортации (нам ведь надо, чтобы его не было!) работает только в 3.1 и только применительно к героям, так что я даже не знаю.

а PlayObjectAnimationдвигает на рандомное расстояние?
В ответ пользователю Ment
14 лет назад
Ment
По поводу движения есть тонкости. Дело в том, что монстр с такой анимацией будет не ходить взад-вперед, а бегать вперед, телепортироваться назад и снова бежать вперед. Так что его надо как-то разворачмвать после каждого цикла.

возможно и более элегантное решение ( без разворотов ) - делается это с участием 2 крестьян , бегущих навстречу друг другу ( но с задержкой времени ) - тогда у игрока будет возникать иллюзия , что это бегает туда-сюда один и тот же персонаж ( хотя на самом деле их два брата-близнеца :) )
14 лет назад
По поводу респауна героев.
Делается через МoveHero и триггер нового дня
function Respawn()
if GetDate(DAY) == 5 then
MoveHero(параметры ф-ции, читай в мануале)
elseif GetDate(DAY) == 5 then
MoveHero()
и продолжаем цикл
end;
end;
Trigger(NEW_DAY_TRIGGER, 'Respawn')
Dyrman, спасибо!
Олегарх, не, он стоит на месте и двигается.
С уважением.

Статистика

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

Сейчас на сайте 6 пользователей 1300 гостей