forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Вопрос по FPS (http://forum.boolean.name/showthread.php?t=206)

jimon 04.11.2005 16:36

я толком неразбирался...

короче если с лесницой столкнулись то меняеш ето
Код:

If KeyDown(17)=1 Then MoveEntity Selin,0,0,+V#
If KeyDown(31)=1 Then MoveEntity Selin,0,0,-V#

на ето
Код:

If KeyDown(17)=1 Then MoveEntity Selin,0,+V#,0
If KeyDown(31)=1 Then MoveEntity Selin,0,-V#,0

и убираеш вот ето
Код:

TranslateEntity Selin,0,-G#,0
как только от лесницы от сойденились - все возращаем обратно :)

ZanoZa 12.01.2006 22:11

скромный вопрос : как "присобачить" оружие?

jimon 12.01.2006 23:25

Код:

entityparent camera,weapon
так помойму... или наоборот - попробуй

alcosholik 13.01.2006 20:52

Цитата:

EntityParent entity, parent[, global]

Parameters
entity - entity handle
parent - parent entity handle
global (optional) - true for the child entity to retain its global position and orientation. Defaults to true. *

Description
Attaches an entity to a parent.

Parent may be 0, in which case the entity will have no parent. *

Вместо parent пишешь имя камеры.

ZanoZa 13.01.2006 23:28

Я это знал тока чё глюкнул и поставил не в главный цикл.:rolleyes:
Подскожите как можно сделать чтобы стрелба была как у дробовика, а не как у УЗИ?(т.е. с промежутком времени)

alcosholik 14.01.2006 10:12

Код Платона:
Цитата:

Так если у тебя есть тип оружия - добавь туда поле скорострельность, а потом когда вызываешь функцию выстрела - вызывай ее по таймеру, параметром которого будет скорострельность.
Код:


Type Weapon
 * * * field firerate
 * * *;...
end type
 
access_shoot=true
;....
 
if down_key_shoot and access_shoot then
 * * Shot()
 * * access_shoot=false
end if
 * * access_shoot=GetTime(CurrWeapon\firerate)
 
;...
; Это таймер
 
Global orig,out
Function GetTime(firerate)
 If Not out>=(600/firerate) Then
 *out=MilliSecs()-orig
 Else
 *orig=MilliSecs()
 *out=0
 *Return True
 End If
 Return False
End Function



Gnom 09.03.2006 00:17

Возвращаясь к вопросу о лестницах- обычно делается проверка высоты препядствия. Если высота препядствия меньше заданной в коде максимальной высоты ступени, то происходит проверка вверх на рост игрока, чтобы не было других препядствий подъему на препядствие. Если все чисто игрок поднимается на препядствие.
(в теории так работают ФПС-движки)

jimon 09.03.2006 19:43

Gnom
собственно да, ето основы работы физики куклы героев в фпс
но тут надо попроще :) чтобы всем понятно было

Guest 26.04.2006 11:20

По поводу лестницы:
можно определить местонахождение игрока
EntityX(user),EntityY(user),EntityZ(user) и в соответствии с этим менять условия гравитации.

Sony 30.06.2006 03:31

Сам когдато мучался с этим.Только я не понял лестница какая?Вертикальная или ступенцитая=))
Короче вот код для ступенчитой (нашол на какомто форуме))
Код:

height#=EntityY#(player)-PickedY#()
If height#<1.9 MoveEntity player,0,0.1,0
If height#>2.1 MoveEntity player,0,-0.1,0
If LinePick (EntityX (player),EntityY (player),EntityZ (player),0,-10,0,1)=0 MoveEntity player,0,-0.5,0



Часовой пояс GMT +4, время: 18:12.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot