HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta>
  4.  
  5. new gForwardSpawn;
  6.  
  7. new const gRemoveEntitys[][] = {
  8. "func_wall",
  9. "func_door_rotating",
  10. "func_button"
  11. };
  12.  
  13. new const gRemoveSkins[][] = {
  14. "*16",
  15. "*19",
  16. "*20"
  17. };
  18.  
  19. public plugin_init() {
  20. register_plugin( "surf_ski_2 Jail remover", "1.0", "xPaw" );
  21.  
  22. register_cvar( "nojail_ss2", "1.0", FCVAR_SERVER | FCVAR_SPONLY );
  23.  
  24. if( gForwardSpawn != 0 )
  25. unregister_forward( FM_Spawn, gForwardSpawn );
  26. }
  27.  
  28. public plugin_precache() {
  29. new szMapName[ 11 ];
  30. get_mapname( szMapName, 10 );
  31.  
  32. if( equal( szMapName, "surf_ski_2" ) )
  33. gForwardSpawn = register_forward( FM_Spawn, "fwdSpawn" );
  34. }
  35.  
  36. public fwdSpawn( iEntity ) {
  37. if( pev_valid( iEntity ) ) {
  38. static szClassname[32], szModel[32];
  39. pev( iEntity, pev_classname, szClassname, 31 );
  40. pev( iEntity, pev_model, szModel, 31 );
  41.  
  42. for( new i = 0; i < sizeof( gRemoveEntitys ); i++ )
  43. if( equal( szClassname, gRemoveEntitys[ i ] ) )
  44. for( new i = 0; i < sizeof( gRemoveSkins ); i++ )
  45. if( equal( szModel, gRemoveSkins[ i ] ) )
  46. engfunc( EngFunc_RemoveEntity, iEntity );
  47.  
  48. if( equal( szClassname, "trigger_teleport" ) ) {
  49. new szTarget[ 7 ];
  50. pev( iEntity, pev_target, szTarget, 6 );
  51.  
  52. if( equal( szTarget, "jailed" ) )
  53. set_pev( iEntity, pev_target, "jail" );
  54. }
  55.  
  56. if( equal( szClassname, "info_target" ) ) {
  57. new szTargetname[ 7 ];
  58. pev( iEntity, pev_targetname, szTargetname, 6 );
  59.  
  60. if( equal( szTargetname, "jail" ) ) {
  61. set_pev( iEntity, pev_classname, "info_teleport_destination" );
  62. DispatchKeyValue( iEntity, "angles", "0 270 0" );
  63. }
  64. else if( equal( szTargetname, "jailed" ) )
  65. engfunc( EngFunc_RemoveEntity, iEntity );
  66. else if( equal( szTargetname, "outs" ) ) {
  67. set_pev( iEntity, pev_classname, "info_teleport_destination" );
  68. DispatchKeyValue( iEntity, "angles", "0 270 0" );
  69. }
  70. else if( equal( szTargetname, "top1" ) ) {
  71. set_pev( iEntity, pev_classname, "info_teleport_destination" );
  72. DispatchKeyValue( iEntity, "angles", "0 270 0" );
  73. }
  74. else if( equal( szTargetname, "top2" ) ) {
  75. set_pev( iEntity, pev_classname, "info_teleport_destination" );
  76. DispatchKeyValue( iEntity, "angles", "0 180 0" );
  77. }
  78. else if( equal( szTargetname, "ctspawn" ) ) {
  79. set_pev( iEntity, pev_classname, "info_teleport_destination" );
  80. DispatchKeyValue( iEntity, "angles", "0 270 0" );
  81. }
  82. else if( equal( szTargetname, "tspawn" ) ) {
  83. set_pev( iEntity, pev_classname, "info_teleport_destination" );
  84. DispatchKeyValue( iEntity, "angles", "0 270 0" );
  85. }
  86. }
  87. }
  88.  
  89. return FMRES_IGNORED;
  90. }