Donny^^
Ученик
Здравствуйте форумчани ,сегодня я решил выложить смену ника для RLS модов mYSQL r7.
И так начнем,в диалог 9623 добавляем:
Далее...Ко всем командам добавляем ( Команда на Life-CMD)
Команда без командного процессора
В конец мода добавляем
Вот и всё,будут вопросы пишите.
Ах да и в само меню команды /mm добавляем пункт [11] Сменить ник
И так начнем,в диалог 9623 добавляем:
PHP:
case 10:
{
ShowPlayerDialog(playerid, 2655, DIALOG_STYLE_INPUT,"Смена ника","{ffffff}Укажите ник на который хотите сменить свое имя.","Принять","Отмена");
}
}
}
else return true;
}
case 2655:
{
if(!response) return true;
else
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 2655, DIALOG_STYLE_INPUT,"Смена ника","{ffffff}Укажите ник на который хотите сменить свое имя.","Принять","Отмена");
if(strlen(inputtext) < 6 || strlen(inputtext) > 24) return ShowPlayerDialog(playerid, 2655, DIALOG_STYLE_INPUT,"Смена ника","{ffffff}Ник должен состоять от 6 до 24 символов.","Принять","Отмена");
strmid(MyName[playerid],inputtext, 0, strlen(inputtext), 24);
format(mysql_query, sizeof(mysql_query),"SELECT `Name` FROM `Accounts` WHERE `Name` = '%s'", inputtext);
mysql_function_query(connects, mysql_query, true, "OnPlayerSetName","d", playerid);
}
}
PHP:
CMD:setname(playerid, params[]) {
if(PlayerInfo[playerid][pReadmya] >= 7) {
if(sscanf(params, "u",params[0])) return SendClientMessage(playerid, COLOR_LIGHTRED, "/setname [id]");
if(strlen(MyName[params[0]]) < 6) return SendClientMessage(playerid, COLOR_LIGHTRED, "Игрок не желает сменить ник.");
SetPlayerName(params[0], MyName[params[0]]);
new mysql_query[145];
format(mysql_query, sizeof(mysql_query), "UPDATE `Accounts` SET `Name` = '%s' WHERE `Name` = '%s'", MyName[params[0]],PlayerInfo[params[0]][pNames]);
mysql_function_query(connects, mysql_query, false, "", "");
new housekey = PlayerInfo[params[0]][pPhousekey];
if (housekey != 255)
{
strmid(HouseInfo[housekey][hOwner], MyName[params[0]], 0, strlen(MyName[params[0]]), 255);
SaveHouse(housekey);
}
new bizkey = PlayerInfo[giveplayerid][pPbiskey];
if (bizkey != 255)
{
if (bizkey > 100)
{
bizkey -= 100;
strmid(SBizzInfo[bizkey][sOwner], MyName[params[0]], 0, strlen(MyName[params[0]]), 255);
SaveSBizz(bizkey);
}
else
{
strmid(BizzInfo[bizkey][bOwner], MyName[params[0]], 0, strlen(MyName[params[0]]), 255);
SaveBizz(bizkey);
}
}
strmid(PlayerInfo[params[0]][pNames],MyName[params[0]], 0, strlen(MyName[params[0]]), 24);
strmid(MyName[params[0]],"-", 0, strlen("-"), 24);
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы сменили ник игроку.");
SendClientMessage(params[0], COLOR_LIGHTRED, "Смена ника была подтверждена.");
}
return true;
}
PHP:
else if(strcmp(cmd, "/setname", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] >= 7)
{
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, " Введите: /setname [id]");
giveplayerid = ReturnUser(tmp);
if(strlen(MyName[giveplayerid]) < 6) return SendClientMessage(playerid, COLOR_LIGHTRED, "Игрок не желает сменить ник.");
SetPlayerName(giveplayerid, MyName[giveplayerid]);
new mysql_query[145];
format(mysql_query, sizeof(mysql_query), "UPDATE `Accounts` SET `Name` = '%s' WHERE `Name` = '%s'", MyName[params[0]],PlayerInfo[params[0]][pNames]);
mysql_function_query(connects, mysql_query, false, "", "");
new housekey = PlayerInfo[giveplayerid][pPhousekey];
if (housekey != 255)
{
strmid(HouseInfo[housekey][hOwner], MyName[giveplayerid], 0, strlen(MyName[giveplayerid]), 255);
SaveHouse(housekey);
}
new bizkey = PlayerInfo[giveplayerid][pPbiskey];
if (bizkey != 255)
{
if (bizkey > 100)
{
bizkey -= 100;
strmid(SBizzInfo[bizkey][sOwner], MyName[giveplayerid], 0, strlen(MyName[giveplayerid]), 255);
SaveSBizz(bizkey);
}
else
{
strmid(BizzInfo[bizkey][bOwner], MyName[giveplayerid], 0, strlen(MyName[giveplayerid]), 255);
SaveBizz(bizkey);
}
}
strmid(PlayerInfo[giveplayerid][pNames],MyName[giveplayerid], 0, strlen(MyName[giveplayerid]), 24);
strmid(MyName[giveplayerid],"-", 0, strlen("-"), 24);
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы сменили ник игроку.");
SendClientMessage(giveplayerid, COLOR_LIGHTRED, "Смена ника была подтверждена.");
}
return true;
}
PHP:
publics: OnPlayerSetName(playerid)
{
new rows, fields;
cache_get_data(rows, fields);
if(rows) {
strmid(MyName[playerid],"-", 0, strlen("-"), 24);
SendClientMessage(playerid,COLOR_RED,"Данный ник занят.");
}
else
{
new string[145];
format(string,sizeof(string),"%s[%d] хочет сменить свой ник на %s",PlayerInfo[playerid][pNames],playerid,MyName[playerid]);
SendAdminMessage(COLOR_ORANGE, string);
}
return true;
}
Ах да и в само меню команды /mm добавляем пункт [11] Сменить ник
