Gressie
Мастер
Здраствуйте, суть бага в том что: Игроку можно менять ник 100 раз пока он не сменит пароль и не выйдит из игры. Естественно если игроку сменили ник 2 раза, то он теряет аккаунт.
Вот я и решил создать этот мануал, вернее меня "Maks5" попросил.
Данный мануал для модов Rls.
И так, нажимаем Ctrl +F и ищем public ChangeName(playerid)
Меняем старое:
На новое:
Далее "case 327:" удаляем полностью.
Автор: Max_Sumskiy.
Вот я и решил создать этот мануал, вернее меня "Maks5" попросил.
Данный мануал для модов Rls.
И так, нажимаем Ctrl +F и ищем public ChangeName(playerid)
Меняем старое:
PHP:
forward ChangeName(playerid);
public ChangeName(playerid)
{
new plnamep[MAX_PLAYER_NAME];
new string[256];
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);
ShowPlayerDialog(playerid,327,DIALOG_STYLE_INPUT,"Смена пароля"," Введите Ваш новый пароль ","Принять","");
PlayerInfo[playerid][pProverkaip] = 0;
return 1;
}
PHP:
forward ChangeName(playerid);
public ChangeName(playerid)
{
new plnamep[MAX_PLAYER_NAME];
new string[256];
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);
nick[playerid] = 0;
Kick(playerid);
return 1;
}
Автор: Max_Sumskiy.
