LiOn4uK | Дата: Вторник, 27.09.2011, 18:54 | Сообщение # 1 |
.::Offline::.
Гангстер
Сообщений: 210
[ 94 ]
Награды: 19
Статус
отсутствует
| Чем эта привязка лучше простой?Она лучше тем что иды авто не будут сбиваться,когда мы добавим ещё какое-то авто. Итак начнём.
Ко всем new добавим:
В 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 машины, я не говорю что не правильно, просто подметку делаю ). Объясню в чем проблема: 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
Статус
отсутствует
| РЕБЯТ ПОМОГИТЕ ПОЖАЛУЙСТА! Я НОВИЧЁК СКАЖИТЕ КУДА ВСТАВИТЬ У МЕНЯ НЕТУ NEW СТРОЧЕК!! КУДА ИХ ПРИПИСАТЬ?
|
|
| |