mirror of
https://github.com/dashr9230/SA-MP.git
synced 2025-09-19 04:06:06 +08:00
[saco] Implement/match CGame::MakeRaceCheckpoint()
This commit is contained in:
@ -727,6 +727,20 @@ void CGame::SetCheckpointInformation(VECTOR *pos, VECTOR *extent)
|
|||||||
|
|
||||||
//-----------------------------------------------------------
|
//-----------------------------------------------------------
|
||||||
|
|
||||||
|
void CGame::MakeRaceCheckpoint()
|
||||||
|
{
|
||||||
|
DisableRaceCheckpoint();
|
||||||
|
|
||||||
|
ScriptCommand(&create_racing_checkpoint, (int)m_byteRaceType,
|
||||||
|
m_vecRaceCheckpointPos.X, m_vecRaceCheckpointPos.Y, m_vecRaceCheckpointPos.Z,
|
||||||
|
m_vecRaceCheckpointNext.X, m_vecRaceCheckpointNext.Y, m_vecRaceCheckpointNext.Z,
|
||||||
|
m_fRaceCheckpointSize, &m_dwRaceCheckpointHandle);
|
||||||
|
|
||||||
|
m_bRaceCheckpointsEnabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------
|
||||||
|
|
||||||
void CGame::DisableRaceCheckpoint()
|
void CGame::DisableRaceCheckpoint()
|
||||||
{
|
{
|
||||||
if (m_dwRaceCheckpointHandle)
|
if (m_dwRaceCheckpointHandle)
|
||||||
|
@ -20,7 +20,11 @@ private:
|
|||||||
CAudio *m_pGameAudio;
|
CAudio *m_pGameAudio;
|
||||||
CCamera *m_pGameCamera;
|
CCamera *m_pGameCamera;
|
||||||
CPlayerPed *m_pGamePlayer;
|
CPlayerPed *m_pGamePlayer;
|
||||||
char gapC[29];
|
|
||||||
|
VECTOR m_vecRaceCheckpointPos;
|
||||||
|
VECTOR m_vecRaceCheckpointNext;
|
||||||
|
float m_fRaceCheckpointSize;
|
||||||
|
BYTE m_byteRaceType;
|
||||||
BOOL m_bRaceCheckpointsEnabled;
|
BOOL m_bRaceCheckpointsEnabled;
|
||||||
char gap2D[4];
|
char gap2D[4];
|
||||||
DWORD m_dwRaceCheckpointHandle;
|
DWORD m_dwRaceCheckpointHandle;
|
||||||
@ -81,6 +85,7 @@ public:
|
|||||||
|
|
||||||
void SetCheckpointInformation(VECTOR *pos, VECTOR *extent);
|
void SetCheckpointInformation(VECTOR *pos, VECTOR *extent);
|
||||||
|
|
||||||
|
void MakeRaceCheckpoint();
|
||||||
void DisableRaceCheckpoint();
|
void DisableRaceCheckpoint();
|
||||||
|
|
||||||
DWORD CreateRadarMarkerIcon(int iMarkerType, float fX, float fY, float fZ, DWORD dwColor, int iStyle);
|
DWORD CreateRadarMarkerIcon(int iMarkerType, float fX, float fY, float fZ, DWORD dwColor, int iStyle);
|
||||||
|
@ -62,6 +62,10 @@ const SCRIPT_COMMAND has_car_sunk = { 0x02bf, "i" }; // CarID
|
|||||||
const SCRIPT_COMMAND is_car_wrecked = { 0x0119, "i" }; // CarID
|
const SCRIPT_COMMAND is_car_wrecked = { 0x0119, "i" }; // CarID
|
||||||
const SCRIPT_COMMAND get_ground_z = { 0x02ce, "fffv" }; // x, y, z, var_ground_z
|
const SCRIPT_COMMAND get_ground_z = { 0x02ce, "fffv" }; // x, y, z, var_ground_z
|
||||||
|
|
||||||
|
const SCRIPT_COMMAND create_racing_checkpoint = { 0x06d5, "ifffffffv"}; // type, x, y, z, nx, ny. nz, size, $id (n=next checkpoint)
|
||||||
|
/* 0 = Street Checkpoint with arrow to the next checkpoint
|
||||||
|
1 and 2 = Street Checkpoint
|
||||||
|
3 and 4 = Flight Checkpoint (circle) */
|
||||||
const SCRIPT_COMMAND destroy_racing_checkpoint = { 0x06d6, "i" };
|
const SCRIPT_COMMAND destroy_racing_checkpoint = { 0x06d6, "i" };
|
||||||
|
|
||||||
const SCRIPT_COMMAND toggle_player_controllable = { 0x01B4, "ii" };
|
const SCRIPT_COMMAND toggle_player_controllable = { 0x01B4, "ii" };
|
||||||
|
Reference in New Issue
Block a user