You are not logged in.
Давно обещанный мной скрипт изменения интерфейса, результат работы которого продемонстрирован здесь
http://sannybuilder.com/images/forums/newhud.jpg
К сожалению, у меня пропал откомментированный исходник, остался только скомпилированный скрипт, содержимое которого я привожу здесь (кое-что возвращено в первоначальный вид).
{$CLEO} 0@ = 362035 // health bar &0(0@,1i) = 0xFF00FFF0 0@ = 362036 // hud.money &0(0@,1i) = 0xFF00FFF0 0@ = 362038 // SA fonts &0(0@,1i) = 0xFF0C0CFF 0@ = 362039 // GTA3 fonts &0(0@,1i) = 0xFF3BB847 0@ = 362040 // fonts.menubackground &0(0@,1i) = 0xFFFF0000 0@ = 362041 // maplines &0(0@,1i) = 0xFF00FFF0 // text box top margin 0A8C: write_memory 0x859AD8 size 4 value 125.0 virtual_protect 1 0005: $25 = 420.0 0005: $26 = 135.0 0005: $27 = 110.0 0004: $28 = 0x8000FFF0 0A8C: write_memory 0x583500 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A7C7 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A868 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A913 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A9C7 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A789 size 4 value 120 virtual_protect 1 0A8C: write_memory 0x58A88F size 4 value 120 virtual_protect 1 0A8C: write_memory 0x58A8D9 size 4 value 120 virtual_protect 1 0A8C: write_memory 0x58A98F size 4 value 120 virtual_protect 1 0A8C: write_memory 0x866B74 size 4 value 60.0 virtual_protect 1 0A8C: write_memory 0x866B78 size 4 value 80.0 virtual_protect 1 0A8C: write_memory 0x58F5FC size 4 value 0xA499C8 virtual_protect 1 // $26 0A8C: write_memory 0x58F5DC size 4 value 0xA499CC virtual_protect 1 // $27 0A8C: write_memory 0x866BB4 size 4 value 10000.0 virtual_protect 1 0A8C: write_memory 0x58F600 size 4 value 0x90909090 virtual_protect 1 0A8C: write_memory 0x58F499 size 4 value 0xA499CC virtual_protect 1 // $27 0A93: end_custom_thread
Как видите, отдельные адреса не откомментированы, и я не помню уже их точного назначения.
С момента написания этого скрипта я нашел гораздо больше адресов чем здесь, но все нет времени привести их в порядок и задокументировать.
Offline
там среди этих адресов есть изменение размера радара, он здесь меньше чем обычно. прозрачность текстуры вокруг радара тоже меняется (здесь она полупрозрачная).
Offline
Насчет радара, это из-за конфликтов глобальных переменных. Если использовать этот скрипт на оригинальном майне, то переменная, в которой содержится новая высота радара ($25) будет перезаписана майном, и радар будет почти не виден. Я тестировал скрипт на стриппед, поэтому баг остался незамеченным.
Offline
Кстати вопрос на засыпку: некоторые номера иконок при выводе радара или сферы (ХХХ) не используются. Есть ли возможность найти на какие текстуры ссылается та или иная неиспользуемая иконка?
02A8: $M2 = create_marker ХХХ at $X_POS $Y_POS $Z_POS
например номер 1 это белый квадратик. Как может называться текстура, чтобы заменить его? Такая же штука с номерами 64, 65, 66.
и еще, есть такие иконки с мигалками, 20 и 30. Они вообще где-нибудь используются в игре?
Offline
ктонибуть знает как передвинуть gps по оси Y ? ...
таксист Вазген виселае бамбила
Offline
Так ну чуток с клео сдружился... но не пойму одного! как перенести радар верх по оси а то там маленький кусочег торчит что меня и волнует, но ещё и броня тож не подарок, нана броню поставить на уровень с жизнями а то как то в право ушла, та и звёзды розыска чуток приподнять... ЛЮДИ МЕГА СКРИПТЕРЫ ПЛИЗ ХЕЛП!!!! я хз как и что делать, что мог то и сделал...
Уважительная просьба не игнорте...
Вот скрипт:
{$CLEO} 0@ = 362035 // health bar &0(0@,1i) = 0xFF00FFF0 0@ = 362036 // hud.money &0(0@,1i) = 0xFF00FFF0 0@ = 362038 // SA fonts &0(0@,1i) = 0xFF0C0CFF 0@ = 362039 // GTA3 fonts &0(0@,1i) = 0xFF3BB847 0@ = 362040 // fonts.menubackground &0(0@,1i) = 0xFFFF0000 0@ = 362041 // maplines &0(0@,1i) = 0xFF00FFF0 // text box top margin 0A8C: write_memory 0x859AD8 size 4 value 14.3 virtual_protect 1 0005: $25 = 420.0 0005: $26 = 608.0 0005: $27 = 14.3 0004: $28 = 0x8000FFF0 0A8C: write_memory 0x583500 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A7C7 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A868 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A913 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A9C7 size 4 value 0xA499C4 virtual_protect 1 // $25 0A8C: write_memory 0x58A789 size 4 value 120 virtual_protect 1 0A8C: write_memory 0x58A88F size 4 value 120 virtual_protect 1 0A8C: write_memory 0x58A8D9 size 4 value 120 virtual_protect 1 0A8C: write_memory 0x58A98F size 4 value 120 virtual_protect 1 0A8C: write_memory 0x866B74 size 4 value 80.0 virtual_protect 1 0A8C: write_memory 0x866B78 size 4 value 80.0 virtual_protect 1 0A8C: write_memory 0x58F5FC size 4 value 0xA499C8 virtual_protect 1 // $26 0A8C: write_memory 0x58F5DC size 4 value 0xA499CC virtual_protect 1 // $27 0A8C: write_memory 0x866BB4 size 4 value 10000.0 virtual_protect 1 0A8C: write_memory 0x58F600 size 4 value 0x90909090 virtual_protect 1 0A8C: write_memory 0x58F499 size 4 value 0xA499CC virtual_protect 1 // $27 0A93: end_custom_thread
Offline
to Seemann:
Если не трудно не мог бы ты скинуть мне все те адреса которые нашол, я в свою очередь их потестирую и напишу что каждый делает ну и т.д. тебе будет меньше работы да и мне не скучно
Да и на мэпсе тему создам.
to PILOT86:
Читай пост №4
Offline
@BIGLION - у меня нет их отдельно, они содержатся в моей базе для IDA. Найти требуемые адреса на самом деле несложно. В последних базах от listener'а должны быть поименованы процедуры отрисовки интерфейса, типа drawScreen, drawHud и т.д. Там и нужно смотреть.
Offline
Если кому надо, тут лежит программа: IEV1.rar.
В программе визуально перетаскиваешь элементы, автоматически высчитывает координаты. Программу надо класть в папку с Alexander's SA Interface Editor, она сформирует INI файл для неё.
[small][/small]
Offline
Молодец, реализовал мою давнюю мечту. Я сам все хотел написать подобный визуальный редактор интерфейса.
Если одна проблема, игра вылетает при использовании сгенерированного файла.
Вот он: http://sannybuilder.com/files/InterfaceEditor.ini
Версия Interface Editor 1.1 Игра при использовании INI из комплекта поставки IE 1.1 работает нормально.
Offline
Хорошая программа, только нехватает координат имени улицы.
Offline
Молодец, VcSaJen! Очень удобно.
flashTrash, ага )
Offline
@Seemann - спасибо .
Если одна проблема, игра вылетает при использовании сгенерированного файла.
Странно, у меня нет такой проблемы. Я на narod.ru давно закачал, там какая версия - панель сбоку или снизу?
@flashTrash, svetka - вроде-бы SA Interface Editor не поддерживает изменение положеня названия улицы. Напишите Alexander'у.
P.S. А, наверное зависает из-за того что программа не трогает некоторые параметры(что-бы можно было вручную), а для SA IE они обязательны. Также в версии IE 1.1 переименованы координаты оружия, поэтому в игре оружие не перемещается.
Я немного приостановлю работу над OTV и доделаю IEV (выложу наверное завтра).
А по какой формуле SA высчитывает координаты? Я просто плюсовал/минусовал излишки. Реальные координаты очень далеко от прописанных.
[---]
Добавление от 12.06.2008 21:50
Завтра к сожаленью не получится, доделаю и выложу послезавтра.
Last edited by VcSaJen (12-06-2008 12:49)
[small][/small]
Offline
там какая версия - панель сбоку или снизу?
справа.
А по какой формуле SA высчитывает координаты?
они для каждого элемента интерфейса задаются 2-мя числами: смещение по оси X и Y. Верхняя левая точка экране имеет X = 0, Y = 0, нижняя правая - X = 640, Y = 440.
Потом заданные координаты переводятся в реальные с учетом текущего разрешения экрана. Но об этом заботится сама игра, тебе координаты в любом случае нужно задавать в промежутке 0..640, 0..440.
Offline
Значит, поточнее не получится. Но что есть, то есть.
[---]
Добавление:
Нижняя граница 440, а не 480? Так вот почему элементы интерфейса при размещении у нижнего края уходят вниз! Учту.
Last edited by VcSaJen (12-06-2008 13:03)
[small][/small]
Offline
Так. Возникла следующая проблема при изменении интерфейса.
Вообщем так:
1. как поменять цвет угла атаки (на скриншоте зелёная часть радара - грубо говоря, угол наклона самолёта по оси нос-хвост)
2. как сделать, чтобы радар был белым? текстуры я сделал белые (см.ниже), но он всё равно отображается чёрным
Кто знает как исправить?
Может есть какие опкоды по этим двум параметрам?
Offline
Готова новая версия программы - IEV v.1.49.
Координаты высчитываются точнее, почти абсолютно точно. Теперь можно редактировать все параметры (кроме размера радара), в том числе цвет аэроиндикатора, панели высоты.
Если не скачивается, или есть ошибки, пишите(сюда).
Скачать можно отсюда.
(напоминаю, что программа работает с Alexander's Interface Editor 1.1, которую скачать можно отсюда c раздела "программы" Подсайт Alexander'а)
Last edited by VcSaJen (14-06-2008 14:32)
[small][/small]
Offline
@VcSaJen - сейчас лучше, игра запускается, но немного непохоже
Offline
Готова новая версия программы - IEV v.1.49.
<...>Теперь можно редактировать все параметры <...> в том числе цвет аэроиндикатора, панели высоты.[/u]
В том то всё и дело, что не хочется использовать дополнительные программы. Нужно сделать всё в пределах клео скриптов.
Offline
@Seemann - В самом начале игры броня, здоровье, деньги, звёзды имеют немного другие координаты. После минимальной прокачки CJ'я всё по-нормальному. Насчёт радара - посмотрю.
@AlphaOmega - посмотри выше.
[small][/small]
Offline
Готова версия IEV 1.4999: координаты радара и индикатора высоты высчитываются точнее, появилась возможность изменять размер радара и ширину индикатора высоты. (надо скопировать в папку с IE 1.1 (папку SA)). Ссылка та же: IEV11.rar.
Я не смог справится со строкой патронов: координаты изменяются непредсказуемо. Как всё-таки отсчитываются координаты на строке патронов?
[small][/small]
Offline
ну так как радар перекрасить в белый и в т.ч. угол атаки самолёта? КЛЕО СКРИПТОМ
Offline
Видимо никак. Только если менять текстуры. Попробуй еще опкод 057E: set_radar_grey 1
Offline