Вопросы

При попытке перевода денег на другой счет, после ввода счета, и суммы, ничего не происходит, закрывается окно и всё

case D_LIC+4:
		{
			if(!response) return 1;
			new bank_c, price;
			if(sscanf(inputtext, "p<,>ii", bank_c, price))
			return ShowPlayerDialog(playerid, D_LIC+4, 1, "{"#cSV"}Перевод", "{FFFFFF}Введите номер счета и количество денег через запятую\n\nПример: 383388, 10000", "Принять", "Назад");
			else if(!(price > 0))
			return ShowPlayerDialog(playerid, D_LIC+4, 1, "{"#cSV"}Перевод", "{FFFFFF}Введите номер счета и количество денег через запятую\n\nПример: 383388, 10000", "Принять", "Назад");
			else if(GetMoney(playerid) < price)
			return SendClientMessage(playerid, -1, ""cER"Недостаточно средств на руках. Для перевода средств на другой счет, необходимая сумма перевода должна быть на руках");

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "SELECT name, ip, cash, block FROM bank WHERE id = '%d'", bank_c);
			mysql_tquery(dbHandle, global_string, "CheckMultiAccountBank", "iii", playerid, bank_c, price);

		}

 

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


Ссылка на сообщение

6 ответов на этот вопрос

  • 0

@archiboy6, функцию CheckMultiAccountBank покажите.

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


Ссылка на сообщение
  • 0

@odosenok 

Спойлер

publics: CheckMultiAccountBank(playerid, bank_c, count)
{
	new r, f;
	cache_get_data(r, f);

	if(!r)
	return SendClientMessage(playerid, -1, ""cER"Данного счета не существует. Проверьте правильность ввода");

	new bank_ip[16], bank_name[MAX_PLAYER_NAME], bank_cash, bank_block;

	cache_get_field_content(0, "name", bank_name, dbHandle, 24);
	cache_get_field_content(0, "ip", bank_ip, dbHandle, MAX_PLAYER_NAME);
	bank_cash = cache_get_field_content_int(0, "cash");
	bank_block = cache_get_field_content_int(0, "block");

	if(!(bank_block == 0))
	return SendClientMessage(playerid, -1, ""cER"Данный банковский счет заблокирован. Перевод невозможен");

	else if(!strcmp(bank_ip, PI[playerid][pIP], true))
	{
		SendClientMessage(playerid, -1, ""cER"Передача денежных средств на мультиаккаунты запрещена");
		return 1;
	}
	else if((bank_cash + count) > 2000000000)
	return SendClientMessage(playerid, -1, ""cER"Данный счет переполнен, укажите другой номер счета..");
	
	global_string = "";
	
	mysql_format(dbHandle, global_string, 158, "SELECT * FROM bank WHERE id = '%d' and name = '%s'", GetPVarInt(playerid, "bank_id"), GetName(playerid));
	mysql_tquery(dbHandle, global_string, "TranslateBankCash", "isiii", playerid, bank_name, bank_cash, count, bank_c);

	return 1;
}

 

 

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


Ссылка на сообщение
  • 0

@archiboy6, теперь функцию TranslateBankCash.

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


Ссылка на сообщение
  • 0

@odosenok @odosenok

Спойлер

publics: TranslateBankCash(playerid, bank_whoname[], bank_whocash, bank_whocount, bank_c)
{
	new r, f;
	cache_get_data(r, f);
	
	if(!r)
	return SendClientMessage(playerid, -1, ""cER"Системная ошибка #1: обратитесь к администрации проекта");

	new money = cache_get_field_content_int(0, "cash");
	
	if(money < bank_whocount)
	return SendClientMessage(playerid, -1, ""cER"На Вашем счете недостаточно средств для перевода денег. Пополните счет, для совершения перевода");

	SendMes(playerid, -1, ""cDA"Вы совершили перевод на счет №%d. Сумма перевода: %d руб.", bank_c, bank_whocount);
	SendMes(playerid, -1, ""cDA"Остаток на Вашем счете: %d руб.", money - bank_whocount);

	global_string = "";

	mysql_format(dbHandle, global_string, 170, "INSERT INTO bank_story (`date`, name, count, type, whoname, bank_score) VALUES (NOW(), '%s', '%d', '4', '%s', '%d')", GetName(playerid), bank_whocount, bank_whoname, GetPVarInt(playerid, "bank_id"));
	mysql_tquery(dbHandle, global_string, "", "");

	new bank_money = bank_whocash + bank_whocount;

	global_string = "";

	mysql_format(dbHandle, global_string, 160, "UPDATE bank SET cash = '%d' WHERE id = '%d'", bank_money, bank_c);
	mysql_tquery(dbHandle, global_string, "", "");
	
	new bank_cash = money - bank_whocount;
	
	global_string = "";

	mysql_format(dbHandle, global_string, 160, "UPDATE bank SET cash = '%d' WHERE id = '%d'", bank_cash, GetPVarInt(playerid, "bank_id"));
	mysql_tquery(dbHandle, global_string, "", "");

	if(!(GetPlayerID(bank_whoname) == INVALID_PLAYER_ID))
	{
		new targetid = GetPlayerID(bank_whoname);

		SendMes(targetid, -1, ""cDA"%s совершил перевод на Ваш банковский счет №%d. Сумма перевода: %d руб.", GetName(playerid), bank_c, bank_whocount);
		SendMes(targetid, -1, ""cDA"Теперь на данном банковском счете: %d руб.", bank_money);
	}

	global_string = "";

	mysql_format(dbHandle, global_string, 170, "INSERT INTO bank_story (`date`, name, count, type, whoname, bank_score) VALUES (NOW(), '%s', '%d', '1', '%s', '%d')", bank_whoname, bank_whocount, GetName(playerid), bank_c);
	mysql_tquery(dbHandle, global_string, "", "");
	
	return 1;
}

 

 

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо