Новые опкоды (CLEO4)
|
|
Den_spb | Дата: Пятница, 23.12.2011, 05:56 | Сообщение # 16 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Верно.
|
|
| |
DK22Pac | Дата: Суббота, 24.12.2011, 03:06 | Сообщение # 17 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| 0D07: get_coords 0@ 1@ 2@ offsets_relative_to_matrix 3@ store_to 4@ 5@ 6@
Нашёл твой код тут http://78.24.218.65/forums/viewtopic.php?pid=14338 Что-то не те координаты получаются.
Сообщение отредактировал DK22Pac - Суббота, 24.12.2011, 04:22 |
|
| |
Den_spb | Дата: Суббота, 24.12.2011, 06:03 | Сообщение # 18 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| В вычисления надо добавить вектор позиции объекта-родителя в мире (V01). В общем случае формулы пересчёта координат выглядят так: V02 = M1 * V12 + V01 V12 = M1^(-1) * (V02 - V01) В случае пересчёта скоростей, для которого я писал код на SB, V01 = {0;0;0}, т.е. осуществлялся только поворот матрицы (без перемещения).
|
|
| |
Аксиома | Дата: Суббота, 24.12.2011, 09:50 | Сообщение # 19 |
Группа: Заблокированные
Сообщений: 81
Статус: Offline
| Есть некоторые скрипты которые дают Карлу возможность летать а не можно ли опкод создать что включить полёт и выключить полёт
|
|
| |
Den_spb | Дата: Суббота, 24.12.2011, 17:20 | Сообщение # 20 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Можно сделать опкод, цепляющий корону к объекту или транспорту.
|
|
| |
Аксиома | Дата: Суббота, 24.12.2011, 18:57 | Сообщение # 21 |
Группа: Заблокированные
Сообщений: 81
Статус: Offline
| Den_spb, И можно сделать опкод которые создаёт Spark луч как в Spark скрипте, луч создаётся несколькими опкодами, а можно сразу одним?
|
|
| |
BoPoH | Дата: Суббота, 24.12.2011, 21:42 | Сообщение # 22 |
Группа: Проверенные
Сообщений: 53
Статус: Offline
| Quote (Den_spb) Включил загрузку любых файлов. Модераторскую проверку не нашёл. В панели управления, в разделе "Пользователи", заходишь в редактирование прав нужной группы (Проверенные в данном случае), там где-то в подразделе "Форум" должно быть "Модерация чего-то там" или как-то так.
First-Person mode 85% done Добро всегда побеждает зло. Кто победил, тот и добрый!
Сообщение отредактировал BoPoH - Суббота, 24.12.2011, 21:45 |
|
| |
Den_spb | Дата: Суббота, 24.12.2011, 21:48 | Сообщение # 23 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Quote (BoPoH) В панели управления, в разделе "Пользователи", заходишь в редактирование прав нужной группы (Проверенные в данном случае), там где-то в подразделе "Форум" должно быть "Модерация чего-то там" или как-то так. Проблема решилась после включения загрузки любых файлов. Отдельного пункта модерации в настройках нет.
|
|
| |
DK22Pac | Дата: Воскресенье, 25.12.2011, 01:20 | Сообщение # 24 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Денис, спасибо за разьяснения. Code {$CLEO} 0000: while true wait 0 if player.Defined(0) then if 0AB0: 85 // U then 0A96: 3@ = actor $3 struct 3@ += 0x14 0A8D: 3@ 3@ 4 0 04C4: store_coords_to 0@ 1@ 2@ from_actor $3 with_offset 1.1 2.2 3.3 0D07: get_coords 0@ 1@ 2@ offsets_relative_to_matrix 3@ store_to 4@ 5@ 6@ 0AD1: show_formatted_text_highpriority "%.2f %.2f %.2f" 10000 4@ 5@ 6@ 0a93: end end end
Сообщение отредактировал DK22Pac - Воскресенье, 25.12.2011, 01:21 |
|
| |
Den_spb | Дата: Воскресенье, 25.12.2011, 01:22 | Сообщение # 25 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Quote (DK22Pac) Денис, спасибо за разьяснения. Пожалуйста. Быстро работаешь
|
|
| |
DK22Pac | Дата: Воскресенье, 25.12.2011, 04:56 | Сообщение # 26 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Денис, подскажи ещё, пожалуйста, форумулы для получения XYZ углов вращения матрицы (через atanYX, т.е. 0604)
Сообщение отредактировал DK22Pac - Воскресенье, 25.12.2011, 04:56 |
|
| |
Den_spb | Дата: Воскресенье, 25.12.2011, 13:14 | Сообщение # 27 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Z: 0604: get_angle_between_vectors_{a,b} $TopX $TopY and_{0,1}_store_to $Zangle Y: 0604: get_angle_between_vectors_{a,b} $RightZ $Sqrt(RightX^2+RightY^2) and_{0,1}_store_to $Yangle X: 0604: get_angle_between_vectors_{a,b} $TopZ $Sqrt(TopX^2+TopY^2) and_{0,1}_store_to $Xangle
|
|
| |
BoPoH | Дата: Вторник, 27.12.2011, 16:54 | Сообщение # 28 |
Группа: Проверенные
Сообщений: 53
Статус: Offline
| Quote (Den_spb) Z: 0604: get_angle_between_vectors_{a,b} $TopX $TopY and_{0,1}_store_to $Zangle Y: 0604: get_angle_between_vectors_{a,b} $RightZ $Sqrt(RightX^2+RightY^2) and_{0,1}_store_to $Yangle X: 0604: get_angle_between_vectors_{a,b} $TopZ $Sqrt(TopX^2+TopY^2) and_{0,1}_store_to $Xangle А разве вектор At не нужен?
First-Person mode 85% done Добро всегда побеждает зло. Кто победил, тот и добрый!
|
|
| |
Den_spb | Дата: Вторник, 27.12.2011, 17:27 | Сообщение # 29 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Формулы взял из опкодов, вычисляющих углы поворота автомобилей (0174, 06BE, 077D). Вектор At там не используется.
|
|
| |
DK22Pac | Дата: Суббота, 07.01.2012, 02:45 | Сообщение # 30 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Формулы правильные, всё работает. Просто хотел проверить таким способом: сначала установить углы матрице, потом считать их и вывести на экран. Так вот, если изменять только два угла, то и на экране я вижу те же числа. Но если изменить 3 угла (XYZ), то числа "перемешиваются". В последнее время не продолжал разработку, - забыл исходник на ноутбуке... Возможно, уже через неделю продолжу.Добавлено (07.01.2012, 02:45) --------------------------------------------- Денис, очень хороший опкод ты подкинул. С его помощью можно сделать проверку для создания короны на автомобиле. Code while true wait 0 if player.Defined(0) then if actor.Driving($3) then 0811: 0@ $3 if 0D12: get_car 0@ component "stopl_l_dummy" matrix_to 1@ // IF and SET then 068D: get_camera_position_to 2@ 3@ 4@ 0D07: get_coords 2@ 3@ 4@ offsets_relative_to_matrix 1@ store_to 5@ 6@ 7@ if 6@ < 0.0 then 03F0: enable_text_draw 1 0ACD: show_text_highpriority "bingo!" time 100 end end end end end Правда, есть одно условие - матрица не должна быть развернута относительно матрицы автомобиля.
|
|
| |