엘드리치잡고 바로 생크가는 스크립트입니다.
분류
봇관련
조회 수
1,575
추천 수
0
bots폴더의 BloodXP.d2j 파일을 열어 내용을 지우시고 내용을 복사해서 저장하시면 됩니다.
물론 캐릭터 설정 파일에서 엘드리치 부분은 주석처리해줘야겠죠?
//////////////////////////////////////////////////////////////////////
//
// Xizeta's BloodyXP script
// Eldritch/Shenk/Dac Farren/Bloody Foothills runs bot script.
//
// The script will use any char.
//
// It is suggested to keep a Tome of Identification in
// inventory to make it work better.
//
// Version 2.3b
// Updated on 2005/07/01
//
// Original authors : DaBeerMan and Xizeta
// Collaboration : Ven0m, Muellsammler, Darien, Killkeeper, Damoon, HellNucleus,
// DaBeerMan, Gill_105, Syadasti, Smoke and others :)
//
// Legal stuff :
// 1. D2jsp is NOT free, to use it you MUST pay 25$ to njaguar ( see details at www.d2jsp.org ) and d2jsp software
// must ONLY be used with a legit and paid for d2jsp.key which can only be obtained by paying.
// 2. You may NOT redistribute this or any files which resides on the site www.d2jsp.org in any way what so ever
// including but not limited to making it available for download/upload to anyone without the expressed consent
// ( in writing or otherwise ) of the authors of the files. All headers and text documents must remain and contents stay intact.
// The usage of scripts, part of scripts and/or files are permitted as long as they are used for scripts
// which is being hosted at www.d2jsp.org with credit of the authors which made the parts of the scripts or files used.
// 3. MODIFICATIONS for redistribution can only be done by submitting to the core scripters team for approval. If you don't
// want to submit the modifications you may not redistribute any files from the d2jsp core or scripts
// 4. You may not modify or change the existing code other than for your own personal use.
// 5. Any copies of this software must always be compatible with the current d2jsp-common libs
// 6. The sale of this software is strictly forbidden
// 7. Only a person which has paid for ( or otherwise proven that key was paid for) the d2jsp key
// to njaguar ( mr Paul Taulborg) may use the scripts and/or files from www.d2jsp.org
//
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY
// or FITNESS FOR A PARTICULAR PURPOSE.
//
//////////////////////////////////////////////////////////////////////
var BLXP_Version = "2.3b";
//////////////////////////////////////////////////////////////////////
// ***** NO EDITION BELOW THIS POINT *****
// MESSING WITH THE CODE BELOW WILL MAKE THE SCRIPT
// WORK DIFFERENTLY, WITH BAD RESULTS !!
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// Script public variables
//////////////////////////////////////////////////////////////////////
// General variables
var BLXP_DoEldritch = true; // Go and Kill Eldritch
var BLXP_ClearPathToShenk = true; // Clear the path before Shenk
var BLXP_DoShenk = true; // Go and Kill Shenk
var BLXP_DoTopBloody = false; // Clear the top section of the foothills up to Dac Farren spot
var BLXP_DoDacFarren = false; // Kill Dac Farren
var BLXP_DoBottomBloody = false;// Clear the bottom section of the foothills up to the town gate
var BLXP_EnterTownAtEnd = false; // Enter town by the gate if you set BLXP_DoBottomBloody to true
var BLXP_EldritchOffsetX=0; // Offset for Eldritch
var BLXP_EldritchOffsetY=0;
var BLXP_ShenkOffsetX=0; // Offset for Shenk
var BLXP_ShenkOffsetY=0;
var BLXP_SkipOnImmune=true; // Skip the boss if he is immune and go to next. If false, it will clear around and let the merc kill
//////////////////////////////////////////////////////////////////////
// Script private variables
//////////////////////////////////////////////////////////////////////
var _BLXP_UseLoader = false;
// Classes
var commPather = false;
//////////////////////////////////////////////////////////////////////
// BloodyXP functions
//////////////////////////////////////////////////////////////////////
function BLXP_KillEldritch() {
// Move to the Eldritch spot
if (XP_UseOverheads) { me.overhead("Heading to Eldritch"); }
commPather.GotoDest(3756, 5103, 20);
commPather.GotoDest(3750 - BLXP_EldritchOffsetX, 5084 - BLXP_EldritchOffsetY,20);
// If you are a zon, cast a Decoy
if (me.classid === 0 && XP_CastDecoy && XP_DecoyPosition==1) { DC_DoCast(28,0,3750,5084); }
// Kill Eldritch and skip if he is immune
_target = DC_FindMonster( 453, 0x04 );
_retval = XP_DoCheckImmunities( _target, false, _BLXP_UseLoader );
if (_retval) { XP_KillBoss( "Eldritch the Rectifier", null, null, false, _BLXP_UseLoader, _target ); }
else { if (BLXP_SkipOnImmune) { return; } }
// If we want to attack the monsters around, do it now
if (XP_KillMinions) { XP_ClearPosition(15); }
// Pick the dropped items
DSN_PickItems(XP_IdItems);
}
function BLXP_ClearToShenk() {
if (!BLXP_ClearPathToShenk) { return false; }
else { return XP_KillMonsters(25); }
}
function BLXP_KillShenk() {
// Move to the Shenk spot, clearing along the way
if(XP_UseOverheads) { me.overhead("Heading to Shenk"); }
commPather.GotoDest(3781,5111,15,BLXP_ClearToShenk,false);
commPather.GotoDest(3795,5103,15,BLXP_ClearToShenk,false);
commPather.GotoDest(3819,5105,15,BLXP_ClearToShenk,false);
commPather.GotoDest(3837,5115,15,BLXP_ClearToShenk,false);
commPather.GotoDest(3861,5122,15,BLXP_ClearToShenk,false);
commPather.GotoDest(3884 + BLXP_ShenkOffsetX, 5120 + BLXP_ShenkOffsetY,15);
// Kill Shenk and skip if he is immune
_target = DC_FindMonster( 479, 0x04 );
_retval = XP_DoCheckImmunities( _target, false,_BLXP_UseLoader );
if (_retval) { XP_KillBoss( "Shenk the Overseer", null, null, false, _BLXP_UseLoader, _target ); }
else { if (BLXP_SkipOnImmune) { return; } }
// If we want to attack the monsters around, do it now
if (XP_KillMinions) { XP_ClearPosition(15); }
// Pick the dropped items
DSN_PickItems(XP_IdItems);
}
function BLXP_ClearTop() {
commPather.GotoDest(3987, 5110, 20, BLXP_KillMonsters, false);
commPather.GotoDest(4058, 5086, 20, BLXP_KillMonsters, false);
commPather.GotoDest(4137, 5086, 20, BLXP_KillMonsters, false);
commPather.GotoDest(4272, 5092, 20, BLXP_KillMonsters, false);
commPather.GotoDest(4312, 5100, 20, BLXP_KillMonsters, false);
commPather.GotoDest(4395, 5103, 20, BLXP_KillMonsters, false);
commPather.GotoDest(4452, 5110, 20, BLXP_KillMonsters, false);
}
function BLXP_KillDacFarren() {
// Move to the Shenk spot, clearing along the way
if(XP_UseOverheads) { me.overhead("Heading to Dac Farren"); }
commPather.GotoNPC(752,110,20,false,false);
// Kill Shenk and skip if he is immune
_target = DC_FindMonster( 494, 0x04 );
_retval = XP_DoCheckImmunities( _target, false, _BLXP_UseLoader );
if (_retval) { XP_KillBoss( "Dac Farren", null, null, false, _BLXP_UseLoader, _target ); }
else { if (BLXP_SkipOnImmune) { return; } }
// If we want to attack the monsters around, do it now
if (XP_KillMinions) { XP_ClearPosition(15); }
// Pick the dropped items
DSN_PickItems(XP_IdItems);
}
function BLXP_ClearBottom() {
commPather.GotoDest( 4570, 5118, 20, BLXP_KillMonsters, false);
commPather.GotoDest( 4683, 5156, 20, BLXP_KillMonsters, false);
commPather.GotoDest( 4722, 5111, 20, BLXP_KillMonsters, false);
commPather.GotoDest( 4778, 5135, 20, BLXP_KillMonsters, false);
commPather.GotoDest( 4838, 5134, 20, BLXP_KillMonsters, false);
commPather.GotoDest( 4881, 5115, 20, BLXP_KillMonsters, false);
commPather.GotoDest( 4986, 5088, 20, BLXP_KillMonsters, false);
}
function BLXP_KillMonsters() {
return XP_KillMonsters(25);
}
//////////////////////////////////////////////////////////////////////
// BloodyXP main section
//////////////////////////////////////////////////////////////////////
// Main function
function BloodyXP() {
// Initialize the script
DC_LoadInclude("XP/Libs/XP_Load.d2l");
XP_LoadLibs();
XP_StartScript( "BloodyXP", "BLXP", BLXP_Variables, false, false );
// Start the event handler if we want automatic BO check and refresh
if (XP_AutoBOCheck) { registerEvent( EVENT_PLAYERSTATE, XP_EventPlayerState ); }
// If you don't use LoaderXP, invite the followers
if (!_BLXP_UseLoader && XP_RunMode == 2) {
// determine the gamename/password format depending on the join cmd
_gameinfo = " " + me.gamename;
_gamepass = (!me.gamepassword) ? "" : me.gamepassword;
if (XP_JoinMessage == "=JOIN") {
_gameinfo = (_gamepass === "") ? _gameinfo : _gameinfo + " " + _gamepass;
}
else {
_gameinfo = (_gamepass === "") ? _gameinfo : _gameinfo + "/" + _gamepass;
}
// Send the join message to the followers if we set Teambot mode
say("/f m " + XP_JoinMessage + _gameinfo);
}
// Load the PartyUp file for public games
if (XP_RunMode > 0) {
load(XP_PartyPath);
DT_DrinkAll=true;
}
// Tell followers to wait in town
if (XP_RunMode == 2) { say( XP_WaitTownMessage ); }
// Do town stuff
XP_TownManager();
// Go to waypoint and cast precasts
XP_TakeWaypoint( 111 );
// If we enabled public mode or teambot mode, send a tp here after clearing around
if (XP_RunMode > 0) {
// Set the auto make TP when leader get back from town
_XP_MakeTPBack = true;
// Clear the TP spot
XP_ClearPosition(25);
DSN_PickItems(XP_IdItems);
// Tell others the tp is clear
say( XP_TPLeechMessage );
}
// Kill Eldritch
if (BLXP_DoEldritch) { BLXP_KillEldritch(); }
// Kill Shenk
if (BLXP_DoShenk) { BLXP_KillShenk(); }
// Clear top Foothills
if (BLXP_DoTopBloody) { BLXP_ClearTop(); }
// Kill Dac Farren
if (BLXP_DoDacFarren) { BLXP_KillDacFarren(); }
// Clear bottom Foothills
if (BLXP_DoBottomBloody) { BLXP_ClearBottom(); }
// Increase the kills counter then leave the game
DL_AddKill();
// 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")) { _BLXP_UseLoader = true; }
// Set the maximum game delay before aborting if the script is running standalone
if (!_BLXP_UseLoader) { me.gamelength=300000; }
// configure the debug and error log paths
DC_DebugLogPath = "output/XP-DebugLogs/" + me.name + "-BLXP-DebugLog.html";
DC_ErrorLogPath = "output/XP-ErrorLogs/" + me.name + "-XP-ErrorLog.html";
// Call the main function to check for exceptions
try { BloodyXP(); }
// Then catch and log any exception throwed by the script before quitting
catch (BLXP_Exception) {
XP_HandleException( BLXP_Exception, "BLXP", _BLXP_UseLoader );
}
}