Advertisement
Guest User

Untitled

a guest
Aug 27th, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. @name Anti-minge trapper with spawner
  2. @inputs
  3. @outputs
  4. @persist Targets:table
  5. @trigger
  6. runOnChat(1)
  7.  
  8. if(first() || dupefinished()) {
  9. runOnChat(1)
  10. timer("update",100)
  11. }
  12.  
  13. if(chatClk(owner())) {
  14. Chat = lastSaid():explode(" ")
  15. if(Chat[1,string] == "%jail") {
  16. Target = table()
  17.  
  18. Target:pushEntity(findPlayerByName(Chat[2,string]))
  19. Target:pushVector(Target[1,entity]:pos())
  20.  
  21. if(Chat:count() < 3) {
  22. Target:pushNumber(60)
  23. } else {
  24. Target:pushNumber(Chat[3,string]:toNumber())
  25. }
  26.  
  27. Jail = table()
  28. Jail:pushEntity(propSpawn("models/squad/sf_plates/sf_plate5x5.mdl",Target[2,vector]+vec(-30,-30,100),1))
  29. Jail:pushEntity(propSpawn("models/squad/sf_plates/sf_plate5x5.mdl",Target[2,vector]+vec(-30,-30,-1),1))
  30. Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(0,30,-50),ang(vec(0,90,0)),1))
  31.  
  32. Target:pushTable(Jail)
  33. Targets:pushTable(Target)
  34. hint("Jailed " + Target[1,entity]:name() + " for " + Target[3,number] + " seconds!",5)
  35. concmd("say \"/pm " + Target[1,entity]:name():explode(" ")[1,string] + " You have been jailed for " + Target[3,number] + " seconds!\"")
  36. hint("say \"/pm " + Target[1,entity]:name():explode(" ")[1,string] + " You have been jailed for " + Target[3,number] + " seconds!\"",10)
  37. timer("jailFinish",1000)
  38. }
  39. }
  40.  
  41. if(clk("jailFinish")) {
  42. Target = Targets[Targets:count(),table]
  43. Jail = Target[Target:count(),table]
  44. Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(0,-30,-50),ang(vec(0,90,0)),1))
  45. Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(-30,0,-50),ang(vec(0,0,0)),1))
  46. Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(30,0,-50),ang(vec(0,0,0)),1))
  47.  
  48. for(I = 1, 2) {
  49. Jail[I,entity]:setMaterial("models/props_lab/door_klab01")
  50. }
  51. }
  52.  
  53. if(clk("update")) {
  54. for(I=1,Targets:count()) {
  55. Ply = Targets[I,table][1,entity]
  56. LastPos = Targets[I,table][2,vector]
  57. Targets[I,table][3,number] = Targets[I,table][3,number] - 0.1
  58. Time = Targets[I,table][3,number]
  59. Jail = Targets[I,table][4,table]
  60.  
  61. if(Time <= 0) {
  62. for(J = 1, Jail:count()) {
  63. Jail[J,entity]:propDelete()
  64. }
  65. hint(Ply:name() + " was unjailed",5)
  66. Targets:remove(I)
  67. }
  68.  
  69. if(Ply:pos():distance(LastPos) > 50) {
  70. Targets[I,table][2,vector] = Ply:pos()
  71. Jail[1,entity]:setPos(Ply:pos()+vec(-30,-30,100))
  72. Jail[2,entity]:setPos(Ply:pos()+vec(-30,-30,-3))
  73. Jail[3,entity]:setPos(Ply:pos()-vec(0,30,-50))
  74. Jail[4,entity]:setPos(Ply:pos()-vec(0,-30,-50))
  75. Jail[5,entity]:setPos(Ply:pos()-vec(-30,0,-50))
  76. Jail[6,entity]:setPos(Ply:pos()-vec(30,0,-50))
  77. }
  78. }
  79.  
  80. timer("update",100)
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement