XP봇, 소환술사 스크립입니다.(2차수정)
분류
봇관련
조회 수
2,738
추천 수
2
제가 XP 2.3A 를 쓰고 있는데, 소환술사가 없어서
얌봇에 있는 스크립을 XP봇용으로 포팅 했습니다.
키 줍기에 반드시 필요하죠 ^^
편집기로 scripts\libs\XP 폴더에 사용할 케릭 콘픽 파일 열어서
사냥몹 정하는 부분에
LXP_Script.push("SummonerXP.d2j",2);
위부분, 넣고요 , 각 몹별 변수등 정의 하는 부분에서
function DuXP_Variables() {
-- 중략 --
} <== 요 중괄호 바로 밑줄에 , 다음 넣고 저장
function SumXP_Variables() {
XP_SwitchOnKill=false;
XP_SwitchHP=40;
XP_StallKill=false;
XP_StallHP=40;
XP_StallSkipPhys=false;
DA_CheckImmunes=false;
DA_CheckEnchantements=false;
DA_CheckAuras=false;
XP_KillMinions=true;
}
위부분은 케릭콘픽파일에 넣는 겁니다.
위변수설정 해준걸 깜박 잊고 있었네요.
2차 수정 했습니다.
-길찾기 여러개 동원.
-시작시 핀들앞마당가서 네크로 해골소환.
아래 부분 편집기로 복사해서 파일명을 SummonerXP.d2j 로
scripts\bots 폴더에 저장.
//여기부터 복사
//Module by Bong
var SumXP_Version = "2.3";
var commPather = false;
var _SumXP_UseLoader = false;
var _TomeY = 0;
function SumXP_GoLowerRight() {
//Tome=25866,5431
commPather.GotoDest(25471,5447,20);
commPather.GotoDest(25495,5446,20);
commPather.GotoDest(25521,5446,20);
commPather.GotoDest(25546,5448,20);
commPather.GotoDest(25558,5447,20);
commPather.GotoDest(25566,5433,20);
commPather.GotoDest(25566,5405,20);
commPather.GotoDest(25561,5383,20);
commPather.GotoDest(25585,5386,20);
commPather.GotoDest(25612,5386,20);
commPather.GotoDest(25641,5388,20);
commPather.GotoDest(25661,5387,20);
commPather.GotoDest(25683,5391,20);
commPather.GotoDest(25706,5386,20);
commPather.GotoDest(25731,5386,20);
commPather.GotoDest(25761,5387,20);
commPather.GotoDest(25782,5387,20);
commPather.GotoDest(25811,5386,20);
commPather.GotoDest(25806,5412,20);
commPather.GotoDest(25807,5437,20);
commPather.GotoDest(25831,5446,20);
commPather.GotoDest(25850,5446,20);
commPather.GotoDest(25861,5442,20,XP_KillMonsters,false);
}
function SumXP_GoLowerLeft() {
//Tome=25431,5861
commPather.GotoDest(25446,5471,20);
commPather.GotoDest(25446,5497,20);
commPather.GotoDest(25447,5521,20);
commPather.GotoDest(25446,5540,20);
commPather.GotoDest(25446,5564,20);
commPather.GotoDest(25472,5566,20);
commPather.GotoDest(25493,5566,20);
commPather.GotoDest(25506,5590,20);
commPather.GotoDest(25506,5614,20);
commPather.GotoDest(25507,5641,20);
commPather.GotoDest(25506,5662,20);
commPather.GotoDest(25506,5685,20);
commPather.GotoDest(25506,5712,20);
commPather.GotoDest(25506,5736,20);
commPather.GotoDest(25506,5761,20);
commPather.GotoDest(25506,5783,20);
commPather.GotoDest(25506,5806,20);
commPather.GotoDest(25480,5806,20);
commPather.GotoDest(25461,5806,20);
commPather.GotoDest(25447,5822,20);
commPather.GotoDest(25447,5843,20);
commPather.GotoDest(25442,5856,20,XP_KillMonsters,false);
}
function SumXP_GoUpperLeft() {
//Tome=25011,5446
commPather.GotoDest(25421,5446,20);
commPather.GotoDest(25401,5446,20);
commPather.GotoDest(25368,5446,20);
commPather.GotoDest(25346,5446,20);
commPather.GotoDest(25326,5438,20);
commPather.GotoDest(25326,5424,20);
commPather.GotoDest(25326,5406,20);
commPather.GotoDest(25300,5387,20);
commPather.GotoDest(25281,5386,20);
commPather.GotoDest(25248,5386,20);
commPather.GotoDest(25225,5386,20);
commPather.GotoDest(25199,5388,20);
commPather.GotoDest(25172,5386,20);
commPather.GotoDest(25143,5386,20);
commPather.GotoDest(25120,5386,20);
commPather.GotoDest(25101,5386,20);
commPather.GotoDest(25088,5387,20);
commPather.GotoDest(25088,5408,20);
commPather.GotoDest(25088,5432,20);
commPather.GotoDest(25086,5444,20);
commPather.GotoDest(25064,5446,20);
commPather.GotoDest(25046,5446,20);
commPather.GotoDest(25022,5446,20,XP_KillMonsters,false);
}
function SumXP_GoUpperRight() {
//Tome=25431,5011
commPather.GotoDest(25446,5421,20);
commPather.GotoDest(25446,5401,20);
commPather.GotoDest(25446,5370,20);
commPather.GotoDest(25446,5346,20);
commPather.GotoDest(25461,5327,20);// this step sometimes fails|25452,5331 original points
commPather.GotoDest(25475,5326,20);
commPather.GotoDest(25496,5327,20);
commPather.GotoDest(25507,5313,20);
commPather.GotoDest(25507,5277,20);// this step sometimes fails|25507,5288 original points
commPather.GotoDest(25505,5261,20);
commPather.GotoDest(25506,5237,20);// check this
commPather.GotoDest(25506,5214,20);
commPather.GotoDest(25506,5191,20);
commPather.GotoDest(25506,5176,20);// this step sometimes fails|25506,5167 original points
//commPather.GotoDest(25506,5153,20);// this step sometimes fails|25506,5141 original points
commPather.GotoDest(25506,5148,20);// this step sometimes fails|25506,5141 original points
commPather.GotoDest(25506,5133,20);// this step sometimes fails|25506,5117 original points
commPather.GotoDest(25506,5108,20);// ADDED
commPather.GotoDest(25493,5088,20);// this step sometimes fails|25506,5088 original points
commPather.GotoDest(25480,5086,20);
commPather.GotoDest(25462,5087,20);
commPather.GotoDest(25447,5067,20);
commPather.GotoDest(25448,5046,20);
commPather.GotoDest(25435,5023,20,XP_KillMonsters,false);
}
function SumXP_GotoSummoner() {
switch (_TomeY) {
case 5431: SumXP_GoLowerRight(); break;
case 5861: SumXP_GoLowerLeft(); break;
case 5446: SumXP_GoUpperLeft(); break;
case 5011: SumXP_GoUpperRight(); break;
}
}
// Main function
function SummonerXP() {
// Initialize the script
DC_LoadInclude("XP/Libs/XP_Load.d2l");
XP_LoadLibs();
XP_StartScript( "SummonerXP", "SumXP", SumXP_Variables, false );
// Start the event handler if we want automatic BO check and refresh
if (XP_AutoBOCheck) { registerEvent( EVENT_PLAYERSTATE, XP_EventPlayerState ); }
// If we are a necromancer and need to raise a army
if (me.classid == 2 && (XP_useSkel||XP_useSkelMage) && XP_BuildSkeleArmy) {
// It will go to area 121, raise skeletons and come back
// to town for the rest of the script
XP_BuildSkeletonArmy();
}
// Go to waypoint and cast precasts
XP_TakeWaypoint( 0x4a );
// Get Summoner Location
_Tome = false;
while (!_Tome) {_Tome = getPresetUnits(me.area, 2, 357, null);}
_TomeY = _Tome[0].roomy*5 + _Tome[0].y;
// Do precasts after going into the portal
//XP_Precasts();
// Path to the Duriel
print("<<< Try getPresetUnits.");
if(!_Tome[0].y){
print("----getPresetUnits Failed.");
retval = commPather.GotoObject(2,357,357,me.area,20,false,false);
if(!retval){
print("----GotoObject Failed.");
retval = commPather.GotoNPC(722,me.area,20,false,false);
if(!retval){ print("----GotoNPC Failed."); }
}
} else {
// Path to the Duriel
SumXP_GotoSummoner();
}
// Kill the Duriel
XP_KillBoss("The Summoner",250,null,false,_SumXP_UseLoader);
// Increase the kills counter then leave the game
DL_AddKill();
// Pick the dropped items
DSN_PickItems(XP_IdItems);
// Quit the game
XP_CloseScript();
}
// Error handling
function main() {
// Include the base d2jsp lib
include("common/d2jsp-common.d2l");
DC_LoadInclude("XP/Libs/XP_Exceptions.d2l");
// Check if this script is loaded by LoaderXP
if (DC_FindScript("LoaderXP.d2j")) { _SumXP_UseLoader = true; }
// Set the maximum game delay before aborting if the script is running standalone
if (!_SumXP_UseLoader) { me.gamelength=300000; }
// configure the debug and error log paths
DC_DebugLogPath = "output/XP-DebugLogs/" + me.name + "-SumXP-DebugLog.html";
DC_ErrorLogPath = "output/XP-ErrorLogs/" + me.name + "-XP-ErrorLog.html";
// Call the main function to check for exceptions
try { SummonerXP(); }
// Then catch and log any exception throwed by the script before quitting
catch (SumXP_Exception) {
XP_HandleException( SumXP_Exception, "SumXP", _SumXP_UseLoader );
}
}
//여기까지 복사