Update: THIS EXTENSION DOES NOT WORK ANY MORE, DO NOT POST ABOUT TRYING TO INSTALL IT
As promised, I have release a patch for attached entities.
While all the above points about why using Valve's content is bad still apply, all restrictions in this plugin have been removed due to certain people selling a version that has no restrictions.
Do not use any official valve item models, period! I am in the process of trying to see if we can get the policy relaxed, working around the system will ensure that they decide to ban all attachments.
Valve already knows exactly how this patch is working and it's trivial for them to fix. So, cheat the system, lose everything.
I asked Robin for permission to do this patch, and got the okay, but if you want to keep the ability to use attachments the usage of their content needs to be as close to zero as possible. I do not want to see any communities running cloned content, period. Valve never said anything about the use of their models before, so nobody really knew what they felt about it, now we know better. I hope most server operators on this forum are honorable enough to respect this.
This plug-in will try to prevent uses of valves models.
Also, the plug-in is designed in such a way that updates will regularly break it, I will update it manually after updates, and I will ensure that any cloned content I find, gets broken along with it. So if you like remaking cloned content every update, this is the way to go.
Discussion of any kind of workaround of the system on this forum will be ruthlessly deleted (and the poster potentially banned), we're not going to help anybody cheat the system and I hope the people on here will honor that. Remember, It is very easy for valve to break this, let's try and show them that the use of their content isn't going to be as widespread as they thought it would be and perhaps we can get a relaxation of the policy so that this workaround becomes obsolete.
With that said, there is no promise of how long this patch will work, they might fix it tomorrow (even though I got the okay).
If you see any servers running cloned content, please PM me the IP of the servers so I can have a count of rogue servers for statistics and perhaps a wall of shame. If the model is not made from scratch by a modeler, or it looks just like one of valves models, it's a clone. So even if you re-make a Sam & Max hat from scratch, you're still cloning. Don't do it. Be original. You would not remake ctf_2fort.
Valve are aware of this, and will probably enact tighter control over attachments soon.
#define ATTACHABLE_INTERFACE "ATTACHABLE_INTERFACE_002"
virtual bool HookEntity( CBaseEntity *pEntity ) = 0; //need to call this RIGHT after CEBN.
virtual void UnhookEntity ( CBaseEntity *pEntity ) = 0; //special cases, you should never have to do this.
virtual bool IsHooked ( CBaseEntity *pEntity ) = 0; //is it special? :)
IAttachable *g_pAttachable = (IAttachable *)g_SMAPI->MetaFactory(ATTACHABLE_INTERFACE, NULL, NULL);
new iEntityOtherPlayersGetToOodleAt = Attachable_CreateAttachable(iClient, false);
CreateAttachable creates an entity (a prop_physics to be exact), applies the patch, and then parents it to the player. The entity that it creates is not sent to the parent. Why? The nature of the patch has an issue where the player cannot see his wearable about 60-70% of the time, so I went ahead and ensured it's not sent 100% of the time. This means if you want them to be able to see their attachment, you will have to make another tf_wearable_item which as it is now, only they see that entity. So every hat becomes two entities if you need the parent player to see it.
You should only do these things to the resulting entity:
Do not call DispatchSpawn, the entity will be deleted if this happens on it.
- Change its model. (Do not change it to a valve model! DO NOT TAUNT HAPPY FUN BALL)
- Change effects / such as removing BONEMERGE if required for your attachments.
- Delete it.
In order to test it locally you will need to assign the attachment to a bot or another player.
Due to the nature of this plug-in, the SourceMod extension is open source, but the business end of it, which is in a Metamod plug-in, will remain closed source.
My whole experience with valve after the petition is extremely friendly (and yes they saw my petition), they are not out to hurt mods or ban custom content to have a monopoly on attachments, they just want their content to be special and if it's instantly available to every player on every server the whole item drop system becomes kind of pointless, this is mainly about wearables and promo content, and I have no objection to this policy, they just want to protect the value of their