Pawno-SAMP
Главная
Вход
Регистрация
Пятница, 18.07.2025, 08:28Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[Мануал]Если игрок стоит на машине,то его скидывает(Samp-RP)
UlkiorraJeezyДата: Суббота, 14.07.2012, 08:09 | Сообщение # 1
Лейтенант
Группа: Администраторы
Сообщений: 71
Репутация: 0
Статус: Offline
1. Ко всем new добавляем:
Code
new Timer1122[MAX_PLAYERS];  

2. Ко всем forward'ам добавляем:
Code
forward UnSurfCar(carid);  

3. В public OnPlayerDisconnect
Добавляем:
Code
KillTimer(Timer1122[playerid]);  

4. В public OnPlayerStateChange
Добавляем:
Code
if(newstate == PLAYER_STATE_DRIVER)  
  {  
  Timer1122[playerid] = SetTimerEx("UnSurfCar",500,1,"i",GetPlayerVehicleID(playerid));  
  }  
  if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)  
  {  
  KillTimer(Timer1122[playerid]);  
  }  

5. Создаём паблик:
Code
public UnSurfCar(carid)  
  {  
  for(new i = 0; i<GetMaxPlayers(); i++)  
  {  
  if(GetPlayerSurfingVehicleID(i) == carid)  
  {  
  new Float:p[3]; GetPlayerPos(i,p[0],p[1],p[2]);  
  GetXYInBackOfPlayer(i,p[0],p[1],5.0);  
  SetPlayerPos(i,p[0],p[1],p[2]);  
  }  
  }  
  return;  
  }  

6. И в самый конец мода добавляем:
Code
stock GetXYInBackOfPlayer(const playerid, &Float:x, &Float:y, const Float:distance){  
  new Float:a; GetPlayerPos(playerid, x, y, a); GetPlayerFacingAngle(playerid, a);  
  if (IsPlayerInAnyVehicle(playerid)) { new vid=GetPlayerVehicleID(playerid);  
  if (vid>0 && vid<=MAX_VEHICLES)GetVehicleZAngle(vid, a);}  
  x -= (distance * floatsin(-a, degrees)); y -= (distance * floatcos(-a, degrees));}  


Так вот мы и избавились от нежелательных гостей на крыше машины.
 
  • Страница 1 из 1
  • 1
Поиск:


Пожертвования на развитие сайта. Yandex: 410011459268530 © 2025
Создать бесплатный сайт с uCoz