Advertisement
Guest User

Elite Dangerous TARGET Script

a guest
Feb 8th, 2016
1,492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.16 KB | None | 0 0
  1.  
  2. include "target.tmh"
  3.  
  4. //program startup
  5.  
  6. int FAmode=1;
  7. int SRmode=0;
  8. int sysP=2;
  9. int wepP=2;
  10. int engP=2;
  11. int hatU=0;
  12. int hatL=0;
  13. int hatR=0;
  14. int hatD=0;
  15. int pipFire = 0;
  16. int MyKBsim;
  17.  
  18.  
  19. int main()
  20. {
  21. Configure(&HCougar, MODE_EXCLUDED);
  22. Configure(&Joystick, MODE_EXCLUDED);
  23. Configure(&Throttle, MODE_EXCLUDED);
  24. Configure(&LMFD, MODE_EXCLUDED);
  25. Configure(&RMFD, MODE_EXCLUDED);
  26. if(Init(&EventHandle)) return 1;
  27. SetKBRate(32, 50);
  28. SetKBLayout(KB_ENG);
  29. SetShiftButton(0, 0, 0, 0, 0, 0);
  30.  
  31. MapKey(&T16000, TS2, DX2);
  32. MapKey(&T16000, TS3, DX3);
  33. MapKey(&T16000, TS4, PULSE+DX4, PULSE+DX4);
  34. MapKey(&T16000, TS3, EXEC("FAswap();"));
  35. MapKey(&T16000, B11, EXEC("FigOne();"));
  36. MapKey(&T16000, B12, EXEC("FigTwo();"));
  37. MapKey(&T16000, H1U, CHAIN(LOCK+EXEC("hatU=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
  38. MapKey(&T16000, H1R, CHAIN(LOCK+EXEC("hatR=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
  39. MapKey(&T16000, H1D, CHAIN(LOCK+EXEC("hatD=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
  40. MapKey(&T16000, H1L, CHAIN(LOCK+EXEC("hatL=1;"),EXEC("Hpulses(hatU, hatD, hatL, hatR);"),D(),LOCK));
  41. MapKeyR(&T16000, H1U, EXEC("hatU=0;"));
  42. MapKeyR(&T16000, H1R, EXEC("hatR=0;"));
  43. MapKeyR(&T16000, H1D, EXEC("hatD=0;"));
  44. MapKeyR(&T16000, H1L, EXEC("hatL=0;"));
  45.  
  46. FAonAxis();
  47. FigOne();
  48.  
  49. //add initialization code here
  50. }
  51.  
  52. //event handler
  53. int EventHandle(int type, alias o, int x)
  54. {
  55. DefaultMapping(&o, x);
  56.  
  57. //add event handling code here
  58. }
  59.  
  60. int FAoffAxis()
  61. {
  62. MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  63. SetSCurve(&T16000, JOYX, 2, 2, 2, 0, -2);
  64. MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  65. SetSCurve(&T16000, JOYY, 2, 3, 2, 0, -2);
  66. MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  67. SetSCurve(&T16000, RUDDER, 2, 2, 2, 0, -2);
  68. MapAxis(&T16000, THR, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  69. SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
  70. }
  71.  
  72. int FAonAxis()
  73. {
  74. MapAxis(&T16000, JOYX, DX_X_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  75. SetSCurve(&T16000, JOYX, 2, 2, 2, 0, 0);
  76. MapAxis(&T16000, JOYY, DX_Y_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  77. SetSCurve(&T16000, JOYY, 2, 3, 2, 0, 0);
  78. MapAxis(&T16000, RUDDER, DX_ZROT_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  79. SetSCurve(&T16000, RUDDER, 2, 2, 2, 0, 0);
  80. MapAxis(&T16000, THR, DX_Z_AXIS, AXIS_NORMAL, MAP_ABSOLUTE);
  81. SetSCurve(&T16000, THR, 0, 0, 0, 0, 0);
  82.  
  83. }
  84.  
  85. int FAswap(){
  86. if(FAmode==0){
  87. FAonAxis();
  88. printf("FAon!\xa");
  89. ActKey(PULSE + KEYON + USB[0x1D]);
  90. FAmode = 1;
  91. }
  92. else{
  93. FAoffAxis();
  94. printf("FAoff!\xa");
  95. ActKey(PULSE + KEYON + USB[0x1D]);
  96. FAmode = 0;
  97. }
  98.  
  99. }
  100.  
  101. int SRswap(){
  102. printf("srtest1\xa");
  103. if(SRmode==0){
  104. ActKey(PULSE + KEYON + USB[0x4C]);
  105. SRmode = 1;
  106. printf("srtest2\xa");
  107.  
  108. }
  109. else{
  110. ActKey(PULSE + KEYON + USB[0x4C]);
  111. SRmode = 0;
  112. printf("srtest3\xa");
  113.  
  114. }
  115.  
  116. }
  117. //To set pips, the following hat motions achieve:
  118. //Down:2/2/2
  119. //Down Release Right: 1/1/4
  120. //Down release Up: 1/4/1
  121. //Down release Left: 4/1/1
  122. //Down/left or down/right: 3/0/3
  123. //Up/right or right/up: 0/3/3
  124. //Up/left or left/up: 3/3/0
  125. //Up release left: 4/2/0
  126. //Up release right: 0/2/4
  127. //Left release up: 2/4/0
  128. //Left release right: 2/0/4
  129. //right release left: 4/0/2
  130. //Right release up: 0/4/2
  131. //Any single pulse will set the associated system to 4 (or reset to 2/2/2 with down pulse)
  132.  
  133. int Hpulses(int u, int d, int l, int r){
  134. if(u&r) pipTransition(0,3,3);
  135. else if (u&l) pipTransition(3,3,0);
  136. else if (d&r) pipTransition(3,0,3);
  137. else if (d&l) pipTransition(3,0,3);
  138. else if (r){
  139. if (sysP>engP) pipTransition(2,0,4);
  140. else if (engP>sysP) pipTransition(0,2,4);
  141. else pipTransition(1,1,4);
  142. }
  143. else if (l){
  144. if (wepP>engP) pipTransition(4,0,2);
  145. else if (engP>wepP) pipTransition(4,2,0);
  146. else pipTransition(4,1,1);
  147. }
  148. else if (u){
  149. if (sysP>wepP) pipTransition(2,4,0);
  150. else if (wepP>sysP) pipTransition(0,4,2);
  151. else pipTransition(1,4,1);
  152. }
  153. else if (d){
  154. pipTransition(2,2,2);
  155. }
  156. }
  157.  
  158. int pipTransition(int s, int e, int w){
  159. if((s>e)&(s>w)){
  160. if (e>w){
  161. MyKBsim=CHAIN(PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW);
  162. sysP=4;
  163. wepP=0;
  164. engP=2;
  165. }
  166. else if (w>e){
  167. MyKBsim=CHAIN(PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW);
  168. sysP=4;
  169. wepP=2;
  170. engP=0;
  171. }
  172. else{
  173. MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + LARROW,D(),PULSE + LARROW);
  174. sysP=4;
  175. wepP=1;
  176. engP=1;
  177. }
  178. }
  179. else if ((e>s)&(e>w)){
  180. if (s>w){
  181. MyKBsim=CHAIN(PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW);
  182. sysP=2;
  183. wepP=0;
  184. engP=4;
  185. }
  186. else if (w>s){
  187. MyKBsim=CHAIN(PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW);
  188. sysP=0;
  189. wepP=2;
  190. engP=4;
  191. }
  192. else{
  193. MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D());
  194. sysP=1;
  195. wepP=1;
  196. engP=4;
  197. }
  198. }
  199. else if ((w>e)&(w>s)){
  200. if (s>e){
  201. MyKBsim=CHAIN(PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + LARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW);
  202. sysP=2;
  203. wepP=4;
  204. engP=0;
  205. }
  206. else if (e>s){
  207. MyKBsim=CHAIN(PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + UARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D(),PULSE + RARROW);
  208. sysP=0;
  209. wepP=4;
  210. engP=2;
  211. }
  212. else{
  213. MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + RARROW,D(),PULSE + RARROW,D());
  214. sysP=1;
  215. wepP=4;
  216. engP=1;
  217. }
  218. }
  219. else if ((s==e)&(w==0)){
  220. MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + LARROW,D(),PULSE + UARROW,D(),PULSE + LARROW,D(),PULSE + UARROW);
  221. sysP=3;
  222. wepP=0;
  223. engP=3;
  224. }
  225. else if((w==e)&(s==0)){
  226. MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + RARROW,D(),PULSE + UARROW,D(),PULSE + RARROW,D(),PULSE + UARROW);
  227. sysP=0;
  228. wepP=3;
  229. engP=3;
  230. }
  231. else if((w==s)&(e==0)){
  232. MyKBsim=CHAIN(PULSE + DARROW,D(),PULSE + RARROW,D(),PULSE + LARROW,D(),PULSE + RARROW,D(),PULSE + LARROW);
  233. sysP=3;
  234. wepP=3;
  235. engP=0;
  236. }
  237.  
  238. else {
  239. MyKBsim=PULSE + DARROW;
  240. sysP=2;
  241. wepP=2;
  242. engP=2;
  243. }
  244. ActKey(KEYON + MyKBsim);
  245. }
  246.  
  247.  
  248. int FigOne()
  249. {
  250. MapKey(&T16000, TS1, CHAIN(DX1,LOCK+PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW,LOCK));
  251. MapKeyR(&T16000, TS1, CHAIN(EXEC("if(wepP<4) pipTransition(sysP, engP, wepP);")));
  252.  
  253.  
  254. if(FAmode==0) FAswap();
  255. if(SRmode==1) SRswap();
  256.  
  257. printf("Elite:Dangerous Default Freespace Control Scheme\xa");
  258. }
  259.  
  260. int FigTwo()
  261. {
  262.  
  263.  
  264. MapKey(&T16000, TS1, CHAIN(EXEC("if(SRmode==1)SRswap();"), DX1 ,LOCK+PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW, D(),PULSE + RARROW,LOCK));
  265. MapKeyR(&T16000, TS1, CHAIN(EXEC("if(SRmode==0)SRswap();"),D(),EXEC("if(wepP<4) pipTransition(sysP, engP, wepP);")));
  266.  
  267.  
  268. if(FAmode==0) FAswap();
  269. if(SRmode==0) SRswap();
  270.  
  271. printf("Elite:Dangerous Silent Freespace Control Scheme\xa");
  272. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement