Advertisement
mattjeanes

TARDIS Official E2

Jul 6th, 2013
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. @name TARDIS
  2. @inputs
  3. @outputs XYZ:vector Demat Phase Flightmode
  4. @persist Target:entity TARDIS:entity Invis
  5. runOnChat(1)
  6. if (first()|dupefinished()){
  7. TARDIS=entity():isConstrainedTo()
  8. TARDIS:createWire(entity(),"XYZ", "XYZ")
  9. TARDIS:createWire(entity(),"Demat", "Demat")
  10. TARDIS:createWire(entity(),"Phase", "Phase")
  11. TARDIS:createWire(entity(),"Flightmode", "Flightmode")
  12. Target=owner()
  13. entity():setAlpha(0)
  14.  
  15. function demat(V:vector){
  16. XYZ=V
  17. timer("Demat",0.5)
  18. timer("Demat-Reset",0.5)
  19. print("TARDIS now moving.")
  20. hideChat(1)
  21. }
  22.  
  23. function phase(){
  24. timer("Phase",0.5)
  25. timer("Phase-Reset",0.5)
  26. print("TARDIS now phasing.")
  27. hideChat(1)
  28. }
  29.  
  30. function flightmode(){
  31. timer("Flightmode",0.5)
  32. timer("Flightmode-Reset",0.5)
  33. print("TARDIS flightmode toggled.")
  34. hideChat(1)
  35. }
  36.  
  37. function vector getEscapePos(){
  38. if (map()=="gm_madgrass_v6"){
  39. return vec(-11270, -6790, -955)
  40. }elseif (map()=="freespace_revolution"){
  41. return vec(840, -12840, -6120)
  42. }else{
  43. return vec(0,0,0)
  44. }
  45. }
  46. }
  47.  
  48. LastSaid=owner():lastSaid():explode(" ")
  49. if (chatClk(owner())&LastSaid[1,string]=="!target"){
  50. if(LastSaid[2,string]){
  51. Target=findPlayerByName(LastSaid[2,string])
  52. }else{
  53. Target=owner()
  54. }
  55. hideChat(1)
  56. print("Target set to " + Target:name())
  57. }elseif(chatClk(owner())&LastSaid[1,string]=="!go"){
  58. local NewPos=Target:pos()
  59. local Offset=150
  60. if(LastSaid[2,string]=="up"){
  61. demat(NewPos+Target:up()*Offset)
  62. }elseif(LastSaid[2,string]=="forward"){
  63. demat(NewPos+Target:forward()*Offset)
  64. }elseif(LastSaid[2,string]=="back"){
  65. demat(NewPos+Target:forward()*-Offset)
  66. }elseif(LastSaid[2,string]=="down"){
  67. demat(NewPos+Target:up()*-Offset)
  68. }elseif(LastSaid[2,string]=="exact"){
  69. demat(NewPos)
  70. }else{
  71. demat(NewPos+Target:forward()*Offset)
  72. }
  73. hideChat(1)
  74. }elseif(chatClk(owner())&LastSaid[1,string]=="!escape"){
  75. demat(getEscapePos())
  76. hideChat(1)
  77. }elseif(chatClk(owner())&LastSaid[1,string]=="!phase"){
  78. phase()
  79. hideChat(1)
  80. }elseif(chatClk(owner())&LastSaid[1,string]=="!flightmode"){
  81. flightmode()
  82. hideChat(1)
  83. }
  84.  
  85. if(clk("Demat")){Demat=1}
  86. if(clk("Demat-Reset")){Demat=0}
  87. if(clk("Phase")){Phase=1}
  88. if(clk("Phase-Reset")){Phase=0}
  89. if(clk("Flightmode")){Flightmode=1}
  90. if(clk("Flightmode-Reset")){Flightmode=0}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement