Skip to content

Commit 159861a

Browse files
committed
init
0 parents  commit 159861a

7 files changed

Lines changed: 1072 additions & 0 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"url": "https://example.com",
3+
"token": "<bearer-here>",
4+
"x_api_key": "<x-api-here>",
5+
"server_id": 1,
6+
"timeout": 60.0
7+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
player_prefs/player_prefs_core.amxx debug
2+
player_prefs/player_prefs_flute.amxx debug
3+
player_prefs/player_prefs_example.amxx debug
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
#if defined _player_prefs_included
2+
#endinput
3+
#endif
4+
#define _player_prefs_included
5+
6+
#pragma reqlib player_prefs_core
7+
8+
/**
9+
* Возвращает true, если предпочтения игрока загружены из провайдера
10+
* и готовы к использованию.
11+
*
12+
* @param playerIndex Индекс игрока (1..MAX_PLAYERS).
13+
* @return true — загружен, false — нет.
14+
*/
15+
native bool: pp_is_loaded(const playerIndex);
16+
17+
/**
18+
* Получает строковое предпочтение игрока.
19+
* Если значение не задано — возвращает дефолтное значение ключа.
20+
*
21+
* @param playerIndex Индекс игрока.
22+
* @param szKey Имя ключа.
23+
* @param szDest Буфер для результата.
24+
* @param iDestLen Длина буфера.
25+
* @return true при успехе.
26+
*/
27+
native bool: pp_get_string(const playerIndex, const szKey[], szDest[], iDestLen);
28+
29+
/**
30+
* Получает целочисленное предпочтение игрока.
31+
* Если значение не задано — возвращает iDefault.
32+
*
33+
* @param playerIndex Индекс игрока.
34+
* @param szKey Имя ключа.
35+
* @param iDefault Значение по умолчанию.
36+
* @return Значение предпочтения или iDefault.
37+
*/
38+
native pp_get_int(const playerIndex, const szKey[], iDefault = 0);
39+
40+
/**
41+
* Получает float-предпочтение игрока.
42+
*
43+
* @param playerIndex Индекс игрока.
44+
* @param szKey Имя ключа.
45+
* @param flDefault Значение по умолчанию.
46+
* @return Значение предпочтения или flDefault.
47+
*/
48+
native Float: pp_get_float(const playerIndex, const szKey[], Float: flDefault = 0.0);
49+
50+
/**
51+
* Получает булево предпочтение игрока.
52+
*
53+
* @param playerIndex Индекс игрока.
54+
* @param szKey Имя ключа.
55+
* @param bDefault Значение по умолчанию.
56+
* @return true/false.
57+
*/
58+
native bool: pp_get_bool(const playerIndex, const szKey[], bool: bDefault = false);
59+
60+
/**
61+
* Устанавливает строковое предпочтение игрока.
62+
* Значение сохраняется в памяти немедленно и асинхронно пишется в провайдер.
63+
*
64+
* @param playerIndex Индекс игрока.
65+
* @param szKey Имя ключа.
66+
* @param szValue Новое значение.
67+
* @param szDefaultValue Дефолтное значение ключа (для регистрации ключа в провайдере).
68+
* @return true при успехе.
69+
*/
70+
native bool: pp_set_string(const playerIndex, const szKey[], const szValue[], const szDefaultValue[] = "");
71+
72+
/**
73+
* Устанавливает целочисленное предпочтение игрока.
74+
*
75+
* @param playerIndex Индекс игрока.
76+
* @param szKey Имя ключа.
77+
* @param iValue Новое значение.
78+
* @param iDefault Дефолтное значение ключа.
79+
* @return true при успехе.
80+
*/
81+
native bool: pp_set_int(const playerIndex, const szKey[], iValue, iDefault = 0);
82+
83+
/**
84+
* Устанавливает float-предпочтение игрока.
85+
*
86+
* @param playerIndex Индекс игрока.
87+
* @param szKey Имя ключа.
88+
* @param flValue Новое значение.
89+
* @param flDefault Дефолтное значение ключа.
90+
* @return true при успехе.
91+
*/
92+
native bool: pp_set_float(const playerIndex, const szKey[], Float: flValue, Float: flDefault = 0.0);
93+
94+
/**
95+
* Устанавливает булево предпочтение игрока.
96+
*
97+
* @param playerIndex Индекс игрока.
98+
* @param szKey Имя ключа.
99+
* @param bValue Новое значение.
100+
* @param bDefault Дефолтное значение ключа.
101+
* @return true при успехе.
102+
*/
103+
native bool: pp_set_bool(const playerIndex, const szKey[], bool: bValue, bool: bDefault = false);
104+
105+
/**
106+
* Регистрирует ключ и его дефолтное значение в провайдере.
107+
* Вызывать из pp_initialized при bSuccess == true.
108+
*
109+
* @param szKey Имя ключа.
110+
* @param szDefaultValue Строковое дефолтное значение.
111+
* @return true при успехе.
112+
*/
113+
native bool: pp_register_key(const szKey[], const szDefaultValue[] = "");
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
#if defined _player_prefs_provider_included
2+
#endinput
3+
#endif
4+
#define _player_prefs_provider_included
5+
6+
#pragma reqlib player_prefs_core
7+
8+
/**
9+
* Ядро просит провайдера установить соединение / открыть хранилище.
10+
* Провайдер обязан завершить инициализацию и вызвать pp_provider_ready().
11+
*/
12+
forward pp_provider_connect();
13+
14+
/**
15+
* Ядро просит провайдера загрузить все зарегистрированные ключи.
16+
* Провайдер вызывает pp_provider_key_loaded() для каждого ключа,
17+
* затем pp_provider_keys_done().
18+
*/
19+
forward pp_provider_load_keys();
20+
21+
/**
22+
* Ядро просит провайдера загрузить предпочтения конкретного игрока.
23+
* Провайдер вызывает pp_provider_pref_loaded() для каждой пары key/value,
24+
* затем pp_provider_player_done(const playerIndex).
25+
*
26+
* @param (const playerIndex Индекс игрока.
27+
* @param szAuthId SteamID игрока.
28+
*/
29+
forward pp_provider_load_player(const playerIndex, const szAuthId[]);
30+
31+
/**
32+
* Ядро просит провайдера сохранить одно предпочтение игрока.
33+
*
34+
* @param (const playerIndex Индекс игрока.
35+
* @param szAuthId SteamID игрока.
36+
* @param szKey Имя ключа.
37+
* @param szValue Строковое значение.
38+
*/
39+
forward pp_provider_save_pref(const playerIndex, const szAuthId[], const szKey[], const szValue[]);
40+
41+
/**
42+
* Ядро просит провайдера зарегистрировать ключ с дефолтным значением.
43+
*
44+
* @param szKey Имя ключа.
45+
* @param szDefaultValue Дефолтное значение.
46+
*/
47+
forward pp_provider_register_key(const szKey[], const szDefaultValue[]);
48+
49+
/**
50+
* Провайдер сообщает о результате соединения.
51+
*
52+
* @param bSuccess true — соединение успешно.
53+
*/
54+
native pp_provider_ready(bool: bSuccess);
55+
56+
/**
57+
* Провайдер передаёт ядру один загруженный ключ.
58+
* Вызывается в цикле внутри обработчика pp_provider_load_keys.
59+
*
60+
* @param szKey Имя ключа.
61+
* @param szDefaultValue Дефолтное значение.
62+
*/
63+
native pp_provider_key_loaded(const szKey[], const szDefaultValue[]);
64+
65+
/**
66+
* Провайдер сообщает, что все ключи переданы.
67+
*/
68+
native pp_provider_keys_done();
69+
70+
/**
71+
* Провайдер передаёт ядру одно предпочтение игрока.
72+
*
73+
* @param (const playerIndex Индекс игрока.
74+
* @param szKey Имя ключа.
75+
* @param szValue Строковое значение.
76+
*/
77+
native pp_provider_pref_loaded(const playerIndex, const szKey[], const szValue[]);
78+
79+
/**
80+
* Провайдер сообщает, что все предпочтения игрока переданы.
81+
*
82+
* @param (const playerIndex Индекс игрока.
83+
*/
84+
native pp_provider_player_done(const playerIndex);

0 commit comments

Comments
 (0)