ich weiß nicht mehr genau welches es von den beiden war, aber das sind die einzigen die ich gefunden habe
#1
#2
#1
Code:
//----- SET THIS TO YOUR LEADERS IN-GAME NAME -----// var _leader = ""; // The name of the character you will be legitimately playing var _helper = ""; // The name of your primary helper (if running more than 1 barb make this your battle order barb) var _ping = 600; // Warns you if your followers ping is above this number (0 to disable) var _buffTimer = 50000; // Buff timer in milliseconds var _leashRange = 6; // Max range the bot can be from the leader normally var _maxStrayRange = 17; // Max range the bot can be from the leader while bot is fighting var _aggressionRange = 20; // While idling, how far away mobs should the bot attack var _earlybreak = true; //change this to false if you haven't edited NTM_Move.ntl file with my modifications. //----- 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 _timeToRebuff = GetTickCount() - _buffTimer; var _snagDelayerCounter = 0; var _snagDelayer = 40; // How many iterations to wait before performing a pickup command (pickup command adds lag to the bot) var _tpPrio = true; // After receiving -town cmd, attempt to take leader portal first var _lastPortalOwner = null; var _changeAreaHelper = 0; 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); //Find Leader _target = GetPlayerUnit(); if(_target) { while(_target.GetNext()) { if(_target.name == _leader) { _leader = _target; break; } } } while(!NTC_InMyParty(_leader.name)) { Print("Delaying for leader to join party.."); Delay(1000); } if (_leader.areaid <= 0) { Print("Waiting to receive leader data."); while(_leader.areaid <= 0) Delay(1000); } NTH_ReadyCheck(); var _tickTimer = GetTickCount(); while(1) { if( _ping != 0 && ((GetTickCount()-_tickTimer)/1000) > 10 && me.ping > _ping) { Say("High Ping Warning: " + me.ping); _tickTimer = GetTickCount(); } if(NTC_InMyParty(_leader.name) && !_pause) { if(_leaderpos == null) _leaderpos = NTH_GetLeader(); else NTH_Follow(); if (_snagDelayerCounter > _snagDelayer) { NTSI_PickItems(); _snagDelayerCounter=0; } else _snagDelayerCounter++; if(me.areaid != _leader.areaid && !_pause) { if (_changeAreaHelper == 0) { _changeAreaHelper = 1; var _preX = _leaderpos.x; var _preY = _leaderpos.y; Delay(200); if (_preX == _leaderpos.y && _preY == _leaderpos.y) NTH_ChangeArea(); } else NTH_ChangeArea(); if(me.areaid == _leader.areaid) _changeAreaHelper = 0; } } if (_pause) { if (NTDS_ClearPosition(Math.round(_aggressionRange/2), true)) Delay(100); } if(!NTH_InGame(_leader.name)) { Print("Leader isn't in the game!"); NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END"); Delay(10000); } } } function NTH_GetLeader() { _target = NTC_FindUnit(NTC_UNIT_PLAYER); if(_target) { do { //Print("Found target " + _target.name); if(_target.name == _leader.name) return _target; } while(_target.GetNext()); } return null; } function NTH_ReadyCheck() { NTTM_CheckAct(); if(me.areaid != _leader.areaid) { if(_leader.areaid == 1 || _leader.areaid == 40 || _leader.areaid == 75 || _leader.areaid == 103 || _leader.areaid == 109) { if(!NTM_TakeWaypoint(_leader.areaid)) { NTTM_TownMove("waypoint"); NTM_TakeWaypoint(1); } } else if (NTH_GetAct(me.areaid) != NTH_GetAct(_leader.areaid)) GotoCorrectTown(); } } 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 NTH_GotoCorrectTown() { if(_leader.areaid < 40 && me.areaid >= 40) { NTTM_TownMove("waypoint"); NTM_TakeWaypoint(1); me.Cancel(1); } else if(_leader.areaid < 75 && me.areaid != 40) { NTTM_TownMove("waypoint"); NTM_TakeWaypoint(40); me.Cancel(1); } else if(_leader.areaid < 103 && me.areaid != 75) { NTTM_TownMove("waypoint"); NTM_TakeWaypoint(75); me.Cancel(1); } else if(_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); } if(me.areaid = 40) NTTM_TownMove("stash"); } function NTH_Follow() { if(GetDistance(me.x, me.y, _leaderpos.x, _leaderpos.y) > _leashRange) { /*var newXPos; var newYPos; newXPos = Math.round((me.x - _leaderpos.x)/3); newYPos = Math.round((me.y - _leaderpos.y)/3); if (newXPos > 0) { newXPos = Math.max(newXPos, 1); newXPos = Math.min(newXPos, _leashRange); } else { newXPos = Math.min(newXPos, -1); newXPos = Math.max(newXPos, (-1)*_leashRange); } newXPos += _leaderpos.x; if (newYPos > 0) { newYPos = Math.max(newYPos, 1); newYPos = Math.min(newYPos, _leashRange); } else { newYPos = Math.min(newYPos, -1); newYPos = Math.max(newYPos, (-1)*_leashRange); } newYPos += _leaderpos.y; if (_earlybreak) NTM_MoveTo(_leader.areaid, newXPos, newYPos, 0, false, _earlybreak); else NTM_MoveTo(_leader.areaid, newXPos, newYPos, 0, false);*/ if (_earlybreak) NTM_MoveTo(_leader.areaid, _leaderpos.x, _leaderpos.y, 0, false, _earlybreak); else NTM_MoveTo(_leader.areaid, _leaderpos.x, _leaderpos.y, 0, false); return; } if(!NTH_InTown()) { if (GetTickCount() - _timeToRebuff > _buffTimer) { NTP_DoPrecast(true); _timeToRebuff = GetTickCount(); } if (NTDS_ClearPosition(_aggressionRange, true)) Delay(50); } } function NTH_AttemptPlayerTP(playername) { if (arguments.length < 1) playername = _leader.name; var _portalname = GetLocaleString(3226); var _portal = NTC_FindUnit(NTC_UNIT_OBJECT, _portalname); if(_portal) { do { if(_portal.mode == 2 && NTC_CheckOwner(_portal, playername)) { _lastPortalOwner = null; //Print(playername + " has portal up!"); NTTM_TownMove("portalspot"); //Print("Attempting to take " + playername + "'s TP."); NTM_UsePortal("BluePortal", _leader.areaid, playername); Delay(500); if(me.areaid == _leader.areaid) return true; //Print("Took portal, but I'm not in same area as leader."); //Print("Going back to town."); NTH_UseAnyPortal(); Delay(500); if(!NTH_InTown()) { NTM_MakeTP(); NTM_UsePortal("BluePortal"); Delay(500); } return false; } } while (_portal.GetNext()); } //Print("Didn't find " + playername + "'s TP."); return false; } function NTH_UseWpToLeader() { //Print("Trying to reach leader via WP."); if (NTM_TakeWaypoint(_leader.areaid)) //take WP to leader area { //Print("I'm in same area as the leader."); Delay(500); return true; } me.Cancel(1); if(!NTH_InTown()) { //Print("Heading to town."); GotoTown(); } NTTM_TownMove("waypoint"); if (NTM_TakeWaypoint(_leader.areaid)) //take WP to leader area { //Print("I'm in same area as the leader."); Delay(500); return true; } //Print("Couldn't take WP to leader."); me.Cancel(1); return false; } function NTH_ChangeArea() { if(NTH_InTown()) { me.Cancel(1); //cancel open wps if any if ((_leader.areaid == 47) && (me.areaid == 40) && NTM_TakeStair(_leader.areaid)) //act 2 sewers 1 return; if ((_leader.areaid == 121) && (me.areaid == 109) && NTM_TakeStair(_leader.areaid)) //anya portal return; if (NTH_GetAct(me.areaid) != NTH_GetAct(_leader.areaid)) _tpPrio = false; if (_tpPrio == true) { _tpPrio = false; if (NTH_GetAct(me.areaid) != NTH_GetAct(_leader.areaid)) NTH_GotoCorrectTown(); if(NTH_AttemptPlayerTP(_leader.name)) return; if(_lastPortalOwner != null && NTH_AttemptPlayerTP(_lastPortalOwner)) return; if (NTH_UseWpToLeader()) return; } else { if (NTH_UseWpToLeader()) return; if (NTH_GetAct(me.areaid) != NTH_GetAct(_leader.areaid)) NTH_GotoCorrectTown(); if(NTH_AttemptPlayerTP(_leader.name)) return; if(_lastPortalOwner != null && NTH_AttemptPlayerTP(_lastPortalOwner)) return; } NTH_ReadyCheck();// At least get to the right act, hope Print("Couldn't reach leader. Pausing. Type -go to resume."); _pause = true; return; } if(NTH_InTown(_leader)) //special case, to speed up leaving the area. GotoTown(); //Print("Attempting to take stairs to leader."); if(!NTM_TakeStair(_leader.areaid)) { //Print("Can't take stairs to reach leader. Attempting to take WP to leader."); if(!NTM_TakeWaypoint(_leader.areaid)) { //Print("Can't take WP to reach leader. Heading to town."); GotoTown(); } } } function GotoTown() { if(NTH_UseWpToTown()) return; NTH_UseAnyPortal(); if(!NTH_InTown()) { NTM_MakeTP(); _lastPortalOwner = me.name; NTM_UsePortal("BluePortal"); 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_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) { if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-wait") != -1) { _pause = true; Print("I'll just wait here for a few minutes.."); } if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-go") != -1) { _pause = false; Print("Lets do this!"); } if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-town") != -1) { _tpPrio = true; if(!NTH_InTown()) { GotoTown(); Print("Running some errands in town"); NTTMGR_TownManager(); Print("Ok, I'm ready for battle!"); } else { Print("Running some errands in town"); NTTMGR_TownManager(); Print("Ok, I'm ready for battle!"); } } if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-res") != -1) { if( me.hp == 0) { Print("Ressurecting now.."); me.Cancel(0); Delay(100); NTTM_TownMove("portalspot"); Delay(100); NTH_UsePortal(_leader.name); Delay(200); NTT_GetCorpses(); } } if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-tp") != -1) { var _portalTarget = msg.split(" ")[msg.split(" ").length-1]; //Print(_portalTarget.toLowerCase()); if(_portalTarget != "-tp") { if( _portalTarget == me.name) { Print("TP up for later use"); NTM_MakeTP(); } } else { Print("TP up for later use"); NTM_MakeTP(); } } if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-mytp") != -1) { if(NTH_InTown()) { Print("I'm on my way back " + _leader.name); NTTM_TownMove("portalspot"); me.Cancel(1); //cancel open wps if any NTH_UsePortal(_leader.name); Delay(1200); } else { Print("I'm going to town"); NTH_UsePortal(_leader.name); Delay(500); } } if(msg.indexOf(_leader.name) != -1 && msg.indexOf("-taketp") != -1) { var _portalTarget = msg.split(" ")[msg.split(" ").length-1]; if(NTH_InTown()) { Print("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 { Print("Taking TP back to town"); NTM_UseAnyPortal(); Delay(500); } } if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-grabwp") != -1) { if(!NTDS_GrabWayPoint()) { Print("I can't grab this waypoint!"); Delay(200); } else { Print("I got the WP"); Delay(200); } } if(msg.indexOf(_leader.name) != -1 && msg.indexOf("-bo") != -1) { if(!NTC_InTown() && me.name == _helper && me.classid == NTC_CHAR_CLASS_BARBARIAN) { Say("Casting Barbarian Buffs!"); NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders NTC_CastSkill(138, NTC_HAND_RIGHT); // Shout } else if (!NTC_InTown() && me.classid == NTC_CHAR_CLASS_BARBARIAN) { var _castBo = true; _primaryBarb = GetPlayerUnit(); do{ if(_primaryBarb.name == _helper && _primaryBarb.classid == NTC_CHAR_CLASS_BARBARIAN) { _castBo == false; break; } }while(_primaryBarb.GetNext()); if(_castBo) { Say("Casting Barbarian Buffs!"); NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders NTC_CastSkill(138, NTC_HAND_RIGHT); // Shout } } else if (!NTC_InTown()) NTP_DoPrecastCTA(true); } if( msg.indexOf(_leader.name) != -1 && msg.indexOf("-cmd") != -1 && me.name == _helper) { Say("-wait : Pauses the bots (they still defend themselves but wont follow)"); Delay(200); Say("-go : Resumes following the leader"); Delay(200); Say("-town : Runs the town manager to let your bots heal at NPCs, repair etc when you visit town"); Delay(200); Say("-tp : Causes bots to make a TP"); Delay(200); Say("-tp NAME : Causes a specific bot to make a TP"); Delay(200); Say("-taketp NAME : Causes bots to take a certain TP"); Delay(200); Say("-mytp: Orders your bots to take your TP"); Delay(200); Say("-bo: Barb will cast Battle Command / Battle Orders / Shout"); Delay(200); Say("-grabwp: Chars will try to grab the WP"); Delay(200); Say("-res: Ressurects the dead Follower"); Delay(200); } } function isTooFar() { if(GetDistance(me.x, me.y, _leaderpos.x, _leaderpos.y) > _maxStrayRange) 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; //Say('passed'); _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(NTConfig_OpenChest) { _target = NTC_GetSpecialChest(); if(_target && GetDistance(_orgx, _orgy, _target.x, _target.y) <= range && NTC_OpenChest(_target)) _attackcount++; } if(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; }
#2
Code:
//----- SET THIS TO YOUR LEADERS IN-GAME NAME -----// var _leaderName = ""; //----- NO EDITS NEEDED BELOW THIS LINE -----// var _pause = false; 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); var _leader = _leaderName; //Variable Declaration var _attack = true; var _party = false; var _target; var _leaderpos = null; var _count = 0; //Find Leader _target = GetPlayerUnit(); if(_target) { while(_target.GetNext()) { if(_target.name.toLowerCase() == _leader.toLowerCase()) { _leader = _target; break; } } } while(!NTC_InMyParty(_leader.name)) { Delay(500); //Print("Delaying for leader to join party.."); } //Ready Check function NTH_ReadyCheck() { NTTM_CheckAct(); if(me.areaid != _leader.areaid) { NTTM_TownMove("waypoint"); if(_leader.areaid == 1 || _leader.areaid == 40 || _leader.areaid == 75 || _leader.areaid == 103 || _leader.areaid == 109) { if(!NTM_TakeWaypoint(_leader.areaid)) { NTM_TakeWaypoint(1); } } else { if(_leader.areaid < 40 || _leader.areaid == 0) NTM_TakeWaypoint(1); else if(_leader.areaid < 75) NTM_TakeWaypoint(40); else if(_leader.areaid < 103) NTM_TakeWaypoint(75); else if(_leader.areaid < 109) NTM_TakeWaypoint(103); else NTM_TakeWaypoint(109); if(me.areaid != 40) NTTM_TownMove("portalspot"); else NTTM_TownMove("stash"); } } } //Bot while(1) { if(NTC_InMyParty(_leader.name) && !_pause) { NTSI_PickItems(); if(_leaderpos == null) _leaderpos = NTH_GetLeader(); else NTH_Follow(); if(me.areaid != _leader.areaid && NTH_GetLeader() == null) NTH_ChangeArea(); } else NTA_ClearPosition(15, true); if(!NTH_InGame(_leader.name)) { Print("Leader isn't in the game!"); NTC_SendMsgToScript("NTBotGame.ntj", "SCRIPT_END"); Delay(10000); } Delay(100); } //Internal Functions function NTH_GetLeader() { _target = NTC_FindUnit(NTC_UNIT_PLAYER); if(_target) { do { //Print(_target.name); if(_target.name == _leader.name) return _target; } while(_target.GetNext()); } return null; } function NTH_Follow() { if(_leaderpos.mode == 3 || _leaderpos.mode == 2) _count = 0; if(_leaderpos.mode == 1 || _leaderpos.mode == 4) _count++; if(_count >= 10 || _leaderpos.mode == 7 || _leaderpos.mode == 10 || _leaderpos.mode == 8) NTA_ClearPosition(15, true); if(GetDistance(me.x, me.y, _leaderpos.x, _leaderpos.y) > 7) NTM_MoveTo(_leader.areaid, _leaderpos.x, _leaderpos.y); } function NTH_ChangeArea() { if(NTH_InTown()) { NTTM_TownMove("waypoint"); NTM_TakeWaypoint(_leader.areaid); if(!NTH_InTown()) NTP_DoPrecast(true); } else if(!NTH_InTown(_leader)) { if(!NTM_TakeStair(_leader.areaid)) { ; } } else { if(!NTM_TakeWaypoint(_leader.areaid)) NTH_UsePortal(_leader.name); } } } 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(_target.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) { if( msg.indexOf(_leaderName) != -1 && msg.indexOf("-wait") != -1) { _pause = true; Say("I'll just wait here for a few minutes.."); } if( msg.indexOf(_leaderName) != -1 && msg.indexOf("-go") != -1) { _pause = false; Say("Lets do this!"); } if( msg.indexOf(_leaderName) != -1 && msg.indexOf("-town") != -1) { Say("Running some errands in town"); NTTMGR_TownManager(); Say("Ok, I'm ready for battle!"); NTTM_TownMove("portalspot"); } if( msg.indexOf(_leaderName) != -1 && msg.indexOf("-tp") != -1) { Say("TP up for later use"); NTM_MakeTP(); } if( msg.indexOf(_leaderName) != -1 && msg.indexOf("-mytp") != -1) { if(NTH_InTown()) { Say("I'm on my way back"); NTTM_TownMove("portalspot"); NTH_UsePortal(_leaderName); Delay(2000); } else { Say("I'm going to town"); NTH_UsePortal(_leaderName); Delay(1000); } } if( msg.indexOf(_leaderName) != -1 && msg.indexOf("-res") != -1) { if( me.hp == 0) { Say("Ressurecting now.."); me.Cancel(0); Delay(100); NTTM_TownMove("portalspot"); Delay(100); NTH_UsePortal(_leaderName); Delay(200); NTT_GetCorpses(); } } }