Доступ к архиву

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

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

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

Большая проблема с /setname

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

Ryo

Умник
Всем привет.Сложилась проблема:
Человек подаёт заявку на смену ника. Администратор вводит /setname ID и вроде бы должно кикнуть того, кто меняет ник, но кикает всегда ID 0
Человека который меняет ник не кикает,он продолжает играть с новым ником без прописывание его в поле ника окна SA:MP

Вот сам код:
PHP:
if(strcmp(cmd, "/setname", true) == 0)
	{
		if(PlayerInfo[playerid][pAdmin] >= 4)
		{
			new newname[128];
			new stringo[128];
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setname [id]");
			giveplayerid = ReturnUser(tmp);
			if(giveplayerid != INVALID_PLAYER_ID)
			{
				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				GetPlayerName(playerid, sendername, sizeof(sendername));
				new length = strlen(cmdtext);
				while ((idx < length) && (cmdtext[idx] <= ' '))
				{
					idx++;
				}
				{
					format(stringo,sizeof(stringo), "%s.ini",newname);
				    if(fexist(stringo)) return SendClientMessage(playerid,COLOR_GREY, "Произошла ошибка при смене ника");
				    GetPlayerName(playerid, sendername, sizeof(sendername));
				    if(strlen(WantNickChange[giveplayerid]) < 3) return SendClientMessage(playerid,-1, "Этот игрок не хочет менять ник");
					nick[giveplayerid] = 1;
				    format(changenam,sizeof(changenam), "%s",WantNickChange[giveplayerid]);
					format(stringo,sizeof(stringo), "%s.ini",WantNickChange[giveplayerid]);
					dini_Create(stringo);
					SendClientMessage(playerid,COLOR_WHITE, "Ник одобрен");
					ChangeName(giveplayerid);
				}
			}
			else if(giveplayerid == INVALID_PLAYER_ID)
			{
				SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Игрок не найден!");
			}
		}
		return true;
	}
PHP:
stock ChangeName(playerid)
{
	new plnamep[MAX_PLAYER_NAME];
	new string[128],giveplayerid;
	new key = PlayerInfo[playerid][pPHousekey];
	if(PlayerInfo[playerid][pPHousekey] != 255 && strcmp(plnamep, HouseInfo[PlayerInfo[playerid][pPHousekey]][hOwner], true) == 0) strmid(HouseInfo[key][hOwner], changenam, 0, strlen(changenam), 255);
	key = PlayerInfo[playerid][pPBiskey];
	if(key != 255)
	{
		if(key > 100)
		{
			key -= 100;
			strmid(SBizzInfo[key][sbOwner], changenam, 0, strlen(changenam), 255);
		}
		else strmid(BizzInfo[key][bOwner], changenam, 0, strlen(changenam), 255);
		OnPropUpdate();
	}
	GetPlayerName(playerid,plnamep,sizeof(plnamep));
	SetPlayerName(playerid, changenam);
	format(string,sizeof(string), "%s.ini",plnamep);
	dini_Remove(string);
	format(string,sizeof(string), "%s сменил имя на %s",plnamep,changenam);
	SendClientMessageToAll(COLOR_LIGHTRED,string);
	format(string,sizeof(string), "Ваш новый ник \"%s\", пропишите его в поле ника SAMP",changenam);
	SendClientMessage(playerid,COLOR_YELLOW,string);
	PlayerInfo[playerid][pCheckip] = 0;
	fix_kick(giveplayerid);
	return true;
}
Помогите пожалуйста.Закидаю спасибками

---------- Post added at 08:38 ---------- Previous post was at 08:27 ----------

Походу я с утра что-то накосячил.Вроде работает верно,но не закрываю пока
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу