DesertFox
Умник
Прошу помочь вырезать из моей команды функцию сохранения ника
В смену ника при рп смерти
PHP:
if(strcmp(cmd, "/setname", true) == 0)
{
new newname[MAX_PLAYER_NAME];
new name[MAX_PLAYER_NAME];
if (PlayerInfo[playerid][pAdmin] >= 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "/setname [playerid/PartOfName] [newname]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, name, sizeof(name));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
while ((idx < length) && ((idx - offset) < (sizeof(newname) - 1)))
{
newname[idx - offset] = cmdtext[idx];
idx++;
}
newname[idx - offset] = EOS;
if(!strlen(newname))
{
SendClientMessage(playerid, COLOR_GRAD1, ": /setname [playerid/PartOfName] [newname]");
return 1;
}
format(string, sizeof(string), "Accounts/%s.ini", newname);
if(!fexist(string))
{
format(string, sizeof(string), "%s ñìåíèë èìÿ íà %s, àäìèíèñòðàòîð: %s.", giveplayer, newname, name);
log("Setname",string);
format(string, sizeof(string), " %s ñìåíèë íèê íà %s.", giveplayer,newname);
SendClientMessageToAll(COLOR_LIGHTRED, string);
SendClientMessage(giveplayerid, COLOR_GRAD1, "California Role Play: Âû ñìåíèëè ñåáå èìÿ, íå çàáóäòå óêàçàòü åãî â êëèåíòå, ïåðåä òåì êàê çàéòè íà ñåðâåð.");
SendClientMessage(giveplayerid, COLOR_GRAD1, "California Role Play: Ñäåëàéòå screenshot (êëàâèøà F8), äëÿ òîãî ÷òîáû íå îøèáèòñÿ â íàïèñàíèè íèêà â ñëåäóþùèé ðàç.");
SetPlayerName(giveplayerid, newname);
new fileo[200];
format(fileo,sizeof(fileo),"Accounts/%s.ini", giveplayer);
new keystr[256];
keystr = dini_Get(fileo, "Key");
new married[256];
married = dini_Get(fileo, "MarriedTo");
dini_Remove(fileo);
OnPlayerRegister(giveplayerid, keystr);
dini_Set(fileo, "MarriedTo", married);
OnPlayerSave(playerid);
new housekey = PlayerInfo[giveplayerid][pPhousekey];
if (housekey != 255)
{
strmid(HouseInfo[housekey][hOwner], newname, 0, strlen(newname), 255);
UpdateHouse(housekey);
}
new carkey = PlayerInfo[giveplayerid][pCarKey];
if (carkey != -1)
{
strmid(CarsInfo[carkey][vOwner], newname, 0, strlen(newname), 255);
OnPropUpdate();
}
new flatkey = PlayerInfo[giveplayerid][pFlatKey];
if (flatkey != 255)
{
strmid(FlatsInfo[flatkey][fOwner], newname, 0, strlen(newname), 255);
UpdateFlat(flatkey);
}
new bizkey = PlayerInfo[giveplayerid][pPbiskey];
if (bizkey != 255)
{
if (bizkey > 100)
{
bizkey -= 100;
strmid(SBizzInfo[bizkey][sbOwner], newname, 0, strlen(newname), 255);
OnPropUpdate();
}
else
{
strmid(BizzInfo[bizkey][bOwner], newname, 0, strlen(newname), 255);
OnPropUpdate();
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Àêêàóíò ñ òàêèì èìåíåì óæå ñóùåñòâóåò â áàçå äàííûõ.");
return 1;
}
}
else if(giveplayerid == INVALID_PLAYER_ID)
{
format(string, sizeof(string), " Èãðîêà íåò íà ñåðâåðå.");
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Íåäîñòàòî÷íî ïðàâ äëÿ èñïîëüçîâàíèÿ êîìàíäû.");
}
return 1;
}
PHP:
if(dialogid == 111)
{
new oldname[256];
if(response)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid, COLOR_GRAD2, "Ââåäèòå íèê!");
return ShowPlayerDialog(playerid,111,DIALOG_STYLE_INPUT,"Ñìåíà íèêà","Âàñ óáèëè ïî ÐÏ, âàì íåîáõîäèìà ñìåíà íèêà\nÂâåäèòå âàø íîâûé íèê, ïðèìåð: Alex_Salvatore","Ñìåíèòü","");
}
new namestring = strfind(inputtext, "_", true);
if(namestring == -1)
{
SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Íåïðàâëüíûé ôîðìàò íèêà! Ïðèìåð: Alex_Rushel");
return ShowPlayerDialog(playerid,111,DIALOG_STYLE_INPUT,"Ñìåíà íèêà","Âàñ óáèëè ïî ÐÏ, âàì íåîáõîäèìà ñìåíà íèêà\nÂâåäèòå âàø íîâûé íèê, ïðèìåð: Alex_Salvatore","Ñìåíèòü","");
}
GetPlayerName(playerid, oldname, sizeof(oldname));
SetPlayerName(playerid, inputtext);
OnPlayerSave(playerid);
}
else
{
if(!strlen(inputtext))
{
SendClientMessage(playerid, COLOR_GRAD2, "Ââåäèòå íèê!");
return ShowPlayerDialog(playerid,111,DIALOG_STYLE_INPUT,"Ñìåíà íèêà","Âàñ óáèëè ïî ÐÏ, âàì íåîáõîäèìà ñìåíà íèêà\nÂâåäèòå âàø íîâûé íèê, ïðèìåð: Alex_Salvatore","Ñìåíèòü","");
}
new namestring = strfind(inputtext, "_", true);
if(namestring == -1)
{
SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "Íåïðàâëüíûé ôîðìàò íèêà! Ïðèìåð: Alex_Rushel");
return ShowPlayerDialog(playerid,111,DIALOG_STYLE_INPUT,"Ñìåíà íèêà","Âàñ óáèëè ïî ÐÏ, âàì íåîáõîäèìà ñìåíà íèêà\nÂâåäèòå âàø íîâûé íèê, ïðèìåð: Alex_Salvatore","Ñìåíèòü","");
}
GetPlayerName(playerid, oldname, sizeof(oldname));
SetPlayerName(playerid, inputtext);
OnPlayerSave(playerid);
}
}
