Guest User

Untitled

a guest
Jul 19th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.36 KB | None | 0 0
  1. // settings for game run
  2. var NTConfig_CubingDelays = 1000;
  3. var NTConfig_PreBuffFade = false;
  4. var endGameWhenDone = true;
  5.  
  6. //ingame vars dont touch
  7. var tKey = me.GetItems("pk1");
  8. var hKey = me.GetItems("pk2");
  9. var dKey = me.GetItems("pk3");
  10.  
  11. function NTMain()
  12. {
  13. Include("libs/common/NTCommon.ntl");
  14. NTC_IncludeLibs();
  15. NTC_IncludeConfig("NTBot/char_configs");
  16.  
  17. NT_LoadConfig();
  18.  
  19. NTConfig_TPChicken = 0;
  20.  
  21. NTSI_LoadNIPFiles("NTBot/item_configs");
  22.  
  23. NTA_Initialize();
  24.  
  25. NTTMGR_TownManager();
  26.  
  27. if(tKey.length >= 3 && hKey.length >= 3 && dKey.length >= 3) {
  28. NT_OpenMiniPortals();
  29. }
  30.  
  31. if(NTConfig_PreBuffFade) {
  32. NT_PreBuffFade();
  33. }
  34.  
  35. if(TakeLillithPortal()) {
  36. if(!NT_KillLilith()){
  37. NT_KillLilith();
  38. }
  39. NTTM_CheckAct();
  40. NTTMGR_TownManager();
  41. NTTM_TownMove("stash");
  42. }
  43.  
  44. if(TakeDuryPortal()) {
  45. if(!NT_KillUberDuriel()){
  46. NT_KillUberDuriel();
  47. }
  48. NTTM_CheckAct();
  49. NTTMGR_TownManager();
  50. NTTM_TownMove("stash");
  51. }
  52.  
  53. if(TakeIzzyPortal()) {
  54. if(!NT_KillIzual()) {
  55. NT_KillIzual();
  56. }
  57. NTTM_CheckAct();
  58. NTTMGR_TownManager();
  59. NTTM_TownMove("stash");
  60. }
  61. if(!endGameWhenDone) {
  62. NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
  63. }
  64. else {
  65. Say("Got the organs!");
  66. NTC_Delay(10001);
  67. }
  68. }
  69.  
  70. function NT_KillLilith(){
  71. entryX = me.x
  72. entryY = me.y
  73. NTP_DoPrecast(true);
  74. if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 397, 2, 2)){
  75. return false;
  76. }
  77. if(!NT_KillMonster(707)){
  78. return false;
  79. }
  80. NTC_PingDelay(100);
  81. NTC_PickSpecialItem(650);
  82. NTC_PingDelay(100);
  83. NTSI_PickItems();
  84.  
  85. NTM_MoveTo(me.areaid, entryX, entryY)
  86. var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226))
  87. for(var i = 0 ; i <25 ; i++){
  88. if(NTM_GetCloserInt(_portal)){
  89. NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
  90. }
  91. NTC_Delay(250);
  92. if(me.areaid != 133){
  93. break;
  94. }
  95. }
  96. NTC_PingDelay(NTConfig_AreaDelay);
  97. NTTMGR_VisitStash(); // force stash organs between mini's
  98. return true;
  99. }
  100.  
  101. function NT_KillIzual(){
  102. NTP_DoPrecast(true);
  103. if(!NTM_MoveToPresetUnit(me.areaid, NTC_UNIT_OBJECT, 397, 2, 2)){
  104. return false;
  105. }
  106. if(!NT_KillMonster(706)){
  107. return false;
  108. }
  109. NTC_PingDelay(100);
  110. NTC_PickSpecialItem(652);
  111. NTC_PingDelay(100);
  112. NTSI_PickItems();
  113. NTM_MakeTP(true);
  114. NTTMGR_VisitStash(); // force stash organs between mini's
  115. return true;
  116. }
  117.  
  118. function NT_KillUberDuriel(){
  119. NTP_DoPrecast(true);
  120. NT_FindUberDuriel();
  121. var UberDuriel = NTC_FindMonster(708);
  122. if(UberDuriel){
  123. NTM_MoveTo(me.areaid, UberDuriel.x, UberDuriel.y);
  124.  
  125. }
  126. if(!NT_KillMonster(708)){
  127. return false;
  128. }
  129. NTC_PingDelay(100);
  130. NTC_PickSpecialItem(651);
  131. NTC_PingDelay(100);
  132. NTSI_PickItems();
  133. NTM_MakeTP(true);
  134. NTTMGR_VisitStash(); // force stash organs between mini's
  135. return true;
  136. }
  137.  
  138. function NT_FindUberDuriel(){
  139. var _findLoc = [20196, 8694, 20308, 8588, 20187, 8639, 20100, 8550, 20103, 8688, 20144, 8709, 20263, 8811, 20247, 8665];
  140. for(var i = 0 ; i < _findLoc.length; i += 2){
  141. NTM_MoveTo(me.areaid, _findLoc[i], _findLoc[i+1]);
  142. if(NTC_FindUnit(NTC_UNIT_MONSTER, 708)){
  143. break;
  144. }
  145. }
  146. }
  147.  
  148. function NT_KillMonster(classid) { // purpose of this is to increase max attacks for lilith
  149. var _target;
  150. if(NTConfig_AttackSkill[1] < 1){
  151. return false;
  152. }
  153. _target = NTC_FindUnit(NTC_UNIT_MONSTER, classid, 5);
  154. if(!_target){
  155. return false;
  156. }
  157. if(_target.IsAttackable()){
  158. var _attackcount = 0;
  159. while(_attackcount < 800 && NTA_IsValidMonster(_target)){
  160. if(NTA_Attack(_target, (_attackcount%30) == 0) < 2){
  161. break;
  162. }
  163. _attackcount++;
  164. }
  165. }
  166. return (_target.hp <= 0 || _target.mode == 0 || _target.mode == 12);
  167. }
  168.  
  169. function TakeLilllithPortal()
  170. {
  171. _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226));
  172. var Lportal;
  173.  
  174. if(_portal ) {
  175. for(var n = 0; n < _portal.length; n++) {
  176. if(_portal.subareaid == 133) {
  177. Lportal = _portal;
  178. break;
  179. }
  180. }
  181. for(var i = 0 ; i <25 ; i++){
  182. if(NTM_GetCloserInt(Lportal)) {
  183. NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, Lportal);
  184. }
  185. NTC_Delay(250);
  186. if(me.areaid != 109){
  187. break;
  188. }
  189. }
  190. while(me.areaid == 0){
  191. NTC_Delay(200);
  192. }
  193. NTC_PingDelay(NTConfig_AreaDelay);
  194. if(me.areaid == 133) {
  195. return true;
  196. }
  197. return false;
  198. }
  199.  
  200. function TakeIzzyPortal()
  201. {
  202. _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226));
  203. var Iportal;
  204.  
  205. if(_portal ) {
  206. for(var n = 0; n < _portal.length; n++) {
  207. if(_portal.subareaid == 135) {
  208. Iportal = _portal;
  209. break;
  210. }
  211. }
  212. for(var i = 0 ; i <25 ; i++){
  213. if(NTM_GetCloserInt(Iportal)) {
  214. NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, Iportal);
  215. }
  216. NTC_Delay(250);
  217. if(me.areaid != 109){
  218. break;
  219. }
  220. }
  221. while(me.areaid == 0){
  222. NTC_Delay(200);
  223. }
  224. NTC_PingDelay(NTConfig_AreaDelay);
  225. if(me.areaid == 135) {
  226. return true;
  227. }
  228. return false;
  229. }
  230.  
  231. function TakeDuryPortal()
  232. {
  233. _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226));
  234. var Iportal;
  235.  
  236. if(_portal ) {
  237. for(var n = 0; n < _portal.length; n++) {
  238. if(_portal.subareaid == 134) {
  239. Dportal = _portal;
  240. break;
  241. }
  242. }
  243. for(var i = 0 ; i <25 ; i++){
  244. if(NTM_GetCloserInt(Dportal)) {
  245. NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, Dportal);
  246. }
  247. NTC_Delay(250);
  248. if(me.areaid != 109){
  249. break;
  250. }
  251. }
  252. while(me.areaid == 0){
  253. NTC_Delay(200);
  254. }
  255. NTC_PingDelay(NTConfig_AreaDelay);
  256. if(me.areaid == 134) {
  257. return true;
  258. }
  259. return false;
  260. }
  261.  
  262.  
  263. function NT_OpenMiniPortals() {
  264. var miniSpots = []; // I know could have used parallel arrays, but was playing
  265. miniSpots[0] = [5134, 5056];
  266. miniSpots[1] = [5132, 5063];
  267. miniSpots[2] = [5130, 5070];
  268. for(var i = 0; i < 3; i++){
  269. NTTMGR_TownManager();
  270. Print(NTC_PrintRandomColor() + "opening portal");
  271. if(!NT_CubeKeys(miniSpots[i][0], miniSpots[i][1])){
  272. return false;
  273. }
  274. }
  275.  
  276. NTC_PingDelay(NTConfig_CubingDelays);
  277. }
  278. return true;
  279. }
  280.  
  281. function NT_CubeKeys(spotx, spoty) {
  282. var _stash;
  283. NTTM_TownMove("stash");
  284. NT_FindExistingPortals();
  285. _stash = NTC_FindUnit(NTC_UNIT_OBJECT, NTC_UNIT_STASH);
  286. if(_stash){
  287. if(NTT_DoInteract(_stash)){
  288. var cube;
  289. cube = me.GetItems(NTC_UNIT_CUBE);
  290. if(!cube || cube.length < 1){
  291. return false;
  292. }
  293. if(NTCU_CheckCubeInventoryInt() > 0){
  294. if(!NTCU_OpenCubeInt(cube[0])){
  295. return false;
  296. }
  297. if(NTCU_ClearCubeInt() < 1){
  298. return false;
  299. }
  300. NTCU_CloseCubeInt();
  301. }
  302. }
  303. NTCU_MoveItemToCubeInt(cube[0], keyOfTerror[0])
  304. NTCU_MoveItemToCubeInt(cube[0], keyOfHate[0])
  305. NTCU_MoveItemToCubeInt(cube[0], keyOfDestruction[0])
  306. NTTM_TownMoveXY(spotx, spoty);
  307. Delay(250)
  308. if(!NTCU_OpenCubeInt(cube[0])){
  309. return false;
  310. }
  311. Delay(250)
  312. if(Transmute()){
  313. NTC_PingDelay(NTConfig_CubingDelays);
  314. NTCU_CloseCubeInt();
  315. NTC_PingDelay(NTConfig_CubingDelays);
  316. NTC_CancelMenus();
  317. NTC_PingDelay(parseInt((NTConfig_CubingDelays / 2), 10));
  318. NTC_PingDelay(100);
  319. return true;
  320. }
  321. else{
  322. NTC_PingDelay(NTConfig_CubingDelays);
  323. Print(COLOR_1 + "didn't open portal");
  324. NTCU_CloseCubeInt();
  325. return false;
  326. }
  327. }
  328. else{
  329. return false;
  330. }
  331. }
Add Comment
Please, Sign In to add comment