Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Система смены ника [MYSQL]

Статус
В этой теме нельзя размещать новые ответы.

Артур-1

Мастер
Хороших мануалов на эту тему не видел,решил сделать
Команды:
PHP:
c:setname;
{
    if(PlayerInfo[playerid][bAdmin] < 14) return SendClientMessage(playerid, COLOR_GREY, "Недоступно"); // вместо 5 своё
	if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_GREY, "Введите: /setname [id]");
	if(GetPVarInt(params[0], "ChangeNickQuery") == 0) return SendClientMessage(playerid, COLOR_GREY, "Данный игрок не запрашивал смену ника");
	new name[64], text[128];
	GetPVarString(params[0], "NewNickName", name, sizeof(name));
	format(text, sizeof(text), "SELECT * FROM `accounts` WHERE `Name` = '%s'", name);
	mysql_function_query(1, text, true, "", "");
	new rows, fields;
	cache_get_data(rows, fields);
	if(rows) return SendClientMessage(playerid, COLOR_GREY, "Данный ник уже занят");
	format(text, sizeof(text), "%s сменил(а) имя на %s", PlayerInfo[params[0]][pNames], name);
	SendClientMessageToAll(COLOR_LIGHTGREEN, text);
	SetPlayerNickName(params[0], name);
	PlayerInfo[params[0]][pDMInections] -= 3000;
	SendClientMessage(params[0], COLOR_GREY, "Поздавляем вы успешно сменили свой ник!Пожалуйста перезайдите.");
	SPD(params[0], 32000, 0, "Ник успешно изменён", "{FFFFFF}Пропишите новый ник в окне клиента SA:MP\n\n{CC00CC}Для того чтобы выйти нажмите F6 и пропишите /q", "Закрыть", "");
	KickEx(playerid);
	return true;
}
c:zayava;
{
	ShowPlayerDialog(playerid, 22870, DIALOG_STYLE_INPUT, "DONATE: Сменить никнейм", "Данная услуга стоит 3000 донат очкова[NOT]", "Отправить", "Назад");
	return 1;
}
В OnDialogResponse:
PHP:
	case 22870:
	{
			//if(PlayerInfo[playerid][pDMInections] < 3000) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: Недостаточное количество донат - очков");
			if(GetPVarInt(playerid, "ChangeNickQuery") == 1) return SendClientMessage(playerid, -1, "Нельзя запросить смену ника чаще, чем 1 раз за сеанс");
			new text[128];
			SetPVarInt(playerid, "ChangeNickQuery", 1);
			SetPVarString(playerid, "NewNickName", inputtext);
			SendClientMessage(playerid, -1, "Вы отправили заявку!");
			format(text, sizeof(text), "(/setname)Игрок %s [%d] просит сменить ник на %s.", PlayerInfo[playerid][pNames], playerid, inputtext);
			SendAdminMessage(COLOR_BLUE, text);
			return true;
		}
В конец мода:
PHP:
stock SetPlayerNickName(playerid, nick[])
{
	new update[600];
	format(update, sizeof(update), "UPDATE `accounts` SET `Name`='%s' WHERE `Name`='%s'", nick, PlayerInfo[playerid][pNames]); //Таблица с аккаунтами
	mysql_function_query(connects, update, false, "", "");
	format(update, sizeof(update), "UPDATE `house` SET `hOwner`='%s' WHERE `hOwner`='%s'", nick, PlayerInfo[playerid][pNames]);//Таблица с домами
	mysql_function_query(connects, update, false, "", "");
	format(update, sizeof(update), "UPDATE `bizz` SET `owner`='%s' WHERE `owner`='%s'", nick, PlayerInfo[playerid][pNames]);//Таблица с бизнесами
	mysql_function_query(connects, update, false, "", "");
	format(update, sizeof(update), "UPDATE `avtomast` SET `abOwner`='%s' WHERE `abOwner`='%s'", nick, PlayerInfo[playerid][pNames]);//Таблица с оружейками[бизз]
	mysql_function_query(connects, update, false, "", "");
	SetPlayerName(playerid, nick);
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу