Перейти к содержанию
Авторизация  
Smolin

Выкинуть/поднять деньги.

Рекомендуемые сообщения

Smolin

Ко всем #define:

#define MAX_MONEY 500 

К enum:

enum DMONEY_INFO
{
    dID, // ID
    Float:dPos[3], // Позиция
    dMoney, // Сколько денег
    dVirtualWorld, // Виртуальный мир
    dInterior, // Интерьер
    Text3D:dLabel // 3D текст
};
new Dmoney[MAX_MONEY][DMONEY_INFO];  

Добавим команды:

 

/drop

CMD:drop(playerid)
{
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы находитесь в транспорте.");
    ShowPlayerDialog(playerid, 18, DIALOG_STYLE_INPUT, "{FAFAD2}Деньги", "{FFFFFF}Сколько денег вы хотите выбросить?", "Выбросить", "Отмена");
    return 1;
}

/take

CMD:take(playerid)
{
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы находитесь в транспорте.");
    for(new g; g != MAX_MONEY; g++)
    {
        if(!IsPlayerInRangeOfPoint(playerid, 1.0, Dmoney[g][dPos][0], Dmoney[g][dPos][1], Dmoney[g][dPos][2])) continue;
        if(g > MAX_MONEY) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы не можете подобрать деньги. Превышен максимальный лимит.");
        ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
        DestroyDynamicObject(Dmoney[g][dID]);
        DestroyDynamic3DTextLabel(Dmoney[g][dLabel]);
        GivePlayerMoney(playerid, Dmoney[g][dMoney]);
        new m_string[256];
        format(m_string, sizeof(m_string), "Вы подобрали %d$.", Dmoney[g][dMoney]);
        SendClientMessage(playerid, 0xFFA500AA, m_string);
        format(m_string, sizeof(m_string), "Подобрал %d$", Dmoney[g][dMoney]);
        SetPlayerChatBubble(playerid, m_string, 0xFF9900AA, 5.0, 3000);
        Dmoney[g][dID] = -1;
        Dmoney[g][dPos][0] = 0.0;
        Dmoney[g][dPos][1] = 0.0;
        Dmoney[g][dPos][2] = 0.0;
        Dmoney[g][dMoney] = -1;
        Dmoney[g][dVirtualWorld] = -1;
        Dmoney[g][dInterior] = -1;
        break;
    }
    return 1;
}

 

 В public OnDialogResponse добавить следующее:

case 18:
        {
            if(!response) return true;
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 18, DIALOG_STYLE_INPUT, "{FAFAD2}Деньги", "{FFFFFF}Сколько денег вы хотите выбросить?", "Выбросить", "Отмена");
            if(strval(inputtext) < 1 || strval(inputtext) > 100000) return ShowPlayerDialog(playerid, 18, DIALOG_STYLE_MSGBOX, "{FAFAD2}Ошибка", "{FF0000}Минимально 1$, максимально 100000$.", "Повтор", "");
            if(GetPlayerMoney(playerid) < strval(inputtext)) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы не имеете при себе столько денег.");
            for(new m; m != MAX_MONEY; m++)
            {
                if(m > MAX_MONEY) return SendClientMessage(playerid, 0xAFAFAFAA, "Вы не можете выбросить деньги. Превышен максимальный лимит.");
                GivePlayerMoney(playerid, -strval(inputtext));
                ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
                GetPlayerPos(playerid, Dmoney[m][dPos][0], Dmoney[m][dPos][1], Dmoney[m][dPos][2]);
                Dmoney[m][dMoney] = strval(inputtext);
                Dmoney[m][dVirtualWorld] = GetPlayerVirtualWorld(playerid);
                Dmoney[m][dInterior] = GetPlayerInterior(playerid);
                new m_string[256];
                Dmoney[m][dID] = CreateDynamicObject(1212, Dmoney[m][dPos][0], Dmoney[m][dPos][1], Dmoney[m][dPos][2]-1, 93.7, 120.0, 120.0, Dmoney[m][dVirtualWorld], Dmoney[m][dInterior], -1, 300.0);
                format(m_string, sizeof(m_string), "%d$.\n{00A86B}Введите: /take", Dmoney[m][dMoney]);
                Dmoney[m][dLabel] = CreateDynamic3DTextLabel(m_string, 0xFFFF00AA, Dmoney[m][dPos][0], Dmoney[m][dPos][1], Dmoney[m][dPos][2], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, Dmoney[m][dVirtualWorld], Dmoney[m][dInterior], -1, 100.0);
                format(m_string, sizeof(m_string), "Вы выбросили %d$.", Dmoney[m][dMoney]);
                SendClientMessage(playerid, 0xFFA500AA, m_string);
                format(m_string, sizeof(m_string), "Выбросил %d$", Dmoney[m][dMoney]);
                SetPlayerChatBubble(playerid, m_string, 0xFF9900AA, 5.0, 3000);
                break;
            }
        }

 

Внимание!
1. Чтобы редактировать количество объектов, измените число MAX_MONEY.
2. Измените ID диалога (18) на свой пустой.

 

1.png2.png3.png4.png

 

Автор: Botan().

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.