Всем привет. Хочу сделать одну штуку, но вот не знаю как задействовать ентию телепорта через скрипт. Просто привязать к детектору не хочу, нужно, чтобы ГГ телепортировало в нужную точку в определённый момент, аля через скрипт. Кто знает?
В принципе можно просто сделать телепорт героя без ентии телепорт, просто через скрипт после происшедствия определённого события. Сам пробовал на своих картах, хорошо работает.
-- player : CPlayerPuppetEntity RunHandled( function() WaitForever() end, On(Event(.....)), function(e) local player = e:GetActivator() player:Teleport(marker, true) end)
Ребята скриптеры прошу вашей помощи... я занялся модом и по немногу начал вникать в скриптинг.Но с вашей помощью я закончу со скриптингом быстрее.. Конечно же + от меня за помощь и ваше имя будет в титрах.. Напишите мне в ЛС. кто реально готов помочь. В долгу не останусь я умею делать в редакторе все, кроме хорошего скриптинга.
Start45rus, уух, там что-то связанное с Morph картами моделек и Lypsync анимациями. Я сам не занимался, поэтому не могу сказать. Ищи в оригинальных кат-сценках.
------------------------------------------------------------ Некоторое время спустя... ------------------------------------------------------------
Сообщение отредактировалAsDOLG - Среда, 14.12.2016, 13:00
Я анимировал лица в Serious Editor 3.5, но анимировать морфы лица там так, чтобы выглядело реалистично, просто нереально. Нужно действительно как-то анимировать за пределами редактора. <_<
Ребят, сколько я не пытался, не получалось изучить скрипт со взглядом игрока на цель. (1 уровень "Лето в Каире" Когда игрока поворачивает на задание которое уничтожится) . Я хочу добавить эту фичу на свою карту а понять как работает скрипт не получается, и так и сяк ну не хочет работать.
Это в начало скрипта. ---------------------------------------------------- local eePlayerBorn = Wait(Event(worldInfo.PlayerBorn)) local player = eePlayerBorn:GetBornPlayer()
---------------------------------------------------- Это там, где надо смотреть. ---------------------------------------------------- player:LookAtEntity(entity)
-- entity - собсно энтитя, на которую надо смотреть.
Это будет работать, если уровень синглплеерный. Если нет, то пиши в дискорд, там разберемся.
AsDOLG, Не получилось, до этого когда пытался выдрать скрипт, слово player подсвечивалось и можно было выбрать команды, а тут что то попытался и нефига.
Я просто не приписал список методов к игроку, без этого тоже будет работать. Чтобы это сделать, нужно куда-нибудь ДО использования player написать: -- player : CPlayerPuppetEntity
AsDOLG, Ну вот попытался написать скрипт Wait(Event(DetectorArea001.Activated)) -- player : CPlayerPuppetEntity local eePlayerBorn = Wait(Event(worldInfo.PlayerBorn)) local player = eePlayerBorn:GetBornPlayer() player:LookAtEntity(Scream) Нефига, ну буду дальше изучать этоту фичу
Да нет же, я сказал добавить фигню с присваиванием игрока в начало скрипта. Ты понимаешь, что написал? Ты сначала ждёшь, пока игрок активирует детектор, а потом ждёшь, пока родится новый игрок. Попробуй так тогда, раз у тебя детектор используется:
Я объясню. Когда мы ждём какого-то события, мы пишем просто Wait(...). Но если мы хотим, мы также можем записать произошедшее событие в переменную, т.е. типа "local eeActivated = Wait(Event(DetectorArea001.Activated))". Здесь мы сразу и ожидаем, и по завершении ожидания записываем событие. Зачем это нужно? Очень просто, события обычно хранят информацию о том, кто их вызвал. Так, в событии PlayerBorn у worldInfo есть функция GetBornPlayer(), возвращающая игрока, появившегося в мире. А в событии Activated детектора есть функция GetActivator(), возвращающая НПС или игрока, активировавшего детектор. Поэтому делаем следующее:
Код
local eeActivated = Wait(Event(DetectorArea001.Activated)) -- player : CPlayerPuppetEntity local player = eeActivated:GetActivator() player:LookAtEntity(Scream, 2)
Т.к. у нас есть уже событие с детектором, то колдовать с рождением игрока нам незачем, поэтому забудь, что я писал в предыдущих сообщениях. Здесь и вправду единственная сложность - получить переменную игрока. А, и еще. В функции LookAtEntity() насколько я помню нужно ДВА аргумента. Первый - энтитя, на которую надо смотреть, второй - время, которое нужно смотреть. Поэтому пишем LookAtEntity(Scream, 2). Scream - твоя энтитя (кстати, желательно чтобы это был маркер), 2 - время просмотра. Можешь поменять.
Сообщение отредактировалAsDOLG - Среда, 21.12.2016, 10:07
Detector - энтитя детектора. С помощью точки мы обращаемся к его событиям. Нам нужно событие Activated, т.е. Detector.Activated. Чтобы обратиться к этой строке, как к событию, а не набору символов, мы используем Event(), т.е. Event(Detector.Activated). А чтобы подождать, пока это событие произойдет, мы используем Wait(). На самом деле Wait() в качестве аргумента просит не событие, а LatentFuncID (если честно, я хз что это значит и как оно расшифровывается, просто прими как данное ). Event() преобразует событие в это самое LatentFuncID.
Теперь мы пишем local eeActivated = Wait(Event(Detector.Activated)). Поясняю. eeActivated - это просто моё название, "eе" означает event, т.е. событие.
Почему мы записываем в переменную само ожидание, а не событие? Потому что записывать само событие смысла не имеет, т.к. если оно не произошло, то еще не имеет информации о том, кто его вызвал. Поэтому мы записываем ожидание. Благодаря этому сначала наше событие происходит, его данные обновляются, и с такими данными оно записывается в переменную. После записи, мы забираем данные об активаторе, т.е. используем функцию GetActivator(), которая возвращает нам игрока, зашедшего в детектор.
Возможно, это работает немного (или много) не так, как я описал, но суть одна.
---------------------------------------- Немного времени спустя... ----------------------------------------
Сообщение отредактировалAsDOLG - Среда, 21.12.2016, 19:02
Скопилось пара немного необычных(тупых) вопросов по редактору 1) Симуляция запускается в режиме,при котором видны все ентити http://image.prntscr.com/image/0fcb28e6ff1345bdb05ff914892587f3.png как это убрать?
2) В режиме редактирования мира,после выделения объекта и нажатии клавиша ctrl не появляются оси для вращения и перемещения.Они были при первом запуске,но в процессе дальнейшей работы перестали отображаться.Как включить обратно?
Ситуации мягко говоря нестандартные и обычный поиск ничего не дал.Буду благодарен за любую помощь
Если хочешь решить проблемы с интерфейсом за один шаг - можешь просто удалить папку Sam3_SeriousEditor, которая находится в Steam\steamapps\common\Serious Sam 3\UserData. При этом редактор становится практически в самое первоначальное состояние, так что если ты как-то подстроил редактор под себя, то придется переделывать всё сначала.
Таки помогло,спасибо.Понять бы еще,что я нажал такое,что привело к этому.Ну,это потом в процессе ясно станет. Теперь другой вопрос: где-нибудь есть урок по работе с поведениями врагов.В частности нужно изменить/заменить снаряды у некоторых и сделать их разрушаемыми (аки ракеты у красных биомехов).И всякое такое.
Добавлено (03.03.2017, 23:34) --------------------------------------------- Ладно,вопрос проще: как-то можно изменить размер кисти в paint tool?
Вопрос по снаряду рептилоида (и ему подобных) Его надо замедлить. Изменение параметра на скрине и угла разброса привело к тому,что теперь он раскидывает шары далеко от себя и потом они наводятся на игрока. http://image.prntscr.com/image/a5089c3ad1164571aa61911942977456.png Это половина того,что мне нужно Проблема в том,что после этого они летят слишком быстро и параметра,который может их замедлить я не вижу в упор.Кто-нибудь знает где он?
Добавлено (10.03.2017, 16:57) --------------------------------------------- Ладно,хрен с ним Вопрос попроще: как контролировать партикл эффект через скрипты?Например нужно,чтобы после смерти опредленного монстра (это я знаю как сделать) в какой-то части карты происходил взрыв/какой либо другой партикл эффект
YANexus, Партикл эффект активируется всего лишь командой "Start". Т.е. ParticleEffect:Start(). И на будущее: возможные допустимые команды для той или иной entity можно посмотреть, введя после самого объекта в скрипте ":". Если entity уже указана, то скрипт предложит допустимые команды для выбранного объекта. Удачи
Я не буду создавать отдельную тему на сайте со списком своих работ. Я просто оставлю ссылку на группу Вконтакте, где вы всегда сможете прочитать свежие новости касательно моих проектов. Клик!
Добавлено (11.03.2017, 22:07) --------------------------------------------- Время дурацких вопросов: может кто объяснить как сделать врага,с моделью патронов/оружия/аптечек,который ничего не будет делать,просто стоять неподвижно и исчезать при смерти?
С тем уже проблем давно нет Снова "дурацкий вопрос": реально ли заставить мелкого скорпиона стрелять только по прямой? В норме при стрельбе он поворачивается за игроком.Надо чтобы после начала стрельбы он замирал и стрелял в одном направлении
Ладно,черт с ним(уже фраза паразит) Вопрос к знатокам скриптинга: можно ли создать statik model который будет сразу разрушаться от попадания из любого оружия и как отследить через скрипт его уничтожение?