So I bought this plugin a while back ago (can't recall from whom) for my old server and all was fine. That is until Valve gave everyone 3 hat slots :/ Now when someone equips an unusual effect and they have say, a Clans Pride Misc item equipped the effect gets put on that instead of the 1st hat slot.
Could anyone possibly fix this to force it to ONLY equip the 1st hat slot if possible? Thanks
Code:
#include <sourcemod>
#include <clientprefs>
#include <tf2items>
//Unusual Particles
new Float:particle[MAXPLAYERS+1]
new Handle:g_hCookieParticle;
public OnPluginStart()
{
g_hCookieParticle = RegClientCookie("tf2donor_particle", "", CookieAccess_Private);
RegAdminCmd("sm_unusuals", Command_Unusuals, ADMFLAG_CUSTOM1);
}
public Action:Command_Unusuals(client, args)
{
new Handle:effectmenu = CreateMenu(EffectMenuCallback);
SetMenuTitle(effectmenu, "Unusual Effects");
AddMenuItem(effectmenu, "0", "None");
AddMenuItem(effectmenu, "1", "Red Fire");
AddMenuItem(effectmenu, "3", "Nemesis Burst");
AddMenuItem(effectmenu, "4", "Community Sparkle");
AddMenuItem(effectmenu, "6", "Green Confetti");
AddMenuItem(effectmenu, "7", "Purple Confetti");
AddMenuItem(effectmenu, "8", "Ghosts");
AddMenuItem(effectmenu, "9", "Green Energy");
AddMenuItem(effectmenu, "10", "Purple Energy");
AddMenuItem(effectmenu, "11", "Circling TF Logo");
AddMenuItem(effectmenu, "12", "Flies");
AddMenuItem(effectmenu, "13", "Burning 1");
AddMenuItem(effectmenu, "14", "Burning 2");
AddMenuItem(effectmenu, "15", "Plasma 1");
AddMenuItem(effectmenu, "16", "Plasma 2");
AddMenuItem(effectmenu, "17", "Sun Beams");
AddMenuItem(effectmenu, "18", "Circling Peace Sign");
AddMenuItem(effectmenu, "19", "Circling Heart");
AddMenuItem(effectmenu, "20", "Stamp Spin");
AddMenuItem(effectmenu, "29", "Stormy Storm");
AddMenuItem(effectmenu, "30", "Blizzard");
AddMenuItem(effectmenu, "31", "Orbiting Nuts & Bolts");
AddMenuItem(effectmenu, "32", "Orbiting Planets");
AddMenuItem(effectmenu, "33", "Orbiting Fire");
AddMenuItem(effectmenu, "34", "Bubbles");
AddMenuItem(effectmenu, "35", "Smoking");
AddMenuItem(effectmenu, "36", "Steaming");
AddMenuItem(effectmenu, "37", "Orbiting Pumpkin");
AddMenuItem(effectmenu, "38", "Full Moon Cloudy");
AddMenuItem(effectmenu, "39", "Bubbles Green");
AddMenuItem(effectmenu, "40", "Orbiting Dark Fire");
DisplayMenu(effectmenu, client, MENU_TIME_FOREVER);
return Plugin_Handled;
}
public OnClientPutInServer(client)
{
particle[client] = 0.0;
}
public EffectMenuCallback(Handle:menu, MenuAction:action, client, param2)
{
if (action == MenuAction_Select)
{
new String:info[16];
GetMenuItem(menu, param2, info, sizeof(info));
new Float:choice = StringToFloat(info);
particle[client] = choice;
SetClientCookie(client, g_hCookieParticle, info);
PrintToChat(client, "You must respawn or touch a resupply cabinet for your change to take effect.");
}
}
public Action:TF2Items_OnGiveNamedItem(client, String:classname[], iItemDefinitionIndex, &Handle:hItem)
{
if (StrEqual(classname, "tf_wearable"))
{
//PrintToServer("OnGiveNamedItem - Client %N, classname: %s, Index: %d", client, classname, iItemDefinitionIndex);
//No particle or not admin
if (particle[client] == 0.0)
{
PrintToServer("no effect");
return Plugin_Continue;
}
hItem = TF2Items_CreateItem(OVERRIDE_ALL);
TF2Items_SetClassname(hItem, classname);
TF2Items_SetItemIndex(hItem, iItemDefinitionIndex);
TF2Items_SetQuality(hItem, 6);
TF2Items_SetNumAttributes(hItem, 1);
TF2Items_SetAttribute(hItem, 0, 134, particle[client]);
TF2Items_SetFlags(hItem, OVERRIDE_ATTRIBUTES|OVERRIDE_CLASSNAME|OVERRIDE_ITEM_DEF|OVERRIDE_ITEM_QUALITY);
//PrintToServer("Everything is set!");
return Plugin_Changed;
}
return Plugin_Continue;
}