Advertisement
Guest User

Untitled

a guest
Jul 6th, 2012
610
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. #include <sourcemod>
  2. #include <clientprefs>
  3. #include <tf2items>
  4.  
  5. //Unusual Particles
  6. new Float:particle[MAXPLAYERS+1]
  7. new Handle:g_hCookieParticle;
  8.  
  9. public Plugin:myinfo =
  10. {
  11. name = "Premium Mod",
  12. author = "Tak",
  13. description = "Premium donator mod features/commands",
  14. version = "1.0",
  15. url = "www.ArcReflex.com"
  16. }
  17.  
  18. public OnPluginStart()
  19. {
  20. g_hCookieParticle = RegClientCookie("tf2donor_particle", "", CookieAccess_Private);
  21. RegAdminCmd("sm_unusuals", Command_Unusuals, ADMFLAG_CUSTOM1);
  22. }
  23.  
  24. public Action:Command_Unusuals(client, args)
  25. {
  26. new Handle:effectmenu = CreateMenu(EffectMenuCallback);
  27. SetMenuTitle(effectmenu, "Unusual Effects");
  28. AddMenuItem(effectmenu, "0", "None");
  29. AddMenuItem(effectmenu, "1", "Red Fire");
  30. AddMenuItem(effectmenu, "3", "Nemesis Burst");
  31. AddMenuItem(effectmenu, "4", "Community Sparkle");
  32. AddMenuItem(effectmenu, "6", "Green Confetti");
  33. AddMenuItem(effectmenu, "7", "Purple Confetti");
  34. AddMenuItem(effectmenu, "8", "Ghosts");
  35. AddMenuItem(effectmenu, "9", "Green Energy");
  36. AddMenuItem(effectmenu, "10", "Purple Energy");
  37. AddMenuItem(effectmenu, "11", "Circling TF Logo");
  38. AddMenuItem(effectmenu, "12", "Flies");
  39. AddMenuItem(effectmenu, "13", "Burning 1");
  40. AddMenuItem(effectmenu, "14", "Burning 2");
  41. AddMenuItem(effectmenu, "15", "Plasma 1");
  42. AddMenuItem(effectmenu, "16", "Plasma 2");
  43. AddMenuItem(effectmenu, "17", "Sun Beams");
  44. AddMenuItem(effectmenu, "18", "Circling Peace Sign");
  45. AddMenuItem(effectmenu, "19", "Circling Heart");
  46. AddMenuItem(effectmenu, "20", "Stamp Spin");
  47. AddMenuItem(effectmenu, "29", "Stormy Storm");
  48. AddMenuItem(effectmenu, "30", "Blizzard");
  49. AddMenuItem(effectmenu, "31", "Orbiting Nuts & Bolts");
  50. AddMenuItem(effectmenu, "32", "Orbiting Planets");
  51. AddMenuItem(effectmenu, "33", "Orbiting Fire");
  52. AddMenuItem(effectmenu, "34", "Bubbles");
  53. AddMenuItem(effectmenu, "35", "Smoking");
  54. AddMenuItem(effectmenu, "36", "Steaming");
  55. AddMenuItem(effectmenu, "37", "Orbiting Pumpkin");
  56. AddMenuItem(effectmenu, "38", "Full Moon Cloudy");
  57. AddMenuItem(effectmenu, "39", "Bubbles Green");
  58. AddMenuItem(effectmenu, "40", "Orbiting Dark Fire");
  59. DisplayMenu(effectmenu, client, MENU_TIME_FOREVER);
  60. return Plugin_Handled;
  61. }
  62.  
  63. public OnClientPutInServer(client)
  64. {
  65. particle[client] = 0.0;
  66. }
  67.  
  68. public EffectMenuCallback(Handle:menu, MenuAction:action, client, param2)
  69. {
  70. if (action == MenuAction_Select)
  71. {
  72. new String:info[16];
  73. GetMenuItem(menu, param2, info, sizeof(info));
  74. new Float:choice = StringToFloat(info);
  75. particle[client] = choice;
  76. SetClientCookie(client, g_hCookieParticle, info);
  77. PrintToChat(client, "You must respawn or touch a resupply cabinet for your change to take effect.");
  78. }
  79. }
  80.  
  81. public Action:TF2Items_OnGiveNamedItem(client, String:classname[], iItemDefinitionIndex, &Handle:hItem)
  82. {
  83. if (StrEqual(classname, "tf_wearable"))
  84. {
  85. //PrintToServer("OnGiveNamedItem - Client %N, classname: %s, Index: %d", client, classname, iItemDefinitionIndex);
  86. //No particle or not admin
  87. if (particle[client] == 0.0)
  88. {
  89. PrintToServer("no effect");
  90. return Plugin_Continue;
  91. }
  92.  
  93. hItem = TF2Items_CreateItem(OVERRIDE_ALL);
  94. TF2Items_SetClassname(hItem, classname);
  95. TF2Items_SetItemIndex(hItem, iItemDefinitionIndex);
  96. TF2Items_SetQuality(hItem, 6);
  97.  
  98. TF2Items_SetNumAttributes(hItem, 1);
  99. TF2Items_SetAttribute(hItem, 0, 134, particle[client]);
  100. TF2Items_SetFlags(hItem, OVERRIDE_ATTRIBUTES|OVERRIDE_CLASSNAME|OVERRIDE_ITEM_DEF|OVERRIDE_ITEM_QUALITY);
  101. //PrintToServer("Everything is set!");
  102. return Plugin_Changed;
  103. }
  104.  
  105. return Plugin_Continue;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement