Ryo
Умник
Всем привет.Сложилась проблема:
Человек подаёт заявку на смену ника. Администратор вводит /setname ID и вроде бы должно кикнуть того, кто меняет ник, но кикает всегда ID 0
Человека который меняет ник не кикает,он продолжает играть с новым ником без прописывание его в поле ника окна SA:MP
Вот сам код:
Помогите пожалуйста.Закидаю спасибками
---------- Post added at 08:38 ---------- Previous post was at 08:27 ----------
Походу я с утра что-то накосячил.Вроде работает верно,но не закрываю пока
Человек подаёт заявку на смену ника. Администратор вводит /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 ----------
Походу я с утра что-то накосячил.Вроде работает верно,но не закрываю пока
