| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- #include <YSI\y_hooks>
- #define ATM 10000
- #define ATM_AMOUNT 10001
- #define ATM_TRANSFER_TO 10002
- #define ATM_TRANSFER_AMT 10003
- new ATMPoint[43];
- LoadATMPoints() {
-
- ATMPoint[0] = CreateDynamicSphere(2065.439453125, -1897.5510253906, 13.19670009613, 3.0);
- ATMPoint[1] = CreateDynamicSphere(1497.7467041016, -1749.8747558594, 15.088212013245, 3.0);
- ATMPoint[2] = CreateDynamicSphere(2093.5124511719, -1359.5474853516, 23.62727355957, 3.0);
- ATMPoint[3] = CreateDynamicSphere(1155.6235351563, -1464.9141845703, 15.44321346283, 3.0);
- ATMPoint[4] = CreateDynamicSphere(1482.7761230469, -1010.3353881836, 26.48664855957, 3.0);
- ATMPoint[5] = CreateDynamicSphere(2139.4487304688, -1164.0811767578, 23.63508605957, 3.0);
- ATMPoint[6] = CreateDynamicSphere(1482.7761230469, -1010.3353881836, 26.48664855957, 3.0);
- ATMPoint[7] = CreateDynamicSphere(387.16552734375, -1816.0512695313, 7.4834146499634, 3.0);
- ATMPoint[8] = CreateDynamicSphere(-24.385023117065, -92.001075744629, 1003.1897583008, 3.0);
- ATMPoint[9] = CreateDynamicSphere(-31.811220169067, -58.106018066406, 1003.1897583008, 3.0);
- ATMPoint[10] = CreateDynamicSphere(1212.7785644531, 2.451762676239, 1000.5647583008, 3.0);
- ATMPoint[11] = CreateDynamicSphere(2324.4028320313, -1644.9445800781, 14.469946861267, 3.0);
- ATMPoint[12] = CreateDynamicSphere(2228.39, -1707.78, 13.25, 3.0);
- ATMPoint[13] = CreateDynamicSphere(651.19305419922, -520.48815917969, 15.978837013245, 3.0);
- ATMPoint[14] = CreateDynamicSphere(45.78035736084, -291.80926513672, 1.5024013519287, 3.0);
- ATMPoint[15] = CreateDynamicSphere(1275.7958984375, 368.31481933594, 19.19758605957, 3.0);
- ATMPoint[16] = CreateDynamicSphere(2303.4577636719, -13.539554595947, 26.12727355957, 3.0);
- ATMPoint[17] = CreateDynamicSphere(294.80, -84.01, 1001.0, 3.0);
- ATMPoint[18] = CreateDynamicSphere(691.08215332031, -618.5625, 15.978837013245, 3.0);
- ATMPoint[19] = CreateDynamicSphere(173.23471069336, -155.07606506348, 1.2210245132446, 3.0);
- ATMPoint[20] = CreateDynamicSphere(1260.8796386719, 209.30152893066, 19.19758605957, 3.0);
- ATMPoint[21] = CreateDynamicSphere(2316.1015625, -88.522567749023, 26.12727355957, 3.0);
- ATMPoint[22] = CreateDynamicSphere(1311.0361,-1446.2249,0.2216, 3.0);
- ATMPoint[23] = CreateDynamicSphere(2052.9246, -1660.6346, 13.1300, 3.0);
- ATMPoint[24] = CreateDynamicSphere(-2453.7600,754.8200,34.8000, 3.0);
- ATMPoint[25] = CreateDynamicSphere(-2678.6201,-283.3400,6.8000, 3.0);
- ATMPoint[26] = CreateDynamicSphere(519.8157,-2890.8601,4.4609, 3.0);
- ATMPoint[27] = CreateDynamicSphere(2565.667480, 1406.839355, 7699.584472, 3.0);
- ATMPoint[28] = CreateDynamicSphere(3265.30004883, -631.90002441, 8423.90039062, 3.0);
- ATMPoint[29] = CreateDynamicSphere(1829.5000, 1391.0000, 1464.0000, 3.0);
- ATMPoint[30] = CreateDynamicSphere(1755.8000, 1434.1000, 2013.4000, 3.0);
- ATMPoint[31] = CreateDynamicSphere(-665.975341, -4033.334716, 20.779014, 3.0);
- ATMPoint[32] = CreateDynamicSphere(-1619.9645996094,713.67535400391, 19995.501953125, 3.0);
- ATMPoint[33] = CreateDynamicSphere(883.7170, 1442.4282, -82.3370, 3.0);
- ATMPoint[34] = CreateDynamicSphere(986.4434,2056.2480,1085.8531, 3.0);
- ATMPoint[35] = CreateDynamicSphere(1014.1396,2060.8284,1085.8531, 3.0);
- ATMPoint[36] = CreateDynamicSphere(1013.4720,2023.8784,1085.8531, 3.0);
- ATMPoint[37] = CreateDynamicSphere(985.53719, 2056.1026, 1085.5, 3.0);
- ATMPoint[38] = CreateDynamicSphere(1014.48039, 2023.90137, 1085.5, 3.0);
- ATMPoint[39] = CreateDynamicSphere(1014.1004, 2061.80117, 1085.5, 3.0);
- ATMPoint[40] = CreateDynamicSphere(527.5063, 1417.8333, 11000.0996, 3.0);
- ATMPoint[41] = CreateDynamicSphere(1538.3831, -2785.1677, 15.3602, 3.0);
- ATMPoint[42] = CreateDynamicSphere(218.18401, 1809.87610, 2000.68555, 3.0); // Lucky Cowboy Casino
- // for(new i = 0; i < 37; i++) Streamer_SetIntData(STREAMER_TYPE_AREA, ATMPoint[i], E_STREAMER_EXTRA_ID, i);
- print("[Streamer] ATM Points Loaded");
- return 1;
- }
- hook OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
- if((newkeys & KEY_YES) && IsPlayerInAnyDynamicArea(playerid))
- {
- new areaid[1];
- GetPlayerDynamicAreas(playerid, areaid); //Assign nearest areaid.
- // new i = Streamer_GetIntData(STREAMER_TYPE_AREA, areaid[0], E_STREAMER_EXTRA_ID);
- for(new i; i < sizeof(ATMPoint); ++i) {
- if(areaid[0] == ATMPoint[i]) {
-
- format(szMiscArray, sizeof(szMiscArray), "{FF8000}** {C2A2DA}%s approaches the ATM, typing in their PIN.", GetPlayerNameEx(playerid));
- //ProxDetector(30.0, playerid, szMiscArray, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- SetPlayerChatBubble(playerid, szMiscArray, COLOR_PURPLE, 15.0, 5000);
- ShowATMMenu(playerid);
- }
- }
- }
- return 1;
- }
- hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- if(arrAntiCheat[playerid][ac_iFlags][AC_DIALOGSPOOFING] > 0) return 1;
- switch(dialogid) {
- case ATM: {
-
- if(!response) {
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- TogglePlayerControllable(playerid, 0);
- switch(listitem) {
- case 0: ShowATMMenu(playerid, 1);
- case 1: ShowATMMenu(playerid, 2);
- case 2: ShowATMMenu(playerid, 3);
- }
- }
- case ATM_AMOUNT: {
- if(!response) {
- DeletePVar(playerid, "ATMWithdraw");
- DeletePVar(playerid, "ATMDeposit");
- return ShowATMMenu(playerid);
- }
- new
- iAmount = strval(inputtext);
- if(GetPVarType(playerid, "ATMWithdraw")) {
-
- if(iAmount < 1) {
- SendClientMessageEx(playerid, COLOR_WHITE, " Negative amounts cannot be transfered!");
- return ShowATMMenu(playerid, 1);
- }
- if(iAmount > PlayerInfo[playerid][pAccount]) {
- SendClientMessageEx(playerid, COLOR_WHITE, " You are trying to withdraw more than you have!");
- return ShowATMMenu(playerid, 1);
- }
- if(gettime()-GetPVarInt(playerid, "LastTransaction") < 10) {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You can only make a transaction once every 10 seconds, please wait!");
- return ShowATMMenu(playerid, 1);
- }
- SetPVarInt(playerid, "LastTransaction", gettime());
-
- if(!Bank_TransferCheck(-iAmount)) return 1;
- GivePlayerCash(playerid, iAmount);
- PlayerInfo[playerid][pAccount] -= iAmount;
- format(szMiscArray, sizeof(szMiscArray), " You have withdrawn $%s from your account. ", number_format(iAmount));
- SendClientMessageEx(playerid, COLOR_YELLOW, szMiscArray);
- if(PlayerInfo[playerid][pDonateRank] == 0) {
- new fee;
- fee = 3*iAmount/100;
- if(!Bank_TransferCheck(-fee)) return 1;
- PlayerInfo[playerid][pAccount] -= fee;
- format(szMiscArray, sizeof(szMiscArray), " You have been charged a 3 percent withdraw fee: -$%d.", fee);
- SendClientMessageEx(playerid, COLOR_YELLOW, szMiscArray);
- }
- OnPlayerStatsUpdate(playerid);
- DeletePVar(playerid, "ATMWithdraw");
- return ShowATMMenu(playerid);
- }
- else if(GetPVarType(playerid, "ATMDeposit")) {
- if(iAmount < 1) {
- SendClientMessageEx(playerid, COLOR_WHITE, " Negative amounts cannot be transfered!");
- return ShowATMMenu(playerid, 2);
- }
- if(iAmount > GetPlayerCash(playerid)) {
- SendClientMessageEx(playerid, COLOR_WHITE, " You are trying to deposit more than you have!");
- return ShowATMMenu(playerid, 2);
- }
- if(gettime()-GetPVarInt(playerid, "LastTransaction") < 10) {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You can only make a transaction once every 10 seconds, please wait!");
- return ShowATMMenu(playerid, 2);
- }
- SetPVarInt(playerid, "LastTransaction", gettime());
-
- if(!Bank_TransferCheck(iAmount)) return 1;
- GivePlayerCash(playerid, -iAmount);
- PlayerInfo[playerid][pAccount] += iAmount;
- format(szMiscArray, sizeof(szMiscArray), " You have deposited $%s to your account. ", number_format(iAmount));
- SendClientMessageEx(playerid, COLOR_YELLOW, szMiscArray);
- if(PlayerInfo[playerid][pDonateRank] == 0) {
- new fee;
- fee = 3*iAmount/100;
- if(!Bank_TransferCheck(-fee)) return 1;
- PlayerInfo[playerid][pAccount] -= fee;
- format(szMiscArray, sizeof(szMiscArray), " You have been charged a 3 percent deposit fee: -$%d.", fee);
- SendClientMessageEx(playerid, COLOR_YELLOW, szMiscArray);
- }
- OnPlayerStatsUpdate(playerid);
- DeletePVar(playerid, "ATMDeposit");
- return ShowATMMenu(playerid);
- }
- }
- case ATM_TRANSFER_TO: {
-
- if(!response) {
- return ShowATMMenu(playerid);
- }
- new id = strval(inputtext);
-
- if(!IsPlayerConnected(id) || !gPlayerLogged{id}) {
- SendClientMessageEx(playerid, COLOR_WHITE, " The player you are trying to transfer to is not connected!");
- return ShowATMMenu(playerid, 3);
- }
- SetPVarInt(playerid, "ATMTransferTo", id);
- return ShowATMMenu(playerid, 4);
- }
- case ATM_TRANSFER_AMT: {
- if(!response) {
- DeletePVar(playerid, "ATMTransferTo");
- return ShowATMMenu(playerid, 3);
- }
- new
- id = GetPVarInt(playerid, "ATMTransferTo"),
- iAmount = strval(inputtext);
- if(restarting) {
- SendClientMessageEx(playerid, COLOR_GRAD2, "Transactions are currently disabled due to the server being restarted for maintenance.");
- return ShowATMMenu(playerid, 3);
- }
- if(PlayerInfo[playerid][pLevel] < 3) {
- SendClientMessageEx(playerid, COLOR_GRAD1, " You must be at least level 3 to use this feature!");
- return ShowATMMenu(playerid, 3);
- }
- if(gettime()-GetPVarInt(playerid, "LastTransaction") < 10) {
- SendClientMessageEx(playerid, COLOR_GRAD2, "You can only make a transaction once every 10 seconds, please wait!");
- return ShowATMMenu(playerid, 3);
- }
- if(iAmount > PlayerInfo[playerid][pAccount] || iAmount < 0) return SendClientMessageEx(playerid, COLOR_WHITE, "You are trying to send more than you have!");
- if(PlayerInfo[playerid][pDonateRank] == 0) {
- new fee;
- fee = 3*iAmount/100;
- PlayerInfo[playerid][pAccount] -= fee;
- format(szMiscArray, sizeof(szMiscArray), " You have been charged a 3 percent transfer fee: -$%d.", fee);
- SendClientMessageEx(playerid, COLOR_YELLOW, szMiscArray);
- }
- // Use these as they update the MySQL Directly with less function calls
- GivePlayerCashEx(playerid, TYPE_BANK, -iAmount);
- GivePlayerCashEx(id, TYPE_BANK, iAmount);
- format(szMiscArray, sizeof(szMiscArray), " You have transferred $%s to %s's account.", number_format(iAmount), GetPlayerNameEx(id));
- SendClientMessageEx(playerid, COLOR_YELLOW, szMiscArray);
-
- format(szMiscArray, sizeof(szMiscArray), " $%s has been transferred to your bank account from %s.", number_format(iAmount), GetPlayerNameEx(playerid));
- SendClientMessageEx(id, COLOR_YELLOW, szMiscArray);
- PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
- PlayerPlaySound(id, 1052, 0.0, 0.0, 0.0);
-
-
- new ip[32], ipex[32];
- GetPlayerIp(playerid, ip, sizeof(ip));
- GetPlayerIp(id, ipex, sizeof(ipex));
- format(szMiscArray, sizeof(szMiscArray), "[ATM] %s(%d) (IP:%s) has transferred $%s to %s(%d) (IP:%s).", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), ip, number_format(iAmount), GetPlayerNameEx(id), GetPlayerSQLId(id), ipex);
- if(PlayerInfo[playerid][pAdmin] >= 2 || PlayerInfo[id][pAdmin] >= 2) Log("logs/adminpay.log", szMiscArray); else Log("logs/pay.log", szMiscArray);
- format(szMiscArray, sizeof(szMiscArray), "[ATM] %s (IP:%s) has transferred $%s to %s (IP:%s).", GetPlayerNameEx(playerid), ip, number_format(iAmount), GetPlayerNameEx(id), ipex);
-
- if(PlayerInfo[playerid][pAdmin] >= 2 || PlayerInfo[id][pAdmin] >= 2) {
- format(szMiscArray, sizeof(szMiscArray), "[ATM] Admin %s has transferred $%s to %s", GetPlayerNameEx(playerid), number_format(iAmount), GetPlayerNameEx(id));
- if(!strcmp(GetPlayerIpEx(playerid), GetPlayerIpEx(id), true)) strcat(szMiscArray, " (1)");
- ABroadCast(COLOR_YELLOW,szMiscArray, 4);
- }
- else ABroadCast(COLOR_YELLOW,szMiscArray,2);
-
- SetPVarInt(playerid, "LastTransaction", gettime());
- DeletePVar(playerid, "ATMTransferTo");
- return ShowATMMenu(playerid);
- }
- }
- return 0;
- }
- forward ForgetATM(playerid);
- public ForgetATM(playerid) {
- DeletePVar(playerid, "AtATM");
- return 1;
- }
- ShowATMMenu(playerid, menu = 0) {
- new szTitle[48];
- szMiscArray[0] = 0;
- format(szTitle, sizeof(szTitle), "ATM Menu ($%s)", number_format(PlayerInfo[playerid][pAccount]));
- if(PlayerInfo[playerid][pFreezeBank] == 1) return ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_MSGBOX, szTitle, "Your assets have been frozen! Contact judicial!", "Ok", "");
- switch(menu) {
- case 0: { // main menu
- ShowPlayerDialogEx(playerid, ATM, DIALOG_STYLE_LIST, szTitle, "Withdraw\nDeposit\nTransfer", "Select", "Cancel");
- }
- case 1: { // iAmount withdraw
- ShowPlayerDialogEx(playerid, ATM_AMOUNT, DIALOG_STYLE_INPUT, szTitle, "Please input how much you wish to withdraw from your account.", "Withdraw", "Cancel");
- SetPVarInt(playerid, "ATMWithdraw", 1);
- }
- case 2: { // iAmount deposit
- ShowPlayerDialogEx(playerid, ATM_AMOUNT, DIALOG_STYLE_INPUT, szTitle, "Please input how much you wish to deposit to your account.", "Deposit", "Cancel");
- SetPVarInt(playerid, "ATMDeposit", 1);
- }
- case 3: { // transfer to
- ShowPlayerDialogEx(playerid, ATM_TRANSFER_TO, DIALOG_STYLE_INPUT, szTitle, "Please input the player id you wish to transfer money to.", "Next", "Cancel");
- }
- case 4: { // transfer iAmount
- format(szMiscArray, sizeof(szMiscArray), "Please input the amount you wish to transfer to {FF0000}%s", GetPlayerNameEx(GetPVarInt(playerid, "ATMTransferTo")));
- ShowPlayerDialogEx(playerid, ATM_TRANSFER_AMT, DIALOG_STYLE_INPUT, szTitle, szMiscArray, "Transfer", "Cancel");
- }
- }
- return 1;
- }
|