|
3D-программирование Вопросы, касающиеся программирования 3D мира |
23.07.2007, 02:49
|
#1
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Скай куб. прошу помощи.
Здравствуйте.
Прошу помощи в доделке скайкуба.
Помогите сделать нижнюю часть.
Как изменить вот эту часть кода чтобы превратить верх в низ скайкуба?
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
Я реально не понимаю что значут здесь эти цифры с плюсами и минусами.
|
(Offline)
|
|
23.07.2007, 03:51
|
#2
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Скай куб. прошу помощи.
Также может кто подскажет как в функциях с мышью работать.
Вот так у меня сейчас управляется объект:
TurnEntity объект,MouseYSpeed(),-MouseXSpeed(),0;
А как вообще с мышью работать через функции?
Ну например создал я переменную X#=0.2.
В переменной скорость, я хочу использовать её для скорости вращения объекта мышью. как мне эту переменную вообще подключить к мыши?
А то я щас за одну секунду могу объект на 360 и выше градусов развернуть.
|
(Offline)
|
|
23.07.2007, 04:35
|
#3
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Скай куб. прошу помощи.
Раз уж начал вопросы задавать дозадаю до конца всё что я пока не могу понять.
Волнует меня вопрос коллизии. Командой EntityRadius устанавливается
радиус столкновений. Мне такая команда совсем не подходит.
Потому как радиус это типа круг в данном случае шар, тут получается этот шар прикреплён к объекту и тоесть чтобы все части объекта коллизились нужно этот объект целиком в эту сферу в этот радиус и запихать, но тогда появится в пустых местах невидимая стена, и если это место пустое без полигончиков от объекта но оно погружено в этот радиус коллизии то оно тоже будет коллизиться.
Вопщем что я хочу? Мне надо без всяких радиусов чтоб любая часть объекта коллизилась и небыло невидимых коллизионных стен.
Надеюсь никого не запутал и прально изложил мысль )
Помогите народ, в статьях не нашол ответов на все мои вопросы.
|
(Offline)
|
|
23.07.2007, 04:55
|
#4
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Re: Скай куб. прошу помощи.
Мне надо без всяких радиусов чтоб любая часть объекта коллизилась и небыло невидимых коллизионных стен.
|
MeshesIntersect (mesh_a,mesh_b )
но производительноть убъёшь. На то пошло уд лучше собрать несолько низкополигональных сфер вместе, создав эдакий скафандр.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
23.07.2007, 07:05
|
#5
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Скай куб. прошу помощи.
Спасибо.
Мде производительность убивать это не к месту...
А о скафандре я тоже подумал )
|
(Offline)
|
|
23.07.2007, 09:55
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Скай куб. прошу помощи.
Значит, относительно координат мышки.
Есть 2 вида переменных: Глобальные и Локальные. Чем они отличаються: Глобальные они и в африке будут "видны", тоесть если ты при загрузки своей программы пропишишь:
Global mX#
Тоесть ты объявляешь, переменную mX, (любого типа, там инт, или флоат или стринг, неважно), так вот, то эта переменная будет видиться везде. и в функциях, и везде.
Далее. в главном цикле, в самом начале, прописывая:
mX=MouseXSpeed
Ты присваиваешь, этой глобальной переменной, значение скорости мышки, напоминаю, что вызов этой комманды, больше чем 1 раз за цикл (Mouse(X/Y/Z)Speed), приводит к неправельной возврате значения, чо приводит к скачкам скорости мышки. Поэтому 1 раз в начале цикла привязываем, и уже дальше используем Только эту переменную.
Функции, тут не сложно, это то же самое что стандартные функции.
Значит пример:
Function(Entity,CoordX%,CoordY%,Speed#=.4)
End Function
Это создаёт функцию, где нужно ввести 3 обязательных значения 1 одно не обязательное (Если ему указать ео значение, то оно не обязательно), Entity, CoordX и CoordY, в данном случае CoordX и CoordY - это mX и mY (к которым в начале цикла присваиваем скорость мыши), и эти переменные используем в теле функции, например:
TurnEntity Entity,CoordX*Speed,CoordY*Speed,0
Тоесть получаеться, что мы двигаем объект который указываем при вызове, на координаты, которые тоже указываем, далее ещё указываем Speed, это скорость, просто переменная, ниже 1.0 на которую умножается скорость, короче говоря, это Sensivity. Всё функция готова:
Function(Entity,CoordX%,CoordY%,Speed#=.4)
TurnEntity Entity,CoordX*Speed,CoordY*Speed,0
End Function
Далее насчёт создания точек, первые три значения, это координаты в мире, а далее ещё 2, это UV координаты точки, тоесть это координата точки на текстуре, а последнюю не трогай
Далее это только точки, но нужны ещё и треугольники: AddTriangle
Насчёт TriMesh коллизии, это не "Крутой" движёк это Блиц. Если Очень нужно, то можно подключить физ движёк.
|
(Offline)
|
|
31.07.2007, 19:38
|
#8
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Скай куб. прошу помощи.
Может быть мне ктото всётаки поможет и сделает из верха низ?
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
|
(Offline)
|
|
31.07.2007, 20:40
|
#9
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: Скай куб. прошу помощи.
AddVertex имя,положение по Х ,положение по У,положение по Z,Текстурная коородината U, текстурная координатаV
т.е. для наглядности ОТКРОЙ 3д макс
создай новый мешь и 4 точки
с этими позициями
...
а нах ваще менять низ с верхом? вот в примерах блитца есть castle там есть функция скайбокса и у ней все 6 сторон (верх,низ,лево,право,перед,зад)
Function LoadSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;right face
b=LoadBrush( file$+"_LF.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;back face
b=LoadBrush( file$+"_BK.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;left face
b=LoadBrush( file$+"_RT.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;top face
b=LoadBrush( file$+"_UP.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;bottom face
b=LoadBrush( file$+"_DN.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,-1,-1,1,0:AddVertex s,+1,-1,-1,1,1
AddVertex s,+1,-1,+1,0,1:AddVertex s,-1,-1,+1,0,0
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,1
Return m
End Function
|
|
(Offline)
|
|
31.07.2007, 21:08
|
#10
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Скай куб. прошу помощи.
Мне вот это требовалось:
AddVertex s,-1,-1,-1,1,0:AddVertex s,+1,-1,-1,1,1
AddVertex s,+1,-1,+1,0,1:AddVertex s,-1,-1,+1,0,0
AddTriangle s,0,1,2:AddTriangle s,0,2,3
Спасибо тебе!
А про какие примеры блитца ты говориш?
Всё что я знаю о блитце это по статейкам с болеана...
|
(Offline)
|
|
01.08.2007, 07:37
|
#11
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Скай куб. прошу помощи.
Есть пример castle.
Вот его код:
;The castle demo!
Const FPS=30
Const n_trees=100
Global info1$="Castle Demo"
Global info2$="Featuring dynamic terrain, sliding collisions,"
Global info3$="transparency effects and an intelligent camera"
Global info4$="Arrow keys/A/Z to move, Space to jump, Left-Alt to fire"
Include "../start.bb"
Global shoot=Load3DSound( "sounds\shoot.wav" )
Global boom=Load3DSound( "sounds\boom.wav" )
SoundVolume boom,.5
Type Player
Field entity,model
Field anim_speed#,player_y#,roll#
End Type
Type ChaseCam
Field entity,camera,target,heading,sky
End Type
Type Spark
Field alpha#,sprite
End Type
Type Bullet
Field rot#,sprite,time_out
End Type
Type Hole
Field alpha#,sprite
End Type
Const TYPE_PLAYER=1,TYPE_BULLET=2,TYPE_TARGET=3
Const TYPE_SCENERY=10,TYPE_TERRAIN=11
Collisions TYPE_PLAYER,TYPE_TERRAIN,2,3
Collisions TYPE_PLAYER,TYPE_SCENERY,2,2
Collisions TYPE_BULLET,TYPE_TERRAIN,2,1
Collisions TYPE_BULLET,TYPE_SCENERY,2,1
Collisions TYPE_TARGET,TYPE_TERRAIN,2,2
Collisions TYPE_TARGET,TYPE_SCENERY,2,2
Global water_level=-98
Global light,castle,land,ground,water,sky
Global spark_sprite,bull_sprite,player_model,hole_sprite,tree_sprite
Global bull_x#=1.5
Setup()
ChangeDir "environ"
LoadEnviron( "terrain-1.jpg","water-2_mip.bmp","sky","heightmap_256.bmp" )
ChangeDir "..\"
player1.Player=CreatePlayer( 0,10,0 )
camera1.ChaseCam=CreateChaseCam( player1\entity )
period=1000/FPS
time=MilliSecs()-period
listener=CreateListener( player1\entity,.1,1,.2 )
piv=CreatePivot()
PositionEntity piv,0,10,40
While Not KeyHit(1)
If KeyHit(17)
wire=Not wire
Wireframe wire
EndIf
Repeat
elapsed=MilliSecs()-time
Until elapsed
;how many 'frames' have elapsed
ticks=elapsed/period
;fractional remainder
tween#=Float(elapsed Mod period)/Float(period)
For k=1 To ticks
time=time+period
If k=ticks Then CaptureWorld
TurnEntity piv,0,5,0
PositionEntity piv,0,7,40;47+Sin(time*.1)*40,40
UpdateGame()
UpdateWorld
PositionEntity water,Sin(time*.01)*10,water_level+Sin(time*.05)*.5,Cos(time*.02)*10
For c.ChaseCam=Each ChaseCam
UpdateChaseCam( c )
PositionEntity sky,EntityX(c\camera),EntityY(c\camera),EntityZ(c\camera)
Next
Next
RenderWorld tween
Flip
Wend
End
Function UpdateGame()
For h.Hole=Each Hole
UpdateHole( h )
Next
For b.Bullet=Each Bullet
UpdateBullet( b )
Next
For s.Spark=Each Spark
UpdateSpark( s )
Next
For p.Player=Each Player
UpdatePlayer( p )
Next
End Function
Function UpdateHole( h.Hole )
h\alpha=h\alpha-.005
If h\alpha>0
EntityAlpha h\sprite,h\alpha
Else
FreeEntity h\sprite
Delete h
EndIf
End Function
Function CreatePlayer.Player( x#,y#,z# )
p.Player=New Player
p\entity=CreatePivot()
p\model=CopyEntity( player_model,p\entity )
p\player_y=y
PositionEntity p\entity,x,y,z
EntityType p\entity,TYPE_PLAYER
EntityRadius p\entity,1.5
ResetEntity p\entity
Return p
End Function
Function CreateBullet.Bullet( p.Player )
bull_x=-bull_x
b.Bullet=New Bullet
b\time_out=150
b\sprite=CopyEntity( bull_sprite,p\entity )
TranslateEntity b\sprite,bull_x,1,.25
EntityParent b\sprite,0
EmitSound shoot,b\sprite
Return b
End Function
Function UpdateBullet( b.Bullet )
If CountCollisions( b\sprite )
If EntityCollided( b\sprite,TYPE_TERRAIN )
EmitSound boom,b\sprite
ex#=EntityX(b\sprite)
ey#=EntityY(b\sprite)
ez#=EntityZ(b\sprite)
TFormPoint( ex,ey,ez,0,land )
hi#=TerrainHeight( land,TFormedX(),TFormedZ() )
If hi>0
hi=hi-.02:If hi<0 Then hi=0
ModifyTerrain land,TFormedX(),TFormedZ(),hi,True
EndIf
CreateSpark( b )
FreeEntity b\sprite
Delete b
Return
EndIf
If EntityCollided( b\sprite,TYPE_SCENERY )
For k=1 To CountCollisions( b\sprite )
If GetEntityType( CollisionEntity( b\sprite,k ) )=TYPE_SCENERY
cx#=CollisionX( b\sprite,k )
cy#=CollisionY( b\sprite,k )
cz#=CollisionZ( b\sprite,k )
nx#=CollisionNX( b\sprite,k )
ny#=CollisionNY( b\sprite,k )
nz#=CollisionNZ( b\sprite,k )
th.Hole=New Hole
th\alpha=1
th\sprite=CopyEntity( hole_sprite )
PositionEntity th\sprite,cx,cy,cz
AlignToVector th\sprite,-nx,-ny,-nz,3
MoveEntity th\sprite,0,0,-.1
Exit
EndIf
Next
EmitSound boom,b\sprite
CreateSpark( b )
FreeEntity b\sprite
Delete b
Return
EndIf
EndIf
b\time_out=b\time_out-1
If b\time_out=0
FreeEntity b\sprite
Delete b
Return
EndIf
b\rot=b\rot+30
RotateSprite b\sprite,b\rot
MoveEntity b\sprite,0,0,2
End Function
Function CreateSpark.Spark( b.Bullet )
s.Spark=New Spark
s\alpha=-90
s\sprite=CopyEntity( spark_sprite,b\sprite )
EntityParent s\sprite,0
Return s
End Function
Function UpdateSpark( s.Spark )
If s\alpha<270
sz#=Sin(s\alpha)*5+5
ScaleSprite s\sprite,sz,sz
RotateSprite s\sprite,Rnd(360)
s\alpha=s\alpha+15
Else
FreeEntity s\sprite
Delete s
EndIf
End Function
Function UpdatePlayer( p.Player )
If KeyHit(56) ;fire?
CreateBullet( p )
EndIf
If KeyDown(203) ;left/right
TurnEntity p\entity,0,6,0 ;turn player left/right
Else If KeyDown(205)
TurnEntity p\entity,0,-6,0
EndIf
If KeyDown(30) ;forward
If p\anim_speed<=0
p\anim_speed=1.75
Animate p\model,1,p\anim_speed
EndIf
MoveEntity p\entity,0,0,1
Else If KeyDown(44) ;back
If p\anim_speed>=0
p\anim_speed=-1.75
Animate p\model,1,p\anim_speed
EndIf
MoveEntity p\entity,0,0,-1
Else If p\anim_speed ;stop animating
p\anim_speed=0
Animate p\model,0
EndIf
Goto skip
ex#=EntityX(p\entity):ez#=EntityZ(p\entity)
PositionEntity p\entity,ex,TerrainY( land,ex,0,ez )+1.5,ez
Return
.skip
ty#=EntityY(p\entity)
y_vel#=(ty-p\player_y)
p\player_y=ty
If KeyHit(57) ;jump?
y_vel=5 ;2.4
Else
y_vel=y_vel-.5 ;2
EndIf
TranslateEntity p\entity,0,y_vel,0
End Function
Function CreateChaseCam.ChaseCam( entity )
c.ChaseCam=New ChaseCam
c\entity=entity
c\camera=CreateCamera()
c\target=CreatePivot( entity )
PositionEntity c\target,0,3,-10
EntityType c\target,TYPE_TARGET
c\heading=CreatePivot( entity )
PositionEntity c\heading,0,0,20
c\sky=CopyEntity( sky )
Return c
End Function
Function UpdateChaseCam( c.ChaseCam )
If KeyDown(200)
TranslateEntity c\heading,0,-3,0
Else If KeyDown(208)
TranslateEntity c\heading,0,+3,0
EndIf
dx#=EntityX(c\target,True)-EntityX(c\camera,True)
dy#=EntityY(c\target,True)-EntityY(c\camera,True)
dz#=EntityZ(c\target,True)-EntityZ(c\camera,True)
TranslateEntity c\camera,dx*.1,dy*.1,dz*.1
PointEntity c\camera,c\heading
PositionEntity c\target,0,0,0
ResetEntity c\target
PositionEntity c\target,0,3,-10
PositionEntity c\sky,EntityX(c\camera),EntityY(c\camera),EntityZ(c\camera)
End Function
Function LoadEnviron( land_tex$,water_tex$,sky_tex$,height_map$ )
light=CreateLight()
TurnEntity light,45,45,0
land_tex=LoadTexture( land_tex$,1 )
ScaleTexture land_tex,10,10
land=LoadTerrain( height_map$ )
EntityTexture land,land_tex
TerrainShading land,True
PositionEntity land,-1000,-100,-1000
ScaleEntity land,2000.0/256,100,2000.0/256
EntityType land,TYPE_TERRAIN
TerrainDetail land,750,True
For k=1 To n_trees
Repeat
tx#=Rnd(-70,70)-150
tz#=Rnd(-70,70)+400
ty#=TerrainY( land,tx,0,tz )
Until ty>water_level
t=CopyEntity( tree_sprite )
PositionEntity t,tx,ty,tz
ScaleSprite t,Rand(2,3),Rand(4,6)
Next
ground=CreatePlane()
EntityTexture ground,land_tex
PositionEntity ground,0,-100,0
EntityOrder ground,9
water_tex=LoadTexture( water_tex$,3 )
ScaleTexture water_tex,20,20
water=CreatePlane()
EntityTexture water,water_tex
PositionEntity water,0,water_level,0
sky=LoadSkyBox( sky_tex$ )
EntityOrder sky,10
HideEntity sky
End Function
Function LoadSkyBox( file$ )
m=CreateMesh()
;front face
b=LoadBrush( file$+"_FR.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,-1,0,0:AddVertex s,+1,+1,-1,1,0
AddVertex s,+1,-1,-1,1,1:AddVertex s,-1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;right face
b=LoadBrush( file$+"_LF.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,-1,0,0:AddVertex s,+1,+1,+1,1,0
AddVertex s,+1,-1,+1,1,1:AddVertex s,+1,-1,-1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;back face
b=LoadBrush( file$+"_BK.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,+1,+1,+1,0,0:AddVertex s,-1,+1,+1,1,0
AddVertex s,-1,-1,+1,1,1:AddVertex s,+1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;left face
b=LoadBrush( file$+"_RT.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,0:AddVertex s,-1,+1,-1,1,0
AddVertex s,-1,-1,-1,1,1:AddVertex s,-1,-1,+1,0,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;top face
b=LoadBrush( file$+"_UP.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,+1,+1,0,1:AddVertex s,+1,+1,+1,0,0
AddVertex s,+1,+1,-1,1,0:AddVertex s,-1,+1,-1,1,1
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
;bottom face
b=LoadBrush( file$+"_DN.jpg",49 )
s=CreateSurface( m,b )
AddVertex s,-1,-1,-1,1,0:AddVertex s,+1,-1,-1,1,1
AddVertex s,+1,-1,+1,0,1:AddVertex s,-1,-1,+1,0,0
AddTriangle s,0,1,2:AddTriangle s,0,2,3
FreeBrush b
ScaleMesh m,100,100,100
FlipMesh m
EntityFX m,1
Return m
End Function
Function Setup()
castle=LoadMesh( "castle\castle1.x" )
ScaleEntity castle,.15,.15,.15
EntityType castle,TYPE_SCENERY
player_model=LoadAnimMesh( "markio\mariorun.x" )
ScaleEntity player_model,.2,.2,.2
TranslateEntity player_model,0,-1.25,0
HideEntity player_model
spark_sprite=LoadSprite( "sprites\bigspark.bmp" )
HideEntity spark_sprite
bull_sprite=LoadSprite( "sprites\bluspark.bmp" )
ScaleSprite bull_sprite,3,3
EntityRadius bull_sprite,1.5
EntityType bull_sprite,TYPE_BULLET
HideEntity bull_sprite
hole_sprite=LoadSprite( "sprites\bullet_hole.bmp",1 )
EntityBlend hole_sprite,2
SpriteViewMode hole_sprite,2
HideEntity hole_sprite
tree_sprite=LoadSprite( "sprites\tree.bmp",7 )
HandleSprite tree_sprite,0,-1
ScaleSprite tree_sprite,2,4
PositionEntity tree_sprite,0,0,-100
SpriteViewMode tree_sprite,3
EntityAutoFade tree_sprite,120,150
End Function
Все, что тебе надо отсюда, есть функция LoadSkyBox
|
(Offline)
|
|
01.08.2007, 12:54
|
#12
|
Терабайт исходников
Регистрация: 05.07.2007
Сообщений: 5,196
Написано 1,721 полезных сообщений (для 5,374 пользователей)
|
Re: Скай куб. прошу помощи.
То что мне надо было из того кода что дали выше я показал в последнем сообщении ))
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:07.
|