Pavel_Only
Умник
К командам добавляем
В диалоги
PHP:
CMD:setstats(playerid, params[])
{
if(PlayerLogged[playerid] == 0) return 1;
if(PlayerInfo[playerid][pAdmin] < 1337 || AdminLogged[playerid] == false) return 1;
if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setstats [id игрока]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
if(PlayerLogged[params[0]] == 0) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotLogged);
NameStats[playerid] = params[0];
format(string, 96, "Изменить статистику: %s", sendername(params[0]));
ShowPlayerDialog(playerid,D_UCPADMIN, DIALOG_STYLE_LIST, string, "Изменить имя игрока\nИзменить пароль игрока\nИзменить уровень администратора\nИзменить уровень игрока\nИзменить уважение игрока\nИзменить пол игрока\nИзменить статус игрока", "Принять", "Отмена");
return 1;
}
PHP:
case D_UCPADMIN:
{
if(!response) return 1;
switch(listitem)
{
case 0: { format(string, 64, "Введите желаемый ник для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Имя игрока", string, "Принять", "Отмена"); PlayerStats[playerid] = 1; }
case 1: { format(string, 64, "Введите желаемый пароль для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Пароль игрока", string, "Принять", "Отмена"); PlayerStats[playerid] = 2; }
case 2: { format(string, 90, "Введите желаемый уровень администратора\nдля игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уровень администратора", string, "Принять", "Отмена"); PlayerStats[playerid] = 3; }
case 3: { format(string, 90, "Введите желаемый уровень игрока\nдля игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уровень игрока", string, "Принять", "Отмена"); PlayerStats[playerid] = 4; }
case 4: { format(string, 90, "Введите желаемое уважение для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid,D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уважение игрока", string, "Принять", "Отмена"); PlayerStats[playerid] = 5; }
case 5: { format(string, 90, "Введите желаемый пол для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Пол игрока", string, "Принять", "Отмена"); PlayerStats[playerid] = 6; }
case 6: { format(string, 90, "Введите желаемый статус для игрока %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, 1, "Статус игрока", string, "Принять", "Отмена"); PlayerStats[playerid] = 7; }
}
}
case D_UCPADMIN2:
{
if(!response) return 1;
switch(PlayerStats[playerid])
{
case 1:
{
if(!strlen(inputtext)) { format(string, 64, "Введите желаемый ник для игрока: %s", sendername(NameStats[playerid]), RADIO, WEATHER); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Имя игрока", string, "Принять", "Отмена"); return 1; }
format(query, sizeof(query), "SELECT * FROM "TABLE_ACCOUNT" WHERE name = '%s'", inputtext);
mysql_query(query);
mysql_store_result();
if(mysql_fetch_row_format(query)) { format(string, 64, "Введите желаемый ник для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Имя игрока", string, "Принять", "Отмена"); return SendClientMessage(playerid, COLOR_GREY, "Данное имя уже используется на сервере!"); }
format(query,sizeof(query),"UPDATE "TABLE_ACCOUNT" SET name='%s' WHERE name='%s'",inputtext, sendername(NameStats[playerid]));
mysql_query(query);
/////////
if(GetPlayerHouse(NameStats[playerid]))
{
new i = GetPVarInt(NameStats[playerid], "PlayerHouse");
strmid(HouseInfo[i][hOwner],inputtext,0,strlen(inputtext),MAX_PLAYER_NAME);
SetHouseStr(i, "hOwner", inputtext);
}
if(GetPlayerBizz(NameStats[playerid]))
{
new i = GetPVarInt(NameStats[playerid], "PlayerBizz");
strmid(BizzInfo[i][bOwner],inputtext,0,strlen(inputtext),MAX_PLAYER_NAME);
SetBizzStr(i, "owner", inputtext);
UpdateBizz(i);
}
if(GetPlayerCar(NameStats[playerid]))
{
new i = GetPVarInt(NameStats[playerid], "PlayerCars");
strmid(CarInfo[i][cOwner],inputtext,0,strlen(inputtext),MAX_PLAYER_NAME);
SetCarsStr(i, "owner", inputtext);
}
SendMes(playerid, COLOR_BLUE, "Вы сменили имя игрока %s на %s", sendername(NameStats[playerid]), inputtext);
SetPlayerName(NameStats[playerid],inputtext);
SendMes(NameStats[playerid], COLOR_LIGHTRED, "Администратор %s сменил ваше имя игрока", sendername(playerid));
SendMes(NameStats[playerid], COLOR_LIGHTRED, "Ваше новое имя игрока: {ffffff}%s", inputtext);
SendClientMessage(NameStats[playerid], COLOR_LIGHTRED, "Рекмоендуется сделать скриншот. Клавиша: {ffffff}F8");
SendClientMessage(NameStats[playerid], COLOR_LIGHTRED, "Пропишите свой новый ник в окне {ffffff}SA:MP");
mysql_free_result();
}
case 2:
{
if(!strlen(inputtext)) { format(string, 64, "Введите желаемый пароль для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Пароль игрока", string, "Принять", "Отмена"); return 1;}
format(query,sizeof(query),"UPDATE "TABLE_ACCOUNT" SET password='%s' WHERE name='%s'",inputtext, sendername(NameStats[playerid]));
mysql_query(query);
/////////
SendMes(playerid, COLOR_BLUE, "Вы сменили пароль игрока %s на %s", sendername(NameStats[playerid]), inputtext);
SendMes(NameStats[playerid], COLOR_LIGHTRED, "Администратор %s сменил ваш пароль", sendername(playerid));
SendMes(NameStats[playerid], COLOR_LIGHTGREEN, "Ваш новый пароль: {ffffff}%s", inputtext);
SendMes(NameStats[playerid], COLOR_LIGHTGREEN, "Рекмоендуется сделать скриншот. Клавиша: {ffffff}F8");
}
case 3:
{
if(!strlen(inputtext)) { format(string, 90, "Введите желаемый уровень администратора\nдля игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уровень администратора", string, "Принять", "Отмена"); return 1; }
if(strval(inputtext) < 0 || strval(inputtext) > 1337) { format(string, 90, "Введите желаемый уровень администратора\nдля игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уровень администратора", string, "Принять", "Отмена"); return 1; }
SendMes(playerid, COLOR_BLUE, "Вы установили уровень администратора игроку %s на %d", sendername(NameStats[playerid]), strval(inputtext));
SendMes(NameStats[playerid], COLOR_BLUE, "Администратор %s установил вам уровень администратора на %d", sendername(playerid), strval(inputtext));
PlayerInfo[NameStats[playerid]][pAdmin] = strval(inputtext);
strmid(PlayerInfo[NameStats[playerid]][pAdmPassword], GeneratePassword(10), 0, 10, 255);
if(PlayerInfo[NameStats[playerid]][pAdmin] > 0)
{
SendMes(NameStats[playerid], COLOR_BLUE, "Ваш администраторский пароль: {ffffff}'%s'",PlayerInfo[NameStats[playerid]][pAdmPassword]);
SendClientMessage(NameStats[playerid], COLOR_BLUE, "Рекомендуается сделать скриншот. Клавиша: {ffffff}F8");
SetPlayerStr(sendername(NameStats[playerid]),"apassword",PlayerInfo[NameStats[playerid]][pAdmPassword]);
}
}
case 4:
{
if(!strlen(inputtext)) { format(string, 90, "Введите желаемый уровень игрока\nдля игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уровень игрока", string, "Принять", "Отмена"); return 1; }
if(strval(inputtext) < 1 || strval(inputtext) > 100) { format(string, 90, "Введите желаемый уровень игрока\nдля игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уровень игрока", string, "Принять", "Отмена"); return 1; }
SendMes(playerid, COLOR_BLUE,"Вы установили уровень игрока %s на %d", sendername(NameStats[playerid]), strval(inputtext));
SendMes(NameStats[playerid], COLOR_BLUE, "Администратор %s установил вам уровень игрока на %d", sendername(playerid), strval(inputtext));
PlayerInfo[NameStats[playerid]][pLevel] = strval(inputtext);
SetPlayerScore(NameStats[playerid], PlayerInfo[NameStats[playerid]][pLevel]);
}
case 5:
{
if(!strlen(inputtext)) { format(string, 90, "Введите желаемое уважение для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уважение игрока", string, "Принять", "Отмена"); return 1; }
if(strval(inputtext) < 1 || strval(inputtext) > 1000) { format(string, 90, "Введите желаемое уважение для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid,D_UCPADMIN2, DIALOG_STYLE_INPUT, "Уважение игрока", string, "Принять", "Отмена"); return 1; }
SendMes(playerid, COLOR_BLUE, "Вы установили уровень администратора игроку %s на %d", sendername(NameStats[playerid]), strval(inputtext));
SendMes(NameStats[playerid], COLOR_BLUE, "Администратор %s установил вам уважение игрока на %d", sendername(playerid), strval(inputtext));
PlayerInfo[NameStats[playerid]][pExp] = strval(inputtext);
}
case 6:
{
if(!strlen(inputtext)) { format(string, 90, "Введите желаемый пол для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Пол игрока", string, "Принять", "Отмена"); return 1; }
if(strval(inputtext) < 1 || strval(inputtext) > 2) { format(string, 90, "Введите желаемый пол для игрока: %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, DIALOG_STYLE_INPUT, "Пол игрока", string, "Принять", "Отмена"); return 1; }
new sex[20];
if(strval(inputtext) == 1) sex = "мужской";
else sex = "женский";
SendMes(playerid, COLOR_BLUE, "Вы изменили пол игроку %s на %s",sendername(NameStats[playerid]), sex);
SendMes(NameStats[playerid], COLOR_BLUE, "Администратор %s изменил ваш пол на %s",sendername(playerid), sex);
PlayerInfo[NameStats[playerid]][pSex] = strval(inputtext);
}
case 7:
{
if(!strlen(inputtext)) { format(string, 90, "Введите желаемый статус для игрока %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, 1, "Статус игрока", string, "Принять", "Отмена"); return 1; }
if(strval(inputtext) < 0 || strval(inputtext) > 1) { format(string, 90, "Введите желаемый статус для игрока %s", sendername(NameStats[playerid])); ShowPlayerDialog(playerid, D_UCPADMIN2, 1, "Статус игрока", string, "Принять", "Отмена"); return 1; }
if(strval(inputtext) == 0)
{
SendMes(playerid, COLOR_BLUE, "Вы отключили VIP возможности для игрока: %s", sendername(NameStats[playerid]));
SendMes(NameStats[playerid], COLOR_BLUE, "Администратор %s отключил для вас VIP возможности", sendername(playerid));
PlayerInfo[NameStats[playerid]][pVIP] = false;
}
if(strval(inputtext) == 1)
{
SendMes(playerid, COLOR_BLUE, "Вы включили VIP возможности для игрока: %s", sendername(NameStats[playerid]));
SendMes(NameStats[playerid], COLOR_BLUE, "Администратор %s включил для вас VIP возможности", sendername(playerid));
PlayerInfo[NameStats[playerid]][pVIP] = true;
}
}
}
PlayerStats[playerid] = 0;
}
