Доброго времени суток, Уважаемые пользователи 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[])
{
static const msg[] = "Администратор %s изменил ваш виртуальный мир на %d.",
msg1[] = "Вы изменили вирт. мир игроку %s на %d.";
new player,
mir,
fmt_msg[sizeof(msg) - 4 + MAX_PLAYER_NAME + 2],
fmt_msg1[sizeof(msg1) - 4 + MAX_PLAYER_NAME + 2];
if(GetPVarInt(playerid, "Logged") == 0) return true; // Проверка на авторизацию
if(PlayerInfo[playerid][pAdmin] < 3) return true; // Проверка на админ-уровень (с 5 админ-уровня)
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); // присвоение указанного вирт. мира указанному игроку
format(fmt_msg, sizeof(fmt_msg), msg, PlayerInfo[playerid][pName], mir);
SCM(player, -1, fmt_msg); // Собщение игроку
format(fmt_msg1, sizeof(fmt_msg1), msg1, PlayerInfo[player][pName], mir);
SCM(playerid, -1, fmt_msg1); // сообщение администратору
return 1;
}
Жду адекватной критики.
Автор:
Alanchick
За помощь спасибо:
Untonyst