Та команда - одно большое недоразумение... Вот
PHP код:
else if(strcmp(cmd, "/setname", true) == 0)
{
new stringo[128];
if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, 0xFF0000FF, "Нет доступа");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{F74848}» Введите{FFFFFF}: /setname [ид]");
giveplayerid = ReturnUser(tmp);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Нет такого игрока!");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new new_player_name[MAX_PLAYER_NAME+12];
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
while ((index < length) && ((index - offset) < (sizeof(new_player_name) - 1)))
{
new_player_name[index - offset] = string[index];
index++;
}
new_player_name[index - offset] = EOS;
format(stringo,sizeof(stringo),"users/%s.ini",new_player_name);
if(fexist(stringo)) return SendClientMessage(playerid,COLOR_GREY,"Ник занят!");
if(strlen(WantNickChange[giveplayerid]) < 3) return SendClientMessage(playerid,-1,"Этот игрок не хочет менять ник");
nick[giveplayerid] = 1;
dini_Create(stringo);
ChangeName(giveplayerid);
return true;
}
Переписал код так, как понял его.
И запомните, INVALID_PLAYER_ID хранит число 65535. И проверка "if(giveplayerid != invalid_player_id)" не поможет проверить то, находится ли игрок онлайн или нет. Для этого есть функция IsPlayerConnected, которая вернёт нуль, если в неё ввести значение, не равное ID игрока, который в сети
- - - Добавлено - - -
PHP код:
else if(strcmp(cmd, "/edit", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] != 11) return SendClientMessage(playerid, 0xFF0000FF, "Нет доступа");
ShowPlayerDialog(playerid, 3725, DIALOG_STYLE_LIST, "Выберите действие", "{FFFFFF}Продать все дома\nУстановить дому интеръер\nРаспределить все дома по классам\nРаспределить по интеръерам\nПродать все бизы\nУбрать дома по 0 вирт\nРаспределить цену домов от 599 номера", "Далее", "Закрыть");
return 1;
}