You are not logged in.
Видимо никак. Только если менять текстуры. Попробуй еще опкод 057E: set_radar_grey 1
Текстуры поменял, только вот они как буд-то чб прорисовываются.
Пробовал радар_грей - он стал серым - сам радар (карта).
В первом посте, удалось выяснить за что отвечают строчки второй половины кода?
Offline
Я справился со строкой патронов. Какой нормальный человек догадается, что для перевода прописанных координат в реальные нужно умножить координату Y на -0,5 и отнять 164?
Обновлённую версию (1.5 final) можно скачать Отсюда: IEV11.rar.
Обновляться (если не будет замечено ошибок и не будет предложений) больше не будет.
[small][/small]
Offline
Подскажите пожалуйста как цвета менять (деньги, основной цвет, хп и т.д.)
Просто в ini файле посмотрел цвет восьмизначным кодом обохначен, а не шести как обычно.
Распишите что хаждай Х в коде означает. ( ХХ ХХ ХХ ХХ )
Offline
Первые три RGB (если не указано другого порядка), а четвёртая пара - это альфа, коэфициэнт прозрачности. Чем меньше - тем прозрачнее.
Offline
flashTrash
Спасибо! а я почему-то думал что наоборот, в результате ничего не получалось
Offline
Верхняя левая точка экране имеет X = 0, Y = 0, нижняя правая - X = 640, Y = 440.
Поправлюсь, правильнее будет 640.0, 448.0
Offline
Насчёт статус текстов: Alexander's SA Interface Editor их положение изменяет, но это только заметно когда используешь тренажёры в Gym'ах, а в миссии такси и др. изменений нет! Из-за чего такое возможно?
[small][/small]
Offline
боян , значит там не одноа группа значений , вот чем отличаются статус-тексты в залах от статус-текстов в миссии такси ?
Offline
Вышла новая версия Сан Андреас San Andreas визуальный редактор интерфейса IEV - 1.7. (для его работы надо скачать и установить Alexander's SA Interface Editor 1.2 c каталога Программы сайта Alexander'а)
Что нового в текущей версии:
+ Добавилась возможность открывать файлы интерфейса методом Drag'n'Drop на значок программы или на окно программы
+ Добавилась возможность открывать файлы интерфейса программой
+ Подробный файл справки в формате CHM c пояснительными рисунками
+ Возможность изменять положение названия улицы
+ Возможность быстро открыть файл интерфейса из папки San Andreas
+ Возможность изменять фоновый рисунок
+ Значки
+ Новый "логотип" программы (если логотипом можно назвать надпись)
Чего нет:
- Изменения альфа канала шрифтов
- Изменения текст-бокса и статус текстов.
Скачать можно Здесь;
Скриншот Здесь.
Last edited by VcSaJen (12-08-2008 07:59)
[small][/small]
Offline
хорошо , как будет время - разберусь со статус текстатами и залью ГУИ
Offline
Offline
@3Doomer -
Написал скрипт, позволяющий прямо во время игры поставить МЫШКОЙ текстуры и при этом координаты с масштабом картинки выводятся в текстовый файл. Вот шо я сделал с его помощью:
"максимум через полчаса тут будет скрин"
Осталась единственная проблема:
Как вывести в файл значение float переменной так, чтобы при открывании файла в Блокноте можно было прочитать её???
используй Alexander's SA Quick Opcode, скачать можно из http://cleo.sannybuilder.com
1. Открываешь файл "Sanny Builder 3\data\sa\SASCM.INI"
2. Добавляешь в конце
; --- QuickOpcode Opcodes ---
; version 1.0.0
; visit www.alexander.sannybuilder.com for more info
;-----------------------; SCM-STRING plugin
0B10=2,alloc_string %1h% store_handle_to %2d%
0B11=1,free_allocated_string handle %1d%; SCM-GXT plugin
0B20=0, reset_GXT_entries
0B21=2, add_GXT_entry name %1h% value %2h%
0B22=2, add_GXT_entry name %1h% string_handle %2d%
0B23=1, delete_added_GXT_entry name %1h%; SCM-INI plugin
0B30=2,create_ini_file name %1h% handle %2d%
0B31=2,create_ini_file name_handle %1d% handle %2d%
0B32=1,destroy_ini_file handle %1d%
0B33=4,read_int ini_file %1d% section %2h% param %3h% store_to %4d%
0B34=4,read_int ini_file %1d% section_handle %2d% param_handle %3d% store_to %4d%
0B35=4,write_int ini_file %1d% section %2h% param %3h% value %4d%
0B36=4,write_int ini_file %1d% section_handle %2d% param_handle %3d% value %4d%
0B37=4,read_float ini_file %1d% section %2h% param %3h% store_to %4d%
0B38=4,read_float ini_file %1d% section_handle %2d% param_handle %3d% store_to %4d%
0B39=4,write_float ini_file %1d% section %2h% param %3h% value %4d%
0B3A=4,write_float ini_file %1d% section_handle %2d% param_handle %3d% value %4d%
0B3B=4,read_str ini_file %1d% section %2h% param %3h% store_to %4d%
0B3C=4,read_str ini_file %1d% section_handle %2d% param_handle %3d% store_to %4d%
0B3D=4,write_str ini_file %1d% section %2h% param %3h% string %4h%
0B3E=4,write_str ini_file %1d% section_handle %2d% param_handle %3d% str_handle %4d%
0B3F=2,del_section ini_file %1d% section_name %2h%
0B40=2,del_section ini_file %1d% section_name_handle %2d%
0B41=3,del_key ini_file %1d% section_name %2h% key_name %3h%
0B42=3,del_key ini_file %1d% section_name_handle %2d% key_name_handle %3d%
3. Запускаешь SB3, открываешь настройки (F10) и убеждешься, что в поле Список опкодов (INI) указан SASCM.INI в папке SB3/data/sa
4. Распаковываешь архив QuickOpcode1.0.rar и
- Файл QuickOpcode.asi копируешь в корневую папку игры
- создаёшь папку QuickOpcode в корневой папке игры
- файл \QuickOpcode_plugins\ScmIni\ScmIni.qop копируешь созданную в папку QuickOpcode
- файл \QuickOpcode_plugins\ScmStr\ScmStr.qop копируешь в папку QuickOpcode
- файл \QuickOpcode_plugins\ScmGXT\ScmGXT.qop копируешь в папку QuickOpcode
[---]
пример работы с INI файлами:
{$CLEO} thread 'INISample' 1@=11.11 2@=22 3@=33.33 4@=44 0B30: create_ini_file name "CLEO/MYINI.INI" handle 0@ // открытие INI файла 0B39: write_float ini_file 0@ section "MySection1" param "MyFloatParam" value 1@ //Запись целого числа в секцию MySection1 0B35: write_int ini_file 0@ section "MySection1" param "MyIntParam" value 2@ //Запись дробного числа 0B39: write_float ini_file 0@ section "MySection2" param "MyFloatParam" value 3@ 0B35: write_int ini_file 0@ section "MySection2" param "MyIntParam" value 4@ 0B32: destroy_ini_file handle 0@ // закрытие ini файла 0A93: end_custom_thread
в результате в папке cleo появится файл MyIni.ini следующего содержания:
[MySection1]
MyFloatParam=11,1099997809803
MyIntParam=22[MySection2]
MyFloatParam=33,3300010609279
MyIntParam=44
Last edited by VcSaJen (28-08-2008 07:10)
[small][/small]
Offline
@Alexander - не мог бы ты поделиться адресами, которые ты использовал при создании Alexander's SA Interface Editor? В частности мне нужны адреса имеющие отношение к радару и иконке оружия.
Last edited by Gyr (11-07-2009 12:15)
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
Ребят, если можно менять прозрачность обводки, то может подкините адреса для изменения прозрачности карты радара?
Offline
Начинай копать от функции 0x58A330. Находишь вызов метода CTexture::drawTexturedRect (там их 4 штуки - 4 четвертинки кольца обводки), последним параметром в нее передается цвет и прозрачность прямоугольника в RGBA. Меняешь альфу и все...
Прозрачность карты скорее всего где-то в функции 0x586650. Там карта рендерится по зонам (с учетом цветов территорий банд и прочего...)
Offline
А как копать? Я ни разу адреса не искал. Так что вы уж объясните как-нибудь нубу подробно. Много где читал, что с помощью Art Money. Только как?
Offline
Я скачал базу Листенера. Там ввел поиск по слову Radar. И там лишь какой-то blip был и прочее. Видимо, там этого нет? А еще я ввел адреса, который дал Alien, и там их нет вообще.
Вернее, адрес 586650 называется PaintMapZones. А что делать?
Last edited by GTASA (06-12-2009 14:04)
Offline
Попробую объяснить на пальцах.=)
Для начала рекомендуется почитать какую-нибудь литературу по ассемблеру. Загляни в эту тему.
Итак, открываем базу listener'а. Жмакаем на кнопку G. Выскочит предложение ввести адрес для перехода на него. Выше я дал адрес функции, отрисовывающей радар. Вводим туда 58A330 и жмем на enter. Оказываемся по нужному адресу. Здесь у нас функция. Ей дано имя _?DrawRadar.
Картинка с описанием интерфейса:
Прокручиваем листинг функции вниз до тех пор, пока не наткнемся на место, где отрисовывается обводка радара. В первый раз это происходит здесь:
Итак, здесь происходит вызов функции _RGBA__set, которая формирует цвет-маску выводимой текстуры. Крутим вверх. Надо найти место, где в эту функцию передается гамма цвета. Ищем инструкции push. Они нашлись по адресу 0x58A788.
Здесь находится код
push 0FFh ;гамма альфы push 0 ;гамма синего push 0 ;гамма зеленого ... push 0 ;гамма красного
Итак, льфы для выводимой текстуры равна FFh (в синтаксисе СБ - 0xFF или просто 255). Значение альфы может меняться от 0 (абсолютно прозрачный) до 255 (абсолютно непрозрачный). Попробуем установить это значение в 0 - абсолютно прозрачный.
Перейдем в Hiew, чтобы получше рассмотреть байт-код ассемблера в этом месте.
Здесь по этому адресу памяти находится тот же код, который мы видели в IDA. Инструкция push 0FFh имеет байт-код "68 FF 00 00 00". Здесь 68 - это код операции (опкод) push <dword-операнд>. Дальше идет операнд - FF, который нужно заменить на 00. Можно поправить прямо тут (пропачтить exe), а можно из скрипта. Операнд находится по адресу памяти 0x58A789. Вот туда и будем писать новое значение альфы.
Код скрипта:
{$CLEO} 0000: 0A8C: write_memory 0x58A789 size 4 value 0x00000000 virtual_protect 1 0a93:
В игре видим, что одна четвертинка стала прозрачной:
3 другие сделай прозрачными сам. Там все аналогично.
Offline
to Alien
Ссорри за оффтоп - где такую карту для радара надыбал? А то щас проверил, такая отстойная у меня ...
Big тенкс!!!
Last edited by reute70 (08-12-2009 22:55)
Offline
Offline