|
10.01.2009, 20:33
|
#1
|
ПроЭктировщик
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений (для 24 пользователей)
|
Не могу разобраться с TYPE
вот мой исходный код, в первом нормально все:
Include "AShadowBBinclude/fps.bb"
Include "AShadowBBinclude/Ashadow.bb"
set = ReadFile("media\config.ini")
with = ReadLine(set)
heith = ReadLine(set)
bbb = ReadLine(set)
www = ReadLine(set)
CloseFile (set)
AGraphics3D with,heith,bbb,www
SetBuffer BackBuffer()
Global fntArial=LoadFont("Comic San MS",16,True)
PostProcessInit()
CreatePixelDistortion()
SetBumpShader 0, 0.15
SoftSelfShading=1
Type vehicles
Field inifile
Field loadpath$
Field loadpath_p$
Field loadwheelpath$
Field mass#
Field xweel#
Field zweel#
Field yweelfr#
Field yweelbac#
Field radius#
Field susp#
Field rest#
Field damping#
Field angfriction#
Field friction#
Field speed#
Field motor#
Field maxspeed#
Field smotorpth$
Field oborot#
Field accel
Field maxoborot#
Field trans
Field maxtrans
Field gas#
Field smotor
Field car_mesh
Field car_body
Field car_phys_mesh
Field Wheel_fr1_body
Field Wheel_fr1_mesh
Field Wheel_fr2_body
Field Wheel_fr2_mesh
Field Wheel_bac1_body
Field Wheel_bac1_mesh
Field Wheel_bac2_body
Field Wheel_bac2_mesh
End Type
;--------------------------------------create sky----------------------------------------------------
sky = CreateSphere(8)
skytex = LoadTexture("media\sky\sky.jpg")
EntityTexture sky, skytex
ScaleEntity sky,10000,10000,10000
FlipMesh sky
EntityFX sky,1+8
RotateEntity sky,0,180,0
Type obl
Field obj
End Type
meshtt = CreateSphere(20)
ScaleMesh meshtt,8000,8000,8000
PositionMesh meshtt,0,-3000,0
EntityAlpha meshtt,0
EntityShininess meshtt,1
For scount=1 To CountSurfaces(meshtt)
surface = GetSurface(meshtt,scount)
numverts=CountVertices(surface)-1
For i=40 To numverts
x#=VertexX(surface,i)
y#=VertexY(surface,i)
z#=VertexZ(surface,i)
tempball.obl = New obl
tempball\obj = LoadMesh("t.b3d",meshtt)
ddd = LoadTexture("media\sky\cloud2.jpg",2+1)
TextureBlend ddd,3
EntityTexture tempball\obj, ddd
EntityFX tempball\obj,1
bl#=Rnd(0,0.1)
EntityAlpha tempball\obj,bl#
ScaleEntity tempball\obj,70,70,70
PositionEntity tempball\obj,x#,y#,z#
Next
Next
;--------------------------------create water----------------------------------------
gradtex= LoadTexture("gradW.jpg", 128+2);
tex=LoadTexture("Wbump.jpg",9)
ScaleTexture tex, 0.005,0.005
WaterState\X=-5000
WaterState\Y=0
WaterState\Z=-5000
WaterState\ScaleX = 10000
WaterState\ScaleY = 10000
WaterState\ScaleZ = 10000
WaterState\ReflectSizeW = 256
WaterState\ReflectSizeH = 256
WaterState\WaterColorR = 255
WaterState\WaterColorG = 255
WaterState\WaterColorB = 255
If Gradient WaterState\GradientCubeMap = gradtex
WaterState\RefractTexture = 0
If BUMPENVMAP_SUPPORT
WaterState\BumpTexture = tex
WaterState\BumpPower= 0.1
WaterState\Reflective=1
WaterState\BumpReflectOFF=0
WaterState\UnderWaterReflective=1
WaterState\Refractive=1
Else
WaterState\BumpTexture = 0
WaterState\BumpPower= 0
WaterState\Reflective=1
WaterState\UnderWaterReflective=1
WaterState\Refractive=0
EndIf
WaterPlane=ACreateRenderWater (1, WaterState)
uwt = CreatePlane()
PositionEntity uwt,0,-0.1,0
EntityAlpha uwt,0.7
EntityColor uwt,7,166,248
;Lights
light=CreateSLight(1,500)
RotateEntity light,60,95,0
;PX
PxCreateWorld(0, "")
pxSetGravity(0,-40,0)
level = ALoadMesh ("media\map\map.b3d")
PositionMesh level, 0,2,0
EntityAlpha level,0
surf = GetSurface (level,1)
in_mesh=BodyCreateMesh%(level)
FreeEntity level
level2 = ALoadMesh ("media\map\map2.b3d")
PositionMesh level2, 0,2,0
pxBodySetEntity(level2 , in_mesh)
EntityType level2,2
most = ALoadMesh ("media\map\most.b3d")
PositionMesh most, 0,1,0
in_most=BodyCreateMesh%(most)
pxBodySetEntity(most , in_most)
FreeEntity most
most2 = ALoadMesh ("media\map\most2.b3d")
PositionMesh most2, 0,1,0
EntityFX most2,1
pxBodySetEntity(most2 , in_most)
EntityType most2,2
;|--------------------------------------------------------------------------------------|
;|--------------------------------------------------------------------------------------|
;|-----------create_vehicles------------------------------------------------------|
;|--------------------------------------------------------------------------------------|
;|--------------------------------------------------------------------------------------|
;загрузка информации о транспорте
car.vehicles = New vehicles
car\inifile = ReadFile("media\HEMTT2\config.ini")
car\loadpath$ = ReadLine(car\inifile)
car\loadpath_p$ = ReadLine(car\inifile)
car\loadwheelpath$ = ReadLine(car\inifile)
car\mass# = ReadLine(car\inifile) ;масса машины
car\xweel# = ReadLine(car\inifile) ;позиция колес по оси Х от тела машины
car\zweel# = ReadLine(car\inifile) ;позиция колес по оси Z от тела машины
car\yweelfr# = ReadLine(car\inifile) ;позиция передних колес по оси Y от тела машины
car\yweelbac# = ReadLine(car\inifile) ;позиция задних колес по оси Y от тела машины
car\radius# = ReadLine(car\inifile) ;радиус физических колес
car\susp# = ReadLine(car\inifile) ;длина подвески
car\rest# = ReadLine(car\inifile) ;мягкость подвески
car\damping# = ReadLine(car\inifile) ;пружинность подвески
car\angfriction# = ReadLine(car\inifile) ;трение при повороте
car\friction# = ReadLine(car\inifile) ;трение не в повороте
car\speed# = ReadLine(car\inifile) ;начальная скорость
car\motor# = ReadLine(car\inifile) ;ускороение
car\maxspeed# = ReadLine(car\inifile) ;максимальная скорость
car\smotorpth$ = ReadLine(car\inifile)
car\oborot# = ReadLine(car\inifile)
car\accel = ReadLine(car\inifile)
car\maxoborot# = ReadLine(car\inifile) ;обороты
car\trans = ReadLine(car\inifile)
car\maxtrans = ReadLine(car\inifile)
car\gas# = 400
CloseFile (car\inifile)
car\smotor = Load3DSound(car\smotorpth$)
;---------Create car------------
car\car_mesh = ALoadMesh(car\loadpath$)
ScaleMesh car\car_mesh,1.1,1.1,1.1
RotateEntity car\car_mesh ,90,0,0
PositionEntity car\car_mesh ,0,8,0
EntityShininess car\car_mesh,1
car\car_phys_mesh = ALoadMesh(car\loadpath_p$)
ScaleMesh car\car_phys_mesh,1.1,1.1,1.1
RotateEntity car\car_phys_mesh ,0,90,0
PositionEntity car\car_phys_mesh ,0,8,0
EntityAlpha car\car_phys_mesh,0
car\car_body = BodyCreateHull(car\car_phys_mesh, car\mass#)
pxBodySetPosition (car\car_body, 2000, 400 ,0)
pxBodySetRotation (car\car_body, 0, 0, 0)
pxBodySetCMassLocalPosition(car\car_body, 0, -3, 0)
;------- front wheel-----------
car\Wheel_fr1_body = pxWheelAddToBody(car\car_body, -car\xweel#, car\zweel#, car\yweelfr#)
pxWheelSetRadius(car\Wheel_fr1_body, car\radius#)
pxWheelSetSuspension(car\Wheel_fr1_body, car\susp#, car\rest#, 0.5)
car\wheel_fr1_mesh = ALoadMesh (car\loadwheelpath$)
RotateMesh car\wheel_fr1_mesh,0,180,0
car\Wheel_fr2_body = pxWheelAddToBody(car\car_body, car\xweel#,car\zweel#,car\yweelfr#)
pxWheelSetRadius(car\Wheel_fr2_body, car\radius#)
pxWheelSetSuspension(car\Wheel_fr2_body, car\susp#, car\rest#, car\damping#)
car\wheel_fr2_mesh = ALoadMesh (car\loadwheelpath$)
;-------back wheel------------
car\Wheel_bac1_body = pxWheelAddToBody(car\car_body, -car\xweel#, car\zweel#, car\yweelbac#)
pxWheelSetRadius(car\Wheel_bac1_body, car\radius#)
pxWheelSetSuspension(car\Wheel_bac1_body, car\susp#, car\rest#, car\damping#)
car\wheel_bac1_mesh = ALoadMesh(car\loadwheelpath$)
RotateMesh car\wheel_bac1_mesh,0,180,0
car\Wheel_bac2_body = pxWheelAddToBody(car\car_body, car\xweel#, car\zweel#, car\yweelbac#)
pxWheelSetRadius(car\Wheel_bac2_body, car\radius#)
pxWheelSetSuspension(car\Wheel_bac2_body, car\susp#, car\rest#, car\damping#)
car\wheel_bac2_mesh = ALoadMesh (car\loadwheelpath$)
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_bac1_body, car\friction#)
pxWheelSetFrictionToSide(car\Wheel_bac2_body, car\friction#)
;Camera
d=0
piv = CreatePivot()
camera = CreateCamera(piv)
CameraClsColor camera,6,59,255
PositionEntity camera,0,0,-30
CameraRange camera,1,100000
CreateGlow camera, 130, 150 ,.3,0.3;CreateGlow camera, 200, 150 ,.35,.8
Ref_Glow_ON = 1
EntityType camera,1
EntityRadius camera,2
;#############
hero = CreateSphere()
PositionEntity hero,2000,200,0
EntityType hero,1
lister = CreateListener(camera,0.2,0.2,0.2)
LoopSound(car\smotor)
pmotor = EmitSound(car\smotor,car\car_mesh)
Tahometr=LoadImage("media\spidom.bmp")
MaskImage tahometr,46,32,0
allert = LoadImage("media\allert.bmp")
allertt = LoadImage("media\allert.bmp")
Collisions 1,2,2,3
;Main Loop
Repeat
pt#=pt#+.0005
PositionTexture tex, pt#, pt#
TurnEntity meshtt,0.05,0.05,0.05
For tempball.obl = Each obl
PointEntity tempball\obj,camera
If EntityY(tempball\obj)<-50 Then
HideEntity tempball\obj
Else
ShowEntity tempball\obj
EndIf
Next
If d = 0
If EntityCollided(hero,2)
MoveEntity hero,0,-0.5,0
Else
MoveEntity hero,0,-2,0
EndIf
PositionEntity piv,EntityX(hero),EntityY(hero)+5,EntityZ(hero)
mxs#=-MouseXSpeed()/4
mys#=MouseYSpeed()/4
mxa#=mxa#+mxs#
mya#=mya#+mys#
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
RotateEntity piv,mya,mxa,0
RotateEntity hero,0,mxa,0
PositionEntity camera,0,0,0
If KeyDown(200) MoveEntity hero,0,0,1
If KeyDown(208) MoveEntity hero,0,0,-1
If KeyDown(205) MoveEntity hero,1,0,0
If KeyDown(203) MoveEntity hero,-1,0,0
EndIf
If d
PositionEntity hero ,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
If Not EntityCollided(camera,2)
PositionEntity camera,0,0,-30
EndIf
mxs#=-MouseXSpeed()/4
mys#=MouseYSpeed()/4
mxa#=mxa#+mxs#
mya#=mya#+mys#
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
RotateEntity piv,mya,mxa,0
PositionEntity piv,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
RotateEntity sky,1,1,1
PositionEntity sky,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
PositionEntity meshtt,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
If KeyDown (205) Then
ang = ang+2
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\angfriction#)
ElseIf ang>0 Then
ang=ang-2
EndIf
If KeyDown (203) Then
ang = ang-2
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\angfriction#)
ElseIf ang<0 Then
ang=ang+2
EndIf
If ang=0 Then
pxWheelSetFrictionToSide(car\Wheel_fr1_body,car\friction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\friction#)
EndIf
If motor<0 Then
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\friction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\friction#)
EndIf
If KeyDown (200) Then
If car\gas>0
car\speed# = car\speed#+car\oborot#/600
car\gas# = car\gas# - 0.005
EndIf
ElseIf car\speed#>0 Then
car\speed#=car\speed#-car\oborot#/1000
pxWheelSetBrakeTorque(car\wheel_bac1_body, 1000)
pxWheelSetBrakeTorque(car\wheel_bac2_body, 1000)
EndIf
If KeyDown (208) Then
car\speed# = car\speed#-car\oborot#/600
car\gas# = car\gas# - 0.005
ElseIf car\speed#<0 Then
car\speed#=car\speed#+car\motor#
EndIf
If car\speed#>car\maxspeed# car\speed# = car\maxspeed#
If car\speed#<-car\maxspeed# car\speed#= -car\maxspeed#
If KeyDown (200) Then
car\oborot# = car\oborot#+car\accel
If car\trans = 1 And car\oborot = 4000 Then
car\trans = 2
car\oborot = 2500
EndIf
If car\trans = 2 And car\oborot = 4200 Then
car\trans = 3
car\oborot = 2600
EndIf
If car\trans = 3 And car\oborot = 4500 Then
car\trans = 4
car\oborot = 2800
EndIf
Else
car\oborot# = car\oborot#-car\accel
If car\trans = 4 And car\oborot = 2500 Then
car\trans = 3
car\oborot = 4000
EndIf
If car\trans = 3 And car\oborot = 2300 Then
car\trans = 2
car\oborot = 3000
EndIf
If car\trans = 2 And car\oborot = 2000 Then
car\trans = 1
car\oborot = 2700
EndIf
EndIf
If car\gas<0
car\speed#=0
car\oborot# = car\oborot#-50
car\trans = 1
EndIf
If car\oborot#>car\maxoborot# car\oborot#=car\maxoborot#
If car\oborot#<2000 car\oborot#=2000
ChannelPitch pmotor,Int(car\oborot)*8
pxWheelSetMotorTorque(car\wheel_fr1_body, car\speed#)
pxWheelSetMotorTorque(car\wheel_fr2_body, car\speed#)
If ang>30 ang =30
If ang<-30 ang = -30
pxWheelSetSteerAngle(car\wheel_fr1_body, ang)
pxWheelSetSteerAngle(car\wheel_fr2_body, ang)
pxWheelSetBrakeTorque(car\wheel_bac1_body, 1)
pxWheelSetBrakeTorque(car\wheel_bac2_body, 1)
If KeyDown (57)
pxWheelSetBrakeTorque(car\wheel_bac1_body, 800)
pxWheelSetBrakeTorque(car\wheel_bac2_body, 800)
car\speed#=0
car\oborot# = car\oborot#-50
car\trans = 1
EndIf
EndIf
If EntityDistance(hero, car\car_mesh) < 50 Then
If KeyHit(15) Then
d=1-d
End If
End If
If EntityDistance(hero, car\car_mesh) > 50 Then
d=0
End If
time=MilliSecs ()
pxRenderPhysic(30,0)
pxBodySetEntity(car\car_mesh, car\car_body)
MeshSetToWheel(car\wheel_fr1_mesh, car\wheel_fr1_body)
MeshSetToWheel(car\wheel_fr2_mesh, car\wheel_fr2_body)
MeshSetToWheel(car\wheel_bac1_mesh, car\wheel_bac1_body)
MeshSetToWheel(car\wheel_bac2_mesh, car\wheel_bac2_body)
New_time=MilliSecs ()-time
If KeyHit(2) Ref_Glow_ON=1-Ref_Glow_ON
UpdateWorld()
RenderWorld()
AUpdateWater (camera)
UpdateRefract camera
PostProcess_Render camera
LightColor light, 255, 255, 255
AmbientLight 70,70,70
frames=frames+1
If MilliSecs()-render_time=>1000 fps1=frames : frames=0 : render_time=MilliSecs()
If d
DrawImage tahometr,GraphicsWidth() - 200,GraphicsHeight() -200
SetFont fntArial
Text GraphicsWidth() - 110,GraphicsHeight() -155, Ceil(pxWheelGetAxleSpeed(car\wheel_bac1_body))
Text GraphicsWidth() - 130,GraphicsHeight() -115, Ceil(car\gas#)
If car\gas<10
DrawImage allert, GraphicsWidth() - 93,GraphicsHeight() -113
EndIf
Text GraphicsWidth() - 68,GraphicsHeight() -115, car\trans
If car\oborot>3700
DrawImage allertt, GraphicsWidth() - 51,GraphicsHeight() -113
EndIf
EndIf
Flip 1
Until KeyHit(1)
End
Function BodyCreateHull%(mesh%, mass)
Local nsurf = CountSurfaces(mesh)
Local nvert = 0
For ns = 1 To nsurf
Local surf = GetSurface(mesh,ns)
nvert = nvert + CountVertices(surf)
Next
vbank = CreateBank(nvert*4*3)
nv = 0
For ns = 1 To nsurf
surf = GetSurface(mesh,ns)
nvv = CountVertices(surf)
For nvc = 0 To nvv - 1
PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
nv = nv+1
Next
Next
Local bbb%= pxBodyCreateHull(vbank, nvert, mass)
FreeBank vbank
Return bbb
End Function
Function BodyCreateMesh(mesh%)
nsurf = CountSurfaces(mesh)
nvert = 0
nface=0
For ns = 1 To nsurf
Local surf = GetSurface(mesh,ns)
nface = nface+CountTriangles(surf)
nvert = nvert +CountVertices(surf)
Next
fbank = CreateBank(nface*4*3)
nf = 0
vbank = CreateBank(nvert*4*3)
nv = 0
For ns = 1 To nsurf
surf = GetSurface(mesh,ns)
nfv = CountTriangles(surf)
For nfc = 0 To nfv -1
PokeInt fbank,nf*12+0,TriangleVertex(surf,nfc,0)
PokeInt fbank,nf*12+4,TriangleVertex(surf,nfc,1)
PokeInt fbank,nf*12+8,TriangleVertex(surf,nfc,2)
nf=nf+1
Next
nvv = CountVertices(surf)
For nvc = 0 To nvv - 1
PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
nv = nv+1
Next
Next
bbb%=pxCreateTriMesh(vbank, fbank, nvert, nface, 0)
FreeBank vbank
FreeBank fbank
Return bbb%
End Function
Function MeshSetToWheel (mesh%, body%)
pxWheelUpdateSpec(body,1)
posX# = pxWheelGetPositionXSpec#(body%)
posY# = pxWheelGetPositionYSpec#(body%)
posZ# = pxWheelGetPositionZSpec#(body%)
rotX# = pxWheelGetRotationPitchSpec(body%)
rotY# = pxWheelGetRotationYawSpec(body%)
rotZ# = pxWheelGetRotationRollSpec(body%)
PositionEntity mesh, posX,posY,posZ
RotateEntity mesh, rotX,rotY,rotZ
End Function
а вот второй, я хочу создать машину функцией, чтобы потом их несколько сделать:
Include "AShadowBBinclude/fps.bb"
Include "AShadowBBinclude/Ashadow.bb"
set = ReadFile("media\config.ini")
with = ReadLine(set)
heith = ReadLine(set)
bbb = ReadLine(set)
www = ReadLine(set)
CloseFile (set)
AGraphics3D with,heith,bbb,www
SetBuffer BackBuffer()
Global fntArial=LoadFont("Comic San MS",16,True)
PostProcessInit()
CreatePixelDistortion()
SetBumpShader 0, 0.15
SoftSelfShading=1
Type vehicles
Field inifile
Field loadpath$
Field loadpath_p$
Field loadwheelpath$
Field mass#
Field xweel#
Field zweel#
Field yweelfr#
Field yweelbac#
Field radius#
Field susp#
Field rest#
Field damping#
Field angfriction#
Field friction#
Field speed#
Field motor#
Field maxspeed#
Field smotorpth$
Field oborot#
Field accel
Field maxoborot#
Field trans
Field maxtrans
Field gas#
Field smotor
Field car_mesh
Field car_body
Field car_phys_mesh
Field Wheel_fr1_body
Field Wheel_fr1_mesh
Field Wheel_fr2_body
Field Wheel_fr2_mesh
Field Wheel_bac1_body
Field Wheel_bac1_mesh
Field Wheel_bac2_body
Field Wheel_bac2_mesh
End Type
;--------------------------------------create sky----------------------------------------------------
sky = CreateSphere(8)
skytex = LoadTexture("media\sky\sky.jpg")
EntityTexture sky, skytex
ScaleEntity sky,10000,10000,10000
FlipMesh sky
EntityFX sky,1+8
RotateEntity sky,0,180,0
Type obl
Field obj
End Type
meshtt = CreateSphere(20)
ScaleMesh meshtt,8000,8000,8000
PositionMesh meshtt,0,-3000,0
EntityAlpha meshtt,0
EntityShininess meshtt,1
For scount=1 To CountSurfaces(meshtt)
surface = GetSurface(meshtt,scount)
numverts=CountVertices(surface)-1
For i=40 To numverts
x#=VertexX(surface,i)
y#=VertexY(surface,i)
z#=VertexZ(surface,i)
tempball.obl = New obl
tempball\obj = LoadMesh("t.b3d",meshtt)
ddd = LoadTexture("media\sky\cloud2.jpg",2+1)
TextureBlend ddd,3
EntityTexture tempball\obj, ddd
EntityFX tempball\obj,1
bl#=Rnd(0,0.1)
EntityAlpha tempball\obj,bl#
ScaleEntity tempball\obj,70,70,70
PositionEntity tempball\obj,x#,y#,z#
Next
Next
;--------------------------------create water----------------------------------------
gradtex= LoadTexture("gradW.jpg", 128+2);
tex=LoadTexture("Wbump.jpg",9)
ScaleTexture tex, 0.005,0.005
WaterState\X=-5000
WaterState\Y=0
WaterState\Z=-5000
WaterState\ScaleX = 10000
WaterState\ScaleY = 10000
WaterState\ScaleZ = 10000
WaterState\ReflectSizeW = 256
WaterState\ReflectSizeH = 256
WaterState\WaterColorR = 255
WaterState\WaterColorG = 255
WaterState\WaterColorB = 255
If Gradient WaterState\GradientCubeMap = gradtex
WaterState\RefractTexture = 0
If BUMPENVMAP_SUPPORT
WaterState\BumpTexture = tex
WaterState\BumpPower= 0.1
WaterState\Reflective=1
WaterState\BumpReflectOFF=0
WaterState\UnderWaterReflective=1
WaterState\Refractive=1
Else
WaterState\BumpTexture = 0
WaterState\BumpPower= 0
WaterState\Reflective=1
WaterState\UnderWaterReflective=1
WaterState\Refractive=0
EndIf
WaterPlane=ACreateRenderWater (1, WaterState)
uwt = CreatePlane()
PositionEntity uwt,0,-0.1,0
EntityAlpha uwt,0.7
EntityColor uwt,7,166,248
;Lights
light=CreateSLight(1,500)
RotateEntity light,60,95,0
;PX
PxCreateWorld(0, "")
pxSetGravity(0,-40,0)
level = ALoadMesh ("media\map\map.b3d")
PositionMesh level, 0,2,0
EntityAlpha level,0
surf = GetSurface (level,1)
in_mesh=BodyCreateMesh%(level)
FreeEntity level
level2 = ALoadMesh ("media\map\map2.b3d")
PositionMesh level2, 0,2,0
pxBodySetEntity(level2 , in_mesh)
EntityType level2,2
most = ALoadMesh ("media\map\most.b3d")
PositionMesh most, 0,1,0
in_most=BodyCreateMesh%(most)
pxBodySetEntity(most , in_most)
FreeEntity most
most2 = ALoadMesh ("media\map\most2.b3d")
PositionMesh most2, 0,1,0
EntityFX most2,1
pxBodySetEntity(most2 , in_most)
EntityType most2,2
;|--------------------------------------------------------------------------------------|
;|--------------------------------------------------------------------------------------|
;|-----------create_vehicles------------------------------------------------------|
;|--------------------------------------------------------------------------------------|
;|--------------------------------------------------------------------------------------|
Function create_vehicles()
;загрузка информации о транспорте
car.vehicles = New vehicles
car\inifile = ReadFile("media\HEMTT2\config.ini")
car\loadpath$ = ReadLine(car\inifile)
car\loadpath_p$ = ReadLine(car\inifile)
car\loadwheelpath$ = ReadLine(car\inifile)
car\mass# = ReadLine(car\inifile) ;масса машины
car\xweel# = ReadLine(car\inifile) ;позиция колес по оси Х от тела машины
car\zweel# = ReadLine(car\inifile) ;позиция колес по оси Z от тела машины
car\yweelfr# = ReadLine(car\inifile) ;позиция передних колес по оси Y от тела машины
car\yweelbac# = ReadLine(car\inifile) ;позиция задних колес по оси Y от тела машины
car\radius# = ReadLine(car\inifile) ;радиус физических колес
car\susp# = ReadLine(car\inifile) ;длина подвески
car\rest# = ReadLine(car\inifile) ;мягкость подвески
car\damping# = ReadLine(car\inifile) ;пружинность подвески
car\angfriction# = ReadLine(car\inifile) ;трение при повороте
car\friction# = ReadLine(car\inifile) ;трение не в повороте
car\speed# = ReadLine(car\inifile) ;начальная скорость
car\motor# = ReadLine(car\inifile) ;ускороение
car\maxspeed# = ReadLine(car\inifile) ;максимальная скорость
car\smotorpth$ = ReadLine(car\inifile)
car\oborot# = ReadLine(car\inifile)
car\accel = ReadLine(car\inifile)
car\maxoborot# = ReadLine(car\inifile) ;обороты
car\trans = ReadLine(car\inifile)
car\maxtrans = ReadLine(car\inifile)
car\gas# = 400
CloseFile (car\inifile)
car\smotor = Load3DSound(car\smotorpth$)
;---------Create car------------
car\car_mesh = ALoadMesh(car\loadpath$)
ScaleMesh car\car_mesh,1.1,1.1,1.1
RotateEntity car\car_mesh ,90,0,0
PositionEntity car\car_mesh ,0,8,0
EntityShininess car\car_mesh,1
car\car_phys_mesh = ALoadMesh(car\loadpath_p$)
ScaleMesh car\car_phys_mesh,1.1,1.1,1.1
RotateEntity car\car_phys_mesh ,0,90,0
PositionEntity car\car_phys_mesh ,0,8,0
EntityAlpha car\car_phys_mesh,0
car\car_body = BodyCreateHull(car\car_phys_mesh, car\mass#)
pxBodySetPosition (car\car_body, 2000, 400 ,0)
pxBodySetRotation (car\car_body, 0, 0, 0)
pxBodySetCMassLocalPosition(car\car_body, 0, -3, 0)
;------- front wheel-----------
car\Wheel_fr1_body = pxWheelAddToBody(car\car_body, -car\xweel#, car\zweel#, car\yweelfr#)
pxWheelSetRadius(car\Wheel_fr1_body, car\radius#)
pxWheelSetSuspension(car\Wheel_fr1_body, car\susp#, car\rest#, 0.5)
car\wheel_fr1_mesh = ALoadMesh (car\loadwheelpath$)
RotateMesh car\wheel_fr1_mesh,0,180,0
car\Wheel_fr2_body = pxWheelAddToBody(car\car_body, car\xweel#,car\zweel#,car\yweelfr#)
pxWheelSetRadius(car\Wheel_fr2_body, car\radius#)
pxWheelSetSuspension(car\Wheel_fr2_body, car\susp#, car\rest#, car\damping#)
car\wheel_fr2_mesh = ALoadMesh (car\loadwheelpath$)
;-------back wheel------------
car\Wheel_bac1_body = pxWheelAddToBody(car\car_body, -car\xweel#, car\zweel#, car\yweelbac#)
pxWheelSetRadius(car\Wheel_bac1_body, car\radius#)
pxWheelSetSuspension(car\Wheel_bac1_body, car\susp#, car\rest#, car\damping#)
car\wheel_bac1_mesh = ALoadMesh(car\loadwheelpath$)
RotateMesh car\wheel_bac1_mesh,0,180,0
car\Wheel_bac2_body = pxWheelAddToBody(car\car_body, car\xweel#, car\zweel#, car\yweelbac#)
pxWheelSetRadius(car\Wheel_bac2_body, car\radius#)
pxWheelSetSuspension(car\Wheel_bac2_body, car\susp#, car\rest#, car\damping#)
car\wheel_bac2_mesh = ALoadMesh (car\loadwheelpath$)
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_bac1_body, car\friction#)
pxWheelSetFrictionToSide(car\Wheel_bac2_body, car\friction#)
end Function
create_vehicles()
;Camera
d=0
piv = CreatePivot()
camera = CreateCamera(piv)
CameraClsColor camera,6,59,255
PositionEntity camera,0,0,-30
CameraRange camera,1,100000
CreateGlow camera, 130, 150 ,.3,0.3;CreateGlow camera, 200, 150 ,.35,.8
Ref_Glow_ON = 1
EntityType camera,1
EntityRadius camera,2
;#############
hero = CreateSphere()
PositionEntity hero,2000,200,0
EntityType hero,1
lister = CreateListener(camera,0.2,0.2,0.2)
LoopSound(car\smotor)
pmotor = EmitSound(car\smotor,car\car_mesh)
Tahometr=LoadImage("media\spidom.bmp")
MaskImage tahometr,46,32,0
allert = LoadImage("media\allert.bmp")
allertt = LoadImage("media\allert.bmp")
Collisions 1,2,2,3
;Main Loop
Repeat
pt#=pt#+.0005
PositionTexture tex, pt#, pt#
TurnEntity meshtt,0.05,0.05,0.05
For tempball.obl = Each obl
PointEntity tempball\obj,camera
If EntityY(tempball\obj)<-50 Then
HideEntity tempball\obj
Else
ShowEntity tempball\obj
EndIf
Next
If d = 0
If EntityCollided(hero,2)
MoveEntity hero,0,-0.5,0
Else
MoveEntity hero,0,-2,0
EndIf
PositionEntity piv,EntityX(hero),EntityY(hero)+5,EntityZ(hero)
mxs#=-MouseXSpeed()/4
mys#=MouseYSpeed()/4
mxa#=mxa#+mxs#
mya#=mya#+mys#
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
RotateEntity piv,mya,mxa,0
RotateEntity hero,0,mxa,0
PositionEntity camera,0,0,0
If KeyDown(200) MoveEntity hero,0,0,1
If KeyDown(208) MoveEntity hero,0,0,-1
If KeyDown(205) MoveEntity hero,1,0,0
If KeyDown(203) MoveEntity hero,-1,0,0
EndIf
If d
PositionEntity hero ,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
If Not EntityCollided(camera,2)
PositionEntity camera,0,0,-30
EndIf
mxs#=-MouseXSpeed()/4
mys#=MouseYSpeed()/4
mxa#=mxa#+mxs#
mya#=mya#+mys#
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
RotateEntity piv,mya,mxa,0
PositionEntity piv,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
RotateEntity sky,1,1,1
PositionEntity sky,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
PositionEntity meshtt,EntityX(car\car_mesh),EntityY(car\car_mesh),EntityZ(car\car_mesh)
If KeyDown (205) Then
ang = ang+2
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\angfriction#)
ElseIf ang>0 Then
ang=ang-2
EndIf
If KeyDown (203) Then
ang = ang-2
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\angfriction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\angfriction#)
ElseIf ang<0 Then
ang=ang+2
EndIf
If ang=0 Then
pxWheelSetFrictionToSide(car\Wheel_fr1_body,car\friction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\friction#)
EndIf
If motor<0 Then
pxWheelSetFrictionToSide(car\Wheel_fr1_body, car\friction#)
pxWheelSetFrictionToSide(car\Wheel_fr2_body, car\friction#)
EndIf
If KeyDown (200) Then
If car\gas>0
car\speed# = car\speed#+car\oborot#/600
car\gas# = car\gas# - 0.005
EndIf
ElseIf car\speed#>0 Then
car\speed#=car\speed#-car\oborot#/1000
pxWheelSetBrakeTorque(car\wheel_bac1_body, 1000)
pxWheelSetBrakeTorque(car\wheel_bac2_body, 1000)
EndIf
If KeyDown (208) Then
car\speed# = car\speed#-car\oborot#/600
car\gas# = car\gas# - 0.005
ElseIf car\speed#<0 Then
car\speed#=car\speed#+car\motor#
EndIf
If car\speed#>car\maxspeed# car\speed# = car\maxspeed#
If car\speed#<-car\maxspeed# car\speed#= -car\maxspeed#
If KeyDown (200) Then
car\oborot# = car\oborot#+car\accel
If car\trans = 1 And car\oborot = 4000 Then
car\trans = 2
car\oborot = 2500
EndIf
If car\trans = 2 And car\oborot = 4200 Then
car\trans = 3
car\oborot = 2600
EndIf
If car\trans = 3 And car\oborot = 4500 Then
car\trans = 4
car\oborot = 2800
EndIf
Else
car\oborot# = car\oborot#-car\accel
If car\trans = 4 And car\oborot = 2500 Then
car\trans = 3
car\oborot = 4000
EndIf
If car\trans = 3 And car\oborot = 2300 Then
car\trans = 2
car\oborot = 3000
EndIf
If car\trans = 2 And car\oborot = 2000 Then
car\trans = 1
car\oborot = 2700
EndIf
EndIf
If car\gas<0
car\speed#=0
car\oborot# = car\oborot#-50
car\trans = 1
EndIf
If car\oborot#>car\maxoborot# car\oborot#=car\maxoborot#
If car\oborot#<2000 car\oborot#=2000
ChannelPitch pmotor,Int(car\oborot)*8
pxWheelSetMotorTorque(car\wheel_fr1_body, car\speed#)
pxWheelSetMotorTorque(car\wheel_fr2_body, car\speed#)
If ang>30 ang =30
If ang<-30 ang = -30
pxWheelSetSteerAngle(car\wheel_fr1_body, ang)
pxWheelSetSteerAngle(car\wheel_fr2_body, ang)
pxWheelSetBrakeTorque(car\wheel_bac1_body, 1)
pxWheelSetBrakeTorque(car\wheel_bac2_body, 1)
If KeyDown (57)
pxWheelSetBrakeTorque(car\wheel_bac1_body, 800)
pxWheelSetBrakeTorque(car\wheel_bac2_body, 800)
car\speed#=0
car\oborot# = car\oborot#-50
car\trans = 1
EndIf
EndIf
If EntityDistance(hero, car\car_mesh) < 50 Then
If KeyHit(15) Then
d=1-d
End If
End If
If EntityDistance(hero, car\car_mesh) > 50 Then
d=0
End If
time=MilliSecs ()
pxRenderPhysic(30,0)
pxBodySetEntity(car\car_mesh, car\car_body)
MeshSetToWheel(car\wheel_fr1_mesh, car\wheel_fr1_body)
MeshSetToWheel(car\wheel_fr2_mesh, car\wheel_fr2_body)
MeshSetToWheel(car\wheel_bac1_mesh, car\wheel_bac1_body)
MeshSetToWheel(car\wheel_bac2_mesh, car\wheel_bac2_body)
New_time=MilliSecs ()-time
If KeyHit(2) Ref_Glow_ON=1-Ref_Glow_ON
UpdateWorld()
RenderWorld()
AUpdateWater (camera)
UpdateRefract camera
PostProcess_Render camera
LightColor light, 255, 255, 255
AmbientLight 70,70,70
frames=frames+1
If MilliSecs()-render_time=>1000 fps1=frames : frames=0 : render_time=MilliSecs()
If d
DrawImage tahometr,GraphicsWidth() - 200,GraphicsHeight() -200
SetFont fntArial
Text GraphicsWidth() - 110,GraphicsHeight() -155, Ceil(pxWheelGetAxleSpeed(car\wheel_bac1_body))
Text GraphicsWidth() - 130,GraphicsHeight() -115, Ceil(car\gas#)
If car\gas<10
DrawImage allert, GraphicsWidth() - 93,GraphicsHeight() -113
EndIf
Text GraphicsWidth() - 68,GraphicsHeight() -115, car\trans
If car\oborot>3700
DrawImage allertt, GraphicsWidth() - 51,GraphicsHeight() -113
EndIf
EndIf
Flip 1
Until KeyHit(1)
End
Function BodyCreateHull%(mesh%, mass)
Local nsurf = CountSurfaces(mesh)
Local nvert = 0
For ns = 1 To nsurf
Local surf = GetSurface(mesh,ns)
nvert = nvert + CountVertices(surf)
Next
vbank = CreateBank(nvert*4*3)
nv = 0
For ns = 1 To nsurf
surf = GetSurface(mesh,ns)
nvv = CountVertices(surf)
For nvc = 0 To nvv - 1
PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
nv = nv+1
Next
Next
Local bbb%= pxBodyCreateHull(vbank, nvert, mass)
FreeBank vbank
Return bbb
End Function
Function BodyCreateMesh(mesh%)
nsurf = CountSurfaces(mesh)
nvert = 0
nface=0
For ns = 1 To nsurf
Local surf = GetSurface(mesh,ns)
nface = nface+CountTriangles(surf)
nvert = nvert +CountVertices(surf)
Next
fbank = CreateBank(nface*4*3)
nf = 0
vbank = CreateBank(nvert*4*3)
nv = 0
For ns = 1 To nsurf
surf = GetSurface(mesh,ns)
nfv = CountTriangles(surf)
For nfc = 0 To nfv -1
PokeInt fbank,nf*12+0,TriangleVertex(surf,nfc,0)
PokeInt fbank,nf*12+4,TriangleVertex(surf,nfc,1)
PokeInt fbank,nf*12+8,TriangleVertex(surf,nfc,2)
nf=nf+1
Next
nvv = CountVertices(surf)
For nvc = 0 To nvv - 1
PokeFloat vbank,nv*12+0,VertexX(surf,nvc)
PokeFloat vbank,nv*12+4,VertexY(surf,nvc)
PokeFloat vbank,nv*12+8,VertexZ(surf,nvc)
nv = nv+1
Next
Next
bbb%=pxCreateTriMesh(vbank, fbank, nvert, nface, 0)
FreeBank vbank
FreeBank fbank
Return bbb%
End Function
Function MeshSetToWheel (mesh%, body%)
pxWheelUpdateSpec(body,1)
posX# = pxWheelGetPositionXSpec#(body%)
posY# = pxWheelGetPositionYSpec#(body%)
posZ# = pxWheelGetPositionZSpec#(body%)
rotX# = pxWheelGetRotationPitchSpec(body%)
rotY# = pxWheelGetRotationYawSpec(body%)
rotZ# = pxWheelGetRotationRollSpec(body%)
PositionEntity mesh, posX,posY,posZ
RotateEntity mesh, rotX,rotY,rotZ
End Function
Только потом, все, что связанно с типом car, не считая того что в функции создания написанно, пишет что этот тип не найден
Последний раз редактировалось Sashka007, 10.01.2009 в 22:49.
|
(Offline)
|
|
10.01.2009, 22:11
|
#2
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Не могу разобраться с TYPE
ээ чувак, ты б попроще пример собрал)
весь твой код вряд ли кто смотреть будет, урежь всё, что не связано с проблемой.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
|
|
10.01.2009, 22:19
|
#3
|
ПроЭктировщик
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Не могу разобраться с TYPE
Нет проблем
|
(Offline)
|
|
11.01.2009, 21:23
|
#4
|
ПроЭктировщик
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Не могу разобраться с TYPE
А кто админ в этом разделе? Если не трудно, удалите первый пост, а то у меня не удаляет
Решил первую проблему, а как дапустим сделать так, есть герой и несколько тайпов car, как определить тот тайп, рядом с которым находишься и потом работать с ним?
|
(Offline)
|
|
11.01.2009, 21:27
|
#5
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Не могу разобраться с TYPE
используй before и after, подробнее в справке. А хотя щас догнал в чем вопрос, тут нужно проверять по дистанции перебором по всем car'ам приблизился ли игрок на нужную дистанцию к машине. Если приблизился, тогда производить нужные действия, все проста.
|
(Offline)
|
|
11.01.2009, 21:31
|
#6
|
scientist.alien
Регистрация: 12.02.2007
Сообщений: 2,098
Написано 1,030 полезных сообщений (для 2,593 пользователей)
|
Ответ: Не могу разобраться с TYPE
2 H@NON:
Насколько помню, After/Before перебирает не тайпы а объекты внутри одного тайпа
Самое очевидное решение - полный перебор, но это тормозззззааааа...
__________________
Public service announcement: вы можете заблокировать отображение сообщений определённого пользователя, добавив его ник в список игнорируемых.
Tau lab. We LOVE you. We MADE you.
|
(Offline)
|
|
11.01.2009, 21:49
|
#7
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Не могу разобраться с TYPE
Сообщение от Sashka007
А кто админ в этом разделе? Если не трудно, удалите первый пост, а то у меня не удаляет
|
Нажми в посте кнопку "правка" и удали что тебе надо.. Удалить весь первый пост можно только с темой.
__________________
|
(Offline)
|
|
11.01.2009, 22:13
|
#8
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Не могу разобраться с TYPE
Сообщение от Ize'g0re
2 H@NON:
Насколько помню, After/Before перебирает не тайпы а объекты внутри одного тайпа
Самое очевидное решение - полный перебор, но это тормозззззааааа...
|
спасибо за разьяснение, я сначало так и понял что у него герой и машинка в одном типе (бегло просматривал), но пригляделся и исправился На счет очевидного, перебор не всегда тормоза, можно ведь растянуть его и проверять всего несколько объектов за итерацию.
|
(Offline)
|
|
11.01.2009, 22:27
|
#9
|
ПроЭктировщик
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Не могу разобраться с TYPE
Ну машин около героя максимум 20 будет, т. к. я делаю как в гта, генерацию машин, если я ухожу от машины далеко, она исчезает и генерируется другая рядом, а можно подробнее об тех командах и примерчик
|
(Offline)
|
|
11.01.2009, 23:13
|
#10
|
злобный флудер
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений (для 1,476 пользователей)
|
Re: Не могу разобраться с TYPE
for car.vehicle = each vehicle
if entitydistance player,car\mesh=<5
...
endif
next
|
(Offline)
|
|
12.01.2009, 19:06
|
#11
|
ПроЭктировщик
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Не могу разобраться с TYPE
У меня будет несколько машин, NiTE, а в твоем коде:
For car.vehicles = each car
If entitydistan player,car\mesh <5
...
EndIf
Next
Блитц обращается ко всем тайпам car, а мне надо что бы он обращался только к однай машине, которая рядам, как это сделать?
|
(Offline)
|
|
12.01.2009, 19:52
|
#12
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Не могу разобраться с TYPE
Сообщение от Sashka007
У меня будет несколько машин, NiTE, а в твоем коде:
For car.vehicles = each car
If entitydistan player,car\mesh <5
...
EndIf
Next
Блитц обращается ко всем тайпам car, а мне надо что бы он обращался только к однай машине, которая рядам, как это сделать?
|
строка:
If entitydistan player,car\mesh <5
тебе ни о чём не говорит?
Не нравится что обратится ко всем что меньше 5 - так сравнивай расстояние и в конце обратись к той машине, расстояние до которой наименьшее.
Уйти от полного перебора в данном случае - никак.
Прежде чем делать "как в ГТА", изучи азы, чтобы не задавать тупые вопросы при создании сложных вещей!
Уже давно хотел высказаться по поводу твоего незнания основ, да всё думал, что ума наберёшься.
Простите за грубость
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
12.01.2009, 21:53
|
#13
|
ПроЭктировщик
Регистрация: 11.11.2008
Адрес: Тольятти
Сообщений: 153
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Не могу разобраться с TYPE
Ну я не делаю гта, просто, я рандоную генерацию машин делаю как там, а вот на счет того, что блитц мне еще учить и учить я согласен
|
(Offline)
|
|
12.01.2009, 22:28
|
#14
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Не могу разобраться с TYPE
Не блиц. практически в любом языке программирования тебе бы пришлось делать то же самое.
самое простое в твоем случае:
selected_car.vehicle = NULL
mindist# = 5
for car.vehicle = each vehicle
if entitydistance(player,car\mesh)<mindist
selected_car = car
mindist = entitydistance(player,car\mesh)
endif
next
if selected_Car<> NULL
selected_car\use = 1 ; или как там у тебя посадить
игрока в машину
endif
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:57.
|