Ну, вот он код главного файла:

Graphics3D 1024,768,32,1
Include "Includes.bb" ; Подгружаем нужные библиотеки
SetBuffer BackBuffer()
GUIw512_Init(1); Меню
Black_Init(); Видео
Black_SetSound(1); глобальный уровень звука в видео
SetFont LoadFont ("Tahoma",16); Шрифт программы
Include "CreateMenu.bb";//Создаюм окошки меню
While (1);//Обновляем всю программу
If KeyHit (1)
GState = 0
EndIf
;==========- UpDate GUI
Select GState; Определяем состояние программы пауза или игра
Case 0 ;//Если Пауза
PauseEkr(1) ; Пауза на видео
pxSetPause(1) ; Пауза на физику
WG_ShowElement(wim_0) ; Показать главное меню
StartDraw ;Рисуем картинку на Экране
DrawImageEx(im,0,0)
EndDraw
GUIw512_UpDate() ; Обновляем меню
DrawImage cursor,MouseX(), MouseY()
Case 1 ; Если Нажали на Старт
Select Gstarted; предыдущее состояние игры
Case 0; Если Старт
Include "new_game.bb" ; Сдесь грузим уровень и " player.player = CreatePlayer() ;Создаём Игрока "
Case 1 ; Если Продолжить // Здесь цикл обновления программы
old_time = MilliSecs ();
LimitFPS(); Ставим ограничение по FPS - 50 кадров "Не догнал как сделать нормальную интерполяцию"
Include "Upd_Game.bb" ; Сдесь функции типа UpdatePlayers()
WG_HideElement(win_opt)
WG_HideElement (win_autor)
WG_HideElement(wim_0)
FreeImageEx im
Filter_Textures()
pxSetPause(0)
End Select
End Select
Include "CheckMenu.bb";//обновляем меню
Flip 0
Include "Update.bb";//Рисуем и обновляем то что нужно
Wend
Black_CloseZ(Bl)
Black_DeInit()
End
Include "Functions.bb";// Основные функции программы
А это функция Загрузки чела в игру:

Function CreatePlayer.player()
pl.player = New player
;Создаём физ тело и материал для него
pl\body = pxBodyCreateCapsule(15, 2.5 ,45)
pxBodySetLinearDamping(pl\body, 10)
pxBodySetFrozenRot(pl\body, 1)
pxMaskSet(pl\body,3)
pl\mat = pxCreateMaterial%(); Материал на тело
pxMaterialSetDyFriction(pl\mat, 1)
pxMaterialSetToBody(pl\body, pl\mat)
;Загружаем анимированный меш игрока
pl\anim_move = LoadAnimMesh ("Media\Soviet\Soviet-Idle.3DS");anim seq 0
LoadAnimSeq pl\anim_move ,"Media\Soviet\Soviet-Move.3DS" ;anim seq 1
LoadAnimSeq pl\anim_move ,"Media\Soviet\Soviet-Move-Back.3DS" ;anim seq 3
ScaleEntity pl\anim_move, 10, 10, 10
Animate pl\anim_move,1,0.5
pl\x = 40
pl\y = 20
pl\z = 10
; Начальная позиция физ тела
pxBodySetPosition ( pl\body, pl\x,pl\y,pl\z )
pl\ray = pxCreateRay%()
;Точка обозначает тело
pl\pivot = CreatePivot(pl\anim_move)
PositionEntity pl\pivot, EntityX (pl\anim_move), EntityY (pl\anim_move)+2.5, EntityZ (pl\anim_move)-1.3
pl\camera = CreateCamera()
TurnEntity pl\Camera, 0,90,0
CameraClsColor pl\camera,20,40,45
CameraRange pl\camera,1.0,1000.0
pl\gravity = -40
Return pl
Кстати, подкиньте ктонить код интерполяции, желательно в примере