Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name Anti-minge trapper with spawner
- @inputs
- @outputs
- @persist Targets:table
- @trigger
- runOnChat(1)
- if(first() || dupefinished()) {
- runOnChat(1)
- timer("update",100)
- }
- if(chatClk(owner())) {
- Chat = lastSaid():explode(" ")
- if(Chat[1,string] == "%jail") {
- Target = table()
- Target:pushEntity(findPlayerByName(Chat[2,string]))
- Target:pushVector(Target[1,entity]:pos())
- if(Chat:count() < 3) {
- Target:pushNumber(60)
- } else {
- Target:pushNumber(Chat[3,string]:toNumber())
- }
- Jail = table()
- Jail:pushEntity(propSpawn("models/squad/sf_plates/sf_plate5x5.mdl",Target[2,vector]+vec(-30,-30,100),1))
- Jail:pushEntity(propSpawn("models/squad/sf_plates/sf_plate5x5.mdl",Target[2,vector]+vec(-30,-30,-1),1))
- Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(0,30,-50),ang(vec(0,90,0)),1))
- Target:pushTable(Jail)
- Targets:pushTable(Target)
- hint("Jailed " + Target[1,entity]:name() + " for " + Target[3,number] + " seconds!",5)
- concmd("say \"/pm " + Target[1,entity]:name():explode(" ")[1,string] + " You have been jailed for " + Target[3,number] + " seconds!\"")
- hint("say \"/pm " + Target[1,entity]:name():explode(" ")[1,string] + " You have been jailed for " + Target[3,number] + " seconds!\"",10)
- timer("jailFinish",1000)
- }
- }
- if(clk("jailFinish")) {
- Target = Targets[Targets:count(),table]
- Jail = Target[Target:count(),table]
- Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(0,-30,-50),ang(vec(0,90,0)),1))
- Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(-30,0,-50),ang(vec(0,0,0)),1))
- Jail:pushEntity(propSpawn("models/props_building_details/Storefront_Template001a_Bars.mdl",Target[2,vector]-vec(30,0,-50),ang(vec(0,0,0)),1))
- for(I = 1, 2) {
- Jail[I,entity]:setMaterial("models/props_lab/door_klab01")
- }
- }
- if(clk("update")) {
- for(I=1,Targets:count()) {
- Ply = Targets[I,table][1,entity]
- LastPos = Targets[I,table][2,vector]
- Targets[I,table][3,number] = Targets[I,table][3,number] - 0.1
- Time = Targets[I,table][3,number]
- Jail = Targets[I,table][4,table]
- if(Time <= 0) {
- for(J = 1, Jail:count()) {
- Jail[J,entity]:propDelete()
- }
- hint(Ply:name() + " was unjailed",5)
- Targets:remove(I)
- }
- if(Ply:pos():distance(LastPos) > 50) {
- Targets[I,table][2,vector] = Ply:pos()
- Jail[1,entity]:setPos(Ply:pos()+vec(-30,-30,100))
- Jail[2,entity]:setPos(Ply:pos()+vec(-30,-30,-3))
- Jail[3,entity]:setPos(Ply:pos()-vec(0,30,-50))
- Jail[4,entity]:setPos(Ply:pos()-vec(0,-30,-50))
- Jail[5,entity]:setPos(Ply:pos()-vec(-30,0,-50))
- Jail[6,entity]:setPos(Ply:pos()-vec(30,0,-50))
- }
- }
- timer("update",100)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement