Sammeri
Дебютант
Всем привет, решил сделать урок (P.S Автор не я )
И так начнем
в new
К #define
/mp (Для админов)
Команда /mptp (Для игроков)
Осталось только case их всего три
Скрины:
И так начнем
в new
new Teleport = 0;
new Float:TeleportFloat[3];
new TeleportInfo[2];
new stringmp[144];
new Float:TeleportFloat[3];
new TeleportInfo[2];
new stringmp[144];
#define SCM SendClientMessage
#define SCMTA SendClientMessageToAll
#define PINFO PlayerInfo
#define COLOR_ORANGE 0xFFA500AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREY 0xAFAFAFFF
#define COLOR_GOLD 0xFFD700FF
#define SCMTA SendClientMessageToAll
#define PINFO PlayerInfo
#define COLOR_ORANGE 0xFFA500AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREY 0xAFAFAFFF
#define COLOR_GOLD 0xFFD700FF
if(strcmp(cmd, "/mp", true) == 0)
{
if(PINFO[playerid][pAdminLVL] < 4) return SendClientMessage(playerid, COLOR_GREY, "У вас нет прав!");
ShowPlayerDialog(playerid, 5343, DIALOG_STYLE_LIST, "{FF6F00}Меню создания мероприятия", "{FFFFFF}1. Создать/удалить телепорт\n2. Раздать оружие (в радиусе 50)\n3. Раздать жизни (в радиусе 50)\n4. Обезаружить всех (в радиусе 50)", "Выбрать", "Закрыть");
return true;
}
{
if(PINFO[playerid][pAdminLVL] < 4) return SendClientMessage(playerid, COLOR_GREY, "У вас нет прав!");
ShowPlayerDialog(playerid, 5343, DIALOG_STYLE_LIST, "{FF6F00}Меню создания мероприятия", "{FFFFFF}1. Создать/удалить телепорт\n2. Раздать оружие (в радиусе 50)\n3. Раздать жизни (в радиусе 50)\n4. Обезаружить всех (в радиусе 50)", "Выбрать", "Закрыть");
return true;
}
if(strcmp(cmd, "/tpmp", true) == 0)
{
if(Teleport == 0) return 1;
else ShowPlayerDialog(playerid, 3333, DIALOG_STYLE_MSGBOX, "{FF6F00}Телепортация", "{FFFFFF}Вы уверены, что хотите попасть в место проведения мероприятия?", "Да", "Нет");
return 1;
}
{
if(Teleport == 0) return 1;
else ShowPlayerDialog(playerid, 3333, DIALOG_STYLE_MSGBOX, "{FF6F00}Телепортация", "{FFFFFF}Вы уверены, что хотите попасть в место проведения мероприятия?", "Да", "Нет");
return 1;
}
case 5343:
case 5343:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
if(Teleport == 0)
{
GetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);
TeleportInfo[0] = GetPlayerInterior(playerid);
TeleportInfo[1] = GetPlayerVirtualWorld(playerid);
Teleport = 1;
format(stringmp, sizeof(stringmp), "Администратор %s[%d] открыл телепорт для игроков. Чтобы телепортироваться введите: {0abf12}/tpmp", GN(playerid), playerid);
SCMTA(COLOR_GOLD, stringmp, 1);
}
else
{
Teleport = 0;
format(stringmp, sizeof(stringmp), "Администратор %s[%d] закрыл телепорт для игроков. Телепортирование {CC0000}запрещено", GN(playerid), playerid);
SCMTA(COLOR_GOLD, stringmp, 1);
}
}
case 1: return ShowPlayerDialog(playerid, 5346, DIALOG_STYLE_INPUT, "{0CB4D6}Выдача оружия", "{FFFFFF}Введите ID оружия и патроны\nНапример: 31,500\nГде 31 - m4, а 500 патроны", "Выдать", "Назад");
case 2:
{
foreach (new i : Player)
{
if(GetDistanceBetweenPlayers(playerid, i) > 50) continue;
SetPlayerHealthAC(i, 100.0);
SCM(i, COLOR_WHITE, "{CC0000}[Информация] {FFFFFF}Администратор выдал Вам жизни для участия мероприятии!");
}
}
case 3:
{
foreach (new i : Player)
{
if(GetDistanceBetweenPlayers(playerid,i) > 50) continue;
ResetPlayerWeapons(i);
SCM(i, COLOR_WHITE, "{CC0000}[Информация] {FFFFFF}Администратор забрал у Вас оружие на время мероприятия!");
}
}
}
ShowPlayerDialog(playerid, 5343, DIALOG_STYLE_LIST, "{0CB4D6}Меню создания мероприятия", "{FFFFFF}1. Создать/удалить телепорт\n2. Раздать оружие (в радиусе 50)\n3. Раздать жизни (в радиусе 50)\n4. Обезаружить всех (в радиусе 50)", "Выбрать", "Закрыть");
return 1;
}
case 5346:
case 5346:
{
if(!response) return ShowPlayerDialog(playerid, 5343, DIALOG_STYLE_LIST, "{0CB4D6}Меню создания мероприятия", "{FFFFFF}1. Создать/удалить телепорт\n2. Раздать оружие (в радиусе 50)\n3. Раздать жизни (в радиусе 50)\n4. Обезаружить всех (в радиусе 50)", "Выбрать", "Закрыть");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 5346, DIALOG_STYLE_INPUT, "{0CB4D6}Выдача оружия", "{FFFFFF}Введите id оружия и патроны\nПример: 31,500\nГде 31 m4 а 500 патроны", "Выдать", "Назад");
else if(strfind(inputtext,",", true) != -1)
{
new razdel[2][24];
split(inputtext, razdel, ',');
foreach (new i : Player)
{
if(GetDistanceBetweenPlayers(playerid, i) > 50) continue;
GivePlayerWeaponAC(i, strval(razdel[0]), strval(razdel[1]));
SCM(i, COLOR_WHITE, "{CC0000}[Информация] {FFFFFF}Администратор выдал Вам оружие для мероприятия. В случае DM - Варн!");
}
}
return 1;
}
case 3333:
case 3333:
{
if(!response) return 1;
SetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1]+2, TeleportFloat[2]);
SetPlayerInterior(playerid, TeleportInfo[0]);
SetPlayerVirtualWorld(playerid, TeleportInfo[1]);
SCM(playerid, COLOR_ORANGE, "Вы были {0abf12}успешно {FFA500}телепортированы на мероприятие");
return 1;
}
case 5343:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
if(Teleport == 0)
{
GetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);
TeleportInfo[0] = GetPlayerInterior(playerid);
TeleportInfo[1] = GetPlayerVirtualWorld(playerid);
Teleport = 1;
format(stringmp, sizeof(stringmp), "Администратор %s[%d] открыл телепорт для игроков. Чтобы телепортироваться введите: {0abf12}/tpmp", GN(playerid), playerid);
SCMTA(COLOR_GOLD, stringmp, 1);
}
else
{
Teleport = 0;
format(stringmp, sizeof(stringmp), "Администратор %s[%d] закрыл телепорт для игроков. Телепортирование {CC0000}запрещено", GN(playerid), playerid);
SCMTA(COLOR_GOLD, stringmp, 1);
}
}
case 1: return ShowPlayerDialog(playerid, 5346, DIALOG_STYLE_INPUT, "{0CB4D6}Выдача оружия", "{FFFFFF}Введите ID оружия и патроны\nНапример: 31,500\nГде 31 - m4, а 500 патроны", "Выдать", "Назад");
case 2:
{
foreach (new i : Player)
{
if(GetDistanceBetweenPlayers(playerid, i) > 50) continue;
SetPlayerHealthAC(i, 100.0);
SCM(i, COLOR_WHITE, "{CC0000}[Информация] {FFFFFF}Администратор выдал Вам жизни для участия мероприятии!");
}
}
case 3:
{
foreach (new i : Player)
{
if(GetDistanceBetweenPlayers(playerid,i) > 50) continue;
ResetPlayerWeapons(i);
SCM(i, COLOR_WHITE, "{CC0000}[Информация] {FFFFFF}Администратор забрал у Вас оружие на время мероприятия!");
}
}
}
ShowPlayerDialog(playerid, 5343, DIALOG_STYLE_LIST, "{0CB4D6}Меню создания мероприятия", "{FFFFFF}1. Создать/удалить телепорт\n2. Раздать оружие (в радиусе 50)\n3. Раздать жизни (в радиусе 50)\n4. Обезаружить всех (в радиусе 50)", "Выбрать", "Закрыть");
return 1;
}
case 5346:
case 5346:
{
if(!response) return ShowPlayerDialog(playerid, 5343, DIALOG_STYLE_LIST, "{0CB4D6}Меню создания мероприятия", "{FFFFFF}1. Создать/удалить телепорт\n2. Раздать оружие (в радиусе 50)\n3. Раздать жизни (в радиусе 50)\n4. Обезаружить всех (в радиусе 50)", "Выбрать", "Закрыть");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 5346, DIALOG_STYLE_INPUT, "{0CB4D6}Выдача оружия", "{FFFFFF}Введите id оружия и патроны\nПример: 31,500\nГде 31 m4 а 500 патроны", "Выдать", "Назад");
else if(strfind(inputtext,",", true) != -1)
{
new razdel[2][24];
split(inputtext, razdel, ',');
foreach (new i : Player)
{
if(GetDistanceBetweenPlayers(playerid, i) > 50) continue;
GivePlayerWeaponAC(i, strval(razdel[0]), strval(razdel[1]));
SCM(i, COLOR_WHITE, "{CC0000}[Информация] {FFFFFF}Администратор выдал Вам оружие для мероприятия. В случае DM - Варн!");
}
}
return 1;
}
case 3333:
case 3333:
{
if(!response) return 1;
SetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1]+2, TeleportFloat[2]);
SetPlayerInterior(playerid, TeleportInfo[0]);
SetPlayerVirtualWorld(playerid, TeleportInfo[1]);
SCM(playerid, COLOR_ORANGE, "Вы были {0abf12}успешно {FFA500}телепортированы на мероприятие");
return 1;
}
