#26 15-06-2008 17:10

AlphaOmega
Registered: 02-06-2008
Posts: 98

Re: Изменение интерфейса

Seemann wrote:

Видимо никак. Только если менять текстуры. Попробуй еще опкод 057E: set_radar_grey 1

Текстуры поменял, только вот они как буд-то чб прорисовываются.
Пробовал радар_грей - он стал серым - сам радар (карта).
В первом посте, удалось выяснить за что отвечают строчки второй половины кода?

Offline

#27 16-06-2008 08:26

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Изменение интерфейса

Я справился со строкой патронов. Какой нормальный человек догадается, что для перевода прописанных координат в реальные нужно умножить координату Y на -0,5 и отнять 164?
Обновлённую версию (1.5 final) можно скачать Отсюда: IEV11.rar.
Обновляться (если не будет замечено ошибок и не будет предложений) больше не будет.


[small][/small]

Offline

#28 17-06-2008 16:58

Levis
From: Moscow
Registered: 17-06-2008
Posts: 2

Re: Изменение интерфейса

Подскажите пожалуйста как цвета менять (деньги, основной цвет, хп и т.д.)
Просто в ini файле посмотрел цвет восьмизначным кодом обохначен, а не шести как обычно.
Распишите что хаждай Х в коде означает. ( ХХ ХХ ХХ ХХ )

Offline

#29 17-06-2008 17:24

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Изменение интерфейса

Первые три RGB (если не указано другого порядка), а четвёртая пара - это альфа, коэфициэнт прозрачности. Чем меньше - тем прозрачнее.

Offline

#30 17-06-2008 19:23

Levis
From: Moscow
Registered: 17-06-2008
Posts: 2

Re: Изменение интерфейса

flashTrash
Спасибо! а я почему-то думал что наоборот, в результате ничего не получалось smile

Offline

#31 20-06-2008 14:13

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Изменение интерфейса

Seemann wrote:

Верхняя левая точка экране имеет X = 0, Y = 0, нижняя правая - X = 640, Y = 440.

Поправлюсь, правильнее будет 640.0, 448.0

Offline

#32 29-07-2008 04:35

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Изменение интерфейса

Насчёт статус текстов: Alexander's SA Interface Editor их положение изменяет, но это только заметно когда используешь тренажёры в Gym'ах, а в миссии такси и др. изменений нет! Из-за чего такое возможно?


[small][/small]

Offline

#33 29-07-2008 07:30

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: Изменение интерфейса

боян , значит там не одноа группа значений , вот чем отличаются статус-тексты в залах от статус-текстов в миссии такси ?

Offline

#34 12-08-2008 04:42

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Изменение интерфейса

Вышла новая версия Сан Андреас 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

#35 12-08-2008 06:59

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: Изменение интерфейса

хорошо , как будет время - разберусь со статус текстатами и залью ГУИ

Offline

#36 27-08-2008 19:28

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Изменение интерфейса

Помогите пожааалуйстааааа!!!!!!!!!!!!!!!

мне нужно вывести float переменную в текстовый файл так, чтобы можно было потом в Блокноте прочитать!!!!!!!!!!
У меня только string переменные читаемы((((((


GIMS developer

Offline

#37 28-08-2008 05:46

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Изменение интерфейса

@3Doomer -

3Doomer wrote:

Написал скрипт, позволяющий прямо во время игры поставить МЫШКОЙ текстуры и при этом координаты с масштабом картинки выводятся в текстовый файл. Вот шо я сделал с его помощью:

"максимум через полчаса тут будет скрин"



Осталась единственная проблема:

Как вывести в файл значение 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

#38 28-08-2008 13:34

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Изменение интерфейса

Спосебо))

Last edited by 3Doomer (04-01-2009 22:45)


GIMS developer

Offline

#39 11-07-2009 12:14

Gyr
From: Серпухов
Registered: 03-02-2009
Posts: 246
Website

Re: Изменение интерфейса

@Alexander - не мог бы ты поделиться адресами, которые ты использовал при создании Alexander's SA Interface Editor? В частности мне нужны адреса имеющие отношение к радару и иконке оружия.

Last edited by Gyr (11-07-2009 12:15)


Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!

Offline

#40 05-12-2009 11:27

GTASA
Registered: 13-09-2008
Posts: 476

Re: Изменение интерфейса

Ребят, если можно менять прозрачность обводки, то может подкините адреса для изменения прозрачности карты радара?

Offline

#41 05-12-2009 12:31

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Изменение интерфейса

ннуу....прозрачность обводки зависит т альфа канала текстуры кагбЭ
у радара тоже можно сделать полупрозрачность на текстуры))

Last edited by 3Doomer (05-12-2009 12:55)


GIMS developer

Offline

#42 05-12-2009 13:26

Alien
Registered: 12-10-2008
Posts: 564

Re: Изменение интерфейса

Начинай копать от функции 0x58A330. Находишь вызов метода CTexture::drawTexturedRect (там их 4 штуки - 4 четвертинки кольца обводки), последним параметром в нее передается цвет и прозрачность прямоугольника в RGBA. Меняешь альфу и все...
Прозрачность карты скорее всего где-то в функции 0x586650. Там карта рендерится по зонам (с учетом цветов территорий банд и прочего...)

Offline

#43 05-12-2009 13:36

GTASA
Registered: 13-09-2008
Posts: 476

Re: Изменение интерфейса

А как копать? Я ни разу адреса не искал. Так что вы уж объясните как-нибудь нубу подробно. Много где читал, что с помощью Art Money. Только как? smile

Offline

#44 05-12-2009 14:33

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Изменение интерфейса

Скачай базу Листенера гта_са.ехе. В ней очень многие функции и адреса подписаны, поиск можно осуществлять по ключевым словам.

Offline

#45 06-12-2009 14:03

GTASA
Registered: 13-09-2008
Posts: 476

Re: Изменение интерфейса

Я скачал базу Листенера. Там ввел поиск по слову Radar. И там лишь какой-то blip был и прочее. Видимо, там этого нет? А еще я ввел адреса, который дал Alien, и там их нет вообще.
Вернее, адрес 586650 называется PaintMapZones. А что делать?

Last edited by GTASA (06-12-2009 14:04)

Offline

#46 06-12-2009 17:40

Alien
Registered: 12-10-2008
Posts: 564

Re: Изменение интерфейса

Попробую объяснить на пальцах.=)
Для начала рекомендуется почитать какую-нибудь литературу по ассемблеру. Загляни в эту тему.

Итак, открываем базу listener'а. Жмакаем на кнопку G. Выскочит предложение ввести адрес для перехода на него. Выше я дал адрес функции, отрисовывающей радар. Вводим туда 58A330 и жмем на enter. Оказываемся по нужному адресу. Здесь у нас функция. Ей дано имя _?DrawRadar.
Картинка с описанием интерфейса:
fd72a208b6e4t.jpg
Прокручиваем листинг функции вниз до тех пор, пока не наткнемся на место, где отрисовывается обводка радара. В первый раз это происходит здесь:
7e717e007ff7t.jpg
Итак, здесь происходит вызов функции _RGBA__set, которая формирует цвет-маску выводимой текстуры. Крутим вверх. Надо найти место, где в эту функцию передается гамма цвета. Ищем инструкции push. Они нашлись по адресу 0x58A788.
e9a008f3fc69t.jpg
Здесь находится код

push 0FFh   ;гамма альфы
push 0   ;гамма синего
push 0   ;гамма зеленого
...
push 0   ;гамма красного

Итак, льфы для выводимой текстуры равна FFh (в синтаксисе СБ - 0xFF или просто 255). Значение альфы может меняться от 0 (абсолютно прозрачный) до 255 (абсолютно непрозрачный). Попробуем установить это значение в 0 - абсолютно прозрачный.
Перейдем в Hiew, чтобы получше рассмотреть байт-код ассемблера в этом месте.
61c5f1e668c9t.jpg
Здесь по этому адресу памяти находится тот же код, который мы видели в 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:

В игре видим, что одна четвертинка стала прозрачной:
d6eaa98cb71c.png
3 другие сделай прозрачными сам. Там все аналогично.

Offline

#47 08-12-2009 10:18

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: Изменение интерфейса

to Alien

Ссорри за оффтоп - где такую карту для радара надыбал? А то щас проверил, такая отстойная у меня good...

Big тенкс!!!   smile

Last edited by reute70 (08-12-2009 22:55)

Offline

#48 08-12-2009 11:34

GTASA
Registered: 13-09-2008
Posts: 476

Re: Изменение интерфейса

Offline

Board footer

Powered by FluxBB