Ко всем forward-ам добавляем: 
Code
forward IsADalnoboiCar(carid);
 Потом вставляем этот паблик куда вам угодно: 
Code
public IsADalnoboiCar(carid) 
 { 
 new model=GetVehicleModel(carid); 
 if(model == 515 || model == 514 || model == 403) // 
 {return 1;} 
 return 0; 
 }
Где 515,514,403 это ид грузовых машин.
 В public OnPlayerStateChange(playerid, newstate, oldstate) вставляем: 
Code
if(IsADalnoboiCar(newcar)) { 
 if(PlayerInfo[playerid][pJob] != 16 )  
 RemovePlayerFromVehicle(playerid); 
 SendClientMessage(playerid, COLOR_GREY, "Ты не Дальнобойщик."); 
 } 
 }
А сейчас переходим к созданию команды:
Code
if(strcmp(cmd, "/gruz", true) == 0) { 
   new carid = GetPlayerVehicleID(playerid); 
   if(PlayerInfo[playerid][pJob] != 16) { 
    format(string, sizeof(string), "  Вы не работаете дальнобойщиком!"); 
       SendClientMessage(playerid, COLOR_GRAD1, string); return 1; 
   } 
   if (!IsADalnoboiCar(carid)) { 
          SendClientMessage(playerid, COLOR_GRAD1, "  Вы должны находится в фуре чтобы взять груз!"); return 1; 
   } 
   GetPlayerName(playerid, sendername, sizeof(sendername)); 
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); 
      new listitems[] = "1\tОтвезти груз в ЛС\n2\tОтвезти груз в СФ\n3\tОтвезти груз в ЛВ"; 
      ShowPlayerDialog(playerid,123,DIALOG_STYLE_LIST," Портативный Gps Навигатор:",listitems," Подтвердить"," Отмена"); 
      return 1; 
  }
 А это команда чтобы выбрать куда везти груз. 
Code
if(strcmp(cmd, "/ungruz", true) == 0) 
  { 
      if(IsPlayerConnected(playerid)) 
   { 
       if(PlayerInfo[playerid][pJob] != 16) 
    { 
     SendClientMessage(playerid, COLOR_GREY, " Вы не дальнобойщик!"); 
        return 1; 
         } 
      new carid = GetPlayerVehicleID(playerid); 
      new gTrailer = GetVehicleTrailer(carid); 
          if(!IsTrailerAttachedToVehicle(carid)) 
       { 
     SendClientMessage(playerid, COLOR_GREY, "Вы приехали без груза!!!"); 
       return 1; 
    } 
             new x_nr[256]; 
    x_nr = strtok(cmdtext, idx); 
    if(!strlen(x_nr)) 
    { 
        SendClientMessage(playerid, COLOR_WHITE, "Используйте: /upgruz название взависимости от локации"); 
        SendClientMessage(playerid, COLOR_WHITE, "Доступные Названия: ls, sf, lv."); 
     return 1; 
    } 
       if(strcmp(x_nr,"ls",true) == 0) 
    { 
     if(PlayerToPoint(3.0,playerid,2519.7297,-2440.3740,13.3399)) 
     { 
      format(string, sizeof(string), "|____________________________|"); 
      SendClientMessage(playerid, COLOR_RED1, string); 
       format(string, sizeof(string), "Вы доставили груз!"); 
      SendClientMessage(playerid, COLOR_LG, string); 
      format(string, sizeof(string), "И получили премию в размере 7000$"); 
      SendClientMessage(playerid, COLOR_LG, string); 
      format(string, sizeof(string), "|____________________________|"); 
      SendClientMessage(playerid, COLOR_RED1, string); 
      GivePlayerMoney(playerid, 7000); 
      SetVehicleToRespawn(gTrailer); 
      DisablePlayerCheckpoint(playerid); 
      SendClientMessage(playerid, COLOR_RED1,"|Фура разгружена,отправляйтесь на базу|"); 
      return 1; 
     } 
     else 
     { 
        SendClientMessage(playerid, COLOR_GREY, "   Вы не на складе."); 
      return 1; 
     } 
    } 
    else if(strcmp(x_nr,"sf",true) == 0) 
    { 
    if(PlayerToPoint(3.0,playerid,-2688.5688,234.7379,4.0589)) 
     { 
     format(string, sizeof(string), "|____________________________|"); 
     SendClientMessage(playerid, COLOR_RED1, string); 
      format(string, sizeof(string), "Вы доставили груз в Сан Фиеро!"); 
     SendClientMessage(playerid, COLOR_LG, string); 
     format(string, sizeof(string), "И вы получили премию в размере 14000$"); 
     SendClientMessage(playerid, COLOR_LG, string); 
     format(string, sizeof(string), "|____________________________|"); 
     SendClientMessage(playerid, COLOR_RED1, string); 
     GivePlayerMoney(playerid, 14000); 
     SetVehicleToRespawn(gTrailer); 
     DisablePlayerCheckpoint(playerid); 
     SendClientMessage(playerid, COLOR_RED1,"|Фура разгружена,отправляйтесь на базу|"); 
        return 1; 
    } 
    else 
    { 
        SendClientMessage(playerid, COLOR_GREY, "   Вы не на складе."); 
      return 1; 
     } 
    } 
    else if(strcmp(x_nr,"lv",true) == 0) 
    { 
    if(PlayerToPoint(3.0,playerid,-367.9283,1583.2257,75.9362)) 
     { 
     format(string, sizeof(string), "|____________________________|"); 
     SendClientMessage(playerid, COLOR_RED1, string); 
      format(string, sizeof(string), "Вы доставили груз!"); 
     SendClientMessage(playerid, COLOR_LG, string); 
     format(string, sizeof(string), "И вы получили премию в размере 25000$"); 
     SendClientMessage(playerid, COLOR_LG, string); 
     format(string, sizeof(string), "|____________________________|"); 
     SendClientMessage(playerid, COLOR_RED1, string); 
     GivePlayerMoney(playerid, 25000); 
     SetVehicleToRespawn(gTrailer); 
     DisablePlayerCheckpoint(playerid); 
     SendClientMessage(playerid, COLOR_RED1,"|Фура разгружена,отправляйтесь на базу|"); 
        return 1; 
    } 
    else 
    { 
        SendClientMessage(playerid, COLOR_GREY, "   Вы не на складе."); 
      return 1; 
     } 
    } 
   } 
     }
Это команда чтобы сдать груз когда будешь стоять на ЧП.
И последний штрих добавляем в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]):
Code
else if(dialogid == 123) 
  { 
    if(!response) return 0; 
   else 
   { 
    gPlayerCheckpointStatus[playerid] = CHECKPOINT_GPS; 
    switch (listitem) 
    { 
       case 0: 
       { 
      SetPlayerCheckpoint(playerid,2519.7297,-2440.3740,13.3399,5.0); 
     SendClientMessage(playerid, COLOR_LIGHTRED, "Склад на котрый требуется доствить груз отмечен на радаре!"); 
     } 
       case 1: 
     { 
     SetPlayerCheckpoint(playerid,-2688.5688,234.7379,4.0589,5.0); 
     SendClientMessage(playerid, COLOR_LIGHTRED, "Склад на котрый требуется доствить груз отмечен на радаре!"); 
     } 
     case 2: 
     { 
                 SetPlayerCheckpoint(playerid,-367.9283,1583.2257,75.9362,5.0); 
     SendClientMessage(playerid, COLOR_LIGHTRED, "Склад на котрый требуется доствить груз отмечен на радаре!"); 
     } 
     case 6: 
        { 
     PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0); 
     DisablePlayerCheckpoint(playerid); 
     } 
       } 
   } 
  }
ну вот и все на этом наш урок заканчивается. Если вам поравилось от + не откажусь.