- Июл
- 20
- 100
Пользователь
#include <a_samp>enum{ DIALOG_FCOINS_MAIN = 1000, DIALOG_FCOINS_TOP, DIALOG_FCOINS_UPGRADES, DIALOG_FCOINS_EXCHANGE, DIALOG_FCOINS_TRANSFER, DIALOG_FCOINS_INFO};enum pCoinsData{ Float:pFCoinBalance, Float:pFCoinPerSec, bool:pFCoinMining, bool:pFCoinAccept};new PlayerFCoin[MAX_PLAYERS][pCoinsData];stock ShowFCoinsMenu(playerid){ new caption[128], dialog_body[600]; format(caption, sizeof(caption), "{FFFF00}F-Coins {FFFFFF}| Баланс: {FF9900}%.6f {FFFFFF}| В сек: {66CCFF}%.6f", PlayerFCoin[playerid][pFCoinBalance], PlayerFCoin[playerid][pFCoinPerSec] ); format(dialog_body, sizeof(dialog_body), "1. Топ\n\ 2. Улучшения\n\ 3. Добыча коинов %s\n\ 4. Принятие коинов от других игроков %s\n\ 5. Обменять коины на рубли\n\ 6. Перевести коины\n\ 7. Информация", PlayerFCoin[playerid][pFCoinMining] ? ("{33AA33}включена") : ("{FF3333}выключена"), PlayerFCoin[playerid][pFCoinAccept] ? ("{FFCC00}включено") : ("{FF3333}выключено") ); ShowPlayerDialog(playerid, DIALOG_FCOINS_MAIN, DIALOG_STYLE_LIST, caption, dialog_body, "Выбрать", "Отмена"); return 1;}CMD:fcoins(playerid, params[]){ ShowFCoinsMenu(playerid); return 1;}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ switch(dialogid) { case DIALOG_FCOINS_MAIN: { if(!response) return 1; switch(listitem) { case 0: { ShowPlayerDialog(playerid, DIALOG_FCOINS_TOP, DIALOG_STYLE_MSGBOX, "{FFFF00}Топ майнеров F-Coins", "{FFFFFF}1. Admin_Name — 100,000,000 FC\n2. Player_One — 50,000,000 FC\n3. Player_Two — 14,537,462 FC", "Назад", "" ); } case 1: { ShowPlayerDialog(playerid, DIALOG_FCOINS_UPGRADES, DIALOG_STYLE_LIST, "{FFFF00}Улучшения фермы", "1. +10.00 F-Coins/сек {FF9900}(100,000 FC)\n2. +50.00 F-Coins/сек {FF9900}(500,000 FC)\n3. +200.00 F-Coins/сек {FF9900}(2,000,000 FC)", "Купить", "Назад" ); } case 2: { PlayerFCoin[playerid][pFCoinMining] = !PlayerFCoin[playerid][pFCoinMining]; SendClientMessage(playerid, -1, PlayerFCoin[playerid][pFCoinMining] ? ("{33AA33}[F-Coins] Вы включили добычу коинов.") : ("{FF3333}[F-Coins] Вы выключили добычу коинов.")); ShowFCoinsMenu(playerid); } case 3: { PlayerFCoin[playerid][pFCoinAccept] = !PlayerFCoin[playerid][pFCoinAccept]; SendClientMessage(playerid, -1, PlayerFCoin[playerid][pFCoinAccept] ? ("{FFCC00}[F-Coins] Вы разрешили входящие переводы.") : ("{FF3333}[F-Coins] Вы запретили входящие переводы.")); ShowFCoinsMenu(playerid); } case 4: { ShowPlayerDialog(playerid, DIALOG_FCOINS_EXCHANGE, DIALOG_STYLE_INPUT, "{FFFF00}Обмен F-Coins", "{FFFFFF}Введите количество F-Coins для обмена на рубли:\n{66CCFF}(Курс: 1,000,000 F-Coins = 100 руб.)", "Обменять", "Назад" ); } case 5: { ShowPlayerDialog(playerid, DIALOG_FCOINS_TRANSFER, DIALOG_STYLE_INPUT, "{FFFF00}Перевод F-Coins", "{FFFFFF}Введите ID игрока и сумму через пробел:\n{AAAAAA}Пример: 15 50000", "Перевести", "Назад" ); } case 6: { ShowPlayerDialog(playerid, DIALOG_FCOINS_INFO, DIALOG_STYLE_MSGBOX, "{FFFF00}Информация о F-Coins", "{FFFFFF}F-Coins — это ваша личная криптовалюта на сервере.\n\n\ • Пассивный доход начисляется каждую секунду, если добыча включена.\n\ • Скорость начисления зависит от уровня ваших улучшений.\n\ • Вы можете обменивать F-Coins на рубли или переводить другим игрокам.", "Закрыть", "Назад" ); } } return 1; } case DIALOG_FCOINS_TOP: { if(response || !response) ShowFCoinsMenu(playerid); return 1; } case DIALOG_FCOINS_UPGRADES: { if(!response) return ShowFCoinsMenu(playerid); SendClientMessage(playerid, -1, "{33AA33}[F-Coins] Вы успешно приобрели улучшение!"); ShowFCoinsMenu(playerid); return 1; } case DIALOG_FCOINS_EXCHANGE: { if(!response) return ShowFCoinsMenu(playerid); new amount = strval(inputtext); if(amount <= 0) { SendClientMessage(playerid, -1, "{FF3333}[F-Coins] Введите корректную сумму!"); return ShowFCoinsMenu(playerid); } SendClientMessage(playerid, -1, "{33AA33}[F-Coins] Вы успешно обменяли коины."); return 1; } case DIALOG_FCOINS_TRANSFER: { if(!response) return ShowFCoinsMenu(playerid); new targetid, Float:sum; if(sscanf(inputtext, "df", targetid, sum)) { SendClientMessage(playerid, -1, "{FF3333}Ошибка! Используйте формат: [ID] [Сумма]"); return ShowFCoinsMenu(playerid); } SendClientMessage(playerid, -1, "{33AA33}[F-Coins] Перевод успешно выполнен."); return 1; } case DIALOG_FCOINS_INFO: { if(!response) ShowFCoinsMenu(playerid); return 1; } } return 0;}