Доброго времени суток, Уважаемые пользователи Pro-Pawn.Ru!
Команда /virtmir предназначена для изменения виртуального мира указанному игроку на указанный мир.
Без особых предисловий, перейдем к коду:
Ко всем #define
PHP код:
#define SCM SendClientMessage
В public OnPlayerConnect
PHP код:
SetPVarInt(playerid, "Logged", 0);
В public OnPlayerSpawn
PHP код:
SetPVarInt(playerid, "Logged", 1);
Сама команда:
PHP код:
CMD:virtmir(playerid, params[])
{
new
player,
mir;
if(GetPVarInt(playerid, "Logged") == 0)
return true; // Проверка на авторизацию
if(PlayerInfo[playerid][pAdmin] < 3)
return true; // Проверка на админ-уровень (с 3 админ-уровня)
if(sscanf(params, "dd", player, mir))
return SCM(playerid, -1, "Введите: /virtmir [ID игрока] [вирт. мир]"); // Если администратор не ввел какое либо из значений
if(GetPVarInt(id, "Logged") == 0)
return SCM(playerid, -1, "Игрок не авторизован!"); // Если игрок, id которого ввели, не авторизован
SetPlayerVirtualWorld(player, mir); // присвоение указанного вирт. мира указанному игроку
static const
msg[] = "Администратор %s изменил ваш виртуальный мир на %d.",
msg1[] = "Вы изменили вирт. мир игроку %s на %d.";
new fmt_msg[sizeof(msg) - 4 + MAX_PLAYER_NAME + 2];
format(fmt_msg, sizeof(fmt_msg), msg, PlayerInfo[playerid][pName], mir);
SCM(player, -1, fmt_msg); // Собщение игроку
format(fmt_msg, sizeof(fmt_msg), msg1, PlayerInfo[player][pName], mir);
SCM(playerid, -1, fmt_msg); // сообщение администратору
return 1;
}
Жду адекватной критики.
Автор:
Alanchick
За помощь спасибо:
Untonyst