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

Проблема со счетами в банке.

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

kostik123123

Здравствуйте уважаемые пользователи форума CR-MP. Хочу обратиться к вам за помощью, я скачал мод Perfect RP у Ютубера (Mark Richards) и обнаружил там баг с банком. ВСЁ ВИДНО НА ВИДЕО. моё ВК - vk.com/vip_xam. 

 

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


Ссылка на сообщение
Поделиться на другие сайты
kostik123123
	case D_BANK_MENU:
		{
			if(!response) return 1;

			global_string = "";

			switch(listitem)
			{
			case 3, 4:
				{

					format(global_string, 300, "{"#cSV"}1. {FFFFFF}Открыть новый банковский счет\n\
											{"#cSV"}2. {FFFFFF}Управление счетами\n\
											{"#cSV"}3. {FFFFFF}Оформить кредит\n\
											{"#cSV"} \n\
											{9C9B9D}У Вас в банке {FFFFFF}%d {9C9B9D}открыт%s", PI[playerid][pBankCount], PI[playerid][pBankCount] <= 1 ? ("ый счет") : PI[playerid][pBankCount] <= 4 ? ("ых счета") : ("ых счетов"));

					ShowPlayerDialog(playerid, D_BANK_MENU, DIALOG_STYLE_LIST, "{"#cSV"}Меню банка", global_string, "Далее", "Выход");

					return 1;
				}

			case 0:
				{

					format(global_string, 300, "{FFFFFF}Уважаемый клиент!\n\n\
											В данном меню Вы можете открыть новый счет в нашем банке\n\
											На данный момент у Вас имеется {E4CD20}%d {FFFFFF}открытых счетов\n\
											Стоимость открытия нового счета составит: {76CD5E}5000 рублей\n\n\
											{FFFFFF}Вы согласны открыть новый счет в нашем банке?", PI[playerid][pBankCount]);

					ShowPlayerDialog(playerid, D_BANK_MENU + 1, DIALOG_STYLE_MSGBOX, "{"#cSV"}Открытие счета в банке", global_string, "Да", "Нет");

				}

			case 1:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 2, DIALOG_STYLE_LIST, "{"#cSV"}Управление счетами", "{"#cSV"}1. {FFFFFF}Список счетов и действия над ними\n{"#cSV"}2. {FFFFFF}Заблокировать счет\n{"#cSV"}3. {FFFFFF}Разблокировать счет\n{"#cSV"}4. {FFFFFF}Закрыть счет", "Выбрать", "Выход");
				}

			}
		}

	case D_BANK_MENU + 1:
		{
			if(!response) return 1;

			if(GetMoney(playerid) < 5000)
			return SendClientMessage(playerid, -1, ""cER"У Вас недостаточно средств на счете, для открытия нового счета в банке");

			PI[playerid][pBankCount] ++ ;
			MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);
			
			new player_ip[16];
			GetPlayerIp(playerid, player_ip, sizeof player_ip);

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (name, ip, data, cash) values ('%s', '%s', NOW(), '250')", GetName(playerid), player_ip);
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x76CD5EFF, "[Банк]: {FFFFFF}новый счет на имя {F3F142}%s {FFFFFF}успешно открыт в нашем банке", GetName(playerid));


		}

	case D_BANK_MENU + 2:
		{
			if(!response) return 1;

			switch(listitem)
			{
			case 0:
				{

					SetPVarInt(playerid, "bank_type", 1);

					global_string = "";

					mysql_format(dbHandle, global_string, 128, "SELECT * FROM `bank` WHERE `name` = '%s'", GetName(playerid));
					mysql_tquery(dbHandle, global_string, "ShowBankMoney", "i", playerid);

				}

			case 1:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 3, DIALOG_STYLE_INPUT, "{"#cSV"}Заблокировать банковский счет", "{FFFFFF}В данном окне Вы можете заблокировать Ваш банковский счет\nПосле блокировки счета, Вы, и никто другой, не сможет совершать платежи и переводы на Ваш счет\nСчет всегда можно разблокировать в меню банка\n\nУкажите номер счета, который необходимо заблокировать:", "Далее", "Назад");
				}

			case 2:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 4, DIALOG_STYLE_INPUT, "{"#cSV"}Разблокировать банковский счет", "{FFFFFF}В данном окне Вы можете разблокировать Ваш банковский счет\n\nУкажите номер счета, который необходимо разблокировать:", "Далее", "Назад");
				}

			case 3:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 5, DIALOG_STYLE_INPUT, "{"#cSV"}Закрыть банковский счет", "{FFFFFF}В данном окне Вы можете закрыть счет в нашем банке\nСчет закрывается навсегда и больше не сможет использоваться\nВсе деньги, которые остались на этом счете, будут утеряны\n\nУкажите номер счета, который необходимо закрыть:", "Далее", "Назад");
				}

			}
		}

	case D_BANK_MENU + 3:
		{
			if(!response) return 1;


			if(!(1 <= strlen(inputtext) <= 7))
			return ShowPlayerDialog(playerid, D_BANK_MENU + 3, DIALOG_STYLE_INPUT, "{"#cSV"}Заблокировать банковский счет", "{FFFFFF}В данном окне Вы можете заблокировать Ваш банковский счет\nПосле блокировки счета, Вы, и никто другой, не сможет совершать платежи и переводы на Ваш счет\nСчет всегда можно разблокировать в меню банка\n\nУкажите номер счета, который необходимо заблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;

			for(new i = strlen(inputtext)-1; i != -1; i--)
			switch(inputtext[i])
			{
			case '0'..'9': continue;
			default: return ShowPlayerDialog(playerid, D_BANK_MENU + 3, DIALOG_STYLE_INPUT, "{"#cSV"}Заблокировать банковский счет", "{FFFFFF}В данном окне Вы можете заблокировать Ваш банковский счет\nПосле блокировки счета, Вы, и никто другой, не сможет совершать платежи и переводы на Ваш счет\nСчет всегда можно разблокировать в меню банка\n\nУкажите номер счета, который необходимо заблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;
			}

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "SELECT * FROM bank WHERE id = '%i' and block = '0'", strval(inputtext));
			mysql_tquery(dbHandle, global_string, "BlockBankMoney", "is", playerid, GetName(playerid));

		}

	case D_BANK_MENU + 4:
		{
			if(!response) return 1;


			if(!(1 <= strlen(inputtext) <= 7))
			return ShowPlayerDialog(playerid, D_BANK_MENU + 4, DIALOG_STYLE_INPUT, "{"#cSV"}Разблокировать банковский счет", "{FFFFFF}В данном окне Вы можете разблокировать Ваш банковский счет\n\nУкажите номер счета, который необходимо разблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;

			for(new i = strlen(inputtext)-1; i != -1; i--)
			switch(inputtext[i])
			{
			case '0'..'9': continue;
			default: return ShowPlayerDialog(playerid, D_BANK_MENU + 4, DIALOG_STYLE_INPUT, "{"#cSV"}Разблокировать банковский счет", "{FFFFFF}В данном окне Вы можете разблокировать Ваш банковский счет\n\nУкажите номер счета, который необходимо разблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;
			}

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "SELECT * FROM bank WHERE id = '%i' and block = '1'", strval(inputtext));
			mysql_tquery(dbHandle, global_string, "UnBlockBankMoney", "is", playerid, GetName(playerid));

		}

	case D_BANK_MENU + 5:
		{
			if(!response) return 1;


			if(!(1 <= strlen(inputtext) <= 7))
			return ShowPlayerDialog(playerid, D_BANK_MENU + 5, DIALOG_STYLE_INPUT, "{"#cSV"}Закрыть банковский счет", "{FFFFFF}В данном окне Вы можете закрыть счет в нашем банке\nСчет закрывается навсегда и больше не сможет использоваться\nВсе деньги, которые остались на этом счете, будут утеряны\n\nУкажите номер счета, который необходимо закрыть:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;

			for(new i = strlen(inputtext)-1; i != -1; i--)
			switch(inputtext[i])
			{
			case '0'..'9': continue;
			default: return ShowPlayerDialog(playerid, D_BANK_MENU + 5, DIALOG_STYLE_INPUT, "{"#cSV"}Закрыть банковский счет", "{FFFFFF}В данном окне Вы можете закрыть счет в нашем банке\nСчет закрывается навсегда и больше не сможет использоваться\nВсе деньги, которые остались на этом счете, будут утеряны\n\nУкажите номер счета, который необходимо закрыть:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;
			}

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "SELECT * FROM bank WHERE id = '%i'", strval(inputtext));
			mysql_tquery(dbHandle, global_string, "DeleteBankMoney", "is", playerid, GetName(playerid));

		}

	case D_BANK_MONEY + 6:
		{
			if(!response) return 1;

			new bank_id = GetPVarInt(playerid, "bank_id");

			mysql_format(dbHandle, global_string, 128, "UPDATE bank SET block = '1' WHERE id = '%d' and name = '%s'", bank_id, GetName(playerid));
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}счет {F6F34D}№%d {FFFFFF}успешно заблокирован", bank_id);
			SendClientMessage(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}на данный счет больше не могут совершаться платежи и переводы");

			DeletePVar(playerid, "bank_id");
		}

	case D_BANK_MONEY + 7:
		{
			if(!response) return 1;

			new bank_id = GetPVarInt(playerid, "bank_id");

			mysql_format(dbHandle, global_string, 128, "UPDATE bank SET block = '0' WHERE id = '%d' and name = '%s'", bank_id, GetName(playerid));
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}счет {F6F34D}№%d {FFFFFF}успешно разблокирован", bank_id);
			SendClientMessage(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}теперь на данный счет можно совершать платежи и переводы");

			DeletePVar(playerid, "bank_id");
		}

	case D_BANK_MONEY + 8:
		{
			if(!response) return 1;

			new bank_id = GetPVarInt(playerid, "bank_id");

			mysql_format(dbHandle, global_string, 128, "DELETE FROM bank WHERE id = '%d' and name = '%s'", bank_id, GetName(playerid));
			mysql_tquery(dbHandle, global_string, "", "");
			
			PI[playerid][pBankCount] --;

			MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);

			SendMes(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}счет {F6F34D}№%d {FFFFFF}успешно закрыт", bank_id);
			SendClientMessage(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}данный счет больше нельзя использовать");

			DeletePVar(playerid, "bank_id");
		}

	case D_BANK_MONEY:
		{
			if(!response) return DeletePVar(playerid, "bank_type") & 1;

			new b_id = GetPlayerListitemValue(playerid, listitem);

			SetPVarInt(playerid, "bank_id", b_id);

			new fmt_str[60];
			global_string = "";

			format(fmt_str, 128, "{"#cSV"}Управление банковским счетом №%d", b_id);

			switch(GetPVarInt(playerid, "bank_type"))
			{
			case 1:
				{
					if(Setting[playerid][3] != 1)
					{
						SendMes(playerid, 0xF2F530FF, "[Банк]: Управление банковским счетом {79CB64}№%d", b_id);
						for(new i; i < 24; i++) TextDrawShowForPlayer(playerid, TD_Bank[i]);
						TextDrawShowForPlayer(playerid, TD_BankExit[2]);
						TextDrawShowForPlayer(playerid, TD_BankExit[3]);
						PlayerTextDrawShow(playerid, TDP_Bank[playerid]);
						PlayerTextDrawSetString(playerid, TDP_Bank[playerid], "Меню банка");
						SelectTextDrawEx(playerid, 0xC45C0BAA);
					}
					else
					{
						ShowPlayerDialog(playerid, D_BANK, DIALOG_STYLE_LIST, fmt_str, "\
					{"#cSV"}1. {FFFFFF}Операции со счетом\n\
					{"#cSV"}2. {FFFFFF}Пополнить баланс\n\
					{"#cSV"}3. {FFFFFF}Снять деньги со счета\n\
					{"#cSV"}4. {FFFFFF}Оплата недвижимости\n\
					{"#cSV"}5. {FFFFFF}Пополнить мобильный счет\n\
					{"#cSV"}6. {FFFFFF}Благотворительность\n\
					{"#cSV"}7. {FFFFFF}Перевод на другой счет\n\
					{"#cSV"}8. {FFFFFF}Биз-бюджет", "Выбрать", "Отмена");

					}
				}
			case 2:
				{
					if(Setting[playerid][3] != 1)
					{
						SendMes(playerid, 0xF2F530FF, "[Банк]: Управление банковским счетом {79CB64}№%d", b_id);
						for(new i; i < 19; i++) TextDrawShowForPlayer(playerid, TD_Bank[i]);
						TextDrawShowForPlayer(playerid, TD_BankExit[0]);
						TextDrawShowForPlayer(playerid, TD_BankExit[1]);
						PlayerTextDrawShow(playerid, TDP_Bank[playerid]);
						PlayerTextDrawSetString(playerid, TDP_Bank[playerid], "Банкомат");
						SelectTextDrawEx(playerid, 0xC45C0BAA);
					}
					else
					{
						ShowPlayerDialog(playerid, D_BANK, DIALOG_STYLE_LIST, fmt_str, "\
					{"#cSV"}1. {FFFFFF}Операции со счетом\n\
					{"#cSV"}2. {FFFFFF}Пополнить баланс\n\
					{"#cSV"}3. {FFFFFF}Снять деньги со счета\n\
					{"#cSV"}4. {FFFFFF}Оплата недвижимости\n\
					{"#cSV"}5. {FFFFFF}Пополнить мобильный счет\n\
					{"#cSV"}6. {FFFFFF}Благотворительность", "Выбрать", "Отмена");
					}
				}
			}

			DeletePVar(playerid, "bank_type");
		}

 

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


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

При создании счета в банке в консоль и логи выводится сообщение об ошибке:

[ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'ip' in 'field list' (Query: "INSERT INTO bank (name, ip, data, cash) values ('Nick_Name', '127.0.0.1', NOW(), '250')")

Нам пишет, что не хватает поля "ip". Заходим в базу данных и убеждаемся, что поля "ip" у нас нет:

image.png.efdc3851a7d5daec0cca8744f6262a72.png

Добавляем отсутствующее поле "ip":

image.png.ed46350f6f3f6cec11f84affc0513fab.png

Проверяем на работоспособность:

image.png.1a7ca1fab651839979bc7def15a1a5b9.png

В базу данных записалось, проверим на сервере:

image.png.a8a47ea172c6baadcdc785a8d1c85922.png

На сервере счет высветился, все работает.

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


Ссылка на сообщение
Поделиться на другие сайты
kostik123123
15 минут назад, Lefist сказал:

При создании счета в банке в консоль и логи выводится сообщение об ошибке:


[ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'ip' in 'field list' (Query: "INSERT INTO bank (name, ip, data, cash) values ('Nick_Name', '127.0.0.1', NOW(), '250')")

Нам пишет, что не хватает поля "ip". Заходим в базу данных и убеждаемся, что поля "ip" у нас нет:

image.png.efdc3851a7d5daec0cca8744f6262a72.png

Добавляем отсутствующее поле "ip":

image.png.ed46350f6f3f6cec11f84affc0513fab.png

Проверяем на работоспособность:

image.png.1a7ca1fab651839979bc7def15a1a5b9.png

В базу данных записалось, проверим на сервере:

image.png.a8a47ea172c6baadcdc785a8d1c85922.png

На сервере счет высветился, все работает.

Если не ошибаюсь то вместо IP 127.0.0.1 , что писать надо? 

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


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

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

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

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

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

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

Войти

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

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

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

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

×

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

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