Scags / TF2Classic-Tools

Basic tools for TF2Classic dedicated server development
7 stars 11 forks source link

GiveNamedItem missing #4

Open SuperMario20 opened 4 years ago

SuperMario20 commented 4 years ago

I've been trying to port a plugin from tf2 and have succeeded with 2 this far, but this one required GiveNamedItem but I can't find that offset in the gamedata. How could I find it?

Scags commented 4 years ago

You might be thinking of TF2Items. TF2Classic has a different system for items. It's similar however not feasible to implement.

GiveNamedItem exists in the base SourceMod gamedata (sdktools). This corresponds to the GivePlayerItem native. However, TF2 (and TF2Classic) use a completely different GiveNamedItem. So GivePlayerItem might not even work. It didn't when I tried.

This is why TF2Items exists, to let players receive custom weapons. This involves a lot of memory hacking and offset manipulation, which TF2Classic does differently so simply compiling the extension for TF2Classic would not work.

TL:DR to fix your problem you need a completely new plugin that recreates the TF2Items extension in TF2Classic.

gvngngr commented 3 years ago

I was exactly going to ask about this.

When I change the #include <tf2_stocks> inside "tf2items_giveweapon.sp" file to #include <tf2c> and compile, I get the error that TF2 and TF2Classic includes cannot exist together. This is because of another include GiveWeapon plugin has to use: #include <tf2items>, from TF2Items.

I guess we have to do it with the base sourcemod. If anybody figures out how, please let me know.