AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Need some help with handler (https://forums.alliedmods.net/showthread.php?t=337373)

PawnBegg 04-16-2022 13:26

Need some help with handler
 
Hello, i want to do that i can to deposit into bank
Code:

register_clcmd("ENTER_EURO_AMOUNT_TO_DEPOSIT", "deposit_money_handle");
Code:

public bank_menu(id)
{
        if (!is_user_connected(id) || !csgor_is_user_logged(id) || !playerData[id][CLAN] || end) return PLUGIN_HANDLED;

        new menuData[128], callback = menu_makecallback("bank_menu_callback");

        formatex(menuData, charsmax(menuData), "%L", id, "CSGO_CLANS_BANK_MENU", get_clan_info(playerData[id][CLAN], CLAN_MONEY));

        new menu = menu_create(menuData, "bank_menu_handle");

        formatex(menuData, charsmax(menuData), "%L", id, "CSGO_CLANS_BANK_LIST");
        menu_additem(menu, menuData, _, _, callback);

        formatex(menuData, charsmax(menuData), "%L", id, "CSGO_CLANS_BANK_DEPOSIT");
        menu_additem(menu, menuData, _, _, callback);

        formatex(menuData, charsmax(menuData), "%L", id, "CSGO_CLANS_BANK_WITHDRAW");
        menu_additem(menu, menuData, _, _, callback);

        formatex(menuData, charsmax(menuData), "%L", id, "CSGO_MENU_EXIT");
        menu_setprop(menu, MPROP_EXITNAME, menuData);

        menu_display(id, menu);

        return PLUGIN_HANDLED;
}

public bank_menu_callback(id, menu, item)
{
        if (item == 2) return get_user_status(id) > STATUS_MEMBER ? ITEM_ENABLED : ITEM_DISABLED;

        return ITEM_ENABLED;
}

Code:

public bank_menu_handle(id, menu, item)
{
        if (!is_user_connected(id) || end) return PLUGIN_HANDLED;

        if (item == MENU_EXIT) {
                menu_destroy(menu);

                return PLUGIN_HANDLED;
        }

        switch (item) {
                case 0: payments_list(id);
                case 1: {
                        client_cmd(id, "messagemode ENTER_EURO_AMOUNT_TO_DEPOSIT");

                        client_print(id, print_center, "%L", id, "CSGO_CLANS_DEPOSIT_CENTER");

                        client_print_color(id, id, "%s %L", CHAT_PREFIX, id, "CSGO_CLANS_DEPOSIT_CHAT");
                } case 2: {
                        client_cmd(id, "messagemode ENTER_EURO_AMOUNT_TO_WITHDRAW");

                        client_print(id, print_center, "%L", id, "CSGO_CLANS_WITHDRAW_CENTER");

                        client_print_color(id, id, "%s %L", CHAT_PREFIX, id, "CSGO_CLANS_WITHDRAW_CHAT");
                }
        }

        return PLUGIN_HANDLED;
}

HANDLER
Code:

public deposit_money_handle(id)
{
        if (!is_user_connected(id) || !playerData[id][CLAN] || !csgor_is_user_logged(id) || end) return PLUGIN_HANDLED;

        new moneyAmount;


        if (moneyAmount < 1) {
                client_print_color(id, id, "%s %L", CHAT_PREFIX, id, "CSGO_CLANS_DEPOSIT_TOO_LOW", moneyAmount); // with "moneyAmount" i tried to check what value i got in gave with %i but all time value is 0 for example  ENTER_EURO_AMOUNT_TO_DEPOSIT = 500 , but  "moneyAmount" print it 0 what i did wrong ?

                return PLUGIN_HANDLED;
        }

        if (csgor_get_user_points(id) - moneyAmount < 0) {
                client_print_color(id, id, "%s %L", CHAT_PREFIX, id, "CSGO_CLANS_DEPOSIT_NO_MONEY");

                return PLUGIN_HANDLED;
        }

        set_clan_info(playerData[id][CLAN], CLAN_MONEY, _, moneyAmount);

        csgor_set_user_points(id, csgor_get_user_points(id) - moneyAmount);

        add_payment(id, moneyAmount);

        client_print_color(id, id, "%s %L", CHAT_PREFIX, id, "CSGO_CLANS_DEPOSIT_SUCCESS", moneyAmount);
        client_print_color(id, id, "%s %L", CHAT_PREFIX, id, "CSGO_CLANS_DEPOSIT_BANK", get_clan_info(playerData[id][CLAN], CLAN_MONEY));

        return PLUGIN_HANDLED;
}


PawnBegg 04-16-2022 13:50

Re: Need some help with handler
 
SOLVED
-> this fixed
Code:

        new moneyData[16], moneyAmount;

        read_args(moneyData, charsmax(moneyData));
        remove_quotes(moneyData);

        moneyAmount = str_to_num(moneyData);



All times are GMT -4. The time now is 21:20.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.