Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //######################################################
- //####### Follow-Bot revision 2.0 , 3-30-11 #######
- //######################################################
- var _ping = 900; // Warns you if your followers ping is above this number (0 to disable)
- var _earlybreak = true; //change this to false if you haven't edited NTM_Move.ntl file with my modifications.
- var _walk = true; //change this to false if you want teleport-capable bots to teleport to snag items.
- var _leadername = NTConfig_Leader;
- var _attack = false;
- var NTConfig_Leader;
- var _leadera;
- var _act;
- var _melee = true;
- //----- NO EDITS NEEDED BELOW THIS LINE -----//
- //Variable Declaration
- var _attack = true;
- var _party = true;
- var _target;
- var _leaderpos = null;
- var _count = 0;
- var _pause = false;
- var _snagDelayerCounter = 0;
- var _snagDelayer = 70; // How many iterations to wait before performing a pickup command (pickup command adds lag to the bot)
- var _lastPortalOwner = null;
- var _changeAreaHelper = 0;
- var _dontFollow = false;
- var _timeToRebuff;
- var _needToGotoPortalSpot = true;
- function UnStickMe() {
- //var _backattack = false;
- //var _clearposoff = true;
- //if (_attack = true){ _backattack = true; }
- _pause = false;
- _dontFollow = false;
- NTM_MoveTo(NTConfig_Leader.areaid, _leaderpos.x, _leaderpos.y, 0, false, _earlybreak, _walk);
- //if (_backattack = true){ _attack = true; }
- //NTH_Follow();
- //NTDS_ClearPosition(0)
- return;
- }
- function FollowSay(nString){
- if(arguments.length = 0)
- return; //return and do nothing if no arguments are provided
- if(typeof(nString) != 'string')
- return; //return and do nothing if a string isn't provided as input arg
- if((typeof(_respondIf) == 'boolean') && ( _respondIf)) //check that _respondVar exists and is set to either true or false
- Say(nString);
- return;
- }
- function NTMain(){
- //Initialization
- Include("libs/common/NTCommon.ntl");
- NTC_IncludeLibs();
- NTC_IncludeConfig("NTBot/char_configs");
- NT_LoadConfig();
- NTSI_LoadNIPFiles("NTBot/item_configs");
- NTA_Initialize();
- RegisterEvent(EVENT_GAMEMSG, NTH_Talk);
- if(typeof(_dontAttack) === 'undefined')
- _dontAttack = false;
- if(typeof(_dontPickUp) === 'undefined')
- _dontPickUp = false;
- if(typeof(_buffTimer) === 'undefined')
- _buffTimer = 56000;
- _timeToRebuff = GetTickCount() - _buffTimer;
- _target = GetPlayerUnit(); //Find Leader
- if(_target){
- while(_target.GetNext()){
- if(_target.name == NTConfig_Leader){
- NTConfig_Leader = _target;
- break;
- }
- }
- }
- while(!NTC_InMyParty(NTConfig_Leader.name))
- {
- Print("Delaying for leader to join party..");
- Delay(2000);
- if(!NTH_InGame(NTConfig_Leader.name))
- NTH_ExitGame();
- }
- if (NTConfig_Leader.areaid <= 0)
- {
- Print("Waiting to receive leader data..");
- FollowSay("Locked-on to " + NTConfig_Leader.name)
- while(NTConfig_Leader.areaid <= 0)
- {
- Delay(1000);
- if(!NTH_InGame(NTConfig_Leader.name))
- NTH_ExitGame();
- }
- }
- NTTM_CheckAct();
- if (NTH_GetAct(me.areaid) != NTH_GetAct(NTConfig_Leader.areaid))
- NTH_GotoCorrectTown();
- var _tickTimer = GetTickCount();
- while(1)
- {
- if( _ping != 0 && ((GetTickCount()-_tickTimer)/1000) > 10 && me.ping > _ping)
- {
- FollowSay("/w " + NTConfig_Leader.name + " High Ping Warning: " + me.ping);
- _tickTimer = GetTickCount();
- }
- if(NTC_InMyParty(NTConfig_Leader.name) && !_pause)
- {
- if (me.areaid == NTConfig_Leader.areaid)
- {
- _changeAreaHelper = 0;
- _needToGotoPortalSpot = true;
- _dontFollow = false;
- }
- if(_leaderpos == null)
- _leaderpos = NTH_GetLeader();
- else if (!_dontFollow || NTConfig_Leader.areaid == me.areaid)
- NTH_Follow();
- if (!_dontPickUp && !NTH_InTown() && (_snagDelayerCounter > _snagDelayer))
- {
- NTSI_PickItems(_walk);
- _snagDelayerCounter=0;
- }
- else
- _snagDelayerCounter++;
- if(me.areaid != NTConfig_Leader.areaid && !_pause)
- {
- if ((_changeAreaHelper == 0) && (_leaderpos != null))
- {
- _changeAreaHelper = 1;
- var _preX = _leaderpos.x;
- var _preY = _leaderpos.y;
- Delay(200);
- if (_preX == _leaderpos.x && _preY == _leaderpos.y)
- {
- _dontFollow = true;
- NTH_ChangeArea();
- }
- }
- else
- NTH_ChangeArea();
- }
- }
- if (_dontAttack)
- Delay(100);
- else if (_pause)
- {
- if (NTDS_ClearPosition(Math.round(_aggressionRange/2), true))
- Delay(100);
- }
- if(!NTH_InGame(NTConfig_Leader.name))
- NTH_ExitGame();
- if(!NTC_InMyParty(NTConfig_Leader.name))
- Delay(100);
- }
- }
- function NTH_GetLeader()
- {
- _target = NTC_FindUnit(NTC_UNIT_PLAYER);
- if(_target)
- {
- do
- {
- //Print("Found target " + _target.name);
- if(_target.name.toLowerCase() == NTConfig_Leader.name.toLowerCase())
- return _target;
- } while(_target.GetNext());
- }
- return null;
- }
- function NTH_Follow()
- {
- if(GetDistance(me.x, me.y, _leaderpos.x, _leaderpos.y) > _leashRange)
- {
- NTM_MoveTo(NTConfig_Leader.areaid, _leaderpos.x, _leaderpos.y, 0, false, _earlybreak, _walk);
- Delay(25);
- return;
- }
- if(!NTH_InTown())
- {
- if (GetTickCount() - _timeToRebuff > _buffTimer)
- {
- NTP_DoPrecast(true);
- _timeToRebuff = GetTickCount();
- }
- if (_dontAttack)
- Delay(75);
- else if (NTDS_ClearPosition(_aggressionRange, true))
- Delay(75)
- }
- else
- Delay(75);
- }
- function NTH_ChangeArea()
- {
- if (me.areaid == NTConfig_Leader.areaid)
- {
- _needToGotoPortalSpot = true;
- return;
- }
- Delay(100);
- if(NTH_InTown())
- {
- me.Cancel(1); //cancel open wps if any
- if (((NTConfig_Leader.areaid == 47) && (me.areaid == 40) && NTM_TakeStair(NTConfig_Leader.areaid)) || //act 2 sewers 1
- ((NTConfig_Leader.areaid == 121) && (me.areaid == 109) && TakeAnyaPortal()) || //anya portal
- ((NTConfig_Leader.areaid == 39) && (me.areaid == 1) && NTH_TakeCowPortal(18))) //cow portal
- {
- _needToGotoPortalSpot = true;
- return;
- }
- if (NTH_GetAct(me.areaid) != NTH_GetAct(NTConfig_Leader.areaid))
- {
- if(NTH_UseWpToLeader())
- {
- _needToGotoPortalSpot = true;
- return;
- }
- NTH_GotoCorrectTown();
- }
- if (me.areaid == NTConfig_Leader.areaid)
- {
- _needToGotoPortalSpot = true;
- return;
- }
- if (_needToGotoPortalSpot)
- {
- NTTM_TownMove("portalspot");
- if((NTH_AttemptPlayerTP(NTConfig_Leader.name)) ||
- (_lastPortalOwner != null && NTH_AttemptPlayerTP(_lastPortalOwner)) ||
- (NTH_UseWpToLeader()))
- {
- _needToGotoPortalSpot = true;
- return;
- }
- NTTM_TownMove("portalspot");
- }
- _needToGotoPortalSpot = false;
- if(NTH_AttemptPlayerTP(NTConfig_Leader.name))
- {
- _needToGotoPortalSpot = true;
- return;
- }
- FollowSay("Dear leader, please make a portal for me.");
- Delay(2000);
- return;
- }
- _needToGotoPortalSpot = true;
- if(NTH_InTown(NTConfig_Leader))
- GotoTown();
- if ((NTConfig_Leader.areaid == 132) && (me.areaid == 131) && TakeBaalPortal()) //baal chamber
- return;
- else if(!NTM_TakeStair(NTConfig_Leader.areaid))
- {
- //Delay(200);
- if (me.areaid == NTConfig_Leader.areaid)
- return;
- if(!NTM_TakeWaypoint(NTConfig_Leader.areaid))
- {
- //FollowSay("Can't take WP to reach leader. Heading to town.");
- GotoTown();
- }
- }
- }
- function NTH_AttemptPlayerTP(playername)
- {
- if (arguments.length < 1)
- playername = NTConfig_Leader.name;
- var _portalname = GetLocaleString(3226);
- var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _portalname);
- if(_portal)
- {
- do
- {
- Delay(200);
- if(_portal.mode == 2 && NTC_CheckOwner(_portal, playername))
- {
- if (NTConfig_Leader.areaid == (_portal.subareaid-768))
- {
- _lastPortalOwner = null;
- NTM_UsePortal("BluePortal", NTConfig_Leader.areaid, playername);
- Delay(200);
- return true;
- }
- }
- } while (_portal.GetNext());
- }
- return false;
- }
- function NTH_UseWpToLeader()
- {
- NTTM_CheckAct();
- NTTM_TownMove("waypoint");
- if (NTM_TakeWaypoint(NTConfig_Leader.areaid)) //take WP to leader area
- {
- Delay(500);
- return true;
- }
- Delay(200);
- me.Cancel(1);
- return false;
- }
- function NTH_GetAct(areaid)
- {
- if (areaid < 40)
- return 1;
- if (areaid < 75)
- return 2;
- if (areaid < 103)
- return 3;
- if (areaid < 109)
- return 4;
- return 5;
- }
- function GotoTown()
- {
- if(NTH_UseWpToTown())
- return;
- NTH_UseAnyPortal();
- if(!NTH_InTown())
- {
- NTM_MakeTP();
- _lastPortalOwner = me.name;
- NTM_UsePortal("BluePortal");
- if (me.classid == NTC_CHAR_CLASS_PALADIN) //we just switched our aura, remember to put it back when we're out of town
- _timeToRebuff = GetTickCount() - _buffTimer;
- Delay(500);
- }
- }
- function NTH_UseWpToTown()
- {
- if(me.areaid < 40)
- {
- if(NTM_TakeWaypoint(1))
- {
- me.Cancel(1);
- return true;
- }
- }
- else if(me.areaid < 75)
- {
- if(NTM_TakeWaypoint(40))
- {
- me.Cancel(1);
- return true;
- }
- }
- else if(me.areaid < 103)
- {
- if(NTM_TakeWaypoint(75))
- {
- me.Cancel(1);
- return true;
- }
- }
- else if(me.areaid < 109)
- {
- if(NTM_TakeWaypoint(103))
- {
- me.Cancel(1);
- return true;
- }
- }
- else
- {
- if(NTM_TakeWaypoint(109))
- {
- me.Cancel(1);
- return true;
- }
- }
- return false;
- }
- function NTH_GotoCorrectTown()
- {
- if(NTConfig_Leader.areaid < 40 && me.areaid >= 40)
- {
- NTTM_TownMove("waypoint");
- NTM_TakeWaypoint(1);
- me.Cancel(1);
- }
- else if(NTConfig_Leader.areaid < 75 && me.areaid != 40)
- {
- NTTM_TownMove("waypoint");
- NTM_TakeWaypoint(40);
- me.Cancel(1);
- }
- else if(NTConfig_Leader.areaid < 103 && me.areaid != 75)
- {
- NTTM_TownMove("waypoint");
- NTM_TakeWaypoint(75);
- me.Cancel(1);
- }
- else if(NTConfig_Leader.areaid < 109 && me.areaid != 103)
- {
- NTTM_TownMove("waypoint");
- NTM_TakeWaypoint(103);
- me.Cancel(1);
- }
- else if (me.areaid != 109)
- {
- NTTM_TownMove("waypoint");
- NTM_TakeWaypoint(109);
- me.Cancel(1);
- }
- }
- function NTH_InTown(player)
- {
- if(arguments.length < 1)
- player = me;
- if(player.areaid == 1 || player.areaid == 40 || player.areaid == 75 || player.areaid == 103 || player.areaid == 109)
- return true;
- return false;
- }
- function NTH_UsePortal(leader)
- {
- var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226));
- var _preareaid = me.areaid;
- if(_portal)
- {
- do
- {
- if(_portal.mode == 2 && NTC_CheckOwner(_portal, leader) && GetDistance(me, _portal) <= 30)
- {
- while(me.areaid == _preareaid && _portal)
- {
- NTM_MoveTo(me.areaid, _portal.x+1, _portal.y);
- NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
- Delay(500);
- if(me.areaid != _preareaid)
- return;
- }
- }
- } while(_portal.GetNext());
- }
- return;
- }
- function NTH_UseAnyPortal()
- {
- var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, GetLocaleString(3226));
- var _preareaid = me.areaid;
- do
- {
- if(_portal != null && _portal.mode == 2 && GetDistance(me, _portal) <= 30)
- {
- while(me.areaid == _preareaid && _portal)
- {
- NTM_MoveTo(me.areaid, _portal.x+1, _portal.y);
- NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
- _lastPortalOwner = _portal.GetParent();
- Delay(500);
- if(me.areaid != _preareaid)
- return;
- }
- }
- } while(_portal && _portal.GetNext());
- return;
- }
- function NTH_InGame(playerName)
- {
- _target = GetPlayerUnit();
- if(_target)
- {
- do
- {
- if(_target.name == playerName)
- return true;
- } while(_target.GetNext());
- }
- return false;
- }
- function NTH_Talk(msg, type, command)
- {
- if (arguments.length < 3)
- command = 0;
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-wait") != -1) || command == 1){
- _pause = true;
- FollowSay("I'll just wait here for a few minutes..");
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-go") != -1) || command == 2){
- // _pause = false;
- // _changeAreaHelper = 0;
- // _dontFollow = false;
- UnStickMe() // Testing this out.....
- FollowSay("Lets do this!");
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-town") != -1) || command == 3)
- {
- if(!NTH_InTown())
- {
- GotoTown();
- FollowSay("Running some errands in town");
- NTTMGR_TownManager();
- FollowSay("Ok, I'm ready for battle!");
- } else
- {
- FollowSay("Running some errands in town");
- NTTMGR_TownManager();
- FollowSay("Ok, I'm ready for battle!");
- }
- if (me.classid == NTC_CHAR_CLASS_PALADIN) //townmanager switches to vigor, so make sure we switch back.
- _timeToRebuff = GetTickCount() - _buffTimer;
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-res") != -1) || command == 4){
- if( me.hp == 0){
- FollowSay("Ressurecting now..");
- me.Cancel(0);
- Delay(100);
- NTTM_TownMove("portalspot");
- Delay(100);
- NTH_UsePortal(NTConfig_Leader.name);
- Delay(200);
- NTT_GetCorpses();
- }
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-tp") != -1) || command == 5){
- var _portalTarget = msg.split(" ")[msg.split(" ").length-1];
- if(_portalTarget != "-tp"){
- if( _portalTarget == me.name){
- FollowSay("TP up for later use");
- NTM_MakeTP();
- }
- }
- else{
- FollowSay("TP up for later use");
- NTM_MakeTP();
- }
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-mytp") != -1) || command == 6){
- if(NTH_InTown()){
- FollowSay("I'm on my way back " + NTConfig_Leader.name);
- NTTM_TownMove("portalspot");
- me.Cancel(1); //cancel open wps if any
- NTH_UsePortal(NTConfig_Leader.name);
- Delay(1600);
- }
- else{
- FollowSay("I'm going to town");
- NTH_UsePortal(NTConfig_Leader.name);
- Delay(500);
- }
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-taketp") != -1) || command == 7){
- var _portalTarget = msg.split(" ")[msg.split(" ").length-1];
- if(NTH_InTown()){
- FollowSay("Heading back to the fight through " + _portalTarget + "'s TP");
- NTTM_TownMove("portalspot");
- me.Cancel(1); //cancel open wps if any
- NTH_UsePortal(_portalTarget);
- Delay(600);
- }
- else{
- FollowSay("Taking TP back to town");
- NTM_UseAnyPortal();
- Delay(500);
- }
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-grabwp") != -1) || command == 8){
- if(!NTDS_GrabWayPoint()){
- FollowSay("I can't grab this waypoint!");
- Delay(200);
- }
- else{
- FollowSay("I got the WP");
- Delay(200);
- }
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-exit") != -1) || command == 11)
- {
- var _exitTarget = msg.split(" ")[msg.split(" ").length-1];
- if(_exitTarget != "-exit")
- {
- if( _exitTarget == me.name)
- {
- FollowSay("Re-Joining Game.");
- ExitGame();
- }
- }
- }
- else if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-script") != -1) || command == 12){
- NTH_ReloadMe()
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-akara") != -1)){
- QuestAkara()
- FollowSay("Getting Akara Quest..");
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-goeast") != -1)){
- QuestGoEast()
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-drog") != -1)){ //use before arcane and Tals tomb
- QuestDrog()
- FollowSay("Talking to Drognan..");
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-atma") != -1)){ //use before arcane and Tals tomb
- QuestAtma()
- FollowSay("Talking to Atma..");
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-saileast") != -1)){
- QuestSailEast()
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-questact3") != -1)){
- QuestBirdTome()
- FollowSay("Getting act 3 quests..");
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-meph") != -1)){ // talks to cain for Meph
- QuestMeph()
- FollowSay("Talking to cain so I can get Meph..");
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-tyrael") != -1)){ // talks to tyrael
- QuestTyrael()
- FollowSay("Talking to Tyrael..");
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-larzuk") != -1)){ // talks to larzuk
- QuestLarzuk()
- FollowSay("Talking to Larzuk for socket quest..");
- }
- if((msg.indexOf(NTConfig_Leader.name) != -1 && msg.indexOf("-malah") != -1)){ // talks to Malah
- QuestMalah()
- FollowSay("Talking to Malah for resists..");
- }
- }
- function isTooFar()
- {
- if((GetDistance(me.x, me.y, _leaderpos.x, _leaderpos.y) > _maxStrayRange) || (NTH_InTown(NTConfig_Leader)))
- return true;
- return false;
- }
- function NTDS_ClearPosition(range, pickitem, safelevel)
- {
- var _orgx, _orgy;
- var _spectype = [0x01, 0x01];
- var _skiplist;
- var _attackcount = 0;
- var _target;
- var _distance, _mingid, _mindistance;
- var _result;
- if(NTConfig_AttackSkill[1] < 0 || NTConfig_AttackSkill[3] < 0)
- return false;
- switch(arguments.length)
- {
- case 0:
- range = 20;
- case 1:
- pickitem = false;
- case 2:
- safelevel = 0;
- default:
- if(NTConfig_CheckSelfSafe < 0x01 && NTConfig_CheckMercSafe < 0x01)
- safelevel = 0;
- break;
- }
- _orgx = me.x;
- _orgy = me.y;
- for(var i = 0 ; i < _spectype.length ; i++)
- {
- _skiplist = new Array();
- while(_attackcount < (i+1)*100)
- {
- if (!_pause && isTooFar())
- {
- //Say('Leader is far away. Following.');
- return false;
- }
- _mindistance = 100000;
- _target = NTC_FindUnit(NTC_UNIT_MONSTER);
- if(_target)
- {
- do
- {
- if(_skiplist.indexOf(_target.gid) < 0)
- {
- if(_target.IsAttackable() && (_target.spectype&_spectype[i]))
- {
- if(GetDistance(_orgx, _orgy, _target.x, _target.y) <= range && NTA_IsValidMonster(_target))
- {
- _distance = GetDistance(me, _target);
- if(_distance < _mindistance)
- {
- _mingid = _target.gid;
- _mindistance = _distance;
- }
- }
- }
- else
- _skiplist.push(_target.gid);
- }
- } while(_target.GetNext());
- }
- if (!_pause && isTooFar())
- {
- //Say('Leader is far away. Following.');
- return false;
- }
- if(_mindistance < 100000)
- {
- _target = NTC_FindUnit(NTC_UNIT_MONSTER, _mingid);
- if(_target)
- {
- _result = NTA_Attack(_target, (_attackcount%30) == 0);
- switch(_result)
- {
- case 1:
- _skiplist.push(_mingid);
- break;
- case 2:
- case 3:
- _attackcount++;
- break;
- default:
- return false;
- }
- }
- }
- else
- break;
- }
- }
- if(me.classid == NTC_CHAR_CLASS_PALADIN)
- {
- if(_attackcount > 2 && (parseInt(me.hp*100/me.hpmax) < NTConfig_UseRedemptionHP || parseInt(me.mp*100/me.mpmax) < NTConfig_UseRedemptionMP))
- {
- if(NTC_PutSkill(124, NTC_HAND_RIGHT))
- NTC_PingDelay(1000);
- }
- }
- if(!_dontPickUp && pickitem && _attackcount > 0)
- NTSI_PickItems();
- switch(safelevel)
- {
- case 1:
- return NTTMGR_CheckSafe(0x00, NTConfig_CheckMercSafe&0x01);
- case 2:
- return NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
- }
- return true;
- }
- function NTDS_GrabWayPoint()
- {
- var _areaid = me.areaid;
- _open = true;
- var _unit;
- var _wp;//this will be unit object of wp found in the switch below
- switch(_areaid)
- {
- case 3:
- _wp = 119;
- break;
- case 4:
- _wp = 119;
- break;
- case 5:
- _wp = 119;
- break;
- case 6:
- _wp = 119;
- break;
- case 27:
- _wp = 119;
- break;
- case 29:
- _wp = 157;
- break;
- case 32:
- _wp = 119;
- break;
- case 35:
- _wp = 157;
- break;
- case 42:
- _wp = 156;
- break;
- case 43:
- _wp = 156;
- break;
- case 44:
- _wp = 156;
- break;
- case 46:
- _wp = 402;
- break;
- case 48:
- _wp = 323;
- break;
- case 52:
- _wp = 288;
- break;
- case 57:
- _wp = 156;
- break;
- case 74:
- _wp = 402;
- break;
- case 76:
- _wp = 237;
- break;
- case 77:
- _wp = 237;
- break;
- case 78:
- _wp = 237;
- break;
- case 79:
- _wp = 237;
- break;
- case 80:
- _wp = 237;
- break;
- case 81:
- _wp = 237;
- break;
- case 83:
- _wp = 237;
- break;
- case 101:
- _wp = 324;
- break;
- case 106:
- _wp = 238;
- break;
- case 107:
- _wp = 238;
- break;
- case 111:
- _wp = 496;
- break;
- case 112:
- _wp = 496;
- break;
- case 113:
- _wp = 511;
- break;
- case 115:
- _wp = 511;
- break;
- case 117:
- _wp = 496;
- break;
- case 118:
- _wp = 511;
- break;
- case 129:
- _wp = 494;
- break;
- }
- NTM_MoveToPresetUnit(_areaid, NTC_UNIT_OBJECT, _wp, 1, 1);
- if(_open)
- {
- _unit = NTC_FindUnit(NTC_UNIT_OBJECT, _wp);
- if(_unit){
- if(GetDistance(me, _unit) > 2)
- NTM_MoveTo(_unit.areaid, _unit.x+1, _unit.y);
- NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _unit);
- NTC_PingDelay(1000);
- me.Cancel(1);
- return true;
- }
- }
- return false;
- }
- function NTH_TakeCowPortal(range)
- {
- var _NTR_STRING_PORTAL = GetLocaleString(3226);
- var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _NTR_STRING_PORTAL);
- if (_portal)
- {
- var _isClick;
- var _preAreaId = me.areaid;
- do
- {
- if (GetDistance(me, _portal) < range && _portal.mode == 2)
- {
- for (var i = 0; i < 40; i++)
- {
- if ((i % 10) == 0)
- {
- if(NTM_GetCloserInt(_portal))
- _isClick = NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _portal);
- }
- if (_isClick)
- {
- NTC_Delay(200);
- break;
- }
- }
- NTC_PingDelay(1000);
- var j = 0;
- var check = true;
- do
- {
- if (me.areaid != _preAreaId)
- {
- NTC_PingDelay(500);
- check = false;
- return true;
- }
- j++;
- } while(j < 40 && check == true);
- }
- } while (_portal.GetNext());
- }
- return false;
- }
- function TakeBaalPortal()
- {
- NTM_MoveTo(me.areaid, 15092, 5010);
- _portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);
- if(!_portal)
- {
- FollowSay("Couldn't find the portal to baal.");
- return false;
- }
- for (var i=0; i<5; i++)
- {
- if(!NTM_UsePortal("Portal", 132, null, _portal))
- {
- FollowSay("Couldn't take the portal to baal.");
- return false;
- }
- if (me.areaid == 132)
- break;
- }
- if (i==5)
- return false;
- return true;
- }
- function TakeAnyaPortal()
- {
- if(!NTTM_TownMove("portal"))
- {
- FollowSay("Couldn't reach anya portal.");
- return false;
- }
- if(!NTM_UsePortal("Portal", 121))
- {
- FollowSay("Couldn't use anya portal.");
- return false;
- }
- return true;
- }
- function NTH_ReloadMe()
- {
- NTC_SendMsgToScript("NTBotGame.ntj", "reload");
- Delay(200);
- }
- function NTH_ExitGame()
- {
- Print("Leader has left the game.");
- NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END");
- Delay(10000);
- }
- function QuestAkara(){ // For act 1 Akara quest (respec/skill)
- if(me.areaid == 1)
- NTTM_TownMove("akara");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_AKARA, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- NTTM_TownMove("kashya");
- _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_KASHYA, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- _pause = false;
- }
- function QuestGoEast(){ // Act 1 to 2
- if(me.areaid == 1)
- _pause = true;
- NTTM_TownMove("warriv");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_WARRIV_ACT_1, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D36);
- NTC_Delay(2000);
- }
- _pause = false;
- }
- function QuestAtma(){ // After Raidament in sewers
- if(me.areaid == 40)
- _pause = true;
- NTTM_TownMove("atma");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ATMA);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- _pause = false;
- }
- function QuestDrog(){ // talk to drognan
- if(me.areaid == 40)
- _pause = true;
- NTTM_TownMove("drognan");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_DROGNAN);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- _pause = false;
- }
- function QuestSailEast(){ // Act 2 to 3
- if(me.areaid == 40)
- _pause = true;
- NTTM_TownMove("jerhyn");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_JERHYN, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0)
- me.Cancel(1)
- }
- NTTM_TownMove("meshif");
- _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_MESHIF_ACT_2, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D38);
- NTC_Delay(2000);
- }
- _pause = false;
- }
- function QuestBirdTome(){ // Act 3 quests - if u wait u can get Skill + Health at same time
- if(me.areaid == 75)
- _pause = true;
- NTTM_TownMove("alkor");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ALKOR, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- NTTM_TownMove("meshif");
- _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_MESHIF_ACT_3);
- if(_npc)
- if(NTT_DoInteract(_npc))
- {
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- NTTM_TownMove("alkor");
- _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_ALKOR);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- NTTM_TownMove("portalspot");
- _pause = false;
- }
- function QuestMeph(){ // talk to drognan
- if(me.areaid == 75)
- _pause = true;
- NTTM_TownMove("cain");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_CAIN_ACT_3);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- _pause = false;
- }
- function QuestTyrael(){ // +2 skill points Tyrael
- if(me.areaid == 103)
- NTTM_TownMove("tyrael");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_TYRAEL_ACT_4, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- _pause = false;
- }
- function QuestToAct5(){ // Quest act 4 to 5
- if(me.areaid == 103)
- _pause = true;
- NTTM_TownMove("tyrael");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_TYREAL_ACT_4, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x58D2);
- NTC_Delay(1500);
- }
- _pause = false;
- }
- function QuestLarzuk(){
- if(me.areaid == 109)
- NTTM_TownMove("larzuk");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_LARZUK, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- NTTM_TownMove("portalspot");
- _pause = false;
- }
- function QuestMalah(){
- if(me.areaid == 109)
- NTTM_TownMove("malah");
- var _npc = NTC_FindUnit(NTC_UNIT_NPC, NTC_NPC_ID_MALAH, 8);
- if(_npc)
- if(NTT_DoInteract(_npc)){
- me.SelectNPCMenu(0x0D35);
- me.Cancel(0);
- me.Cancel(1);
- }
- NTTM_TownMove("portalspot");
- _pause = false;
- }
Add Comment
Please, Sign In to add comment