#1 16-03-2018 20:45

zorin_chel
From: Челябинск
Registered: 27-09-2010
Posts: 17
Website

Как внедрить мини-игру в exe

Кто может помочь сделать такую вещь: в GTA SA нужно вместо стандартной мини-игры внедрить любую другую (например "сапер", шахматы или типа того), есть вот такой код GTA SA main menu Stalker Theme

#include <iostream>
#include <windows.h>
#include <string>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm")

using namespace std; 
 
DWORD WINAPI GtaSA_thread (LPVOID);
 
 
 
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID ipReserved)
 
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread (NULL, NULL, GtaSA_thread, NULL, NULL, NULL);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return true;
}
 





DWORD WINAPI GtaSA_thread (LPVOID)
{
	DWORD*var = (DWORD*)0xBA68A5; 
    for (;;Sleep (100))

    {  
		
		if (*var != 0x00000022)
		{        
	                PlaySound("C:\\Games\\GTA2\\sound.WAV", NULL, SND_ASYNC);

		}           
                      
	}   
		            

}

проигрывает музыку из папки C:\\Games\\GTA2 - нужно что-то вроде этого

Last edited by zorin_chel (17-03-2018 06:03)

Offline

#2 16-03-2018 20:50

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Как внедрить мини-игру в exe

zorin_chel wrote:

Кто может помочь сделать такую вещь: в GTA SA нужно вместо стандартной мини-игры внедрить любую другую

zorin_chel wrote:

проигрывает музыку из папки C:\\Games\\GTA2 - нужно что-то вроде этого

Что?

Стандартные мини-игры - это scm-скрипты. Т.е. для их редактирования надо менять main.scm.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#3 17-03-2018 05:37

zorin_chel
From: Челябинск
Registered: 27-09-2010
Posts: 17
Website

Re: Как внедрить мини-игру в exe

Мне нужно вместо scm-скрипта "врезать" exe поток другой игры, т.е. я через базу адресов найду адрес который запускает scm-скрипт мини-игры и его нужно подменить, чтобы запускалось окно с другой игрой. Должно выглядеть вот так:
https://yadi.sk/i/UBkABtTy3TTemx
https://yadi.sk/i/Y6eYfvAF3TTepi

Last edited by zorin_chel (17-03-2018 06:04)

Offline

#4 05-10-2018 18:27

zorin_chel
From: Челябинск
Registered: 27-09-2010
Posts: 17
Website

Re: Как внедрить мини-игру в exe

пока получилось вот что

#include <iostream>
#include <windows.h>
#include <string>
#include <conio.h>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <io.h>
#include <fcntl.h>
#include <mmsystem.h>
#include <tlhelp32.h>
#pragma comment(lib, "winmm")

using namespace std; 
 
DWORD WINAPI GtaSA_thread (LPVOID);
 
 
 
DWORD APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID ipReserved)
 
{
    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        CreateThread (NULL, NULL, GtaSA_thread, NULL, NULL, NULL);
    case DLL_THREAD_ATTACH:
    case DLL_THREAD_DETACH:
    case DLL_PROCESS_DETACH:
        break;
    }
    return true;
}
 








DWORD WINAPI GtaSA_thread(LPVOID)

{




	for (;; Sleep(1000))
	{
		if (GetAsyncKeyState(VK_NUMPAD0) & 0x8000)

		{

			ShellExecute(NULL, "open", "c:\\GSR_1.5\\GAMES\\MK4\\MK4.exe", NULL, NULL, SW_SHOWNORMAL);






		}


	}
}

но работает хреново
https://www.youtube.com/watch?v=3MMbbno18i8

Offline

Board footer

Powered by FluxBB