Перейти к содержанию
Авторизация  

Рекомендуемые сообщения

PriteTV

Всем привет ребята, хочу вам предоставить команду /tp(для админов) на DC_CMD

 

Для начала нам нужно сделать enum:

enum
	E_TELEPORT_STRUCT
{
	t_name[30],
	Float: t_pos_x,
	Float: t_pos_y,
	Float: t_pos_z,
	Float: t_pos_angle
};

Под данным enum мы создаем переменную с телепортами:

new teleport_list[][E_TELEPORT_STRUCT] =
{
	{"Южный",         2551.4348,-2186.9688,21.9680, 359.8011},
	{"Батырево",      1881.6501,2179.5518,15.8354,275.5138},
	{"Арзамас",       172.5271,797.0128,12.0010,309.0013},
	{"Лыткарино",     -2350.6179,252.7225,23.4481,180.0000},
	{"Эдово",         1906.1704,-2239.5232,11.1839, 360.0},
	{"Автосалон",     2015.1885,1889.4885,15.6600,211.0767},
	{"Дальнобойщики", 1771.4597,2263.4075,15.8010,1.0368},
	{"Автошкола",     1901.4236,2227.0847,15.7112,269.3018},
	{"Больница",      1986.6730,1600.5284,15.7700, 0.0},
	{"Автовокзал", 	  1960.7789,-2608.4734,10.8149, 270.0},
	{"Шахта",      	  2349.9780,2004.4862,15.9900, 360.0},
	{"Маршрутчики",   1756.8895,2459.5862,15.4400, 90.0},
	{"Ангар для МП",  2741.7957,-2232.7385,17.9451, 90.0},
	{"Крыша для МП",  1918.6581,-1899.1187,56.5196, 90.0}
};

дальше создаем кмд:

CMD:tp(playerid)
{
	if(PI[playerid][pAdmin] < 3) return SendClientMessage(playerid, COLOR_WHITE, "Команда не обнаружена! Используйте {ffcc00}/menu {FFFFFF}для просмотра команд");
	ShowPlayerDialogTeleportList(playerid);
	return 1;
}

дальше создаем сток:

stock ShowPlayerDialogTeleportList(playerid)
{
	new list_text[30 * (sizeof teleport_list)];
	new dest[30];

	for(new i; i < sizeof teleport_list; i ++)
	{
		format(dest, sizeof dest, "%s\n", teleport_list[i][t_name]);
		strcat(list_text, dest);
	}


	return
		ShowPlayerDialog
		(
			playerid, 1, DIALOG_STYLE_LIST,
			"{ffcc00}Телепорт",
			list_text,
			"Выбрать", "Закрыть"
		);
}

Вот и все всем спасибо за внимание)

Автор: Prite TV(Я)


Забыл про OnDialogResponse вставляем туда:

		case 1:
		{
			if(response)
			{
				if(!(0 <= listitem <= sizeof teleport_list - 1)) return 1;

				SetPlayerVirtualWorld(playerid, 0);
				SetPlayerInterior(playerid, 0);
				SetPlayerPos(playerid, teleport_list[listitem][t_pos_x], teleport_list[listitem][t_pos_y], teleport_list[listitem][t_pos_z]);
				SetPlayerFacingAngle(playerid, teleport_list[listitem][t_pos_angle]);
				return 1;
			}
		}

и к дефайнам:

#define COLOR_WHITE 					(0xFFFFFFAA)
Изменено пользователем PriteTV
  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.