#26 06-02-2007 16:24

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

Re: [EXE|Patch] Радио + перекраска в любой машине

Вот , этот же патч , только 2 БОЛЬШИХ НО :
1) Радио активируется абсолютно на всех машинах (на великах тоже) .
2) Добавлена поддержка gta_sa.exe v.1.1 (15 806 464 байт) .

http://gtamaps.net/forum/index.php?act= … &id=199130

Думаю , что это окончательная версия , если конечно не подкинет кто-нибудь ещё др. версий exe

Offline

#27 07-02-2007 13:24

Sanchez
Registered: 18-08-2006
Posts: 280

Re: [EXE|Patch] Радио + перекраска в любой машине

Вот мой вариант (правда там только для версии 1.0) если еще кому нужен:

h..p://slil.ru/23888873


; файл PATCH.RC
; ----------------------[вырезать]------------------------------
#define IDD_DLG1001 1001
#define IDC_BUTTON1002 1002
#define IDC_BUTTON1003 1003
#define IDC_STATIC1004 1004
#define IDC_STATIC1005 1005

3001 ICON DISCARDABLE "patch.ico"

IDD_DLG1001 DIALOGEX 0,0,169,44
CAPTION "GTA: San Andreas *patch*"
FONT 8,"MS Sans Serif"
STYLE 0x10c80800
EXSTYLE 0x00000000
BEGIN
	CONTROL "Patch",IDC_BUTTON1002,"Button",0x50010000,110,5,50,14,0x00020000
	CONTROL "Exit",IDC_BUTTON1003,"Button",0x50010000,110,23,50,14,0x00020000
	CONTROL "1. Enabled radio in noncivilian vehicles and bicycles.",IDC_STATIC1004,"Static",0x50000000,3,3,104,16,0x00000000
	CONTROL "2. Pay'n'Spray repairs all vehicles.",IDC_STATIC1005,"Static",0x50000000,3,22,97,16,0x00000000
END 
; ----------------------[вырезать]------------------------------
 
; файл PATCH.ASM
; ----------------------[вырезать]------------------------------
.486
.model flat, stdcall
option casemap: none

include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\windows.inc

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

DlgProc PROTO :DWORD, :DWORD, :DWORD, :DWORD

.const
IDD_DLG			equ	1001
IDC_PATCH		equ 1002
IDC_EXIT		equ 1003

.data
FileName		db "gta_sa.exe", 0
NewFileName		db "gta_sa.exx", 0
;Filesize		dd 0DB7A00h
CapOK			db "Congratulation!", 0
MsgOK			db "File successfull patched!", 0
CapNotFound		db "File not found", 0
MsgNotFound		db "Copy the patch to installed game dir and run again", 0
;CapWrongSize	db "Correct filesize is: 14383616 bytes", 0
;MsgWrongSize	db "Wrong filesize", 0
byte_replace1	dd 00h, 0
byte_replace2	dd 01B0h, 0
CarID			dd 190h
mult			dd 24h
byte_writing1	dd 01h
byte_writing2	dd 02h

.data?
hInstance		dd ?
hFile			dd ?

.code
start:
	invoke GetModuleHandle, NULL
	mov	hInstance, eax
	invoke DialogBoxParam, hInstance, IDD_DLG, NULL, ADDR DlgProc, NULL
	invoke ExitProcess, eax
	
DlgProc Proc hDlg :DWORD, uMsg :DWORD, wParam :DWORD, lParam :DWORD
	pusha
	.if uMsg == WM_INITDIALOG
		invoke LoadIcon, hInstance, 3001
		invoke SendMessage, hDlg, WM_SETICON, 1, eax
	.elseif uMsg == WM_LBUTTONDOWN
		invoke SendMessage, hDlg, WM_NCLBUTTONDOWN, HTCAPTION, lParam
	.elseif	uMsg == WM_COMMAND
		.if	wParam == IDC_PATCH
			invoke SetFileAttributes, ADDR FileName, FILE_ATTRIBUTE_NORMAL
			invoke CopyFile, ADDR FileName, ADDR NewFileName, TRUE
			invoke CreateFile, ADDR FileName,
				GENERIC_READ or GENERIC_WRITE,
				FILE_SHARE_READ or FILE_SHARE_WRITE,
				NULL,
				OPEN_EXISTING,
				FILE_ATTRIBUTE_NORMAL,
				NULL
			cmp eax, -1
			je _notfound
			mov hFile, eax
			.while CarID != 264h
				mov eax, CarID
				mul mult
				add eax, 45BACBh
				invoke SetFilePointer, hFile, eax, NULL, FILE_BEGIN
				invoke WriteFile, hFile, OFFSET byte_replace1, 01h, OFFSET byte_writing1, NULL
				inc CarID
			.endw
			mov eax, 0DABC02h
			invoke SetFilePointer, hFile, eax, NULL, FILE_BEGIN
			invoke WriteFile, hFile, OFFSET byte_replace2, 02h, OFFSET byte_writing2, NULL
			invoke CloseHandle, hFile
			invoke MessageBox, NULL, ADDR MsgOK, ADDR CapOK, MB_ICONINFORMATION
			jmp _finish
		_notfound:
			invoke MessageBox, NULL, ADDR MsgNotFound, ADDR CapNotFound, MB_ICONERROR
		_finish:
		.elseif	wParam == IDC_EXIT
			invoke EndDialog, hDlg, NULL
		.endif
	.elseif	uMsg == WM_CLOSE
		invoke EndDialog, hDlg, NULL
	.endif
	popa
	xor eax, eax
	ret
DlgProc EndP

end start
; ----------------------[вырезать]------------------------------

Offline

#28 07-02-2007 13:37

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

Re: [EXE|Patch] Радио + перекраска в любой машине

У меня туда не заходит  smile

Offline

#29 07-02-2007 13:51

Sanchez
Registered: 18-08-2006
Posts: 280

Re: [EXE|Patch] Радио + перекраска в любой машине

Alexander wrote:

У меня туда не заходит

h..p://foolroot.nm.ru/gta.sa.patch.rar

Last edited by Sanchez (07-02-2007 13:51)

Offline

#30 07-02-2007 14:13

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

Re: [EXE|Patch] Радио + перекраска в любой машине

2Sanchez:
да, ассемблер рулит! smile
попробуй для версии 1.1 еще сделать, совсем круто будет

Offline

#31 12-02-2007 13:34

Sanchez
Registered: 18-08-2006
Posts: 280

Re: [EXE|Patch] Радио + перекраска в любой машине

попробуй для версии 1.1 еще сделать, совсем круто будет

Вот:
h..p://foolroot.nm.ru/sa_patch.rar

Last edited by Sanchez (12-02-2007 13:34)

Offline

#32 12-02-2007 14:59

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

Re: [EXE|Patch] Радио + перекраска в любой машине

гут !

Offline

#33 15-02-2007 17:15

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

Re: [EXE|Patch] Радио + перекраска в любой машине

Вот , сделал новый патч , точнее проапгрейдил старый smile ...
Главная особенность патча - поддержка любой версии gta_sa.exe !
Я тестил на выборочных версиях , всё работало ...
Но возможно на уж очень особенных и обрезанных версиях он не пойдёт sad Но по идее должно всё быть чики-пики  smile

Качаем тут :
http://gtamaps.net/forum/index.php?act= … &id=203367

Offline

#34 01-03-2007 13:17

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

Re: [EXE|Patch] Радио + перекраска в любой машине

Если кому-то еще интересна скриптовая реализация включения радио, то я оптимизировал версию из третьего поста:

while true
    wait 250
    $PLAYER_CHAR.Defined
    jf continue
    if or
        00E1:   player 0 pressed_key 8
        00E1:   player 0 pressed_key 9       
    then
        0@ = 352231   
        008B: 0@ = &0(0@,1i) // carstruct
         0@ > 0
         jf continue
        0@ -= 10786701
        0@ /= 4 
        &0(0@,1i) = 0
        wait 2000
    end
end    
end_thread

принцип прежний: садимся, жмем радио, выходим, садимся опять. Радио работает.

Offline

#35 02-03-2007 13:34

Capushon
Registered: 13-08-2006
Posts: 350
Website

Re: [EXE|Patch] Радио + перекраска в любой машине

2Seemann:
Вот сделать-бы пеереход к следующей мелодии одного и того же радио...  wink


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

#36 02-03-2007 19:02

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

Re: [EXE|Patch] Радио + перекраска в любой машине

Вот сделать-бы пеереход к следующей мелодии одного и того же радио...  wink

Хы , вроди бы игра читает всё одним большим потоком ... Врядли можно что-то сделать .

Offline

#37 03-03-2007 10:41

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

Re: [EXE|Patch] Радио + перекраска в любой машине

2Capushon:
ИМХО, тамошнее радио не заслуживает такой чести...
Вот сделать mp3-плейер не только в машине, но и на ногах, было бы полезнее. Хотя опять же, ведь есть Winamp5 + global hotkeys...

Offline

#38 06-03-2007 00:35

Capushon
Registered: 13-08-2006
Posts: 350
Website

Re: [EXE|Patch] Радио + перекраска в любой машине

2Alexander:

Хы , вроди бы игра читает всё одним большим потоком ... Врядли можно что-то сделать .

:-)  Тем немение выйдя из машины на время и зайдя в неё снова - обнаруживаем что игравшая мелодия заканчивается...
А ты попробуй в мультимоде едя в машине нажать "ХЕЛП", а затем отключить его - мелодия в машине изменится на следующую. Спонтанная фича, я ничего для этого не делал, отдельно такое не получается.

2Seemann:

Вот сделать mp3-плейер не только в машине, но и на ногах, было бы полезнее.

Даже не представляю такую возможность...

Хотя опять же, ведь есть Winamp5 + global hotkeys...

Нее, лишняя нагрузка на проц, да и мелодии в игре я давно поменял на нужные и приятные мне...


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

#39 28-03-2007 11:39

skv1991
Registered: 27-03-2007
Posts: 10

Re: [EXE|Patch] Радио + перекраска в любой машине

Люди может не  в тему,но такой вопрос,трудно ли вообще изменять exe'шник и вообще как понять что там к чему?

Offline

#40 28-03-2007 12:02

skv1991
Registered: 27-03-2007
Posts: 10

Re: [EXE|Patch] Радио + перекраска в любой машине

Люди,можите мне привести пример,как чтонибуть изменить в стандартном экзешнике СА,чтоб в игре чёнибуть изменилось?
Скажите чтонибуть плз!

Offline

#41 29-03-2007 09:37

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

Re: [EXE|Patch] Радио + перекраска в любой машине

Люди может не  в тему,но такой вопрос,трудно ли вообще изменять exe'шник и вообще как понять что там к чему?

не намного сложнее скриптинга. Прочитай краткое руководство по ассемблеру, скачай IDA5, дизассемблируй ехе и все внутренности игры будут у тебя перед глазами. Для помощи можно взять готовую базу от listener'а и мой список функций. Все это ты найдешь в разделе Справочная информация.

И, пожалуйста, не надо мультипостинга.

Offline

#42 30-03-2007 16:13

skv1991
Registered: 27-03-2007
Posts: 10

Re: [EXE|Patch] Радио + перекраска в любой машине

Ок,попробую!

З.Ы если есть-дайе пожалйста ссылку на Иду5 и краткий справочник по ассемблеру пожалуйста

З.Ы2 извените за многопостье rolleyes

Last edited by skv1991 (30-03-2007 16:15)

Offline

#43 02-04-2007 09:28

Sanchez
Registered: 18-08-2006
Posts: 280

Re: [EXE|Patch] Радио + перекраска в любой машине

skv1991 wrote:

З.Ы если есть-дайе пожалйста ссылку на Иду5 и краткий справочник по ассемблеру пожалуйста

В этом случае поиск по форуму используют smile Не раз уже обсуждалось smile

http://sannybuilder.com/forums/viewtopic.php?id=41

http://sannybuilder.com/forums/viewtopi … d=189#p189

Offline

#44 02-04-2007 14:02

skv1991
Registered: 27-03-2007
Posts: 10

Re: [EXE|Patch] Радио + перекраска в любой машине

Спс,я нашёл про ассемблер,а за иду респект,тока она у меня неработает:(

Last edited by skv1991 (02-04-2007 14:25)

Offline

Board footer

Powered by FluxBB