злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Ответ: Лифт
Type lift
Field x%,y%,z%
Field ent
Field size#
Field spd#
Field maxh
End Type
Function createlift(x,y,z,size,spd#,maxh)
li.lift = New lift
li\x=x
li\y=y
li\z=z
li\ent=CreateCube()
li\size=size
li\size=size
ScaleEntity li\ent,li\size,.1,li\size
PositionEntity li\ent,x,y,z,1
li\spd=spd
li\maxh=maxh
End Function
TheLift = createlift(20,1,20,8,.1,10)
цикл
For li.lift = Each lift
If EntityY(li\ent,1)=>li\maxh
li\spd=-li\spd
EndIf
If EntityY(li\ent,1)=<0
li\spd=-li\spd
EndIf
If EntityX(player,1)<EntityX(li\ent,1)+li\size And EntityX(player,1)>EntityX(li\ent,1)-li\size And EntityZ(player,1)<EntityZ(li\ent,1)+li\size And EntityZ(player,1)>EntityZ(li\ent,1)-li\size
If EntityY(player,1)=> EntityY(li\ent) And EntityY(player,1)=< EntityY(li\ent)+8
;TranslateEntity player,0,li\spd*2,0,1
PositionEntity player,EntityX(player,1),EntityY(li\ent)+8,EntityZ (player,1),1
EndIf
EndIf
TranslateEntity li\ent,0,li\spd,0,1
Next
|
Попробуй вот так, например. Блицевые коллизии это отстой - не пользуй их.
|