Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.78 KB | None | 0 0
  1. /*
  2. ------------------------
  3. START #ASSASSIN SCRIPT
  4. Modified by MachineX
  5. Automatic Traps
  6. Whirlwind Compatible
  7. ------------------------
  8. */
  9. function NTA_AssassinAttackPatternInt()
  10. {
  11. var _maxindex, _maxskill;
  12. var _avgskilllevel = new Array();
  13.  
  14. _avgskilllevel[0] = me.GetSkill(271, false);
  15.  
  16. _maxindex = -1;
  17. _maxskill = 0;
  18.  
  19. for(var i = 0 ; i < _avgskilllevel.length ; i++)
  20. {
  21. if(_avgskilllevel[i] > _maxskill)
  22. {
  23. _maxindex = i;
  24. _maxskill = _avgskilllevel[i];
  25. }
  26. }
  27.  
  28. switch(_maxindex)
  29. {
  30. case 0: // Whirlwind + Fire Blast + Physical Hammer
  31. NTConfig_AttackSkill[1] = 271;
  32. NTConfig_AttackSkill[3] = 251;
  33. NTConfig_AttackSkill[5] = 253;
  34. break;
  35. }
  36.  
  37. return (NTConfig_AttackSkill[1] && NTConfig_AttackSkill[3]);
  38. }
  39. /*
  40. --------------
  41. FUNCTION SPLIT
  42. --------------
  43. */
  44. function NTA_AssassinAttackInt(target, firstorder)
  45. {
  46. var _primaryindex;
  47.  
  48.  
  49. if(NTTMGR_CheckCurse(NTConfig_CheckSelfSafe&0x04, NTConfig_CheckMercSafe&0x04))
  50. {
  51. if(!NTTMGR_VisitTown())
  52. return 0;
  53. }
  54.  
  55. if(firstorder && NTConfig_AttackSkill[0] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[0]) < 100)
  56. {
  57. if(GetDistance(me, target) > _NTA_SkillRange[0] || !CheckCollision(me, target, 4))
  58. {
  59. var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[0], 4);
  60.  
  61. if(_pos)
  62. NTM_MoveTo(target.areaid, target.x, target.y, 0);
  63. }
  64. if(NTConfig_UseTraps == true) // Automatically set traps if config is set to true.
  65. {
  66. if(NTConfig_NumberTraps == 2)
  67. {
  68. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
  69. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
  70.  
  71. } else if(NTConfig_NumberTraps == 3)
  72. {
  73. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
  74. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
  75. NTSI_PickItems();
  76. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y-3);
  77.  
  78. } else if(NTConfig_NumberTraps == 4)
  79. {
  80. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
  81. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
  82. NTSI_PickItems();
  83. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y-3);
  84. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y+3);
  85.  
  86. } else if(NTConfig_NumberTraps == 5)
  87. {
  88. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
  89. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
  90. NTSI_PickItems();
  91. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y-3);
  92. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y+3);
  93. NTSI_PickItems();
  94. NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x, target.y+3);
  95.  
  96. } else
  97. {
  98. NTC_CastSkill(271, NTC_HAND_RIGHT, target.x+3, target.y+3)
  99. return 2;
  100. }
  101. }
  102. if(!NTC_CastSkill(NTConfig_AttackSkill[0], _NTA_SkillHand[0], target))
  103. return 2;
  104.  
  105.  
  106. return 3;
  107. }
  108.  
  109. _primaryindex = (target.spectype&0x0A) ? 1 : 3;
  110.  
  111. if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100)
  112. {
  113. if((_NTA_SkillRange[_primaryindex] < 4 || NTConfig_AttackSkill[_primaryindex] == (271 || 151)) && !CheckCollision(target.areaid, target.x, target.y, 1))
  114. return 1;
  115.  
  116. if(!NTA_AssassinCastSkillInt(_primaryindex, target))
  117. return 2;
  118.  
  119. return 3;
  120. }
  121.  
  122. if(NTConfig_AttackSkill[5] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[5]) < 100)
  123. {
  124. if((_NTA_SkillRange[5] < 4 || NTConfig_AttackSkill[5] == (271 || 151)) && !CheckCollision(target.areaid, target.x, target.y, 1))
  125. return 1;
  126.  
  127. if(!NTA_AssassinCastSkillInt(5, target))
  128. return 2;
  129.  
  130. return 3;
  131. }
  132.  
  133. return 1;
  134. }
  135. /*
  136. --------------
  137. FUNCTION SPLIT
  138. --------------
  139. */
  140. function NTA_AssassinCastSkillInt(index, target)
  141. {
  142. if(NTConfig_AttackSkill[index] == 271) // Positioning/targeting for when laying traps.
  143. {
  144. var _castx, _casty;
  145.  
  146. if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 4))
  147. {
  148. var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 4);
  149.  
  150. if(_pos)
  151. NTM_MoveTo(target.areaid, target.x, target.y, 0);
  152. }
  153.  
  154. _castx = target.x > me.x ? target.x+3 : target.x-3;
  155. _casty = target.y > me.y ? target.y+3 : target.y-3;
  156.  
  157. return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], _castx, _casty);
  158. } else if(NTConfig_AttackSkill[index] == 151) // Positioning/targeting for when using whirlwind.
  159. {
  160. var _castx, _casty;
  161.  
  162. if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 5))
  163. {
  164. var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 5);
  165.  
  166. if(_pos)
  167. NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
  168. }
  169.  
  170. _castx = target.x > me.x ? target.x+3 : target.x-3;
  171. _casty = target.y > me.y ? target.y+3 : target.y-3;
  172.  
  173. return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], _castx, _casty);
  174. }
  175.  
  176. if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 4))
  177. {
  178. var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 4);
  179.  
  180. if(_pos)
  181. NTM_MoveTo(target.areaid, target.x, target.y, 0);
  182. }
  183.  
  184. return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], target);
  185. }
  186. /*
  187. ------------------------
  188. END ASSASSIN SCRIPT
  189. ------------------------
  190. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement