AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Fake Meta (https://forums.alliedmods.net/showthread.php?t=5489)

Votorx 09-03-2004 11:00

Fake Meta
 
What exactly is fake meta and what does and can it do?
Maybe someone can give me an example of how it's used.

Twilight Suzuka 09-03-2004 12:28

FakeMeka is a fake version of metamod, which routes metamod calls through AMXX's core. Its to aid in modules, and supposably allows for faster calls then engine, which I dont get.

Ok, fakemeta routes things throughitself, then amxx, back into metamod. Correct me if I am wrong.

Thats routing through 1,2,3 things till it gets to the actual HL engine, or the player.

Now, with engine, it just goes through AMXX, then into metamod.
Thats 1,2 things before it hits the engine.

So you tell me what seems faster, two routes, or three?

I might be wrong, maybe fakemeta routes it directly into the metamod, which might have an advantage, but eh.

FakeMeta could be used for....making a forward in a plugin for example, or spawning an ent, or helping to write a module. Tons of stuff.

Votorx 09-03-2004 13:22

Lets say I hook a function in hl to register_forward. What would it do? Would I be able to edit that function in my plugin or do I forward it to a function in my plugin and do something when the hooked function is called?

Twilight Suzuka 09-03-2004 13:44

Quote:

Originally Posted by Votorx
Lets say I hook a function in hl to register_forward. What would it do? Would I be able to edit that function in my plugin or do I forward it to a function in my plugin and do something when the hooked function is called?

What ever you want dude. The forward is called when certain things happen. For instance, server_frame is called every server frame, vexd_touch is called whenever things touch.

So basically, you hook a function from HL, and whenever that function is used, it calls your forward, which runs a function.

So I have no idea WHAT your trying to ask,b ut thats how forwards work.

PM 09-03-2004 13:58

There are two things that are both (misleadingly) called "FakeMeta".

The older one is a system which routes metamod calls to AMXx modules. This was not done because of any speed improvement (well there is no speed improvement, so that would be nosnence). It was done so metamod doesn't need to load modules direclty. This leaded to hackish code and listenserver crashes. The idea came from XAD (who is now inactive because of the lack of time). When I implemented it, I called it FakeMeta because it fakes metamod for the modules.

The second thing is a module for AMXx which allows plugins to hook just about any function from the engine api, dll api, or newdll api. That means that you get a much greater power in plugins writing. I think this module was called FakeMeta because the name is popular in the dev team :)

You could do just about anything a module can do with fakemeta. But beware, modules are faster in general, so I'd prefer a module function rather than rebuilding it on my own (which also leads to a smaller amount of coding).

mahnsawce 09-03-2004 14:23

... Also the module is by no means 100% finished. Forwards which either required a very specific structure (Traces,UpdateClientData, etc), or were not practical to forward (AddToFullPack, and some others) were not added due to lack of time and the utter, extreme, overwhelming monotony of that module in general.

Johnny got his gun 09-03-2004 15:37

Quote:

Originally Posted by mahnsawce
the utter, extreme, overwhelming monotony of that module in general.

:lol:

Dunno what we should call it then. The fakemeta module should be enough, since the first one is not a module but a ... "system"...


I guess the question is, what can the Fakemeta Module do?

The answer is... not gone there yet. Yes we (at least I so far:-)) have used it to catch a few stuff like the setting of models but the full extent of its "power" - we haven't yet seen. Just take a look at fakemeta_const.inc, or better yet, the eiface.h file of HL SDK and the SDK itself and look plausible functions to hook. Because hooking is what it's all about. Fakemeta can of course call all of the functions in eiface.h as well, on top of that, which should make it extra useful.

We can at least safely say that finally we have some backing up for that "next level of HL scripting" tagline.

Twilight Suzuka 09-03-2004 23:50

...not really. You just stole metamod's idea and formatted it into your own idea. Thats not really the next level. Its always been there.

BAILOPAN 09-04-2004 00:13

Twilight please stop trolling, it's quite obvious you don't understand the concept here and if you continue to post messages like this I will get angry.

It is the next level of Half-Life scripting because you can script with nearly the same functionality metamod gives you, with one unified instruction set (instead of 15-20 abstract, single function natives like VexD, you get 4-6 natives which let you do anything).

Twilight Suzuka 09-04-2004 00:14

As you wish BAILOPAN. I was simply putting my personal opinion into it. Sorry if it disturbed or annoyed you. Just how I feel.

Wont do it again.


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

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