D1m0n41k
Участник
- Сообщения
- 487
- Реакции
- 207
- Баллы
- 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' ] ...................................");
}
}