Aimbots and Several Contemporaneous Ideas

Everything about HD, MD, and their mods.

Moderator: Halo Moderators

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Aimbots

Post by Sparky » Thu Jun 28, 2012 1:17 pm

Talking with Samuco is fun, because he moves forward with ideas, then I move forward again with them, and it becomes a masterpiece goal when the dust settles. Then I go read more on programming methods and he goes afk for like half a year until one of us comes back with something new and cool.

To move forward:
What about a program that lets you spawn and control AI dynamically during a game? It could work if we could also figure out how to dynamically control the spawning of itmc and vehicles and other map assets (such as players also). Alternatively, you could synthesize this by moving the spawn points outside of the map bsp. You could develop a map where all the spawn points are at a single location outside the bsp, then using memory hacking you could place whatever you wanted to show up on the map inside the bsp area so it spawned there.

It would be as easy as moving players around the map, which Starlight already lets you do.
Either you are groping for answers, or you are asking God and listening to Jesus.

Samuco
Peon
Posts: 131
Joined: Mon Apr 26, 2010 1:39 am

Re: Aimbots

Post by Samuco » Mon Jul 02, 2012 8:23 pm

Sparky wrote: Then I go read more on programming methods and he goes afk for like half a year until one of us comes back with something new and cool.
Heh, so true :D
Sparky wrote: Alternatively, you could synthesize this by moving the spawn points outside of the map bsp. You could develop a map where all the spawn points are at a single location outside the bsp, then using memory hacking you could place whatever you wanted to show up on the map inside the bsp area so it spawned there.

It would be as easy as moving players around the map, which Starlight already lets you do.
Just look at 5-Team-Slayer for custom spawning.
The biggest problem with this is the actual 'spawning' of objects. I tried to dynamically spawn different objects several years ago and it didn't work.
Converting objects is also... weird (I did manage to turn a hog into a tank... but it was so glitchy that it crashed after ~ 5 seconds)

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Aimbots

Post by Sparky » Tue Jul 03, 2012 3:32 am

Maybe try using garb tags instead of scen tags.
Either you are groping for answers, or you are asking God and listening to Jesus.

002
Ranger
Posts: 944
Joined: Wed Aug 16, 2006 5:48 pm
Location: ::1

Re: Aimbots

Post by 002 » Sat Jul 07, 2012 8:28 am

Sparky wrote:Once you respawn, though, these memory addresses are no longer used. Doesn't it have something to do with the map magic ... or something like that?
Magic is basically the offset in which the map is loaded. You could change map values without reloading the map using

Code: Select all

magic + offset
When you respawn, the object ID and address of the player is discarded and you obtain a new ID. The address can be derived from the ID pretty easy.

playerIndex is the player number. 0 = Host, 1 = first player that joined, etc. It can be derived sv_players (usually correct) or from memory mods like the Colors mod, which lists players in order, or the Assassin mod I made, which lists in numerical order.

Variables in all caps are constants.

Code: Select all

objectIDAddress = FIRST_STATIC_PLAYER_ADDRESS (0x4BD7AFD0) + PLAYER_OBJECT_ID_OFFSET (0x32) + STATIC_PLAYER_SIZE (0x200) * playerIndex
Then, you take the value from this address. It's a 16-bit unsigned integer. We'll call this value objectID If it's 0 or 0xFFFF (-1), the player is not alive or existing.

Note: If it is 0 and the player is alive or spawned, you're playing a modded map on slayer without scenery, machines, vehicles, weapons, equipment, etc. which is boring. On most occasions, 0 is invalid.

A little trivia. The object ID 0 in CTF is the red team flag. In slayer, if unchanged, is a warthog.

Now we can find the dynamic player address. The one that contains shield, health, location, and stuff.

Code: Select all

playerAddressAddress = FIRST_TABLE_OBJECT_ADDRESS (0x4BB206EC) + OBJECT_TABLE_SIZE (0xC) * objectID + OFFSET_TO_HALO_OBJECT_POINTER (0x8)
Now we take the value of this. It's a 32-bit unsigned integer. This is the actual address of the dynamic player.

To change stuff with it, you could do things like:

Code: Select all

changeFloat(playerAddress + OFFSET_TO_PLAYER_Z_COORDINATE (0x64),50)
This would set the player's Z coordinate to 50. In an unchanged Blood Gulch, this would surely kill them.


Halo Full and Demo have different FIRST_STATIC_PLAYER_ADDRESS and FIRST_STATIC_PLAYER_OBJECT_ID, and FIRST_OBJECT_TABLE_ADDRESS. They also have different magics. Using subtraction of the two magics, you could compensate for this and convert a demo memory mod. I did it with the Zombies mod that I made in late 2010.

Everything else like PLAYER_OBJECT_ID_OFFSET is the same and should not be changed. Usually these offsets have 4 or less digits.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Aimbots

Post by Sparky » Sat Jul 07, 2012 2:17 pm

I'm really just way too tired to understand any of this right now.

Back to PHP stuff for Zeus.

I have an idea though where HDM can host scripts that the HDM server would use to rcon remote connect with the hosted halo demo or halo games... basically what I'm trying to say here is that HaloDemoMods.com can have web pages where you can remote-control a hosted halo game. This would be the next best thing to running the game on the server itself to host players in that game from the HDM server. All this stuff would of course be with another server setup.


I'm wondering if anyone could recommend a Mac OS X server host, so perhaps we'd be able to have some real Halo Demo dedicated servers, and so all this stuff would be so much more flexible overall.
Either you are groping for answers, or you are asking God and listening to Jesus.

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: Aimbots

Post by nil » Sat Jul 07, 2012 7:53 pm

You are so overcomplicating things. There is a dedi command-line tool that runs natively on Windows, or can easily run on Linux via WINE (this is what the clanhalo dedi uses). Halo provides a remote console built in, no need to think about it. You can just run a number of those instances you want. Although I doubt you have a server that can support many dedi's at once. Not like it matters for now because the number of users on MD is not that high.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Aimbots

Post by Sparky » Sun Jul 08, 2012 11:23 am

Right.

Well, I have been looking to discuss the most useful server scenario; that is to what I alluded here.

HDM server is filling up, and yet there is relatively little activity on it now, I think because of our focus elsewhere. So I'm not saying we should focus on filling up the server hard drive, or that we should not be doing what we are doing elsewhere. When I renew the hosting plan for halodemomods.com, would another server setup, such as a windows server (ugh) or Mac OS X server (with linux "screen" support) be more useful to our goals than a red hat linux server?

I applaud other life goals and to move on from this to do other decidedly better things (not games, but other more important things in life), yet while we continue here, we are moving towards a direction with these efforts also, to make this little part of the world ideal to match other life values we gain elsewhere. So while we fiddle with this present computer technology, what is the most useful to what we seek to achieve here? Thinking as creative modders, not as those who hold the source code to the game.
Either you are groping for answers, or you are asking God and listening to Jesus.

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: Aimbots

Post by nil » Sun Jul 08, 2012 12:10 pm

I don't see any advantage to have an OS X server over a linux one. Linux is widely used for servers, and you'll likely find it a pain to install packages that aren't heavily tested on OS X (eg: WINE). I'd still go with Linux.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Aimbots

Post by Sparky » Sun Jul 08, 2012 5:09 pm

Thanks for that, and yes I agree. But why don't you see the advantage of an OS X server over a linux one? I haven't been able to install "screen" support and I don't anticipate being able to do that on a dedicated server either. That's pretty much the only thing keeping halo demo from having a dedicated host through HDM.
Either you are groping for answers, or you are asking God and listening to Jesus.

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: Aimbots

Post by nil » Sun Jul 08, 2012 6:35 pm

Sparky wrote:Thanks for that, and yes I agree. But why don't you see the advantage of an OS X server over a linux one? I haven't been able to install "screen" support and I don't anticipate being able to do that on a dedicated server either. That's pretty much the only thing keeping halo demo from having a dedicated host through HDM.
I need some clarification on 'screen.' If you think the command line tool needs a GUI running via WINE, it doesn't. You can pass a flag that will make it run in the terminal window you started it from.

If you're saying you don't have screen installed, then you are insane, and you should install it for it is useful. (Honestly, one would think Red Hat would come with screen installed anyway). But if you aren't using screen, then I'm curious how are you keeping that lobby script running, and if you can keep that script running, then what is preventing you from keeping this tool running?
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 8 guests