Просмотр полной версии : [Вопрос] Несколько объектов одновременно
Привет. Напомните, какая программа или ФС одновременно перетаскивает несколько объектов?
Texture-Studio.
А можно просто повернуть несколько объектов на 90°? А то не просто через OnPlayerEditObject это сделать. Я перфекционист.
А можно просто повернуть несколько объектов на 90°? А то не просто через OnPlayerEditObject это сделать. Я перфекционист.
Написать макрос, который будет прибавлять/отнимать нужное число от координат? Типа
#define CreateDynamicObject(%0,%1,%2,%3,%4,%5,%6) printf("CreateDynamicObject(%d,%f,%f,%f,%f,%f,%f);", %0, %1, %2, %3, %4, %5, %6)
И уже в самом макросе указывать нужные изменения. Например, поднятие всех объектов на 100 метров:
#define CreateDynamicObject(%0,%1,%2,%3,%4,%5,%6) printf("CreateDynamicObject(%d,%f,%f,%f,%f,%f,%f);", %0, %1, %2, %3+100.0, %4, %5, %6)
Но тут макрос не учитывает необязательные параметры, поэтому если они у тебя указаны, добавь их в макрос.
Ну и в том, какой параметр изменять, определяйся по объявлению функции:
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD, STREAMER_TAG_AREA areaid = STREAMER_TAG_AREA -1);
Собственно, после запуска мода с таким макросом, в консоль выдаст готовый код с уже новыми координатами. Останется убрать макрос и вставить новые координаты в мод
Но оно же просто повернет объект
Но оно же просто повернет объект
Либо повернёт, либо переместит на новые координаты - зависит от того, какие параметры будешь изменять
Либо повернёт, либо переместит на новые координаты - зависит от того, какие параметры будешь изменять
Вот у меня объекты здания с дверями. Хочу все это повернуть на 90°
Ну так и смотри по параметрам порядковый номер и увеличивай его
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz);
Тебе, как я понимаю, либо rx, либо ry нужен, а это 4-ый и 5-ый параметры в макросе
#define CreateDynamicObject(%0,%1,%2,%3,%4,%5,%6) printf("CreateDynamicObject(%d,%f,%f,%f,%f,%f,%f);", %0, %1, %2, %3, %4, %5, %6)
Ну так и смотри по параметрам порядковый номер и увеличивай его
CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz);
Тебе, как я понимаю, либо rx, либо ry нужен, а это 4-ый и 5-ый параметры в макросе
#define CreateDynamicObject(%0,%1,%2,%3,%4,%5,%6) printf("CreateDynamicObject(%d,%f,%f,%f,%f,%f,%f);", %0, %1, %2, %3, %4, %5, %6)
Так тут будет поворачивать по своей оси
Так тут будет поворачивать по своей оси
Ну так ещё и с Float:x/Float:y поиграйся. Но раз ты все объекты будешь двигать, значит у всех объектов координаты будут изменены на равное кол-во пунктов, не?
Я хочу повернуть здание, и чтобы при развороте объекты дверей оставались на месте выхода
Быдлокодер
25.03.2016, 14:19
Я хочу повернуть здание, и чтобы при развороте объекты дверей оставались на месте выхода
http://forum.sa-mp.com/showthread.php?t=506610 - мб это ?
http://forum.sa-mp.com/showthread.php?t=506610 - мб это ?
Я уже писал
А можно просто повернуть несколько объектов на 90°? А то не просто через OnPlayerEditObject это сделать. Я перфекционист.
Я хочу повернуть здание, и чтобы при развороте объекты дверей оставались на месте выхода
Ну так выгрузи код создания здания в отдельный файл, оставив код дверей в исходном файле, и проведи все махинации с углом поворота. А потом уже подправь двери, если координаты вдруг не подойдут.
Заметь, ты бы это реализовал ещё часов 10 назад, если бы просто немного вник и разобрался
А если прикрепить все объекты к экстерьеру здания (AttachObjectToObject) и потом повернуть. Скрипт для записи координат объекта запишет изначальные координаты или уже с поворотом?
http://forum.sa-mp.com/showthread.php?t=506610 - мб это ?
А в целом это подойдет. Только в OnPlayerEditObject надо добавить fRotZ и приравнять к нужному градусу.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot