я понял он хочет тестит где находится...
|
Нет, прочти цитату внимательней, у него два этажа на уровне, кнопка переносит игрока на другой этаж.
ведь positionentity не использует Тупаки колизии..и может быть баг когда обратно тупак цепляешь(провал через стену пример)
|
Ещё как использует, если коллизии не отключишь, через стены(пол и тд.) не пройдёшь.
Провал через стену(или пол) может быть, если неправильно указать координаты перемещения.
to
Kingston
К примеру, я иду по коридору, зашел в триггер зону и проигрывается видео заставка( OpenMovie("video.wmv") )...
|
Я использую столкновения объектов.
Для триггера: создадим куб(CreateCube()), сделаем его прозрачным(EntityAlpha ...),установим тип триггер(EntityType ...),запишем в имя номер действия(NameEntity ...).
Теперь активатор: создаем пивот с родителем(CreatePivot(player)), установим тип активатор, указываем радиус проверки(EntityRadius...), создаем столкновение между типами(Collisions активатор, триггер, 2, 1)
Вызываем обновление активатора
. . .
act=CreatePivot(player)
; и тд по списку, см. активатор выше
. . .
Function triger_update()
Local ent
; проверяем столкновение с триггером
ent = EntityCollided(act, тип триггер)
; если произошло - обрабатываем
If ent > 0
; отключаем триггер
EntityType ent, 0
; столкновение сдвинуло активатор - возвращаем на место
PositionEntity act, 0, 0, 0
; функция возвращает имя триггера(номер действия)
Return EntityName$( ent )
Else
; если столкновение нет возвращаем 0
Return 0
End If
End Function
А по возвращённому номеру действия определяешь что произойдёт("video.wmv" или на голову что-нибудь упадёт)