Raised This Month: $ Target: $400
 0% 

Orpheu&Rage | Ham_AddPoints Hook | Permanent Player Trail | FM_ShouldCollide Semiclip


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 04-16-2017 , 15:10   Re: Orpheu&Rage | Ham_AddPoints Hook | Permanent Player Trail | FM_ShouldCollide Semi
Reply With Quote #7

Even if Klippy already answered, I feel like you are still confused. Maybe I can help, idk.

Quote:
2. Where can I find the list of functions that I can hook with OrpheuRegisterHook ?
You find that list in the game/engine dll's. Imagine that the game is a plugin. In your plugin you have functions for doing things. The game has functions too, be it inside the engine or inside the mod dll.
With orpheu you get access to this internal functions. That's why orpheu is great, you can interact directly with the game and change it's behaviour depending on what you want to do.
That way you don't need to create ugly workarounds or inneficient code.

Quote:
What's this 'InstallGameRules' signature?
It's just a function like any other function from the game. You see it often used because it's useful, as Klippy already said, to retrieve the address of g_pGameRules object. Using this object you can alter game rules offsets(which basically control how the game works) or even hook functions without creating a signature(because you use that address as a base and increment from it, like a list).

Quote:
I'm not using ReHLDS..
Yeah, but ReGameDLL and ReHLDS are the same as original hlds. We use them as a reference, to understand how things work, because valve keeps the original sources private. For example, if you want to understand what happens on new round you just look inside regamedll for CHalfLifeMultiplay::RestartRound. There you have all the code that is executed at that point.
As a matter of fact, that's why we hook new round with HTLV event, because that message is fired from RestartRound.

Quote:
5. I believe ReGameDLL_CS accurately depicts what Valve's CS code is. I'll maybe take a deeper look into this.
They are the same, because they have the pure version and they claim that this one is producing the exact same output as the original hlds.

Quote:
I added a print but it never happened. Maybe Arkshine should look forward to it
Arkshine can't do anything about ham functions, nor anyone else except valve. Hamsandwich does the same thing as orpheu, it uses the functions from the game(only the virtual ones, which can be hooked without a signature, by providing an offset - i.e. their position in the respective function virtual table). This means that amxx has no control on what this functions do or how they work/don't work, game is responsible for that. AMXX only give access to them.

So for example Ham_Spawn is basically CBasePlayer::Spawn.

Also note that there are functions which can be called but can't be hooked, because they are not never called. You should not assume that any functions acts like you would expect it to, valve code is confusing. You should actually check the regamedll code for that specific function and see from where it's called, what this function really do, etc. That way you will know if your code is wrong or simply that function does not do what you expect it to.
__________________

Last edited by HamletEagle; 04-16-2017 at 15:16.
HamletEagle is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:59.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode