Как то раз ко мне ВКонтакте обратился человек с помощью.
Он попросил, чтобы я помог ему написать команду, с помощью которой администратор будет писать от лица игрока.
Я ему помог. (Подтолкнул его на правильный путь)
Сегодня решил доработать и выложить эту команду на Pro-Pawn.Ru.
Ну что-ж, для чего команда нужна и как она работает, я думаю, вы уже поняли, по этому перейдем к коду:
Если нету этого макроса, то добавляем:
В public OnPlayerConnect:PHP код:
#define SCM SendClientMessage
В public OnPlayerSpawn:PHP код:
SetPVarInt(playerid, "Logged", 0);
Сама команда:PHP код:
SetPVarInt(playerid, "Logged", 1);
Получается: "<< All >> Nick_Name сказал: Добро пожаловать на Pro-Pawn.Ru :)".PHP код:
CMD:byplayer(playerid, params[])
{
new string[180],
player,
text;
if(GetPVarInt(playerid, "Logged") == 0) return true; // Проверка на авторизацию
if(PlayerInfo[playerid][pAdmin] <= 4) return true; // Проверка на админ-уровень (с 5 админ-уровня)
if(sscanf(params, "ds[144]", player, text)) return
SCM(playerid, -1, "Введите: /byplayer [id игрока] [текст]"); // Если игрок не ввел какое либо значение
if(GetPVarInt(id, "Logged") == 0) return
SCM(playerid, -1, "Игрок не авторизован!"); // Если игрок, id которого ввели, не авторизован
if(PlayerInfo[playerid][pName] == PlayerInfo[player][pName]) return
SCM(playerid, -1, "Вы не можете указать свой ID!"); // Если игрок указал свой ID
if(PlayerInfo[id][pAdmin] > 0) return
SCM(playerid, -1, "Вы не можете что то сказать от имени администраторa!"); // Если указанный игрок - администратор
format(string, sizeof(string), "<< All >> %s сказал: %s", PlayerInfo[player][pName],text); // форматируем текст
SendClientMessageToAll(-1, string);
return 1;
}
(Чат глобальный)