Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name TARDIS
- @inputs
- @outputs XYZ:vector Demat Phase Flightmode
- @persist Target:entity TARDIS:entity Invis
- runOnChat(1)
- if (first()|dupefinished()){
- TARDIS=entity():isConstrainedTo()
- TARDIS:createWire(entity(),"XYZ", "XYZ")
- TARDIS:createWire(entity(),"Demat", "Demat")
- TARDIS:createWire(entity(),"Phase", "Phase")
- TARDIS:createWire(entity(),"Flightmode", "Flightmode")
- Target=owner()
- entity():setAlpha(0)
- function demat(V:vector){
- XYZ=V
- timer("Demat",0.5)
- timer("Demat-Reset",0.5)
- print("TARDIS now moving.")
- hideChat(1)
- }
- function phase(){
- timer("Phase",0.5)
- timer("Phase-Reset",0.5)
- print("TARDIS now phasing.")
- hideChat(1)
- }
- function flightmode(){
- timer("Flightmode",0.5)
- timer("Flightmode-Reset",0.5)
- print("TARDIS flightmode toggled.")
- hideChat(1)
- }
- function vector getEscapePos(){
- if (map()=="gm_madgrass_v6"){
- return vec(-11270, -6790, -955)
- }elseif (map()=="freespace_revolution"){
- return vec(840, -12840, -6120)
- }else{
- return vec(0,0,0)
- }
- }
- }
- LastSaid=owner():lastSaid():explode(" ")
- if (chatClk(owner())&LastSaid[1,string]=="!target"){
- if(LastSaid[2,string]){
- Target=findPlayerByName(LastSaid[2,string])
- }else{
- Target=owner()
- }
- hideChat(1)
- print("Target set to " + Target:name())
- }elseif(chatClk(owner())&LastSaid[1,string]=="!go"){
- local NewPos=Target:pos()
- local Offset=150
- if(LastSaid[2,string]=="up"){
- demat(NewPos+Target:up()*Offset)
- }elseif(LastSaid[2,string]=="forward"){
- demat(NewPos+Target:forward()*Offset)
- }elseif(LastSaid[2,string]=="back"){
- demat(NewPos+Target:forward()*-Offset)
- }elseif(LastSaid[2,string]=="down"){
- demat(NewPos+Target:up()*-Offset)
- }elseif(LastSaid[2,string]=="exact"){
- demat(NewPos)
- }else{
- demat(NewPos+Target:forward()*Offset)
- }
- hideChat(1)
- }elseif(chatClk(owner())&LastSaid[1,string]=="!escape"){
- demat(getEscapePos())
- hideChat(1)
- }elseif(chatClk(owner())&LastSaid[1,string]=="!phase"){
- phase()
- hideChat(1)
- }elseif(chatClk(owner())&LastSaid[1,string]=="!flightmode"){
- flightmode()
- hideChat(1)
- }
- if(clk("Demat")){Demat=1}
- if(clk("Demat-Reset")){Demat=0}
- if(clk("Phase")){Phase=1}
- if(clk("Phase-Reset")){Phase=0}
- if(clk("Flightmode")){Flightmode=1}
- if(clk("Flightmode-Reset")){Flightmode=0}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement