В цьому уроці ми вивчимо: CreateObject, CreatePickup, DestroyPickup, CreateExplosion, CreateVehicle, AddStaticVehicle(Ex) та AddPlayerClass(Ex).
Опис:
CreateObject – Створює об'єкт на карті сервера в певному місці. CreatePickup – Створює на сервері в певному місці динамічний пікап, який можна підібрати. DestroyPickup – Видаляє створений пікап. CreateExplosion – Створює на сервері в певному місці вибух CreateVehicle – Створює на сервері в певному місці транспортний засіб. AddStaticVehicle – Те ж саме, що і CreateVehicle, але при цьому транспортний засіб не може бути видалено. AddStaticVehicleEx – Те ж саме, що і AddStaticVehicle, але додана функція спавну транспортного засобу. AddPlayerClass – Додає новий SkinID (ID скіна) при виборі персонажа перед спавном (зазвичай кілька разів використовується на DM/Drift) AddPlayerClassEx – Те ж саме, що і AddPlayerClass, тільки присутній ще й вибір команди (банди).
Розпочну як по змісту - з CreateObject. Ця команда створює об'єкт на карті, який буде видимий всім гравцям у певному світі. Використовуються тільки ID об'єктів.
Вид:
CreateObject(objid, pX, pY, pZ, rX, rY,rZ, VD);
Функції:
objid – ID об'єкта. Як можна дізнатися ID об'єкта, написано в цьому підручнику. pX – позиція X, наприклад pX=186.82 – наземний рух вліво/вправо щодо півночі (N) гри. pY – позиція Y, наприклад pY=296.25 – наземний рух вперед/назад щодо N гри pZ – позиція Z, наприклад pZ=12.78 – висота rX – поворот моделі на «x» градусів вниз або вгору відносно півночі вліво або вправо. rY – поворот моделі на «x» градусів вниз або вгору відносно півночі вперед або назад. rZ – поворот моделі вліво або вправо на «x» градусів. VD – дистанція виду, можна її в коді не використовувати
Використання:
в public OnGameModeInit() створю два об'єкти: { CreateObject(2587, 2001.195679, 1547.113892, 14.283400, 0.0, 0.0, 96.0); //Об'єкт буде відображатися стандартно CreateObject(2587, 2001.195679, 1547.113892, 14.283400, 0.0, 0.0, 96.0, 250.0); //Об'єкт буде видимий на відстані 250 ігрових метрів return 1; }
Наступне по змісту – CreatePickup. Ця команда створює пікап, який вміє обертатися. Його можна підібрати.
Вид:
CreatePickup(objid, type, pX, pY, pZ, VW);
Опис:
objid – ID моделі для пікапа (може бути будь-яка модель) type – тип пікапа:
Оскільки я знаю не всі типи пікапів, я процитую їх з википедії:
0 - Пікап не відображається. 1 - Не береться, існує весь час. 2 - Береться, через деякий час знову з'являється. 3 - Береться, з'являється знову після смерті 4 - Зникає через деякий час після створення (використовується для випадкового зброї?) 5 - Зникає через деякий час після створення (використовується для випадкового зброї?) 8 - Береться, але не виробляє ефекту. Зникає автоматично. 11 - Вибухає через кілька секунд після створення (бомби?) 12 - Вибухає через кілька секунд після створення. 13 - Повільно опускається до землі. 14 - Береться, але тільки в машині. Падає крізь об'єкти, створені за допомогою CreateObject, і т.п. 15 - Береться, з'являється знову після смерті. 19 - Береться, але не виробляє ефекту (іконки інформації?) 22 - Береться, з'являється знову після смерті. 23 - Береться, але не зникає.
pX – позиція X pY – позиція Y pZ – висота VW – номер віртуального світу (-1 – об'єкт відображається у всіх 12 світах)
Використання:
Створюю пікап з назвою PU new PU;
Далі: в public OnGameModeInit() записую: { pickup = CreatePickup(1248, 2, 15.7, 125.105, 11.13, -1); return 1; }
Тут був створений пікап «не зрозуміло де» зі значком «GTA 3» (id 1248)
Слідом за CreatePickup піде команда DestroyPickup, яка видаляє створений пікап.
Вид:
На основі створеного пікапа з назвою PU, ми отримуємо:
DestroyPickup(PU);
Опис:
PU – назва створеного пікапа (записано в new і в CreatePickup)
Використання:
в public OnPlayerPickUpPickup(playerid, pickupid) записую: { if (pickupid == PU) DestroyPickup(PU); }
Команда CreateExplosion створює будь-який існуючий вибух у певному місці на карті.
Вид:
CreateExplosion( pX, pY, pZ, type, R );
Опис:
pX – позиція X pY – позиція Y pZ - висота type – тип
Типи:
R – Радіус вибуху в метрах
Використання:
в public OnGameModeInit() записую: { CreateExplosion(12,74.1,23,2,10.0); return 1; }
Тут створюється великий вибух (expID 2), видимий, без вибухової хвилі, що створює вогонь і завдає фізичної шкоди, створений знову ж таки на «не зрозумілому місці».
Команда CreateVehicle створює транспортний засіб, який можна видалити і затримати перед респавном.
vehid – ID транспортного засобу (ТЗ) pX – позиція X pY – позиція Y pZ - висота rZ – поворот ТЗ c1 – колір 1 c2 – колір 2 res – час до респавну (через «x» секунд після виходу з ТЗ, він респавниться)
ID кольорів (Colors):
Використання:
в public OnGameModeInit( ) записую: { CreateVehicle(555, 128.6, 642.1, 54.4, 90, 3, 0, 60); return 1; }
Тут створено Виндзор (vehid 555), на невизначеній позиції, повернутий на 90 градусів з зовнішнім кольором – червоним, і внутрішнім – чорним, який зареспавниться через 60 секунд (aka 1 хвилина).
Наступна команда – AddStaticVehicle — додає на карту ТЗ, яке не можна видалити і не можна затримати перед респавном.
Вид:
AddStaticVehicle(vehid, pX, pY, pZ, rZ, c1, c2);
Опис:
vehid – ID транспортного засобу (ТЗ) pX – позиція X pY – позиція Y pZ - висота rZ – поворот ТЗ c1 – колір 1 c2 – колір 2
Використання:
в public OnGameModeInit( ) записую: { AddStaticVehicle(555, 128.6, 642.1, 54.4, 90, 3, 0); return 1; }
Команда AddStaticVehicleEx - це те ж саме, що і CreateVehicle, але видалити це ТЗ не можна.
vehid – ID транспортного засобу (ТЗ) pX – позиція X pY – позиція Y pZ - висота rZ – поворот ТЗ c1 – колір 1 c2 – колір 2
Використання:
в public OnGameModeInit( ) записую: { AddStaticVehicleEx(555, 128.6, 642.1, 54.4, 90, 3, 0, 60); return 1; }
Наступна команда – це AddPlayerClass. При вході на сервер (якщо це не РП режим) гравець може собі вибрати персонажа, яким буде грати. Щоб гравець вибрав персонажа, потрібно його додати в мод.
SkinID – ID скіна персонажа pX – позиція X pY – позиція Y pZ - висота rZ – поворот скіна персонажа w1 – зброя 1 wa1 – патрони до зброї 1 w2 – зброя 2 wa2 – патрони до зброї 2 w3 – зброя 3 wa3 – патрони до зброї 3
Використання
в public OnGameModeInit() записую: { AddPlayerClass(299, -1689.6,1346.38,7.17, 75, 26, 30, 28, 150, 0, 0); return 1; }
Створює Клода (SkinID 299) зі зброєю:
SawnOff (двоствольний пістолет-дробовик) з 30 патронами Micro SMG (Мікро УЗІ) з 150 патронами 3й слот не використовується Заспавнити має десь на Pier 69
І остання команда - це AddPlayerClassEx. При вході на сервер (якщо це не РП режим) гравець може собі вибрати персонажа і команду (банду), якою буде грати. Щоб гравець вибрав персонажа, його потрібно додати в мод.
BD - банда SkinID – ID скіна персонажа pX – позиція X pY – позиція Y pZ - висота rZ – поворот скіна персонажа w1 – зброя 1 wa1 – патрони до зброї 1 w2 – зброя 2 wa2 – патрони до зброї 2 w3 – зброя 3 wa3 – патрони до зброї 3
Використання:
в public OnGameModeInit() записую: { AddPlayerClassEx(1, 298, -1689.6,1346.38,7.17, 75, 22, 100, 25, 150, 33, 5); return 1; }
Створює Каталіну(SkinID 298) в першій команді зі зброєю:
Colt (Кольт 9мм) з 100 патронами Shotgun (Дробовик) з 150 патронами Contry Rifle (Гвинтівка без прицілу) з 5 патронами Заспавнити має десь на Pier 69
ID зброї:
ID 0 = Кулак ID 1 = Кастет ID 2 = Клюшка ID 3 = Дубинка копів ID 4 = Ніж ID 5 = Бита ID 6 = Лопата ID 7 = Кий ID 8 = Катана ID 9 = Пила ID 10 = Вібратор рожевий ID 11 = Маленький білий вібратор ID 12 = Довгий білий вібратор ID 13 = Сріблястий вібратор ID 14 = Квіти ID 15 = Трость ID 16 = Граната ID 17 = Газова ID 18 = Коктейль Молотова ID 22 = Кольт 9мм ID 23 = Тихий 9мм ID 24 = Дигл ID 25 = Шотган ID 26 = СавнОфф ID 27 = Шотган-Повторник ID 28 = Мікро СМГ ID 29 = МП5 ID 30 = AK47 ID 31 = M4 ID 32 = Тек9 ID 33 = Вінтовка ID 34 = Снайперка ID 35 = Ракетниця ID 36 = Самонаводчик ID 37 = Вогнемет ID 38 = Мінімашина ID 39 = Міна ID 40 = Детонатор ID 41 = Балончик ID 42 = Вогнегасник ID 43 = Камера ID 44 = Окуляри нічного бачення ID 45 = Тепловізор ID 46 = Парашут
Єгор - Жовтень 2012, спеціально для LibertyCity.Ru