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

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

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

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

Помогите с /setname

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

lbvfk3

Новичок
Мод: Diamond
В общем в моде была команда /setname, она работала, ник менялся. Но все имушество слетало. Слетал и пароль. Вот команда.
PHP:
if(strcmp(cmd, "/setnamed", true) == 0)
	{
		new newname[MAX_PLAYER_NAME];
		new name[MAX_PLAYER_NAME];
		if (PlayerInfo[playerid][pAdmin] >= 9)
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "Èíôî: /setname [player id] [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 [player id] [newname]");
					return 1;
				}
				format(string, sizeof(string), "Users/%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_LIGHTBLUE, string);
					SendClientMessage(giveplayerid, COLOR_BLUE, "Èíôî: Âû ñìåíèëè ñåáå èìÿ, íå çàáóäòå óêàçàòü åãî â êëèåíòå, ïåðåä òåì êàê çàéòè íà ñåðâåð.");
					SendClientMessage(giveplayerid, COLOR_BLUE, "Èíôî: Ñäåëàéòå ñêðèíøîò (êëàâèøà F8), äëÿ òîãî ÷òîáû íå îøèáèòñÿ â íàïèñàíèè íèêà â ñëåäóþùèé ðàç.");
					SetPlayerName(giveplayerid, newname);
					new fileo[200];
					format(fileo,sizeof(fileo),"Users/%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 carkey2 = PlayerInfo[giveplayerid][pCarKey2];
					if (carkey2 != -1)
					{
						strmid(CarsInfo[carkey2][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(strcmp(cmd, "/setname", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] >= 7)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new tmpp[256];
tmpp = strtok(cmdtext, idx);
if (!strlen(tmpp))
{
SendClientMessage(playerid, COLOR_GREY, "MG: /setname [playerid] [nick]");
return 1;
}
giveplayerid = strval(tmpp);
tmp = strtok(cmdtext, idx);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(!(IsPlayerConnected(giveplayerid)))
{
SendClientMessage(playerid, COLOR_GREY, "Èãðîê îôôëàéí!");
return 1;
}
SetPlayerName(giveplayerid, tmp);
format(string, sizeof(string), "MegaGame RPG: Àäìèíèñòðàòîð %s ñìåíèë èãðîêó %s íèê íà %s",sendername, giveplayer, tmp);
SendClientMessageToAll(COLOR_LIGHTRED,string);
SendClientMessage(giveplayerid, COLOR_BLUE, "Èíôî: Âû ñìåíèëè ñåáå èìÿ, íå çàáóäòå óêàçàòü åãî â êëèåíòå, ïåðåä òåì êàê çàéòè íà ñåðâåð.");
SendClientMessage(giveplayerid, COLOR_BLUE, "Èíôî: Ñäåëàéòå ñêðèíøîò (êëàâèøà F8), äëÿ òîãî ÷òîáû íå îøèáèòñÿ â íàïèñàíèè íèêà â ñëåäóþùèé ðàç.");
SetPlayerName(giveplayerid, tmp);
format(string, sizeof(string), "users/%s.ini", giveplayer);
OnPlayerSave(playerid);
fremove(string);
}
return 1;
}
Помогите исправить эти команды. Не обязательно прописывать проверки на админа, самое главное то что внутри, ну и конечно чтоб подходило под этот скрипт. Заранее спасибо.
Не могу исправить русские буквы, сорри
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу