HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. new cvar_on
  6. new g_GiveMessage
  7. new g_AddTime
  8.  
  9. new entlist[][] = {
  10. "func_button",
  11. "trigger_multiple",
  12. "trigger_once"
  13. }
  14.  
  15. public plugin_init() {
  16. register_plugin("Jail Opener","1.0","Pim")
  17. register_concmd("amx_openjail","open_jail_cmd",ADMIN_KICK,"Open the jail on surf maps")
  18. cvar_on = register_cvar("open_jail_active","1")
  19. g_AddTime = register_cvar("open_jail_time", "4.0")
  20. g_GiveMessage = register_cvar("open_jail_message", "2")
  21.  
  22. if(get_pcvar_float(cvar_on) == 1) {
  23. if(get_pcvar_float(g_AddTime) > 1.0){
  24. set_task(get_pcvar_float(g_AddTime),"open_jail",0,"",0,"b")
  25. } else if(get_pcvar_float(g_AddTime) >= 0 && get_pcvar_float(g_AddTime) <=1.0){
  26. set_task(1.0,"open_jail",0,"",0,"b")
  27. }
  28. }
  29. }
  30.  
  31. public open_jail_cmd(id,level,cid) {
  32. if(!cmd_access(id,level,cid,0))
  33. return PLUGIN_HANDLED
  34.  
  35. new map[32]
  36. get_mapname(map,31)
  37.  
  38. if(!get_pcvar_num(cvar_on)) {
  39. client_print(id,print_console,"[Surf Jail] Surf jail nyitas kikapcsolva!")
  40. return PLUGIN_HANDLED
  41. }
  42.  
  43. else if(!equali(map,"surf",4)) {
  44. client_print(id,print_console,"[Surf Jail] Nem Surf palya!")
  45. return PLUGIN_HANDLED
  46. }
  47.  
  48. else {
  49. if(read_argc()>1) {
  50. new arg[8]
  51. read_argv(1,arg,7)
  52. set_task(str_to_float(arg),"open_jail",id)
  53. }
  54. else {
  55. if(get_pcvar_float(g_GiveMessage) == 1) {
  56. client_print(id,print_chat,"[Surf Jail] Jail kinyitva!")
  57. }
  58. open_jail(id)
  59. }
  60. }
  61. return PLUGIN_HANDLED
  62. }
  63.  
  64. public open_jail(id) {
  65. new ent,target[32],ent2
  66.  
  67. for(new i=0;i < sizeof entlist;i++) {
  68. ent=0
  69. ent2=0
  70. while((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", entlist[i]))) {
  71. if(pev_valid(ent)) {
  72. //dllfunc(DLLFunc_Touch,ent,id)
  73. pev(ent,pev_target,target,31)
  74. while((ent2 = engfunc(EngFunc_FindEntityByString, ent2, "targetname", target))) {
  75. dllfunc(DLLFunc_Use,ent2,id)
  76. if(get_pcvar_float(g_GiveMessage) == 2) {
  77. client_print(id,print_chat,"[Surf Jail] Jail kinyitva!")
  78. }
  79. return PLUGIN_HANDLED
  80. }
  81. }
  82. }
  83. }
  84. client_print(id,print_console,"[Surf Jail] Nem nyilt ki a jail. Gyozodj meg rola, hogy van e surf palya.")
  85. return PLUGIN_HANDLED
  86. }