D1m0n41k
Участник
- Сообщения
- 486
- Реакции
- 202
- Баллы
- 43
При попытке выдачи денег через данный натив, на баланс аккаунта выдается не соответствующие значения.
Выдача денег производилась через тестовый плагин.
Такая проблема наблюдается только с нативом
Выдача денег производилась через тестовый плагин.
Такая проблема наблюдается только с нативом
cmsapi_reload_wallet
, при использовании cmsapi_add_user_money
таких проблем нет.- Исходный код
- C++:
#include <amxmodx> #include <gamecms5> new szPluginInfo[][] = { "Test", "1.0", "ApXuTekToR" }; new Float:gRubsGive = 5.0; // Кол-во выдаваемых денег new Float:gMinBalans = 2.0; // Минимально допустимое значение баланса игрока public plugin_init() { register_plugin(szPluginInfo[0], szPluginInfo[1], szPluginInfo[2]); register_clcmd("GiveRubs1", "Give_Rubs1"); register_clcmd("GiveRubs2", "Give_Rubs2"); } public Give_Rubs1(Id) { new Float:UserMoney = cmsapi_get_user_money(Id); if(UserMoney + gRubsGive < gMinBalans) { // Делаем выдачу положительной, что бы баланс игрока не уходил в минус (Если отнимаем) cmsapi_reload_wallet(Id, gRubsGive * -1, true); // Пишем сообщение в чат client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Баланс ^3меньше ^4%.2f^1...", gMinBalans); client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Выдаю^3: ^4%.2f руб.", gRubsGive*-1); // Делаем соответствующие записи в лог log_to_file("test.log", "[ 'Give_Rubs1' ] Функция 'cmsapi_reload_wallet'"); log_to_file("test.log", "[ 'Give_Rubs1' ] Баланс игрока: '%.2f'", UserMoney); log_to_file("test.log", "[ 'Give_Rubs1' ] Выдаю: '%.2f'", gRubsGive); log_to_file("test.log", "[ 'Give_Rubs1' ] ..................................."); } else { // Выдаем деньги cmsapi_reload_wallet(Id, gRubsGive, true); // Пишем сообщение в чат client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Баланс ^3больше ^4%.2f^1...", gMinBalans); client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Выдаю^3: ^4%.2f руб.", gRubsGive); // Делаем соответствующие записи в лог log_to_file("test.log", "[ 'Give_Rubs1' ] Функция 'cmsapi_reload_wallet'"); log_to_file("test.log", "[ 'Give_Rubs1' ] Баланс игрока: '%.2f'", UserMoney); log_to_file("test.log", "[ 'Give_Rubs1' ] Выдаю: '%.2f'", gRubsGive); log_to_file("test.log", "[ 'Give_Rubs1' ] ..................................."); } } public Give_Rubs2(Id) { new Float:UserMoney = cmsapi_get_user_money(Id); if(UserMoney + gRubsGive < gMinBalans) { // Делаем выдачу положительной, что бы баланс игрока не уходил в минус (Если отнимаем) cmsapi_add_user_money(Id, gRubsGive*-1); // Пишем сообщение в чат client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Баланс ^3меньше ^4%.2f^1...", gMinBalans); client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Выдаю^3: ^4%.2f руб.", gRubsGive*-1); // Делаем соответствующие записи в лог log_to_file("test.log", "[ 'Give_Rubs2' ] Функция 'cmsapi_add_user_money'"); log_to_file("test.log", "[ 'Give_Rubs2' ] Баланс игрока: '%.2f'", UserMoney); log_to_file("test.log", "[ 'Give_Rubs2' ] Выдаю: '%.2f'", gRubsGive*-1); log_to_file("test.log", "[ 'Give_Rubs1' ] ..................................."); } else { // Выдаем деньги cmsapi_add_user_money(Id, gRubsGive); // Пишем сообщение в чат client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Баланс ^3больше ^4%.2f^1...", gMinBalans); client_print_color(Id, print_team_default, "^3[^4TEST^3] ^1Выдаю^3: ^4%.2f руб.", gRubsGive); // Делаем соответствующие записи в лог log_to_file("test.log", "[ 'Give_Rubs2' ] Функция 'cmsapi_add_user_money'"); log_to_file("test.log", "[ 'Give_Rubs2' ] Баланс игрока: '%.2f'", UserMoney); log_to_file("test.log", "[ 'Give_Rubs2' ] Выдаю: '%.2f'", gRubsGive); log_to_file("test.log", "[ 'Give_Rubs1' ] ..................................."); } }