/*
* Функция возвращает количество монет у игрока
* pPlayer - индекс игрока
*/
native get_user_coins(pPlayer);

/*
* Функция прибавляет заданное количество монет игроку
* pPlayer - индекс игрока
* iAddCoins - добавляемое количество
*/
native add_user_coins(pPlayer, iAddCoins);

/*
* Функция устанавливает заданное количество монет игроку
* pPlayer - индекс игрока
* iSetCoins - устанавливает количество
*/
native set_user_coins(pPlayer, iSetCoins);

/*
* Функция имитирует выброс монет из игрока
* pPlayer - индекс игрока
* iDropCount - устанавливает количество
* bIsCoinCheck - учитывать ли монеты (при false заданное количество монет выбросятся из игрока без учёта количества монет игрока и вычитания оных)
*/
native user_drop_coins(pPlayer, iDropCount, bool: bIsCoinCheck)

/*
* Функция вызывается в момент изменения количества монет с возможностью блокировки
* Для блокировки используйте return SC_HANDLED, для игнорирования - SC_IGNORE.
* pPlayer - индекс игрока
* iAddCoins - добавляемое количество
*/
forward sc_give_coins_pre(pPlayer, iAddCoins);

/*
* Функция вызывается в момент изменения количества монет
* pPlayer - индекс игрока
* iAddCoins - добавляемое количество
*/
forward sc_give_coins_post(pPlayer, iAddCoins);

/*
* Функция вызывается в момент поднятия монеты с возможностью блокировки
* pPlayer - индекс игрока
* eEnt - индекс энтити монеты
*/
forward sc_coins_pickup_pre(pPlayer, eEnt);

/*
* Функция вызывается в момент поднятия монеты
* Для блокировки используйте return SC_HANDLED, для игнорирования - SC_IGNORE.
* pPlayer - индекс игрока
* eEnt - индекс энтити монеты
*/
forward sc_coins_pickup_post(pPlayer, eEnt);

/*
* Функция вызывается в момент притягивания монеты игроком с возможностью блокировки
* Для блокировки используйте return SC_HANDLED, для игнорирования - SC_IGNORE.
* pPlayer - индекс игрока
* eEnt - индекс энтити монеты
*/
forward sc_coin_pull(pPlayer, eEnt);

const SC_IGNORE = 0xA734;
const SC_HANDLED = 0xB371;