Іноді люди задаються питанням: "Як видалити АШ в SF" або щось подібне. У цьому уроці навчитеся це робити, а головне - робити швидко # 33;
Приступимо.
P.S Урок буде проходити, використовуючи MTA Map Editor, він не розрахований на інші програми.
1. Для початку вам потрібно завантажити МТА версією 1.3.2 і вище. У цих версіях була додана функція видалення рідних об'єктів. (Офіц сайт МТА: МТА
2. Завантажили, встановили, увійшли. Нас цікавить не МТА сервер, а МТА Map Editor, так що входимо туди. При натисканні кнопки F внизу вилазить ряд кнопок, остання справа з яких і є видалення об'єктів. Натискаємо - видаляємо. Тепер потрібно зберегти нашу карту. Крім кнопок знизу, є ряд кнопок зверху. Шукаємо "Зберегти як" (Save As), вводимо назву карти і зберігаємо. Все, МТА можна закрити.
3. Тепер йдемо сюди: Мій комп'ютер --- Диск C (D, куди ви встановлювали МТА) --- programm files --- МТА --- server --- mods --- deathmatch --- resources --- файл з ім'ям вашої карти. Бачимо тут 4 файлу. Нас цікавить файл з розширенням .map. Відкрили. Бачимо рядок:
Цей рядок і видаляє об'єкт карти gta sa.
Розберемо докладніше:
id - чесно, не уявляю навіщо це потрібно
radius - чесно, теж не розумію як радіус впливає на видалення
interior - id інтер'єру
model - id моделі об'єкта
lodModel - теж не знаю
posX - координата об'єкта по осі Х
posY - координата об'єкта по осі Y
posZ - координата об'єкта по осі Z
rotX - кут повороту по X
rotY - кут повороту по Y
rotZ - кут повороту по Z
4. Тепер розберемо синтаксис функції видалення в pawn
RemoveBuildingForPlayer (playerid, modelid, Float: fX, Float: fY, Float: fZ, Float: fRadius)
Розберемо докладніше:
playerid - ід гравця, для якого потрібно видалити об'єкт. (Зазвичай залишаємо playerid)
modelid - id моделі об'єкта
Float: fX - координата об'єкта по осі Х
Float: fY - координата об'єкта по осі Y
Float: fZ - координата об'єкта по осі Z
Float: fRadius - чесно, теж не розумію як радіус впливає на видалення
5. Ми бачимо, що деякі параметри збігаються. Саме їх нам і треба перенести з коду МТА (removeworldobject) в код pawn (removebuildingforplayer).
Припустимо, що в МТА у нас був рядок:
Переробляємо її в pawn:
Сподіваюся все зрозуміло. Значення з коду МТА, параметри яких відповідають параметрам коду pawn, ми перенесли в pawn.
Функція ця вставляється в public OnPlayerConnect.
6. А тепер уявіть, що нам потрібно переписати Не 1 рядок, а 100. Для цього і існує славний наш convertffs.com.
За замовчуванням там немає конвертера видаляються об'єктів, але ми можемо зробити його самі. Постараюся пояснити як це зробити.
-
* Натискаємо на Input, для зміни параметрів тексту, що вводиться
Прихований текст [Показати]
* Натискаємо Add costum format, щоб додати свої параметри конвертації
Прихований текст [Показати]
* Замість Format name goes here вписуємо свою назву (будь-яке).
* Переходимо до найскладнішого:
Відразу вводжу і пояснюю що роблю. Вводжу синтаксис коду з МТА в полі над format name.
Значення в лапках у нас може змінюватися, тому йому треба привласнити якусь із змінних, доступних в конвертері.
Прихований текст [Показати]
Оскільки id в синтаксисі pawn-коду не зустрічається, ми можемо використовувати абсолютно будь-яку змінну. Але для id буде логічно використовувати "унікальний id" (). Код виходить таким:
Значення радіуса так само можемо змінюватися, тому теж присвоюємо йому змінну. Але серед змінних не зустрічається нічого схожого на радіус. Так що візьмемо будь-яку, наприклад, virtual world. Код наступний:
Те ж саме робимо і з іншими. код виходить наступний:
* Натискаємо Add і вибираємо свої параметри.
* Натискаємо Output --- Add costum format. Так само вводимо ім'я.
* У рядку над ім'ям робимо те ж саме, що і в input, тільки вже з кодом pawn.
Параметри, які збігаються в обох кодах, ми повинні позначить однаковими змінними. Тобто якщо модель у нас зустрічається і там, і там, в першому коді модель у нас позначена змінною, то і в павн коді повинна бути.
Одержаний код:
Натискаємо Add і вибираємо ваш параметр.
Сподіваюся принцип ви зрозуміли. У input ми вводимо код, замінюючи змінюються параметри змінної. У output ми пишемо код, замінюючи відповідні параметри відповідними змінними.
В результаті у нас виходить наступне:
Прихований текст [Показати]
Від + не відмовлюся :)