Я просто не приписал список методов к игроку, без этого тоже будет работать. Чтобы это сделать, нужно куда-нибудь ДО использования 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 который будет сразу разрушаться от попадания из любого оружия и как отследить через скрипт его уничтожение?
Wait(Event(Model.Destroyed)) - ты об этом? Или всмысле "отследить"?
Я не буду создавать отдельную тему на сайте со списком своих работ. Я просто оставлю ссылку на группу Вконтакте, где вы всегда сможете прочитать свежие новости касательно моих проектов. Клик!
Приветствую! Всего 3 дня назад вступил в ряды картостроителей на SE 3.5. Пока стараюсь без вопросов, по статьям и видеороликам разбираться, но тут такое.. Короче, решил делать карту в стиле Plastic Patrol. Срочно нужно было сделать подушку. А заодно научиться работать с террайнами. Стал лепить террайн - случайно куда-то нажал, и теперь кисть (для создания рельефа) не работает.
В левом верхнем углу мира две надписи в красном прямоугольнике: Please select UV map Select target texture
YANexus, Пфф, постоянно игнорирую. Вроде ничего такого не случилось ещё )
Я не буду создавать отдельную тему на сайте со списком своих работ. Я просто оставлю ссылку на группу Вконтакте, где вы всегда сможете прочитать свежие новости касательно моих проектов. Клик!
2 вопроса) 1) По SS3. Как сделать анимацию растекания крови? 2) И мелкий вопрос по SS HD. Помните? В пером сэме с триггером можно было ПКМ не парясь раздавать сигналы. А можно так в SS HD? А то бесит постоянно ЛКМ давать сигналы, долго. Особенно когда много энтитией. P.S. У вас тоже были проблемы с кодом безопасности?
И у меня пара вопросов накопилась. 1. Как сделать так, чтобы персонаж не разбивался при падении с большой высоты? Не нашёл.. 2. Многие объекты на карте сделаны в Блендере. Можно ли будет сделать так, чтобы друг в Steam-е смог оценить мою карту с этими объектами? (либо другим путём, но у нас обоих лицензионная игра в стиме).
P.S. с кодом безопасности проблем не было, а вот на сайт долго не мог зайти.
YANexus, Лучше укоротить сам лазер, чтобы так далеко не светили
Я не буду создавать отдельную тему на сайте со списком своих работ. Я просто оставлю ссылку на группу Вконтакте, где вы всегда сможете прочитать свежие новости касательно моих проектов. Клик!
2. Многие объекты на карте сделаны в Блендере. Можно ли будет сделать так, чтобы друг в Steam-е смог оценить мою карту с этими объектами? (либо другим путём, но у нас обоих лицензионная игра в стиме).
С чего бы нет, если все эти модели будут в том же архиве.
Ладно,эту проблему вроде как решил повернув модель лазера немного в сторону Теперь другой вопрос: пока сам киборг в поле зрения - лазер видно Если отвернуться от него - киборг пропадает,и лазер вместе с ним.Это портит вид,ибо лазер должно быть видно со всех сторон Это как-то реально исправить?