• Страница 1 из 1
  • 1
[Lesson] Привязка авто к фракциям
LiOn4uKДата: Вторник, 27.09.2011, 18:54 | Сообщение # 1
.::Offline::.
Гангстер
Сообщений: 210
[ 94 ]
Награды: 19

Статус отсутствует
Чем эта привязка лучше простой?Она лучше тем что иды авто не будут сбиваться,когда мы добавим ещё какое-то авто.
Итак начнём.

Ко всем new добавим:

Code
new Cars[2];


В public OnGameModeInit добавим машины для фракции:

Code
Cars[0] = AddStaticVehicleEx(400,1176.98,-1308.65,13.62,269.33, -1, -1, 60000);
Cars[1] = AddStaticVehicleEx(400,1183.1481,-1313.1106,13.7208,359.7720, -1, -1, 60000);

(Я поставил эти машины для примера,сюда ставьте свои)

После в public OnPlayerStateChange добавим:

Code
if(newcar >= Cars[0] && newcar <= Cars[1])
   {
       if(PlayerInfo[playerid][pMember] == id фракции && PlayerInfo[playerid][pLeader] == id фракции)//фракция которой можно сесть в авто
            {
    }
        else
    {
    SendClientMessage(playerid, COLOR_GREEN, "Вы не состоите где-то там");//если человек не во фракции выбивает это.
    TogglePlayerControllable(playerid,1);//это если у вас заводка двигателя,чтобы разморозило.
    RemovePlayerFromVehicle(playerid);//функция для того чтобы человек вышел с авто.
                         }
                    }


Ну вот и всё.

Автор: Dima_Tkach
 
valychДата: Вторник, 27.09.2011, 20:11 | Сообщение # 2
.::Offline::.
Гангстер
Сообщений: 171
[ 205 ]
Награды: 15

Статус отсутствует
Dima_Tkach, урок не плохой, но хочу подметить важную мелочь)

Code
if(newcar >= Cars[0] && newcar <= Cars[1])   
     {   
         if(PlayerInfo[playerid][pMember] == id фракции && PlayerInfo[playerid][pLeader] == id фракции)//фракция которой можно сесть в авто   
              {   
      }   
          else   
      {   
      SendClientMessage(playerid, COLOR_GREEN, "Вы не состоите где-то там");//если человек не во фракции выбивает это.   
      TogglePlayerControllable(playerid,1);//это если у вас заводка двигателя,чтобы разморозило.   
      RemovePlayerFromVehicle(playerid);//функция для того чтобы человек вышел с авто.   
                           }   
                      }

ты немного не правильно делаешь проверку на ID машины, я не говорю что не правильно, просто подметку делаю smile ). Объясню в чем проблема:
if(newcar >= Cars[0] && newcar <= Cars[1])
в проверке идет действие "Если newcar больше или равно Cars[0] и меньше или равно Cars[1]"
т.е. идет проверка на минимальный ID машины и максимальный
И это значит, что если код будет таким:

Code
Cars[0] = AddStaticVehicleEx(400,1176.98,-1308.65,13.62,269.33, -1, -1, 60000);   
AddStaticVehicleEx(400,11809,-1370.65,13.62,269.33, -1, -1, 60000);
AddStaticVehicleEx(400,11809,-1370.65,13.62,269.33, -1, -1, 60000);
AddStaticVehicleEx(400,11809,-1370.65,13.62,269.33, -1, -1, 60000);
Cars[1] = AddStaticVehicleEx(400,1183.1481,-1313.1106,13.7208,359.7720, -1, -1, 60000);

То в проверку войдет ID машин, которые стоят между Cars[0] и Cars[1]

Правильней будет сделать такую проверку (в том случае, если ID машин находяться не вместе, к примеру 1 и 67):

Code
if(newcar == Cars[0] && newcar == Cars[1])

Делается проверка "Если newcar равняется Cars[0] и равняется Cars[1]"

Вариант Dima_Tkach подойдет вам и будет более читабельным, если ID машин расположены так: 4,5,6,7,8,9 (если идут по порядку)
В этом случае 4 это типа Cars[0], а 9 - Cars[1]

Если что не понятно - спрашивайте, - обращаюсь ко всем


Мои друзья на ST: [Tre9, UDAV, ZioHik,Seva008]
-=Чтоб добавится ко мне в друзья дайте мне + с сообщение "Хочу в друзья"=-

-=Те кто будут у меня в друзьях, тем будет делаться скидка на платные работы=-

Мои разработки:
[FS]Transmission 70%
[INC]Anti-Fly 50%
[INC]Anti-Cheat 95%

[FAQ]Ответы на часто задаваемые вопросы


Сообщение отредактировал valych - Вторник, 27.09.2011, 20:15
 
NuBДата: Воскресенье, 22.07.2012, 02:15 | Сообщение # 3
.::Offline::.
Бандит
Сообщений: 20
[ 0 ]
Награды: 0

Статус отсутствует
РЕБЯТ ПОМОГИТЕ ПОЖАЛУЙСТА! Я НОВИЧЁК sad СКАЖИТЕ КУДА ВСТАВИТЬ У МЕНЯ НЕТУ NEW СТРОЧЕК!! КУДА ИХ ПРИПИСАТЬ?
 
  • Страница 1 из 1
  • 1
Поиск:


Copyright www.SAMP-TEAM.com (c) 2009-2024
Правила использования материалов сайта

При копировании материалов из нашего сайта
ссылка на www.SAMP-TEAM.com обязательна!
Нарушители правил будут строго наказаны!

Хостинг от uCoz   
Для корректного просмотра мы рекомендуем Вам использовать браузер Google Chrome.
Яндекс.Метрика
Яндекс.Метрика