HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #pragma semicolon 1
  2.  
  3. #include <sourcemod>
  4. #include <sdktools>
  5.  
  6. #define PLUGIN_VERSION "1.0.4"
  7.  
  8. public Plugin:myinfo =
  9. {
  10. name = "C4 Model Changer",
  11. author = "Mitch",
  12. description = "Egyszerű C4 model cserélő plugin.",
  13. version = PLUGIN_VERSION,
  14. url = "http://snbx.info/"
  15. };
  16.  
  17. enum C4Characteristics
  18. {
  19. String:Model[512],
  20. Float:Size
  21. };
  22. new C4Prop[C4Characteristics];
  23.  
  24. new Handle:C4Model = INVALID_HANDLE;
  25. new Handle:C4Size = INVALID_HANDLE;
  26. new Handle:updaterCvar = INVALID_HANDLE;
  27.  
  28. public OnPluginStart()
  29. {
  30. updaterCvar = CreateConVar("sm_c4model_auto_update", "1", "Autómatikus frissítés ki/be ");
  31. C4Model = CreateConVar("c4_model", "models/weapons/w_c4_planted.mdl", "A C4 Modellje.");
  32. C4Size = CreateConVar("c4_size", "1.0", "C4 Mérete", 0, true, 0.1, true, 10.0);
  33. AutoExecConfig();
  34. HookEvent("bomb_planted", BomPlanted_Event);
  35. HookConVarChange(C4Model, ConvarChange_c4);
  36. HookConVarChange(C4Size, ConvarChange_c4);
  37. }
  38. public ConvarChange_c4(Handle:cvar, const String:oldVal[], const String:newVal[]) {
  39. GetConVarString(C4Model, C4Prop[Model], 512);
  40. if(!StrEqual(C4Prop[Model], "")) PrecacheModel(C4Prop[Model], false);
  41. C4Prop[Size] = GetConVarFloat(C4Size);
  42. }
  43.  
  44. public OnAllPluginsLoaded() {
  45. CreateConVar("sm_c4model_version", PLUGIN_VERSION, "C4Model Version", FCVAR_DONTRECORD|FCVAR_NOTIFY);
  46. }
  47. public OnConfigsExecuted()
  48. {
  49. GetConVarString(C4Model, C4Prop[Model], 512);
  50. if(!StrEqual(C4Prop[Model], "")) PrecacheModel(C4Prop[Model], true);
  51. C4Prop[Size] = GetConVarFloat(C4Size);
  52. }
  53.  
  54. public Action:BomPlanted_Event(Handle:event, const String:name[], bool:dontBroadcast)
  55. {
  56. new c4 = -1;
  57. while((c4 = FindEntityByClassname(c4, "planted_c4"))!=-1)
  58. {
  59. if((!StrEqual(C4Prop[Model], "")) || (!StrEqual(C4Prop[Model], "models/weapons/w_c4_planted.mdl")))
  60. SetEntityModel(c4, C4Prop[Model]);
  61. if(C4Prop[Size] != 1.0)
  62. SetEntPropFloat(c4, Prop_Send, "m_flModelScale", C4Prop[Size]);
  63. }
  64. return Plugin_Continue;
  65. }