Results 1 to 12 of 12

Thread: Cover the screen black

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Feb 2005
    Location
    Cleveland, Ohio
    Posts
    255

    Cover the screen black

    I'm making a program that switches between 2 games (GTA3 and GTA-VC) without even noticing.

    My plan is to detect if the player is within a certain radius (the airport maybe?), and if he is,

    Fade the game to black
    Unload the game
    Cover the screen in blackness
    Load the other game
    Hack your way through the menu, start game blah blah
    When the game is loaded, return to the game and destroy the black screen.

    I can do everything here except color the screen black.

    I assumed it was a DirectX function, but I'm not sure. I'll basically need to create a fullscreen black-ness with a user defined resolution via .ini file, which I have already set up the code for. All I need is this black part.

    Help is appreciated!

  2. #2

    Thread Starter
    Addicted Member
    Join Date
    Feb 2005
    Location
    Cleveland, Ohio
    Posts
    255

    Re: Cover the screen black

    Does nobody know how to cover the screen black...? It sounds like a simple thing..

  3. #3
    PowerPoster Halsafar's Avatar
    Join Date
    Jun 2004
    Location
    Saskatoon, SK
    Posts
    2,339

    Re: Cover the screen black

    If you cannot get that far then how do you propose to the other parts of your task.

    Not to mention GTA3 and GTA:VC share nothing in common when it comes to the world map so I don't get what you are doing.

    Anyway, you need to set focus onto a DC which is the size of the screen and 100% black.
    "From what was there, and was meant to be, but not of that was faded away." - - Steve Damm

    "The polar opposite of nothingness is existance. When existance calls apon nothingness it shall return to nothingness." - - Steve Damm

    "When you do things right, people won't be sure if you did anything at all." - - God from Futurama

  4. #4

    Thread Starter
    Addicted Member
    Join Date
    Feb 2005
    Location
    Cleveland, Ohio
    Posts
    255

    Re: Cover the screen black

    Both the maps have airports. Thats all I need to know.

    I've spent a lot of time in researching both the games and finding offsets, I know how to teleport the player, I know how to hack my way through both menus. While you're questioning whether or not I'm capable of doing something I have already clearly stated I knew how to do, please do tell me what covering the screen black has to do with memory hacking the game? Do you think a black screen would give a rats ass if the two maps had anything in common?

    You don't get what I'm doing? Here, I guess some people are slower then others.

    1) I drive to the airport.
    2) I press a button at the counter.
    3) My program detects I have pressed a button near the airport and plays a cutscene of me flying away in an airplane.
    4) My program covers the screen black
    5) My program secretly exits the game and loads GTA3, hacking its way through the menu and loading the game.
    6) Once the game is loaded, it plays a cutscene of an airplane landing at the GTA3 airport. The player then steps out of the airplane and you can now play.

    Thats as detailed as it gets, chief. If you still don't understand then maybe you aren't fit to help. As I just said, some people are just slower then others.

  5. #5
    Elite Hacker Jacob Roman's Avatar
    Join Date
    Aug 2004
    Location
    Miami Beach, FL
    Posts
    5,349

    Re: Cover the screen black

    Create 2 TLVERTEX polygons that's the size of the whole screen and together, they should create a rectangle. Next, you alphablend them, and in the area where you created the geometry (Like the function CreateTLVertex() that you might have spotted over in DirectX4VB), you use D3DColorRGBA() in the area where you color the polygon, which should be black. Then in a loop you cycle though its Alpha values in that D3DColorRGBA function within the CreateTLVertex(). Cycling from 255 to 0 should fade in while 0 to 255 should fade out. Hope this helps.

  6. #6
    PowerPoster Halsafar's Avatar
    Join Date
    Jun 2004
    Location
    Saskatoon, SK
    Posts
    2,339

    Re: Cover the screen black

    Well other than the foul language which can get you a warning or banned...
    Personally, I don't believe you, I've seen the questions you've asked before.

    Anyway, I have played both of those and used all the hacks provided and played with them fully.

    Chances are you using some hack, all you want to is inject a black screen, in which case is quite simple using DirectX, OpenGL, BitBlt GUI, or even a fullscreen window which is black could do it.... Also hacking the menus as far as I remember was simply adding a command line..

    But I do not wish to help you, so good luck.
    "From what was there, and was meant to be, but not of that was faded away." - - Steve Damm

    "The polar opposite of nothingness is existance. When existance calls apon nothingness it shall return to nothingness." - - Steve Damm

    "When you do things right, people won't be sure if you did anything at all." - - God from Futurama

  7. #7

    Thread Starter
    Addicted Member
    Join Date
    Feb 2005
    Location
    Cleveland, Ohio
    Posts
    255

    Re: Cover the screen black

    Quote Originally Posted by Halsafar
    Well other than the foul language which can get you a warning or banned...
    Personally, I don't believe you, I've seen the questions you've asked before.

    Anyway, I have played both of those and used all the hacks provided and played with them fully.

    Chances are you using some hack, all you want to is inject a black screen, in which case is quite simple using DirectX, OpenGL, BitBlt GUI, or even a fullscreen window which is black could do it.... Also hacking the menus as far as I remember was simply adding a command line..

    But I do not wish to help you, so good luck.
    What I have previously asked has had nothing to do with memory hacking. People aren't banned for saying 'ass', by the way.
    Last edited by Jacob123; May 10th, 2005 at 05:01 PM.

  8. #8
    PowerPoster Halsafar's Avatar
    Join Date
    Jun 2004
    Location
    Saskatoon, SK
    Posts
    2,339

    Re: Cover the screen black

    Not banned, but warned, then banned.
    Rules clearly states no cursing.
    Although it is not astericking it out so.

    I did check out your page, nice work I must admit. Although there is already a multiplayer patch for VC and 3 that I have used before and worked fine.

    As for your black screen, I can program something for you which you can for example run, and have display a blank screen, then thread will sleep waiting for a event to be triggered from your program, when that event is triggered the black screen will disappear and the program will close thus showing yours.

    It will just require a bit of process to process communication when it comes to the event triggering, otherwise they would be independant.

    C++ right?
    "From what was there, and was meant to be, but not of that was faded away." - - Steve Damm

    "The polar opposite of nothingness is existance. When existance calls apon nothingness it shall return to nothingness." - - Steve Damm

    "When you do things right, people won't be sure if you did anything at all." - - God from Futurama

  9. #9

    Thread Starter
    Addicted Member
    Join Date
    Feb 2005
    Location
    Cleveland, Ohio
    Posts
    255

    Re: Cover the screen black

    Quote Originally Posted by Halsafar
    I did check out your page, nice work I must admit. Although there is already a multiplayer patch for VC and 3 that I have used before and worked fine.
    Thanks, but if this other multiplayer patch you're talking about is "Multi Theft Auto".. well, the lag in that mod makes the game completely unplayable. Not to mention the desync, crashes, etc.

    I'm attempting this in VB.

  10. #10
    PowerPoster Halsafar's Avatar
    Join Date
    Jun 2004
    Location
    Saskatoon, SK
    Posts
    2,339

    Re: Cover the screen black

    I do not remeber which one I used, it was last year sometime.
    But it was somewhat popular, there was still an active server running.
    Me and my friend played fine.


    Well, first I must agrue with VB and how useless it is, but beside that. Do you know how to send messages between process' in VB?

    Do you know how to shell an exe and gets its process handle?

    If you do then I can provide you with a very small and simple exe to blank the screen you can shell and send a simple message once your done with it. It may take a bit though, I gotta look over bitblt again since I aint used that since I programmed in VB and how to make sure the window holds focus no matter what.

    BitBlt may not be the best choice now that I think about, it may be possible to utilize some other techniques.
    Last edited by Halsafar; Apr 27th, 2005 at 11:06 PM.
    "From what was there, and was meant to be, but not of that was faded away." - - Steve Damm

    "The polar opposite of nothingness is existance. When existance calls apon nothingness it shall return to nothingness." - - Steve Damm

    "When you do things right, people won't be sure if you did anything at all." - - God from Futurama

  11. #11

    Thread Starter
    Addicted Member
    Join Date
    Feb 2005
    Location
    Cleveland, Ohio
    Posts
    255

    Re: Cover the screen black

    Yes I know how to shell an exe and get its processhandle - but I dont HAVE TO shell it to get its processhandle. I can just use some simple FindWindow, GetWindowProcessId, OpenProcess API stuff to get a processhandle based on the window title.
    Or I can use enumeration and get a processhandle based on exe name, either way, thats easy to get.

    Send message between processes? Like IPC? In what format?
    Api? Winsock? SendMessage?

  12. #12
    PowerPoster Halsafar's Avatar
    Join Date
    Jun 2004
    Location
    Saskatoon, SK
    Posts
    2,339

    Re: Cover the screen black

    No winsock, you will need some API of course...
    SendMessage may work, but may be a bit annoying to work out since we would need to send a unique message to the blank screen, the blank screen would need to know the message to jump on it and since unique messages are registered at runtime it will be different each time. Communicating that unique message DWORD to each window would be a bother.

    So, I'll look into how easily I can use Events.
    See I can CreateEvent in the blank screen, then use OpenEvent in your program to get a handle to the created event.
    The blank screen will be sleeping waiting for that event to signal, when it is the blank screen will wake up and shutdown.

    Simple process, we'll just need a unique string to identify the event.... In which case I believe the same goes for the message actually.


    More things to check:
    Can you use ::RegisterWindowMessage()?
    Do you know to get the HWND of the window in the program I will create?

    My better idea stands: We Register a unique message under the same string in both programs, that way the return WILL be the same, I have used this trick before. Then if you get the window hwnd of the blank screen you can at anytime SendMessage(hwnd, UniqueMsg, 0, 0); and the blank screen will shutdown. Very easy, and a very useful blank screen.
    Last edited by Halsafar; Apr 28th, 2005 at 11:12 AM.
    "From what was there, and was meant to be, but not of that was faded away." - - Steve Damm

    "The polar opposite of nothingness is existance. When existance calls apon nothingness it shall return to nothingness." - - Steve Damm

    "When you do things right, people won't be sure if you did anything at all." - - God from Futurama

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width