• Пожалуйста, создайте название темы отражающее ее смысл
  • Для ускорения решения Вашего вопроса заполните обязательные поля и подробно опишите возникшую проблему

Помощь Проблема с нативом cmsapi_reload_wallet

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' ] ...................................");
    }
}

Вложения

  • L20220309.log
    7.2 KB · Просмотры: 2
  • test.log
    419 байт · Просмотры: 1
  • 1646830654668.png
    1646830654668.png
    35.5 KB · Просмотры: 1
Назад
Сверху