Телепорт по команде:

Code
if(strcmp(cmdtext, "/Drift1", true) == 0) 

      SetPlayerPos(playerid,2265.4221,1399.2606,42.8203); 
      SendClientMessage(playerid, 0x00F600AA, "..::Добро пожаловать::.."); 
      return 1; 
}

Где /Drift команда телепорта.

SetPlayerPos(playerid,2265.4221,1399.2606,42.8203); Координаты x,y,z

SendClientMessage(playerid, 0x00F600AA, "..::Добро пожаловать::.."); Сообщение выводимое после телепорта в указанное место.

Автор: Greddy.

В верх мода

Code
new tp1;

Потом в public OnGameModeInit() создаём пикап:

Code
CreatePickup(1239, 2, x, y, z)//1239 - вид пикапа (в данном случае это буква i, 2 - это тип пикапа (типо подбираеш его и через время он появляется), в место x, y, z

Теперь в public OnPlayerPickUpPickup создаём действие при подбирании пикапа:
Code

if(pickupid == tp1) 

SetPlayerPos(playerid, x, y, z)// в место x, y, z координаты крыши ( ну или куда там тебе нужно тпшнуть игрока) 

Если у тебя в public OnPlayerPickUpPickup уже есть функции с пикапами то вставь вот этот код:

Code
else if(pickupid == tp1) 

SetPlayerPos(playerid, x, y, z)// в место x, y, z координаты крыши ( ну или куда там тебе нужно тпшнуть игрока) 
}

Точно таким же способом создаёш телепорт обратно, только вставь другие значения и координаты.