Новые опкоды (CLEO4)
|
|
DK22Pac | Дата: Суббота, 28.07.2012, 06:51 | Сообщение # 76 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| 0D61 0D61: 0@ = load_texture_from "models\\image.bmp" with_mask "models\\mask.bmp" // IF and SET Опкод загружает текстуру из .bmp-файла. Если не нужно использовать альфа-маску, устанавливается значение NULL для второго параметра.
Сообщение отредактировал DK22Pac - Суббота, 28.07.2012, 23:21 |
|
| |
Vital | Дата: Суббота, 28.07.2012, 13:27 | Сообщение # 77 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| DK22Pac, то есть можно загружать bmp файл, как и текстуру, но правильно ли я понимаю, что этот опкод будет удобнее, если надо использовать разный альфа-канал для одной и той же текстуры? Да и обычным игрокам будет удобнее добавлять свои ресурсы даже без знания TXD Workshop.
SCRIPTER
|
|
| |
DK22Pac | Дата: Суббота, 28.07.2012, 16:50 | Сообщение # 78 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Vital, bmp-файл не может одновременно хранить и исходное изображение, и альфу, потому надо загружать 2 изображения.
|
|
| |
Vital | Дата: Суббота, 28.07.2012, 20:16 | Сообщение # 79 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| DK22Pac, я имел в виду вот такую ситуацию: есть один файл с основной картинкой, есть два файла с альфа-каналом. И с помощью этого нового опкода легко выбрать для основной картинки один из вариантов альфы. Так можно сделать, например, заполнение какого-нибудь изображения (например, сделать картинку в виде канистры с бензином, которая будет постепенно рисоваться, имитируя процесс заправки авто). Так было бы гораздо удобнее, чем возня с txd файлом. P.S. Я ступил, перепутал текстуры и bmp.
SCRIPTER
Сообщение отредактировал Vital - Суббота, 28.07.2012, 20:17 |
|
| |
DK22Pac | Дата: Суббота, 28.07.2012, 21:08 | Сообщение # 80 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Code {$CLEO} {$I stdc} if 0D61: 0@ = load_texture_from "enb2012_7_21_13_57_36.bmp" with_mask NULL // IF and SET then {$I inloop} 0AB1: call_scm_function @drawTexturedQuad params 11 pos_x 187.0 pos_y 161.0 size 400.9 texture 0@ priority 0 color_RGBA 255 255 255 255 invert_x false invert_y false {$I forplayercar} 0D62: set_car veh remap_texture 0@ {$I for_end} {$I end} end 0A93: {$I drawtexturedquad.scmf}
Сообщение отредактировал DK22Pac - Суббота, 28.07.2012, 21:11 |
|
| |
Den_spb | Дата: Суббота, 28.07.2012, 21:38 | Сообщение # 81 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
|
|
|
| |
DK22Pac | Дата: Воскресенье, 29.07.2012, 21:37 | Сообщение # 82 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Остался один опкод. Дальше - тестирование (возможно, публичное).
Добавлено (29.07.2012, 21:37) --------------------------------------------- ВСЁ. Скачать
Сообщение отредактировал DK22Pac - Понедельник, 30.07.2012, 17:55 |
|
| |
ILYALION | Дата: Пятница, 03.08.2012, 08:39 | Сообщение # 83 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| DK22Pac, с NewOpcodes.cleo конфликтует ScmLog. Просто вылет. (У меня установлен Improved Vehicle Lights Mod, вылет на опкоде 0D0D)
Сообщение отредактировал ILYALION - Пятница, 03.08.2012, 11:16 |
|
| |
BoPoH | Дата: Воскресенье, 12.08.2012, 13:06 | Сообщение # 84 |
Группа: Проверенные
Сообщений: 53
Статус: Offline
| ILYALION, это я заметил ещё в процессе тестирования первых опкодов) Жаль, но DK22Pac сам вроде не в курсе, в чём дело. Надо разбираться...
First-Person mode 85% done Добро всегда побеждает зло. Кто победил, тот и добрый!
|
|
| |
BoPoH | Дата: Вторник, 04.09.2012, 00:39 | Сообщение # 85 |
Группа: Проверенные
Сообщений: 53
Статус: Offline
| Я сейчас работаю над своими опкодами, но мы с Димой договорились, что они пойдут в его плагин. Часть моих опкодов посвящена созданию GUI для скриптов. Они пока ещё недоработаны, точнее говоря у меня рендер текста пока что на CLEO, надо на C++ переписывать. Вот скрин моего скрипта CamHunt (замена CamHack'у), в котором я использую эти самые опкоды.
И ещё кое-что, не знаю, насколько важное для кого-то, но для меня очень важная тема. Я кого только не просил разобраться с этими сокетами в C++, никто так и не взялся. Вот пришлось взяться самому. Мне для моего мода нужно осуществить дополнительный обмен данными между игроками в сампе. На сервере стоит плагин для работы с сокетами (писал не я, нашёл на форуме самповцев), мне оставалось только написать примерно тоже самое для CLEO. Вот, кое-что получилось, пока это только начало
First-Person mode 85% done Добро всегда побеждает зло. Кто победил, тот и добрый!
Сообщение отредактировал BoPoH - Вторник, 04.09.2012, 00:41 |
|
| |
Den_spb | Дата: Вторник, 04.09.2012, 04:05 | Сообщение # 86 |
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
| Интересно. А как реализован вывод текста в произвольном месте экрана?
|
|
| |
BoPoH | Дата: Вторник, 04.09.2012, 14:57 | Сообщение # 87 |
Группа: Проверенные
Сообщений: 53
Статус: Offline
| Quote (Den_spb) Интересно. А как реализован вывод текста в произвольном месте экрана? Рисую буквы при помощи опкодов Димы. Вызов скм-функции выглядит примерно так: Code 0AB1: @DrawText 8 text 0@ posX 512.0 posY 512.0 size 64.0 RGB 255 0 0 align 0 0@ - указатель на строку, когда перенесу в плагин, будет вариант и непосредственно со строкой, т.е. 0@v или "Text" Позиция может быть в пределах 1024.0 по каждой из осей. Размер в принципе не ограничен. Если поставить 1024.0, то примерно закроет весь экран буквами) Вообще, я сделал так, чтобы буквы рендерились пропорциональными, даже если монитор широкоэкранный. Минус такого варианта (скм-функция) - хавает много ресурсов. Если включить GUI моего скрипта, то фпс падает в 2-3 раза, если использовать рендер текста много раз.
First-Person mode 85% done Добро всегда побеждает зло. Кто победил, тот и добрый!
Сообщение отредактировал BoPoH - Вторник, 04.09.2012, 14:57 |
|
| |
DK22Pac | Дата: Пятница, 22.02.2013, 22:32 | Сообщение # 88 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Забыл разместить ссылку на обновленную версию плагина. В ней добавлены 16 опкодов. ССЫЛКА Главные возможности: загрузка png-текстур, загрузка текстур из CLEO-файла (дамп), добавдение эффектов к звукам CLEO (хорус, эхо и др.) Добавленные опкоды: 0D64=2, %2d% = load_texture_png_from %1s% // IF and SET Загружает текстуру из PNG-файла. Может использоваться с опцией texturememory для загрузки файла из памяти. 0D65=6,print %1s% at %2d% %3d% scale %4d% %5d% style %6d% Выводит текст на экран ("лёгкая" версия). 0D66=25,print %1s% at %2d% %3d% scale %4d% %5d% style %6d% prop %7d% align %8d% wrap %9d% justify %10d% color %11d% %12d% %13d% %14d% outline %15d% shadow %16d% dropColor %17d% %18d% %19d% %20d% background %21d% backColor %22d% %23d% %24d% %25d% Выводит текст на экран. 0D67=2,set_audiostream %1d% position_time %2d% Устанавливает позицию времени для аудио. 0D68=2,%2d% = get_audiostream %1d% position_time Получает позицию времени для аудио. 0D69=4,%4d% = set_audiostream %1d% effect %2d% priority %3d% Устанавливает эффект аудио. 0D6A=2,remove_audiostream %1d% effect %2d% Удаляет эффект аудио. 0D6B=2,set_audiostream_effect %1d% parameters_from_buf %2d% Устанавливает параметры эффекта аудио. 0D6C=2,get_audiostream_effect %1d% parameters_to_buf %2d% Получает параметры эффекта аудио. 0D6E=3,set_audiostream %1d% attribute %2d% to %3d% Устанавливает значение атрибута аудио. 0D6F=3,%3d% = get_audiostream %1d% attribute %2d% Получает значение атрибута аудио. 0D70=7,set_3d_audiostream %1d% _3d_attributes_mode %2d% min %3d% max %4d% iangle %5d% oangle %6d% outvol %7d% Устанавливает атрибуты 3D аудио. Работает только с аудио, загруженным с 0AC1. 0D71=7,get_3d_audiostream %1d% _3d_attributes_mode_to %2d% min_to %3d% max_to %4d% iangle_to %5d% oangle_to %6d% outvol_to %7d% Получает атрибуты 3D аудио. Работает только с аудио, загруженным с 0AC1. 0D72=3,get_sfx_volume_to %2d% radio_volume_to %3d% type %1d% Получает громкость игрового звука и радио. 0D73=3,get_screen_width_to %2d% height_to %3d% type %1d% Получает высоту и ширину экрана.
Более подробная информация - в папке Файлы справки (Help files) Пример: загрузка текстуры из памяти (с помощью подключения расширения texturememory) и вывод текстуры с текстом.
Сообщение отредактировал DK22Pac - Пятница, 22.02.2013, 22:33 |
|
| |