Здравствуите с вами снова 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
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 фракции – На Ид желаемой фракции!