[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Stepan23  
Урок Pawno 4 (Прикрепления тачек к фракциям)
Stepan23Дата: Среда, 15.12.2010, 21:07 | Сообщение # 1
Майор
Группа: Администраторы
Сообщений: 91
Репутация: 6
Статус: Offline
Здравствуите с вами снова Stepan23

И сегодня будет урок на тему: (Прикрепления тачек к фракциям)

1) Заходим в игру
2) Садимся в машину и в нужном месте вводим команду /save (Коментарий)
3) Идем в папку GTA San Andreas User Files->SAMP и видим файлик savedpositions.txt
4) Там у нас появилась примерно такая строка:

Code
AddStaticVehicle(597,-1720.7037,1003.9642,17.3555,91.4638,2,1);

Где 597 – это ID машины
-1720.7037,1003.9642,17.3555 – это координаты машины X Y Z
91.4638 – Угол поворота машины
2,1 – Первый цвет машины и второй цвет машины
Итак Теперь перейдем к делу. Открываем мод и в самом начале прописываем следующее:

Code
forward IsAGrove(carid);  

и

Code
new Grove[2];

В любом месте мода нам следует создать функцию

Code
public IsAGrove(carid)  
{  
if(carid >= Grove[0] && <= Grove[1])return 1;  
return 0;  
}

Он послужит нам обьединением ID’ов тачек
Далее ищем

Code
public OnGameModeInit()

и добовляем туда, те строчки из savedpositions
И вставляем эти тачки в

Code
public OnGameModeInit()

к примеру у вас получилось так:

Code
AddStaticVehicle(597,-1720.7037,1003.9642,17.3555,91.4638,2,1);  
AddStaticVehicle(597,-1736.1147,1007.4515,17.3551,271.2480,2,1);  
AddStaticVehicle(597,-1736.1836,1016.4634,17.3553,84.8903,2,1);  
AddStaticVehicle(597,-1720.1364,1027.9950,17.3560,84.4133,2,1);  
AddStaticVehicle(597,-1736.0254,1032.6184,17.3543,269.0034,2,1);  
AddStaticVehicle(597,-1720.6860,1036.9711,17.3549,87.1782,2,1);

Но это еще не всё, Надо обозначить эти тачки как Grove, для этого делаем так:  
Code
Grove[0] = AddStaticVehicle(597,-1720.7037,1003.9642,17.3555,91.4638,2,1);  
AddStaticVehicle(597,-1736.1147,1007.4515,17.3551,271.2480,2,1);  
AddStaticVehicle(597,-1736.1836,1016.4634,17.3553,84.8903,2,1);  
AddStaticVehicle(597,-1720.1364,1027.9950,17.3560,84.4133,2,1);  
AddStaticVehicle(597,-1736.0254,1032.6184,17.3543,269.0034,2,1);  
Grove[1] = AddStaticVehicle(597,-1720.6860,1036.9711,17.3549,87.1782,2,1);

Хорошо, теперь мы зделаем так, что бы выкидывало человека, если он не в нашей фракции:
Ищем

Code
public OnPlayerStateChange(playerid, newstate, oldstate)

И ниже добавьте следующее

Code
else if(IsAGrove(newcar)) // Проверка на тто что человек сидит в машине  
{  
if(!(PlayerInfo[playerid][pMember] == ID фракции || PlayerInfo[playerid][pLeader] == ID фракции))  
{  
RemovePlayerFromVehicle(playerid);  
TogglePlayerControllable(playerid, 1);  
SendClientMessage(playerid, COLOR_GREY, ” Вы не Гроув стрит!”);  
}  
}

Что вам следует зделать: Заменить ID фракции – На Ид желаемой фракции!
 
  • Страница 1 из 1
  • 1
Поиск: