Приветствую, Уважаемые форумчане. Лазил в пучине своего жесткого диска и наткнулся на мод Fortune RP. Нашел там интересную команду /donate с основной "донат-валютой" Рубликами. Итак... Начнём!

Автор мода: CRAZy_Str (Artur_Freeman)

1. В enum pInfo добавляем переменную рублей: pRub,
2. В public OnPlayerConnect(playerid) ко всем похожим добавляем: PlayerInfo[playerid][pRub] = 0; 
3. В public OnPlayerCommandText(playerid, cmdtext[]) добавляем, а если есть заменяем команду /donate и добавляем /giverubles (выдать рубли) if(strcmp(cmd, "/donate", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                if(PlayerInfo[playerid][pRub] == 0) return SendClientMessage(playerid,COLOR_RED,"На вашем счету недостаточно средств для Доната");
                new lvlexp[70];
                new level = PlayerInfo[playerid][pRub];
                format(lvlexp,70,"Меню доната у вас %d руб.",level);
                SPD(playerid, 1444, 2, lvlexp, "Снять предупреждения\t | 15р\nОбменять рубли на вирты\nСменить номер автомобиля\t | 2p\nКупить мотоцикл\nСменить цвет автомобиля\t | 3 руб.\nУволиться из фракции\t\t | 1p", "»", "X");
            }
            else
            {
                SendClientMessage(playerid,COLOR_BLUE,"Вы не авторизированы");
            }
            return true;
        }
//==========Выдать рубли========
if(strcmp(cmd, "/giverubles", true) == 0)
        {
            if(PlayerInfo[playerid][pAdmin] > 6)
            {
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) return    SendClientMessage(playerid, COLOR_WHITE, "» Введите: /giverubles [ид] [сумма]");
                new playa;
                new money;
                playa = ReturnUser(tmp);
                tmp = strtok(cmdtext, idx);
                money = strval(tmp);
                if (PlayerInfo[playerid][pAdmin] >= 6)
                {
                        if(IsPlayerConnected(playa))
                    {
                        if(playa != INVALID_PLAYER_ID)
                        {
                            format(string, sizeof(string), "- %d рублей переведены на счёт игроку", money);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                                GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                                format(string, sizeof(string), "Администратор %s[%d] перевел %d донат-очков на счёт игроку %s[%d]",sendername,playerid,money,giveplayer,playa); // Показываем всем админам, для крыс-админов
                                ABroadCast(COLOR_WHITE, string,1);
                                format(string, sizeof(string), "]=====================[ЧЕК]=====================[\nВам зачислено: \t\t\t %d рублей\nТекущий баланс: \t\t\t %d рублей\nЗачислил администратор: \t\t %s[%d]\nИспользуйте /donate для использования рублей\n]=====================[ЧЕК]=====================[", money,PlayerInfo[playa][pRub],sendername,playerid);
                                ShowPlayerDialog(playa,11222,DIALOG_STYLE_MSGBOX,"Чек пополнения рублей",string,"Ясно","Понятно"); // чек
                                //
                        }
                    }
                }
            }
            return true;
        } 
P.S. Можете добавить проверку на доступ админа для /giverubles. Для этого:
После: tmp = strtok(cmdtext, idx);
                money = strval(tmp);
                if (PlayerInfo[playerid][pAdmin] >= 6) 
Ставим это:if (dostup[playerid] <= 0) return ShowPlayerDialog(playerid,2934,DIALOG_STYLE_PASSWORD,"Доступ администратора","Введите пароль от административной панели","Ок","Отмена"); 
P.S.S Цены можете подправить, но не забудьте и в "кейсах"

4. Ко всем case'aм добавляем:  case 1444:
                {
                    if(response)
                    {
                        switch(listitem)
                        {
                            case 0:
                            {
                                if(PlayerInfo[playerid][pWarns] < 0) return SendClientMessage(playerid,COLOR_BLUE,"У вас нет предупреждений");
                                if(PlayerInfo[playerid][pRub] < 15) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для снятия предупреждений");
                                PlayerInfo[playerid][pWarns] = 0;
                                PlayerInfo[playerid][pRub] -= 15;
                                SendClientMessage(playerid,COLOR_LIGHTBLUE,"Предупреждения сняты");
                            }
                            case 1: SPD(playerid,1666,1,"Информация по обмену",
                            "Информация\n\n\
                            25руб. = 200.000 вирт\n\
                            50руб. = 400.000 вирт\n\
                            100руб. = 1.000.000 вирт\n\
                            300руб. = 5.000.000 вирт\n\
                            750руб. = 15.000.000 вирт\n\
                            1000руб. = 25.000.000 вирт\n\
                            2000руб. = 50.000.000 вирт","Далее","Отменить");
                            case 2: SPD(playerid,8002,1,"Смена автомобильного номера","Введите номер автомобиля","Ок","Отмена");
                            case 3: SPD(playerid,1777,2,"Покупка мотоцикла","1. PCJ-600\t | 9 руб.\n2. Freeway\t | 12 руб.\n3. Sanchez\t | 10 руб.\n4. Quad\t\t | 8 руб.\n5. FCR-900\t | 11 руб.\n6. NRG-500\t | 15 руб.\n7. BF-400\t | 7 руб.\n8. Wayfarer\t | 13 руб.","Ok","Отмена");
                            case 4: SPD(playerid,2222,2,"Выберите цвет","Красный \nГолубой \nЖелтый \nЗеленый \nСерый \nОранжевый \nЧерный \nБелый", "ОК", "Отмена");
                            case 5: SPD(playerid,1555,0,"Увольнение из фракции","Вы действительно хотите уволиться из фракции?","Да","Нет");
                        }
                    }
                    else
                    {
                        return true;
                    }
                }
                case 1777:
                {
                    if(response)
                    {
                        switch(listitem)
                        {
                            case 0:
                            {
                                if(PlayerInfo[playerid][pRub] < 9) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого мотоцикла");
                                PlayerInfo[playerid][pRub] -= 9, PlayerInfo[playerid][pCar] = 461, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой PCJ-600");
                            }
                            case 1:
                            {
                                if(PlayerInfo[playerid][pRub] < 12) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого мотоцикла");
                                PlayerInfo[playerid][pRub] -= 12, PlayerInfo[playerid][pCar] = 463, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой Freeway");
                            }
                            case 2:
                            {
                                if(PlayerInfo[playerid][pRub] < 10) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого мотоцикла");
                                PlayerInfo[playerid][pRub] -= 10, PlayerInfo[playerid][pCar] = 468, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой Sanchez");
                            }
                            case 3:
                            {
                                if(PlayerInfo[playerid][pRub] < 8) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого Квадроцикла");
                                PlayerInfo[playerid][pRub] -= 8, PlayerInfo[playerid][pCar] = 471, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой Quad");
                            }
                            case 4:
                            {
                                if(PlayerInfo[playerid][pRub] < 11) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого мотоцикла");
                                PlayerInfo[playerid][pRub] -= 11, PlayerInfo[playerid][pCar] = 521, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой FCR-900");
                            }
                            case 5:
                            {
                                if(PlayerInfo[playerid][pRub] < 15) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого мотоцикла");
                                PlayerInfo[playerid][pRub] -= 15, PlayerInfo[playerid][pCar] = 522, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой NRG-500");
                            }
                            case 6:
                            {
                                if(PlayerInfo[playerid][pRub] < 7) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого мотоцикла");
                                PlayerInfo[playerid][pRub] -= 7, PlayerInfo[playerid][pCar] = 581, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой BF-400");
                            }
                            case 7:
                            {
                                if(PlayerInfo[playerid][pRub] < 13) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для покупки этого мотоцикла");
                                PlayerInfo[playerid][pRub] -= 13, PlayerInfo[playerid][pCar] = 586, SendClientMessage(playerid,COLOR_LIGHTBLUE,"Поздравляем вас с покупкой BF-400");
                            }
                        }
                    }
                    else
                    {
                        return true;
                    }
                }
                case 1555:
                {
                    if(response)
                    {
                        if(IsPlayerConnected(playerid))
                           {
                            if(PlayerInfo[playerid][pMember] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы не состоите в организации");
                            if(PlayerInfo[playerid][pRub] < 1) return SendClientMessage(playerid,COLOR_GRAD1,"У вас недостаточно рублей для увольнения"); // Если он не донат 3 lvl выводим сообщение
                            PlayerInfo[playerid][pMember] = 0;
                            PlayerInfo[playerid][pRank] = 0;
                            PlayerInfo[playerid][pLeader] = 0;
                            PlayerInfo[playerid][pJob] = 0;
                            PlayerInfo[playerid][pRub] -= 1;
                            SetPlayerArmourAC(playerid,0);
                            SpawnPlayer(playerid);
                            Delgun(playerid);
                               SendClientMessage(playerid, COLOR_BLUE, "Вы были уволены по собственному желанию!");
                            }//not connected
                    }
                    return true;
                }
                case 1666:
                {
                      if(response)
                    {
                          if(!strcmp(inputtext,"25",true))
                        {
                            if(PlayerInfo[playerid][pRub] < 25) return SendClientMessage(playerid,COLOR_RED,"У вас недостаточно рублей");
                            PlayerInfo[playerid][pCash] += 200000, PlayerInfo[playerid][pRub] -= 25;
                        }
                        else if(!strcmp(inputtext,"50",true))
                        {
                            if(PlayerInfo[playerid][pRub] < 50) return SendClientMessage(playerid,COLOR_RED,"У вас недостаточно рублей");
                            PlayerInfo[playerid][pCash] += 400000, PlayerInfo[playerid][pRub] -= 50;
                        }
                        else if(!strcmp(inputtext,"100",true))
                        {
                            if(PlayerInfo[playerid][pRub] < 100) return SendClientMessage(playerid,COLOR_RED,"У вас недостаточно рублей");
                            PlayerInfo[playerid][pCash] += 1000000, PlayerInfo[playerid][pRub] -= 100;
                        }
                        else if(!strcmp(inputtext,"300",true))
                        {
                            if(PlayerInfo[playerid][pRub] < 300) return SendClientMessage(playerid,COLOR_RED,"У вас недостаточно рублей");
                            PlayerInfo[playerid][pCash] += 5000000, PlayerInfo[playerid][pRub] -= 300;
                        }
                        else if(!strcmp(inputtext,"750",true))
                        {
                            if(PlayerInfo[playerid][pRub] < 750) return SendClientMessage(playerid,COLOR_RED,"У вас недостаточно рублей");
                            PlayerInfo[playerid][pCash] += 15000000, PlayerInfo[playerid][pRub] -= 750;
                        }
                        else if(!strcmp(inputtext,"1000",true))
                        {
                            if(PlayerInfo[playerid][pRub] < 1000) return SendClientMessage(playerid,COLOR_RED,"У вас недостаточно рублей");
                            PlayerInfo[playerid][pCash] += 25000000, PlayerInfo[playerid][pRub] -= 1000;
                        }
                        else if(!strcmp(inputtext,"2000",true))
                        {
                            if(PlayerInfo[playerid][pRub] < 2000) return SendClientMessage(playerid,COLOR_RED,"У вас недостаточно рублей");
                            PlayerInfo[playerid][pCash] += 50000000, PlayerInfo[playerid][pRub] -= 2000;
                        }
                        SendClientMessage(playerid,COLOR_YELLOW,"Поздравляем вас с обменом рублей");
                    }
                    return true;
                }
                case 8002:
                {
                    if(response)
                    {
                        if(PlayerInfo[playerid][pRub] < 2) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для смены номера");
                        if(!strlen(inputtext)) return SPD(playerid,8002,1,"Смена номера","Введите номера авто в окошко","Готово","Отмена");
                        if(strlen(inputtext) > 10) return SPD(playerid,8002,1,"Смена номера","Cлишком длинный номер!\nВведите номера авто в окошко","Готово","Отмена");
                        new Float:x,Float:y,Float:z,Float:ang;
                        SetVehicleNumberPlate(GetPlayerVehicleID(playerid), inputtext);
                        GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
                        GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
                        SetVehicleToRespawn(GetPlayerVehicleID(playerid));
                        SetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
                        PutPlayerInVehicle(playerid,GetPlayerVehicleID(playerid),0);
                        SetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
                        PlayerInfo[playerid][pRub] -= 2;
                        SendClientMessage(playerid,COLOR_LIGHTBLUE,"Вы сменили номер автомобиля");
                    }
                }
case 2222:
                {
                    if(response)
                    {
                        if(PlayerInfo[playerid][pRub] < 3) return SendClientMessage(playerid,COLOR_BLUE,"У вас недостаточно рублей для смены цвета");
                        switch(listitem)
                        {
                             case 0: Cvet[playerid] = 3, ChangeVehicleColor(vehicleid, 3, 3), PlayerInfo[playerid][pCvet] = 3;
                            case 1: Cvet[playerid] = 79, ChangeVehicleColor(vehicleid, 79, 79), PlayerInfo[playerid][pCvet] = 79;
                            case 2: Cvet[playerid] = 65, ChangeVehicleColor(vehicleid, 65, 65), PlayerInfo[playerid][pCvet] = 65;
                            case 3: Cvet[playerid] = 86, ChangeVehicleColor(vehicleid, 86, 86), PlayerInfo[playerid][pCvet] = 86;
                            case 4: Cvet[playerid] = 9, ChangeVehicleColor(vehicleid, 9, 9), PlayerInfo[playerid][pCvet] = 9;
                            case 5: Cvet[playerid] = 6, ChangeVehicleColor(vehicleid, 6, 6), PlayerInfo[playerid][pCvet] = 6;
                            case 6: Cvet[playerid] = 0, ChangeVehicleColor(vehicleid, 0, 0), PlayerInfo[playerid][pCvet] = 0;
                            case 7: Cvet[playerid] = 1, ChangeVehicleColor(vehicleid, 1, 1), PlayerInfo[playerid][pCvet] = 1;
                        }
                        PlayerInfo[playerid][pRub] -= 3;
                        PlayerInfo[playerid][pCvet] = Cvet[playerid];
                        PlayerPlaySound(playerid,1134,0.0,0.0,0.0);
                        SPD(playerid, 2222, 2, "Выбор цвета", "Красный \nГолубой \nЖелтый \nЗеленый \nСерый \nОранжевый \nЧерный \nБелый", "ОК", "Назад");
                    }
                    else
                    {
                        return true;
                    }
                } 

UPDATE! /giverubles теперь показывает игроку диалог-чек. Думаю так будет красивей