Косой_Карлик
Умник
Привет, хочу в /mp (системе мероприятий) добавить проверку на тп админам, чтобы если администратор проводящий мп захотел поставил запрет для тп админам, и разрешение, а то многие мешают, только как сделать это????
у меня вот такая система мп
у меня вот такая система мп
C++:
CMD:mp(playerid, params[])
{
if(PlayerInfo[playerid][pAlcoInvenxua] < 4) return SendClientMessage(playerid,COLOR_GREY,"У вас нет прав!");
SPD(playerid, 5343, DIALOG_STYLE_LIST,"Создание МП", "{0080FF}Включить/Выключить телепорт\n{0080FF}1. Раздать оружие(В радиусе 50)\n{0080FF}2. Раздать жизни(В радиусе 50)\n{0080FF}3. Обезоружить всех(В радиусе 50)\n{0080FF}Выдать временный скин", "Выбрать", "Отмена");
return true;
}
C++:
case 5343:
{
if(response)
{
if(listitem == 0) {
if(Teleport == 0)
{
GetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]); // Записываем координаты
TeleportInfo[0] = GetPlayerInterior(playerid); // Записываем интерьер
TeleportInfo[1] = GetPlayerVirtualWorld(playerid); // Записываем виртуальный мир
Teleport = 1;
format(stringer, sizeof(stringer), "%s %s[%d]: открыл телепорт на мероприятие используйте (/gomp)", (FD(playerid)) ? "Основатель" : "Администратор", PlayerInfo[playerid][pNames],playerid);
SendClientMessageToAll(0xFFCD00ff,stringer);
}
else
{
format(stringer, sizeof(stringer), "%s %s[%d]: закрыл телепорт на мероприятие.", (FD(playerid)) ? "Основатель" : "Администратор", PlayerInfo[playerid][pNames],playerid);
SendClientMessageToAll(0xFFCD00ff,stringer);
Teleport = 0;
return 1;
}
}
if(listitem == 1)
{
SPD(playerid, 5346, DIALOG_STYLE_INPUT,"Выдача оружия", "{FFFFFF}Введите id оружия и патроны\n{FFFFFF}Пример: {FF0000}31,500\n{FFFFFF}Где {FF0000}31 m4 {FFFFFF}а {FF0000}500 патроны", "Выдать", "Закрыть");
}
if(listitem == 2)
{
foreach(Player, i)
{
if(GetDistanceBetweenPlayers(playerid,i) < 50 && playerid != i) { SetPlayerHealthAC(i, 100); SetPlayerArmour(i, 0); SendClientMessage(i, COLOR_YELLOW, "Администратор выдал вам жизни");}
}
}
if(listitem == 3)
{
foreach(Player, i)
{
if(GetDistanceBetweenPlayers(playerid,i) < 50 && playerid != i)
{
ResetWeapons(i);
SendClientMessage(i, COLOR_YELLOW, "Администратор забрал у вас оружие");
}
}
}
if(listitem == 4) {
if(IsPlayerInRangeOfPoint(playerid, 60.0, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]) && Teleport == 1) {
ShowPlayerDialog(playerid, 5355, DIALOG_STYLE_INPUT, "Выдача временного скина", "Введите в поле ниже, ID скина", "Далее", "Отмена");
} else return SendClientMessage(playerid, COLOR_WHITE, "Вы не в зоне мероприятия или мероприятие не активно!");
}
}
}
C++:
CMD:gomp(playerid)
{
if(Teleport == 0) return SendClientMessage(playerid, -1, "{AC0000}[Ошибка] {ffffff}На данный момент мероприятий нет.");
else ShowPlayerDialog(playerid, 3333, DIALOG_STYLE_MSGBOX, "{FFCD00}Телепортация", "{ffffff}Вы уверены, что хотите попасть в место проведения мероприятия?", "Да", "Нет");
return 1;
}
C++:
case 3333:
{
if(!response) return true;
new Float:Coords[3], in = GetPlayerInterior(playerid), vw = GetPlayerVirtualWorld(playerid);
GetPlayerPos(playerid, Coords[0], Coords[1], Coords[2]);
SetPVarFloat(playerid, "BackX", Coords[0]), SetPVarFloat(playerid, "BackY", Coords[1]), SetPVarFloat(playerid, "BackZ", Coords[2]), SetPVarInt(playerid, "BackIn", in), SetPVarInt(playerid, "BackVw", vw);
SetPPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);
SetPlayerInteriorEx(playerid, TeleportInfo[0]);
SetPlayerVirtualWorldEx(playerid, TeleportInfo[1]);
SendClientMessage(playerid,COLOR_BLUE,"Вы были успешно телепортированы на место проведения мероприятия.");
SendClientMessage(playerid,COLOR_BLUE,"Используйте команду '/back', чтобы вернуться обратно.");
return true;
}
Последнее редактирование:
