Premium Реклама Spotlight Bundles Boost Банери Кредити
Основно Начало Сървъри Marketplace Форум Сървъри
Общности Хостинг Добави Auction Boost
Ресурси
Библиотеки Карти Видеа Магазин Bundles
Инструменти
Builder Demo CFG HUD
AMXX API
Вход Регистрация
TOP SERVER
[IG] Easy Surf | Ramp Fix | RANKS | REPLAYS
Counter-Strike 1.6
surf_flyin_fortress
40.160.19.36:27015
18.05 18:49
10/64
188ms
/ Библиотеки / settings_api.inc

settings_api.inc

Comment this to disable debug messages

.inc 2.4 KB 94 реда 04.04.2026
Pawn / AMX Mod X
#if defined _settings_api_included
	#endinput
#endif

#define _settings_api_included

// Comment this to disable debug messages
// #define PRINT_DEBUG_MESSAGES

#include <settings_util>

#define MAX_OPTION_LENGTH       32
#define MAX_STR_VALUE_LENGTH    64

#define RESERVER_OPTION_END     "#reserved_option_end"

enum OptionFieldType {
    FIELD_TYPE_INT,
    FIELD_TYPE_FLOAT,
    FIELD_TYPE_BOOL,
    FIELD_TYPE_STRING,
};

/**
 *  Register option for players (int/float/bool value)
 *  note: should be called in plugin_precache
 *  
 *  @param optionName   option name
 *  @param fieldType    see `OptionFieldType` constants
 *  @param defaultValue default value
 *  
 *  @noreturn 
 */
native register_players_option_cell(optionName[MAX_OPTION_LENGTH], OptionFieldType:fieldType, any:defaultValue = 0);

/**
 *  Register option for players (string value)
 *  note: should be called in plugin_precache
 *  
 *  @param optionName   option name
 *  @param defaultValue default value
 *  
 *  @noreturn 
 */
native register_players_option_str(optionName[MAX_OPTION_LENGTH], defaultValue[MAX_STR_VALUE_LENGTH]);

/**
 *  Get option id by its name
 *  note: should not be called in plugin_precache
 *
 *  @param optionName   option name
 *
 *  @return -1 if option does not exist, id >= 0 otherwise
 */
native find_option_by_name(optionName[MAX_OPTION_LENGTH]);

native get_option_cell(id, optionId);

native set_option_cell(id, optionId, newValue, bool:notifyMysql = true);

native get_option_string(id, optionId, buffer[MAX_STR_VALUE_LENGTH]);

native set_option_string(id, optionId, buffer[MAX_STR_VALUE_LENGTH], bool:notifyMysql = true);

/**
 *  Calls from `settings_mysql` when connection is ready
 *
 *  @noreturn
 */
forward OnConnectionIsReady();

/**
 *  Calls after all options were created in database
 *
 *  @noreturn
 */
forward OnOptionsInitialized();

/**
 *  Calls when option is ready to be initialized (after `OnConnectionIsReady`)
 *
 *  @param optionName   option name
 *  @param fieldType    see `OptionFieldType` constants
 *  @param defaultValue default value
 */
forward OnRegisterOption(optionName[MAX_OPTION_LENGTH], OptionFieldType:fieldType, defaultValue[MAX_STR_VALUE_LENGTH]);

forward OnCellValueChanged(id, optionId, newValue);

forward OnStringValueChanged(id, optionId, newValue[MAX_STR_VALUE_LENGTH]);

forward OnNotifyMysqlCellValue(id, optionId, newValue);

forward OnNotifyMysqlStringValue(id, optionId, newValue[MAX_STR_VALUE_LENGTH]);
РЕКЛАМИРАЙ ПРИ НАС!
AMXX-BG.INFO
КАК ДА ИЗПОЛЗВАМ
Добави в началото на .sma файла:
#include <settings_api>
1. Изтегли
Свали файла от бутона по-горе
2. Копирай
Постави в scripting/include/
3. Включи
Добави #include директивата
4. Компилирай
Използвай amxxpc или scripting/compile.exe
PrivateServ.NET