# SAVE::SAVEGAME_SAVE_SP

- **Hash:** `0x62C9EB51656D68CE`
- **Namespace:** SAVE
- **Runtime name (Lua/JS):** `SavegameSaveSp`
- **Side:** client (game native)
- **Name status:** official
- **Documentation:** described
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/SAVE/SAVEGAME_SAVE_SP

## Signature

```c
BOOL SAVEGAME_SAVE_SP(Hash savegameType);
```

## Parameters

- `savegameType` (`Hash`)

## Returns

`BOOL`

## Description

enum eSavegameType : Hash
{
	SAVEGAMETYPE_AMBIENT = 0x3CA4E1F8,
	SAVEGAMETYPE_DEFAULT = 0xCB6ED080,
	SAVEGAMETYPE_DELETE_CHAR = 0xCD35F947,
	SAVEGAMETYPE_END_CREATE_NEWCHAR = 0x4C50A3CE,
	SAVEGAMETYPE_END_MATCH = 0xE470ED50,
	SAVEGAMETYPE_END_MISSION = 0x9A444E54,
	SAVEGAMETYPE_END_SESSION = 0x6D23956C,
	SAVEGAMETYPE_END_SHOPPING = 0xA311A6C4,
	SAVEGAMETYPE_RANKUP = 0xE25F8017,
	SAVEGAMETYPE_SCRIPT_MP_GLOBALS = 0xAFF30AD4,
	SAVEGAMETYPE_SP_AUTOSAVE = 0xF4AE69EC,
	SAVEGAMETYPE_SP_DEBUG = 0x6A8122FD,
	SAVEGAMETYPE_SP_PROPERTY = 0xAE0AB38E
};

## Usage

### Lua

```lua
local retval = SavegameSaveSp(savegameType)

-- always available, by hash
local retval = Citizen.InvokeNative(0x62C9EB51656D68CE, savegameType, Citizen.ReturnResultAnyway())
```

### JavaScript

```js
const retval = SavegameSaveSp(savegameType);

// by hash
const retval = Citizen.invokeNative('0x62C9EB51656D68CE', savegameType, Citizen.returnResultAnyway());
```

### C#

```csharp
bool retval = Function.Call<bool>((Hash)0x62C9EB51656D68CE, savegameType);
```

- Hash parameters: the named function also accepts a string and hashes it for you; `Citizen.InvokeNative` needs the number — pass `joaat("name")` or a backtick literal like `` `name` ``.

*Sources: alloc8or RDR3 NativeDB.*
