[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Возможность сесть в RC транспорт
Дата: 21.04.2011, Четверг, 10:55:27 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
Возможно вы когда нибудь пробывали в SA-MP сесть в радиоуправляемый транспорт RC или в трамвай, но это было невозможно.
Сейчас я покажу вам как это исправить:
CRAZY

Ко всем #define добавляем(если их нет то просто в начало после new):

Code
#define RC_BANDIT    441  
#define RC_BARON    464  
#define RC_GOBLIN   501  
#define RC_RAIDER   465  
#define RC_TANK     564  
#define RC_CAM      594  
#define D_TRAM      449  

В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys):

Code
    if(newkeys == KEY_SECONDARY_ATTACK)  
      {  
      if(!IsPlayerInAnyVehicle(playerid))  
      {  
      new Float:x, Float:y, Float:z, vehicle;  
      GetPlayerPos(playerid, x, y, z );  
      GetVehicleWithinDistance(playerid, x, y, z, 20.0, vehicle);  
      if(IsVehicleRcTram(vehicle))  
      {  
      PutPlayerInVehicle(playerid, vehicle, 0);  
      }  
      }  
      else  
      {  
      new VID = GetPlayerVehicleID(playerid);  
      if(IsVehicleRcTram(VID) || GetVehicleModel(VID) == RC_CAM)  
      {  
      if(GetVehicleModel(VID) != D_TRAM)  
      {  
      new Float:x, Float:y, Float:z;  
      GetPlayerPos(playerid, x, y, z);  
      SetPlayerPos(playerid, x+0.5, y, z+1.0);  
      }  
      }  
      }  
      }  
      }  
      GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &veh)  
      {  
      for(new i = 1; i < MAX_VEHICLES; i++)  
      {  
      if(GetVehicleModel(i) > 0)  
      {  
      if(GetPlayerVehicleID(playerid) != i )  
      {  
      new Float:x, Float:y, Float:z;  
      new Float:x2, Float:y2, Float:z2;  
      GetVehiclePos(i, x, y, z);  
      x2 = x1 - x; y2 = y1 - y; z2 = z1 - z;  
      new Float:vDist = (x2*x2+y2*y2+z2*z2);  
      if( vDist < dist)  
      {  
      veh = i;  
      dist = vDist;  
      }  
      }  
      }  
      }  
      }  
      IsVehicleRcTram( vehicleid )  
      {  
      new model = GetVehicleModel(vehicleid);  
      switch(model)  
      {  
      case D_TRAM, RC_GOBLIN, RC_BARON, RC_BANDIT, RC_RAIDER, RC_TANK:  
      return 1;  
      default: return 0;  
      }  

Теперь когда мы рядом с RC транспортом или трамваем и нажимаем вторичный огонь мы сможем в них сесть(в старых версиях сампа камера в трамвае будет как у поезда)

Автор: MoRgAn

  • Страница 1 из 1
  • 1
Поиск: