Hey Freunde des guten Geschmacks,
nach ein bissle editieren hab ich für euch ein kleines aber feines FastDiablo Script.
Basierend auf dem Diablo Script von Muddy.
Eig. kanns jeder selbst auskommentieren, aber ich erspar euch mal diese Arbeit^^
NTFastDiablo.ntj
Version 1.2
Update: Precast entfernt, bei Games um die 1min reicht der Precast am WP.
Version 1.1
Update: DeSeis Clearpath gefixt
Diablokills in unter 1 Minute möglich!
Erfahrungen und Anregungen nehm ich, falls konstruktiv, gern entgegen.
Thanksbutton nicht vergessen ;)
Credits:
Muddy_Waters for awesome bot & scripts
nach ein bissle editieren hab ich für euch ein kleines aber feines FastDiablo Script.
Basierend auf dem Diablo Script von Muddy.
Eig. kanns jeder selbst auskommentieren, aber ich erspar euch mal diese Arbeit^^
NTFastDiablo.ntj
Version 1.2
Update: Precast entfernt, bei Games um die 1min reicht der Precast am WP.
Version 1.1
Update: DeSeis Clearpath gefixt
Code:
/** * This file was modified by [Only registered and activated users can see links. Click Here To Register...] & -Nemesis1337- * Check the programming section for updates and further scripts * Last Update: 18/05/2011 */ function NTMain() { Include("libs/common/NTCommon.ntl"); NTC_IncludeLibs(); NTC_IncludeConfig("NTBot/char_configs"); NT_LoadConfig(); NTSI_LoadNIPFiles("NTBot/item_configs"); MWC_Initialize(); var _monsterCount, _attackpos; if(!NTTM_CheckAct(me.act, true)) { NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 20, me.act, true); return; } NTTMGR_TownManager(); if(!NTTM_TownMove("waypoint")) { NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 28, "waypoint"); return; } if(!NTM_TakeWaypoint(107)) { NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 34, 107); return; } NTP_DoPrecast(true); if(NTConfig_PublicMode) Say("Killing Diablo! Takes 30 Sec!"); if(!NTM_MoveTo(108, 7797, 5560)) { NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 42, 108, 7797, 5560); return; } if(!MWConfig_StartAtStar) { //_attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 7770, 5320, 7780, 5308]; if(!NTM_MoveTo(108, 7790, 5544)) { NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 52, me.areaid, 7790, 5544); return; } //if(NTConfig_PublicMode) { _monsterCount = MWA_FindNearbyMonsters(20); if(_monsterCount > 1) { if(_monsterCount < 3) Say("TP cold, " + _monsterCount + " monsters close!"); else if(_monsterCount < 6) Say("TP warm, " + _monsterCount + " monsters close!"); else Say("TP hot, " + _monsterCount + " monsters close!"); } else Say("TP up, no monsters close!"); //NTM_MakeTP(); } //NTA_ClearPosition(25, false, 2); NTM_MoveTo(108, 7790, 5544); NTC_PingDelay(1000); //NTA_ClearPosition(25, true, 2); NTM_MoveTo(108, 7790, 5544); //if(NTConfig_PublicMode) { if(MWA_FindNearbyMonsters(15) < 2) Say("TP should be safe now!"); else Say("TP still might be warm!"); } for(var i = 0; i < _attackpos.length; i += 2) { NTM_MoveTo(108, _attackpos[i], _attackpos[i + 1], 3, true); //NTA_ClearPosition(50, true, 2); } } NTM_MoveTo(108, 7792, 5292); //if(NTConfig_PublicMode) { if(MWConfig_StartAtStar) { _monsterCount = MWA_FindNearbyMonsters(25); if(_monsterCount > 1) { if(_monsterCount < 3) Say("TP cold, " + _monsterCount + " monsters close!"); else if(_monsterCount < 6) Say("TP warm, " + _monsterCount + " monsters close!"); else Say("TP hot, " + _monsterCount + " monsters close!"); } else Say(""); } //NTM_MakeTP(); } //NTP_DoPrecast(true); //NTA_ClearPosition(30); NTM_MoveTo(108, 7792, 5292, 3, true); if(!NT_OpenSealsInt()) { NTC_SendMsgToScript("MWBotGame.ntj", NT_OpenSealsInt, 133); return; } if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe)) { NTC_SendMsgToScript("MWBotGame.ntj", NTTMGR_CheckSafe, 139, NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe); return; } if(!NTM_MoveTo(me.areaid, 7792, 5292)) { NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 145, me.areaid, 7792, 5292); return; } NTP_DoPrecast(true); if(NTConfig_PublicMode) Say("Killing Diablo!"); if(me.classid == NTC_CHAR_CLASS_PALADIN && !MWC_CheckForExpShrineUsers()) NTC_PutSkill(109, NTC_HAND_RIGHT); NTC_FindUnit(NTC_UNIT_MONSTER, 243, 150); if(!NTA_KillMonster(243)) { NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 158, 243); return; } NTSI_PickItems(); if(NTConfig_PublicMode) Say("Next Game!"); NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END"); } // Internal function function NT_OpenSealsInt() { var i, _unit; var _result; _unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT); if(!_unit) return false; _result = false; for(i = 0 ; i < _unit.length ; i++) { if(_unit[i].id == 396) { if(_unit[i].roomy*5 + _unit[i].y == 5275) _result = NT_OpenVizierSealInt(1); else _result = NT_OpenVizierSealInt(2); break; } } if(!_result) return false; NTM_MoveTo(me.areaid, 7792, 5292, 3, false); //NTA_ClearPosition(40); //NTP_DoPrecast(); _result = false; for(i = 0 ; i < _unit.length ; i++) { if(_unit[i].id == 394) { if(_unit[i].roomx*5 + _unit[i].x == 7773) _result = NT_OpenDeSeisSealInt(1); else _result = NT_OpenDeSeisSealInt(2); break; } } if(!_result) return false; NTM_MoveTo(me.areaid, 7792, 5292, 3, false); //NTA_ClearPosition(40); //NTP_DoPrecast(true); _result = false; for(i = 0 ; i < _unit.length ; i++) { if(_unit[i].id == 392) { if(_unit[i].roomx*5 + _unit[i].x == 7893) _result = NT_OpenVenomSealInt(1); else _result = NT_OpenVenomSealInt(2); break; } } return _result; } function NT_OpenVizierSealInt(type) { var i, n; var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300]; var _monstername = GetLocaleString(2851); //for(i = 0 ; i < _attackpos.length ; i += 2) { NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1], 3, true); //NTA_ClearPosition(30, true, 2); } for(i = 0; i < 4; i++) { if(!MW_OpenSeal(395) || !MW_OpenSeal(396)) { NTC_Delay(2500); continue; } if(type == 1) NTM_MoveTo(me.areaid, 7665, 5277); for(n = 0; n < 10; n++) { NTC_Delay(200); if(NTA_KillMonster(_monstername)) { //NTA_ClearPosition(); NTSI_PickItems(); return NTM_MoveTo(me.areaid, 7750, 5280); } } } return false; } function NT_OpenDeSeisSealInt(type) { var i, n; var _attackpos = [7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235]; var _monstername = GetLocaleString(2852); var _deSeis, _dist; //if(type == 1) //_attackpos.push(7773, 5215, 7773, 5197, 7794, 5196, 7813, 5189, 7814, 5171, 7804, 5156, 7787, 5154); //else //_attackpos.push(7811, 5216, 7810, 5197, 7787, 5192, 7772, 5183, 7773, 5166, 7784, 5154, 7800, 5154); switch(me.classid) { case NTC_CHAR_CLASS_BARBARIAN: case NTC_CHAR_CLASS_PALADIN: _dist = 8; break; case NTC_CHAR_CLASS_DRUID: _dist = 10; break; default: _dist = 12; } //for(i = 0; i < _attackpos.length; i += 2) { //NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]); //NTA_ClearPosition(30, true, 2); } for(i = 0; i < 4; i++) { if(type == 1) { MW_OpenSeal(394); NTM_MoveTo(me.areaid, 7791, 5198); _deSeis = NTC_FindUnit(NTC_UNIT_MONSTER, _monstername, 3); if(_deSeis) { if(_deSeis.y >= 5185) NTM_MoveTo(me.areaid, 7776, _deSeis.y - _dist); else NTM_MoveTo(me.areaid, 7776, _deSeis.y + _dist); } } else { MW_OpenSeal(394); NTM_MoveTo(me.areaid, 7789, 5154); _deSeis = NTC_FindUnit(NTC_UNIT_MONSTER, _monstername, 3); if(_deSeis && _deSeis.y + _dist <= 5201) { if(!NTM_MoveTo(me.areaid, 7776, _deSeis.y + _dist)) NTM_MoveTo(me.areaid, 7776, _deSeis.y - _dist); } else NTM_MoveTo(me.areaid, 7776, 5195); } for(n = 0; n < 10; n++) { NTC_Delay(200); if(NTA_KillMonster(_monstername)) { //NTA_ClearPosition(30); NTSI_PickItems(); return NTM_MoveTo(me.areaid, 7800, 5255, 3, false); } } } return false; } function NT_OpenVenomSealInt(type) { var i, n; var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280]; var _monstername = GetLocaleString(2853); var _sealOrder; if(MWConfig_KillFullInfectorMob) _sealOrder = [392, 393]; else _sealOrder = [393, 392]; //for(i = 0 ; i < _attackpos.length ; i += 2) { //NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1], 3, true); //NTA_ClearPosition(30, true, 2); } for(i = 0; i < 4; i++) { if(!MW_OpenSeal(_sealOrder[0])) { NTM_MoveTo(me.areaid, _attackpos[_attackpos.length - 2], _attackpos[_attackpos.length - 1], 3, true); NTC_Delay(2500); continue; } if(_sealOrder[1] == 392 && !MW_OpenSeal(_sealOrder[1])) { NTM_MoveTo(me.areaid, _attackpos[_attackpos.length - 2], _attackpos[_attackpos.length - 1], 3, true); NTC_Delay(2500); continue; } if(type == 1) NTM_MoveTo(me.areaid, 7892, 5298); else NTM_MoveTo(me.areaid, 7937, 5305); for(n = 0 ; n < 10 ; n++) { NTC_Delay(200); if(NTA_KillMonster(_monstername)) { NTSI_PickItems(); //NTA_ClearPosition(40); if(NTC_PutSkill(124, NTC_HAND_RIGHT)) NTC_PingDelay(2500); if(_sealOrder[1] == 393) { for(i = 0; i < 4; i++) { if(MW_OpenSeal(393)) break; NTC_Delay(2500); } } return true; } } } return false; } function MW_OpenSeal(classid) { var _seal, _x, _y, _unit; _unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT); if(!_unit) return false; for(i = 0 ; i < _unit.length ; i++) { if(_unit[i].id == classid) { _x = _unit[i].roomx * 5 + _unit[i].x; _y = _unit[i].roomy * 5 + _unit[i].y; break; } } NTM_MoveTo(me.areaid, _x + 1, _y + 1); //NTA_ClearPosition(25, true, 2, false, false); _seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5); if(!_seal) return false; if(_seal.mode > 0) return true; for(var i = 0; i < 8; i++) { if((i % 2) == 0) { if(GetDistance(me, _seal) > 2) NTM_MoveTo(_seal.areaid, _seal.x + 1, _seal.y +1 ); NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal); } NTC_Delay(500); if(_seal.mode > 0) return true; //NTA_ClearPosition(20, true, 2, false, false); } return false; }
Diablokills in unter 1 Minute möglich!
Erfahrungen und Anregungen nehm ich, falls konstruktiv, gern entgegen.
Thanksbutton nicht vergessen ;)
Credits:
Muddy_Waters for awesome bot & scripts