Solltest mit der ganz normalen Camcourse die Addresse für die Struct leicht updaten können. Hier ist alles enthalten was man für die Cam braucht:
PHP Code:
struct Camera {
long MyAgentId;
bool CamMode; //0 = reset cam position, 1 = custom position, 2+ = fixed position
float Unknown1; //0.52
float Unknown2; //-0.39
float MaxCamDistance; //750.0
float ThirdPersonMinCamDistance; //25.0 (can be reached by holding Scroll wheel)
float hAngle; //Horisontal Cam Angle from -PI to PI (radians)
float vAngle; //Vertical Cam Angle from -1 to 1 where 0 is centered
float DistanceToMe; //Distance from Camera origin to my Agent (zAngle)
float Unknown3; //0.0
float Unknown4; //0.0
float Unknown5; //0.0
long Unknown6; //Always 32
float hAngle2; //Not always equal hAngle
float hAngle3; //Always equal hAngle
float vAngle2; //Always equal vAngle
float DistanceToMeRealZoom; //This is the distance that the Cam should have if no obstructions
float MovingSomething; //8.0 = moving, when you stop it decreases to 1.5
float timeSincehAngleChange; //Seconds since hAngle was changed
float timeSincevAngleChange; //Seconds since vAngle was changed
float timeSinceCamCreation; //Seconds since this Cam object was created
float infinity; //Always +INFINITY (0000807F)
float timeSinceCamInstanceCreation; //Seconds since this you loaded into instance (this Cam instance's lifetime)
float timeSinceSomething; //Doesn't reset on new instance/re-log.
float hAngle4; //Always equal hAngle
float vAngle3; //Always equal vAngle
float DistanceToMeRealZoom2; //Always equal DistanceToMeRealZoom
float VariableCamDistance; //When not first person = 750.0, otherwise = 2.0
float VariableCamDistance2; //When not first person = 25.0, otherwise = 1.0
float Unknown7; //0.0
float CamX; //X coordinate of the Cam
float CamY; //Y coordinate of the Cam
float CamZ; //Z coordinate of the Cam ( O_o YES! )
float CamX2; //Same
float CamY2; //Same
float CamZ2; //Same
float CamInvertedViewX; //X coordinate of the Cam in Inverse (press Z)
float CamInvertedViewY; //Y coordinate of the Cam in Inverse (press Z)
float CamInvertedViewZ; //Z coordinate of the Cam in Inverse (press Z)
float CamInvertedViewX2; //Same
float CamInvertedViewY2; //Same
float CamInvertedViewZ2; //Same
float MyAgentX; //X coordinate of my Agent
float MyAgentY; //Y coordinate of my Agent
float MyAgentZ; //Z coordinate of my Agent
float MyAgentX2; //Same
float MyAgentY2; //Same
float MyAgentZ2; //Same
float FoVX; //Always 1.31 radians, 75 degrees
float FoVY; //Always 1.31 radians, 75 degrees
void* Unknown8; //Pointer to something (?)
long Unknown9; //Same as Unknown6 = 32
long ScrollZoomFactor; //From 2 (full zoomed in 1st person) to 17 (full zoom out 3rd person)
long Unknown10; //Always 21
void* Unknown11; //Pointer to something (?)
long AgentIdInFirstPerson; //AgentId of the one you're in 1st person of
long MyAgentTransparency; //0 = transparent to 255 = solid (actually a byte)
float CamX3; //Same
float CamY3; //Same
float CamZ3; //Same
float MyAgentX3; //Same
float MyAgentY3; //Same
float MyAgentZ3; //Same
};
Credits: wadim & der der es gemacht hat
MfG
black byte