You are not logged in.
@Sw[ee]t - если бы был такой опкод, может и можно было бы, а так врядли.
Причём тут опкод? Ты ведь памятью шаманишь вроде как.
Хотя я не уверен, что памятью можно рамку замутить =\
Offline
@Sw[ee]t - ну так, есть опкоды:
081C: draw_text_outline 2 RGBA 0 0 0 255 060D: draw_text_shadow 0 color_RGBA 0 0 0 255
и т.п., соответственно в exe есть функции для этого, их можно найти и применить к другому тексту. Опкода для рамки нет, в игре она тоже не встречается, что делать не понятно.
Кстати говоря, разобрался со статус текстом:
Last edited by Sergey81 (02-06-2011 20:11)
Offline
Можно нарисовать 4 линии, линия легко рисуется опкодом, рисующим прямоугольник.
Offline
@Sergey81 - чем больше смотрю на твои скриншоты, тем больше хочется сказать тебе: запакуй папку с GTA San andreas и выложи куда-нибудь для скачивания
Offline
@Sergey81
Есть же опкод отрисовки текстуры. Там вызывается _drawTexturedRectangle, насколько помню.
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
t]@Sergey81 - чем больше смотрю на твои скриншоты, тем больше хочется сказать тебе: запакуй папку с GTA San andreas и выложи куда-нибудь для скачивания
Да в принципе можно торрентом, правда с этим добавленным радио 18,5 GB весит, а у меня аплоад 500кбит/с всего.
@DK22Pac - Не факт что найдётся место, вместо которого какую-нибудь функцию можно будет вставить. Да ещё передаваемые параметры придётся вставлять.
Можно нарисовать 4 линии, линия легко рисуется опкодом, рисующим прямоугольник.
Попробуй, мне опкодами как то не интересно
Offline
@Sergey81 - а без добавленного радио?
(i.e. без папки AUDIO)
Offline
Offline
3.14здец. Чего ж там такое? избыточный вес у gta3.img?
Дабы не оффтопить далее, попробуй всё же выложить где-нибудь, это в разы проще чем перечислять все моды которые ты устанавливал на неё.
Offline
Offline
Исправил баг, когда буквы в текстбоксе становились чёрными.
Версия 7, качать здесь - http://www.gtagarage.com/mods/show.php?id=16439
Пришлось правда создать альтернативную функцию установки цвета шрифта, но всё получилось.
{$CLEO} 0000: // subtitles // 0A8C: write_memory 0x58C306 size 1 value 0x01 virtual_protect 1 0A8C: write_memory 0x58C308 size 4 value 0x0018D284 virtual_protect 1 // textbox // //0A8C: write_memory 0x0058BB2F size 1 value 0x02 virtual_protect 1 //outline size //0A8C: write_memory 0x0058BB31 size 1 value 0x02 virtual_protect 1 //outline size 0A8C: write_memory 0x0058BA6A size 4 value 0x00863E10 virtual_protect 1 //font size 0.36 0A8C: write_memory 0x0058BA54 size 4 value 0x00858F34 virtual_protect 1 //font size 0.75 0A8C: write_memory 0x0058BB33 size 4 value 0x0018DA59 virtual_protect 1 0A8C: write_memory 0x0058BB37 size 1 value 0x50 virtual_protect 1 0A8C: write_memory 0x0058BB39 size 4 value 0x0018DA53 virtual_protect 1 0A9F: 0@ = current_thread_pointer 0A8E: 10@ = 0@ + 0x10 0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0 0A8F: 11@ = 10@ - @TextColor 0A8F: 12@ = 11@ - 0x58BB79 //0A8D: 18@ = read_memory 0x71947B size 4 virtual_protect 0 0A8C: write_memory 0x58BB75 size 4 value 12@ virtual_protect 1 {//NOP 5 bytes for white text color 0A8C: write_memory 0x0058BB74 size 1 value 0x90 virtual_protect 1 0A8C: write_memory 0x0058BB75 size 4 value 0x90909090 virtual_protect 1} //Panels 0A8C: write_memory 0x00580FC9 size 1 value 0x52 virtual_protect 1 //push edx 0A8C: write_memory 0x00580FCB size 4 value 0x001985C1 virtual_protect 1 //call 00719590 //0A8C: write_memory 0x580EF7 size 1 value 0x68 virtual_protect 1 //b //0A8C: write_memory 0x580F01 size 1 value 0x26 virtual_protect 1 //g //0A8C: write_memory 0x580F05 size 1 value 0x5C virtual_protect 1 //r 0A8C: write_memory 0x00580EF0 size 4 value 0x00000090 virtual_protect 1 //a //0A8C: write_memory 0x00580F9B size 4 value virtual_protect 1 //font scale 0006: 0@ = 0xBAB22C // base 0A90: 1@ = 4 * 12 // panel text color (tbogt style) 005A: 0@ += 1@ 0A8C: write_memory 0@ size 4 value 0xFF68265C virtual_protect 0 //STATUS TEXT 0A8C: write_memory 0x0058B295 size 1 value 0x01 virtual_protect 1 //font type //10@ = 540 //11@ = 960 0A8D: 10@ = read_memory 0x00C17048 size 4 virtual_protect 0 //1080 0A8D: 11@ = read_memory 0x00C17044 size 4 virtual_protect 0 //1920 10@ /= 2 11@ /= 2 0AB1: call_scm_func @__VarToOffset 1 varnumber 10 result 20@ 0AB1: call_scm_func @__VarToOffset 1 varnumber 11 result 21@ 0A8C: write_memory 0x0058B25C size 4 value 20@ virtual_protect 1 0A8C: write_memory 0x0058B26F size 4 value 21@ virtual_protect 1 0A8C: write_memory 0x0058B2B9 size 1 value 0x01 virtual_protect 1 //outline size 0A8C: write_memory 0x0058B1FA size 4 value 0x0085862C virtual_protect 1 //pos 0A8C: write_memory 0x0058B415 size 4 value 0x00858FE8 virtual_protect 1 //dist1 25.0 0A8C: write_memory 0x0058B69B size 4 value 0x00858FE8 virtual_protect 1 //dist2 25.0 0A8C: write_memory 0x0058B1FA size 4 value 0x0085862C virtual_protect 1 //dist3 10.0 0A8C: write_memory 0x0058B541 size 4 value 0x0085862C virtual_protect 1 //dist4 10.0 0A8C: write_memory 0x0058B1CA size 4 value 0x00858628 virtual_protect 1 //dist5 10.0 //some hud colors 0006: 0@ = 0xBAB22C // base 0A90: 1@ = 4 * 8 // radio text (gray) 005A: 0@ += 1@ 0A8C: write_memory 0@ size 4 value 0xFFFFF844 virtual_protect 0 0A8C: write_memory 0xBAB244 size 4 value 0xFF16A0CE virtual_protect 0 //mission text color 0A8C: write_memory 0x58D2B6 size 1 value 0x00 virtual_protect 0 //mission text font {0A8C: write_memory 0x58D3F4 size 1 value 0x68 virtual_protect 1 //b mission text outline 0A8C: write_memory 0x58D3F6 size 1 value 0x26 virtual_protect 1 //g mission text outline 0A8C: write_memory 0x58D3F8 size 1 value 0x5C virtual_protect 1 //r mission text outline} 0A93: :__VarToOffset 0A9F: 23@ = current_thread_pointer 23@ += 0x3C 0@ *= 4 005A: 23@ += 0@ // address of the local variable 0AB2: ret 1 23@ :TextColor hex D9 05 80 1A C7 00 8B 44 24 04 D8 1D 50 8B 85 00 8B C8 A2 60 1A C7 00 88 25 61 1A C7 00 C1 E9 10 DF E0 88 0D 62 1A C7 00 88 2D 63 1A C7 00 F6 C4 05 7A 21 0F B6 C5 89 44 24 04 DB 44 24 04 D8 0D 80 1A C7 00 D8 0D 3C 9A 85 00 90 90 90 90 90 A2 63 1A C7 00 C3 90 90 90 90 90 90 90 90 90 90 90 end
Offline
Я бы отталкивался от опции "включить субтитры" в меню.
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Каким опкодом выводится этот текст?
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Offline
Я могу вообще написать отдельный поток который будет выводить текст но не думаю что это этично и правильно в целом. Но если других вариантов нету то сделаю по своему просто. Но вообще тогда этот ХУД считается не играбельным раз на других версия GTA будут такие проблемы с текстом титров.
не знаю пригодится ли мне это чрез месяц но думаю для создания игровых HUD важно знать эти параметры.
Offline
Эксклюзивно для вас.
{$CLEO} 0AC6: 0@ = label @float_values offset // в этот буфер мы запишем новые значения 0A8C: write_memory 0@ size 4 value 60.0 virtual_protect 0 // Чем больше это значение, тем Уже строка, стандарт - 60.0 0@ += 4 0A8C: write_memory 0@ size 4 value 1.0 virtual_protect 0 // Высота букв, в рамках 0 - 448, стандарт - 1.2 0@ += 4 0A8C: write_memory 0@ size 4 value 0.4 virtual_protect 0 // Ширина букв, в рамках 0 - 640, стандарт - 0.57999998 0@ += 4 0A8C: write_memory 0@ size 4 value 60.0 virtual_protect 0 // Чем больше это значение - тем текст выше, стандарт - 80.0 0@ -= 12 0A8C: write_memory 0x58C369 size 4 value 0@ virtual_protect 1 // Заменяем указатель на наш 0@ += 4 0A8C: write_memory 0x58C387 size 4 value 0@ virtual_protect 1 // Заменяем указатель на наш 0@ += 4 0A8C: write_memory 0x58C39D size 4 value 0@ virtual_protect 1 // Заменяем указатель на наш 0@ += 4 0A8C: write_memory 0x58C3CA size 4 value 0@ virtual_protect 1 // Заменяем указатель на наш 0A8C: write_memory 0x58C335 size 6 value 0x90 virtual_protect 1 // при отрисовке приорити текста всегда выбирать случай "wideScreen", т.е., текст всегда будет размещён "по центру" // А это просто тестироание 00BC: show_text_highpriority GXT 'MTIME3' time 10000 flag 1 // ~s~Come back between 9:00 and 17:00. // 0A93: :float_values // здесь буфер для хранения чисел, которые подставим вместо стандартных hex 00000000 00000000 00000000 00000000 end
Last edited by DK22Pac (11-06-2012 22:51)
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Спасибо Д22 ты очень помог, я просто не ожидал что ответ будет так быстро и если у тебя будет время конешно распиши как ты все это делал, потому что скриптинг и програмирование для меня это как бы понятно но как работать с адресами памяти я честно говоря плохо знаю досих пор.
Offline
Не, в этом плане, учитель из меня никакой.
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline