Fallas
Новичок
Иногда люди задаются вопросом: "Как удалить АШ в SF" или нечто подобное. В этом уроке научитесь это делать, а главное - делать быстро!
Приступим.
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 OnPlayerGameModeInit.
6. А теперь представьте, что нам нужно переписать не 1 строчку, а 100. Для этого и существует славный наш convertffs.com.
По умолчанию там нет конвертера удаляемых объектов, но мы можем сделать его сами. Постараюсь объяснить как это сделать.
* Нажимаем на Input, для изменения параметров вводимого текста
* Нажимаем Add costum format, чтобы добавить свои параметры конвертирования
* Вместо Format name goes here вписываем свое название (любое).
* Переходим к самому сложному:
Сразу ввожу и объясняю что делаю. Ввожу синтаксис кода из МТА в поле над format name ... :
Значение в кавычках у нас может меняться, поэтому ему надо присвоить какую то из переменных, доступных в конвертере.
Т.к. id в синтаксисе pawn-кода не встречается, мы можем использовать абсолютно любую переменную. Но для id будет логично использовать "уникальный id" ({id}). Код получается таким:
Продолжаем.
Значение радиуса так же можем меняться, поэтому тоже присваиваем ему переменную. Но среди переменных не встречается ничего похожего на радиус. Так что возьмем любую, например, virtual world {vw}. Код следующий:
То же самое проделываем и с остальными ... код получается следующий:
* Нажимаем Add и выбираем свои параметры.
* Нажимаем Output --- Add costum format. Так же вводим имя.
* В строке над именем делаем то же самое, что и в input, только уже с кодом pawn.
Параметры, которые совпадают в обоих кодах, мы должны обозначит одинаковыми переменными. Т.е. если модель у нас встречается и там, и там, в первом коде модель у нас обозначена переменной {model}, то и в павн коде должна быть {model}.
Получившийся код:
Нажимаем Add и выбираем ваш параметр.
Надеюсь принцип вы поняли. В input мы вводим код, заменяя изменяющиеся параметры переменной. В output мы пишем код, заменяя соответствующие параметры соответствующими переменными.
Материал довольно сложный для объяснения, тем более в письменной форме. Поэтому я не отрицаю, что преподнес его не в лучшей форме
Автор: Porsche
Приступим.
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. Открыли. Видим строчку:
Код:
[COLOR="#000000"]<removeWorldObject[/COLOR]
Разберем подробнее:
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).
Предположим, что в МТА у нам была строка:
Код:
[COLOR="#000000"]<removeWorldObject id="removeWorldObject (lamppost2) (1)" radius="8.8853034973145" interior="0" model="1290" lodModel="0" posX="-2681.88477" posY="2111.85156" posZ="64.45439" rotX="0" rotY="0" rotZ="0"></removeWorldObject>[/COLOR]
Код:
[COLOR="#000000"]RemoveBuildingForPlayer(playerid, 1290, -2681.88477, 2111.85156, 64.45439, 8.8853034973145);[/COLOR]
Функция эта вставляется в public OnPlayerGameModeInit.
6. А теперь представьте, что нам нужно переписать не 1 строчку, а 100. Для этого и существует славный наш convertffs.com.
По умолчанию там нет конвертера удаляемых объектов, но мы можем сделать его сами. Постараюсь объяснить как это сделать.
* Нажимаем на Input, для изменения параметров вводимого текста
* Нажимаем Add costum format, чтобы добавить свои параметры конвертирования
* Вместо Format name goes here вписываем свое название (любое).
* Переходим к самому сложному:
Сразу ввожу и объясняю что делаю. Ввожу синтаксис кода из МТА в поле над format name ... :
Код:
[COLOR="#000000"]<removeWorldObject id=""[/COLOR]
Т.к. id в синтаксисе pawn-кода не встречается, мы можем использовать абсолютно любую переменную. Но для id будет логично использовать "уникальный id" ({id}). Код получается таким:
Код:
[COLOR="#000000"]<removeWorldObject id="{id}"[/COLOR]
Код:
[COLOR="#000000"]<removeWorldObject id="{id}" radius=""[/COLOR]
Код:
[COLOR="#000000"]<removeWorldObject id="{id}" radius="{vw}"[/COLOR]
Код:
[COLOR="#000000"]<removeWorldObject id="{id}" radius="{vw}" interior="{int}" model="{model}" lodModel="{pid}" posX="{x}" posY="{y}" posZ="{z}" rotX="{rx}" rotY="{ry}" rotZ="{rz}"></removeWorldObject>[/COLOR]
* Нажимаем Output --- Add costum format. Так же вводим имя.
* В строке над именем делаем то же самое, что и в input, только уже с кодом pawn.
Параметры, которые совпадают в обоих кодах, мы должны обозначит одинаковыми переменными. Т.е. если модель у нас встречается и там, и там, в первом коде модель у нас обозначена переменной {model}, то и в павн коде должна быть {model}.
Получившийся код:
Код:
[COLOR="#000000"]RemoveBuildingForPlayer(playerid, {model},{x}, {y}, {z}, {vw});[/COLOR]
Надеюсь принцип вы поняли. В input мы вводим код, заменяя изменяющиеся параметры переменной. В output мы пишем код, заменяя соответствующие параметры соответствующими переменными.
Материал довольно сложный для объяснения, тем более в письменной форме. Поэтому я не отрицаю, что преподнес его не в лучшей форме
Автор: Porsche
Последнее редактирование:
