Advertisement
existence_dev92

rA Mob Control - TD

Mar 8th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.40 KB | None | 0 0
  1. - script atcmd_example -1,{
  2. OnInit:
  3. bindatcmd "test",strnpcinfo(3) + "::OnAtcommand";
  4. bindatcmd "test2",strnpcinfo(3) + "::OnAtcommand2";
  5. //bindatcmd "test3",strnpcinfo(3) + "::OnAtcommand3";
  6. .size = 10;
  7. end;
  8.  
  9. OnAtcommand3:
  10. setarray .@MoveSpeed, 400, 300, 200, 100;
  11. while (.@count < getarraysize(.@MoveSpeed)) {
  12. announce "Wave - "+(.@count+1)+" ...1",0;
  13. sleep 1000;
  14. announce "Wave - "+(.@count+1)+" ...2",0;
  15. sleep 1000;
  16. announce "Wave - "+(.@count+1)+" ...3",0;
  17. sleep 1000;
  18. announce "Wave - "+(.@count+1)+" ...go!!",0;
  19. set getvariableofnpc(.MoveSpeed,"ZControl"), .@MoveSpeed[.@count];
  20. for (.@i = 0; .@i < .size; .@i++) {
  21. donpcevent "Soldier#"+.@i+"::OnStart";
  22. sleep .@MoveSpeed[.@count]*rand(3,6);
  23. }
  24. .@count++;
  25. }
  26. announce "Wave - End",0;
  27. end;
  28.  
  29.  
  30. OnAtcommand2:
  31. setarray .@MoveSpeed, 400, 300, 200, 100;
  32. while (.@count < getarraysize(.@MoveSpeed)) {
  33. announce "Wave - "+(.@count+1)+" ...1",0;
  34. sleep 1000;
  35. announce "Wave - "+(.@count+1)+" ...2",0;
  36. sleep 1000;
  37. announce "Wave - "+(.@count+1)+" ...3",0;
  38. sleep 1000;
  39. announce "Wave - "+(.@count+1)+" ...go!!",0;
  40. set getvariableofnpc(.MoveSpeed,"ZControl"), .@MoveSpeed[.@count];
  41. for (.@i = 0; .@i < .size; .@i++) {
  42. donpcevent "Soldier#"+.@i+"::OnStart";
  43. //sleep .@MoveSpeed[.@count]*rand(3,6);
  44. if (.@i == 10-1)
  45. sleep .@MoveSpeed[.@count]*14*3;
  46. else
  47. sleep .@MoveSpeed[.@count]*rand(3,5);
  48. }
  49. .@count++;
  50. }
  51. announce "Wave - End",0;
  52. end;
  53.  
  54. OnAtcommand:
  55. .@count = 4;
  56. while (.@count) {
  57. announce "Wave - "+(.@speed+1)+" ...1",0;
  58. sleep 1000;
  59. announce "Wave - "+(.@speed+1)+" ...2",0;
  60. sleep 1000;
  61. announce "Wave - "+(.@speed+1)+" ...3",0;
  62. sleep 1000;
  63. announce "Wave - "+(.@speed+1)+" ...go!!",0;
  64. for (.@i = 0; .@i < 10; .@i++) {
  65. .@mob = 0;
  66. while (getmonsterinfo(.@mob,MOB_NAME) == "null") {
  67. .@mob = 1000+rand(1,995);
  68. }
  69. monster "skypiea", 209, 186, "Soldier", .@mob, 1;
  70.  
  71. .@gid = $@mobid[0];
  72.  
  73. // getunitdata <GID>,<arrayname>;
  74. getunitdata .@gid, .@data;
  75.  
  76.  
  77. // setunitdata <GID>,<parameter>,<new value>;
  78. // Set no random walk
  79. setunitdata .@gid, UMOB_MODE, 0x0000001|0x0000020|0x4000000|0x8000000|0x0020000|0x0040000|0x0100000|0x0200000|0x0000040;
  80.  
  81. setunitdata .@gid, UMOB_SPEED, 400 - .@speed*100;
  82. if (!.@ann) {
  83. getunitdata .@gid, .@data;
  84. .@wait = .@data[UMOB_SPEED];
  85. announce "Move Speed: "+.@wait+"ms / cell",0;
  86. .@ann = 1;
  87. }
  88.  
  89. // unitwalk <GID>,<x>,<y>{,"<event label>"};
  90. unitwalk $@mobid[0], 224, 186;
  91. if (.@i == 10-1)
  92. sleep .@wait*14;
  93. else
  94. sleep .@wait*6;
  95. }
  96. .@count = .@count -1;
  97. .@speed = .@speed +1;
  98. .@ann = 0;
  99. sleep 1000;
  100. }
  101. announce "Wave - End",0;
  102. end;
  103. }
  104.  
  105. skypiea,0,0,0 script Military Base -1,{
  106. end;
  107.  
  108. OnTouchNPC:
  109. getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
  110. if (.@x == 224 && .@y == 186) {
  111. unitwalk getattachedrid(), 224, 172;
  112. $@dest_x[getattachedrid()] = 224;
  113. $@dest_y[getattachedrid()] = 172;
  114. } else if (.@x == 224 && .@y == 172) {
  115. unitwalk getattachedrid(), 209, 172;
  116. $@dest_x[getattachedrid()] = 209;
  117. $@dest_y[getattachedrid()] = 172;
  118. } else if (.@x == 209 && .@y == 172) {
  119. unitkill getattachedrid();
  120. }
  121. end;
  122. }
  123.  
  124. skypiea,224,186,4 duplicate(Military Base) Military Base 01 844,1,1
  125. skypiea,224,172,4 duplicate(Military Base) Military Base 02 844,1,1
  126. skypiea,209,172,4 duplicate(Military Base) Military Base 03 844,1,1
  127.  
  128.  
  129. skypiea,0,0,0 script ZControl -1,{
  130. end;
  131.  
  132. OnStart:
  133. .@mob = 0;
  134. while (getmonsterinfo(.@mob,MOB_NAME) == "null") {
  135. .@mob = 1000+rand(1,995);
  136. }
  137. getmapxy(.@map$, .@x, .@y, UNITTYPE_NPC);
  138. monster strnpcinfo(4), .@x, .@y, "Walking Zombie", .@mob, 1;
  139.  
  140. // Setting UP - Necesity data
  141. .@dupid = atoi(strnpcinfo(2));
  142. .gid[.@dupid] = $@mobid[0];
  143. setunitdata .gid[.@dupid],UMOB_MODE, 0x0000001|0x0000020|0x4000000|0x8000000|0x0020000|0x0040000|0x0100000|0x0200000|0x0000040;
  144. setunitdata .gid[.@dupid],UMOB_SPEED, getvariableofnpc(.MoveSpeed,"ZControl");
  145.  
  146. // Start Walking
  147. unitwalk .gid[.@dupid], 224, 186;
  148. $@dest_x[.gid[.@dupid]] = 224;
  149. $@dest_y[.gid[.@dupid]] = 186;
  150.  
  151. // Destination Check
  152. setarray .@dest[0], 224, 186,
  153. 224, 172,
  154. 209, 172;
  155. while (unitexists(.gid[.@dupid])) {
  156. getunitdata(.gid[.@dupid], .@d);
  157. if (.@d[UMOB_X] == .@loc_x && .@d[UMOB_Y] == .@loc_y) {
  158.  
  159. unitwalk .gid[.@dupid], $@dest_x[.gid[.@dupid]], $@dest_y[.gid[.@dupid]];
  160.  
  161. //for (.@i = 0; .@i < getarraysize(.@dest); .@i+=2)
  162. // .@dist[getarraysize(.@dist)] = distance(.@d[UMOB_X],.@d[UMOB_Y],.@dest[.@i],.@dest[.@i+1]);
  163. //.@ijk = min(.@dist);
  164. //for (.@i = 0; .@i < getarraysize(.@dist); .@i++)
  165. // if (.@dist[.@i] == .@ijk) break;
  166. //
  167. //unitwalk .gid[.@dupid], .@dest[.@i*2], .@dest[(.@i*2)+1];
  168. }
  169. .@loc_x = .@d[UMOB_X];
  170. .@loc_y = .@d[UMOB_Y];
  171. sleep .@d[UMOB_SPEED]*2;
  172. }
  173. end;
  174. }
  175.  
  176. skypiea,209,186,0 duplicate(ZControl) Soldier#0 -1
  177. skypiea,209,186,0 duplicate(ZControl) Soldier#1 -1
  178. skypiea,209,186,0 duplicate(ZControl) Soldier#2 -1
  179. skypiea,209,186,0 duplicate(ZControl) Soldier#3 -1
  180. skypiea,209,186,0 duplicate(ZControl) Soldier#4 -1
  181. skypiea,209,186,0 duplicate(ZControl) Soldier#5 -1
  182. skypiea,209,186,0 duplicate(ZControl) Soldier#6 -1
  183. skypiea,209,186,0 duplicate(ZControl) Soldier#7 -1
  184. skypiea,209,186,0 duplicate(ZControl) Soldier#8 -1
  185. skypiea,209,186,0 duplicate(ZControl) Soldier#9 -1
  186. skypiea,209,186,0 duplicate(ZControl) Soldier#10 -1
  187. skypiea,209,186,0 duplicate(ZControl) Soldier#11 -1
  188. skypiea,209,186,0 duplicate(ZControl) Soldier#12 -1
  189. skypiea,209,186,0 duplicate(ZControl) Soldier#13 -1
  190. skypiea,209,186,0 duplicate(ZControl) Soldier#14 -1
  191. skypiea,209,186,0 duplicate(ZControl) Soldier#15 -1
  192. skypiea,209,186,0 duplicate(ZControl) Soldier#16 -1
  193. skypiea,209,186,0 duplicate(ZControl) Soldier#17 -1
  194. skypiea,209,186,0 duplicate(ZControl) Soldier#18 -1
  195. skypiea,209,186,0 duplicate(ZControl) Soldier#19 -1
  196. skypiea,209,186,0 duplicate(ZControl) Soldier#20 -1
  197. skypiea,209,186,0 duplicate(ZControl) Soldier#21 -1
  198. skypiea,209,186,0 duplicate(ZControl) Soldier#22 -1
  199. skypiea,209,186,0 duplicate(ZControl) Soldier#23 -1
  200. skypiea,209,186,0 duplicate(ZControl) Soldier#24 -1
  201. skypiea,209,186,0 duplicate(ZControl) Soldier#25 -1
  202. skypiea,209,186,0 duplicate(ZControl) Soldier#26 -1
  203. skypiea,209,186,0 duplicate(ZControl) Soldier#27 -1
  204. skypiea,209,186,0 duplicate(ZControl) Soldier#28 -1
  205. skypiea,209,186,0 duplicate(ZControl) Soldier#29 -1
  206. skypiea,209,186,0 duplicate(ZControl) Soldier#30 -1
  207. skypiea,209,186,0 duplicate(ZControl) Soldier#31 -1
  208. skypiea,209,186,0 duplicate(ZControl) Soldier#32 -1
  209. skypiea,209,186,0 duplicate(ZControl) Soldier#33 -1
  210. skypiea,209,186,0 duplicate(ZControl) Soldier#34 -1
  211. skypiea,209,186,0 duplicate(ZControl) Soldier#35 -1
  212. skypiea,209,186,0 duplicate(ZControl) Soldier#36 -1
  213. skypiea,209,186,0 duplicate(ZControl) Soldier#37 -1
  214. skypiea,209,186,0 duplicate(ZControl) Soldier#38 -1
  215. skypiea,209,186,0 duplicate(ZControl) Soldier#39 -1
  216. skypiea,209,186,0 duplicate(ZControl) Soldier#40 -1
  217. skypiea,209,186,0 duplicate(ZControl) Soldier#41 -1
  218. skypiea,209,186,0 duplicate(ZControl) Soldier#42 -1
  219. skypiea,209,186,0 duplicate(ZControl) Soldier#43 -1
  220. skypiea,209,186,0 duplicate(ZControl) Soldier#44 -1
  221. skypiea,209,186,0 duplicate(ZControl) Soldier#45 -1
  222. skypiea,209,186,0 duplicate(ZControl) Soldier#46 -1
  223. skypiea,209,186,0 duplicate(ZControl) Soldier#47 -1
  224. skypiea,209,186,0 duplicate(ZControl) Soldier#48 -1
  225. skypiea,209,186,0 duplicate(ZControl) Soldier#49 -1
  226. skypiea,209,186,0 duplicate(ZControl) Soldier#50 -1
  227. skypiea,209,186,0 duplicate(ZControl) Soldier#51 -1
  228. skypiea,209,186,0 duplicate(ZControl) Soldier#52 -1
  229. skypiea,209,186,0 duplicate(ZControl) Soldier#53 -1
  230. skypiea,209,186,0 duplicate(ZControl) Soldier#54 -1
  231. skypiea,209,186,0 duplicate(ZControl) Soldier#55 -1
  232. skypiea,209,186,0 duplicate(ZControl) Soldier#56 -1
  233. skypiea,209,186,0 duplicate(ZControl) Soldier#57 -1
  234. skypiea,209,186,0 duplicate(ZControl) Soldier#58 -1
  235. skypiea,209,186,0 duplicate(ZControl) Soldier#59 -1
  236. skypiea,209,186,0 duplicate(ZControl) Soldier#60 -1
  237. skypiea,209,186,0 duplicate(ZControl) Soldier#61 -1
  238. skypiea,209,186,0 duplicate(ZControl) Soldier#62 -1
  239. skypiea,209,186,0 duplicate(ZControl) Soldier#63 -1
  240. skypiea,209,186,0 duplicate(ZControl) Soldier#64 -1
  241. skypiea,209,186,0 duplicate(ZControl) Soldier#65 -1
  242. skypiea,209,186,0 duplicate(ZControl) Soldier#66 -1
  243. skypiea,209,186,0 duplicate(ZControl) Soldier#67 -1
  244. skypiea,209,186,0 duplicate(ZControl) Soldier#68 -1
  245. skypiea,209,186,0 duplicate(ZControl) Soldier#69 -1
  246. skypiea,209,186,0 duplicate(ZControl) Soldier#70 -1
  247. skypiea,209,186,0 duplicate(ZControl) Soldier#71 -1
  248. skypiea,209,186,0 duplicate(ZControl) Soldier#72 -1
  249. skypiea,209,186,0 duplicate(ZControl) Soldier#73 -1
  250. skypiea,209,186,0 duplicate(ZControl) Soldier#74 -1
  251. skypiea,209,186,0 duplicate(ZControl) Soldier#75 -1
  252. skypiea,209,186,0 duplicate(ZControl) Soldier#76 -1
  253. skypiea,209,186,0 duplicate(ZControl) Soldier#77 -1
  254. skypiea,209,186,0 duplicate(ZControl) Soldier#78 -1
  255. skypiea,209,186,0 duplicate(ZControl) Soldier#79 -1
  256. skypiea,209,186,0 duplicate(ZControl) Soldier#80 -1
  257. skypiea,209,186,0 duplicate(ZControl) Soldier#81 -1
  258. skypiea,209,186,0 duplicate(ZControl) Soldier#82 -1
  259. skypiea,209,186,0 duplicate(ZControl) Soldier#83 -1
  260. skypiea,209,186,0 duplicate(ZControl) Soldier#84 -1
  261. skypiea,209,186,0 duplicate(ZControl) Soldier#85 -1
  262. skypiea,209,186,0 duplicate(ZControl) Soldier#86 -1
  263. skypiea,209,186,0 duplicate(ZControl) Soldier#87 -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement