디아블로네님 avenger 3.0용 트랩신 스크립트 수정본입니다.
분류
봇관련
조회 수
1,783
추천 수
0
밤새 야근하면서 짬나는대로 해봤습니다.
레더2기때 키웠던 트랩신이 그리워서 한번 키워본김에 약간 수정해봤습니다.
봇을 접한지 한달남짓 되는지라 아는 것도 없고 주먹구구식으로 추가한 것입니다.
기존의 스크립트가 라센외의 다른 스킬을 쓰지 않는 것 같아 파블과 쇼크웹을 쓰도록 했습니다.
라센깔고 노는 시간에 몹들에게 별사탕을 나눠주도록 했습니다.
수정해서 몇시간 돌려보니 별 무리없이 돌아가는군요.
보스몹 상대시 스크립트 수정부분입니다.
\scripts\libs\XP\Libs\XP_Include.d2l <--- 이 파일에 있습니다.
파일을 열고 assassin으로 검색해보면 아래코드가 나옵니다.
function XP_AssassinBossAttack(target) {
.............................................. 마샬계열 어새신 부분 생략
// Use the Trapassin method
// Set X traps on a radius of 5 units from target coords then wait x seconds
// ToDo : Make a function to check the duration of each trap and return true/false for refresh
// Or let the user set a wait time then recast them all when the timer expire
else {
if (XP_NumTraps < 0) { XP_NumTraps = 0; }
if (XP_NumTraps > 5) { XP_NumTraps = 5; }
while (target.hp > 0 && me.mp > 15) {
var _waittime = XP_TrapsWaitTime;
var _fireblast = 0; // <------- 이부분 추가
// 타겟 주위에 라센 깔기
if (XP_NumTraps > 0) { DC_DoCast(XP_TrapSkill,0,target.x,target.y + 5); }
if (XP_NumTraps > 1) { DC_DoCast(XP_TrapSkill,0,target.x + 5,target.y); }
if (XP_NumTraps > 2) { DC_DoCast(XP_TrapSkill,0,target.x,target.y - 5); }
if (XP_NumTraps > 3) { DC_DoCast(XP_TrapSkill,0,target.x - 5,target.y); }
if (XP_NumTraps > 5) { DC_DoCast(XP_TrapSkill,0,target.x - 5,target.y - 5); }
//DC_DoCast(273, 0, target); // Mind Blast <------- 마블 사용
// 이부분은 원래 있던건데 전 마블 안쓰기 때문에 주석처리했습니다.
while (_fireblast < 10 && target.hp > 0) { // <---- 추가:타겟의 피가 남았으면 파블및 쇽웹 10번 쓰기
DC_DoCast(251,0,target); // <----추가:타겟에 파블사용(251=파블스킬번호)
DC_DoCast(256,0,target); // <----추가:타겟에 쇽웹사용
_fireblast += 1; // <----추가:카운트
} // <----추가:
while (_waittime > 0 ) {
XP_CheckAttacks();
if (XP_CheckUtil(target)) { return; }
XP_CheckDefense();
DC_DoDel(50);
_waittime-=50;
}
}
}
}
별거 없지요?
다음은 일반 몹 잡을때(길목 청소)입니다. 저의 경우 라센이 너무 세서 파블,쇽웹 쓸 겨를이 거의 없더군요.
무공의 힘도 크지요.. 라이트닝,파이어 이뮨이 동시에 나오는 경우는 적은 편이기 때문에 파블 사용하면 대부분
의 맵에서 사냥이 가능합니다.
추가로 보스몹과는 달리 데센깔기도 추가했습니다. 기존것은 데센 까는 부분이 없더군요. 있는데 제가 못봤을수도..
데센하나 깔아주면 사냥 속도가 달라집니다.
\scripts\libs\XP\Libs\XP_AreaClearing.d2l <-- 이 파일에 있습니다.
//////////////////////////////////////////////////////////////////////
// Assassin section
//////////////////////////////////////////////////////////////////////
function XP_AttackMonsterAssassin(monster,range,x,y,attackSkills) {
// -----------------------------------------------------
// 마찬가지로 마샬계열 부분이기 때문에 생략합니다
// ..................................................................
else {
if (XP_NumTraps < 0) { XP_NumTraps = 0; }
if (XP_NumTraps > 5) { XP_NumTraps = 5; }
while (monster.hp > 0) {
var _waittime = XP_TrapsWaitTime;
var _fireblast = 0; // <---- 추가
// Place the traps around the target in cardinals coords and 1 corner
if (XP_NumTraps > 0) { DC_DoCast(XP_TrapSkill,0,monster.x,monster.y + 5); }
if (XP_NumTraps > 1) { DC_DoCast(XP_TrapSkill,0,monster.x + 5,monster.y); }
if (XP_NumTraps > 2) { DC_DoCast(XP_TrapSkill,0,monster.x,monster.y - 5); }
if (XP_NumTraps > 3) { DC_DoCast(XP_TrapSkill,0,monster.x - 5,monster.y); }
if (XP_NumTraps > 5) { DC_DoCast(276,0,monster.x+1,monster.y+1); } // <--- 변경
// 데센 깔기
//DC_DoCast (271, 0, monster); // Mind Blast
while (_fireblast < 10 && monster.hp > 0) { // 추가 부분 (이하 5줄)
DC_DoCast(251,0,monster); // 파블 쓰기
DC_DoCast(256,0,monster); // 쇽웹 쓰기
_fireblast += 1; //
} //
while (_waittime > 0) {
if (monster.hp < hpprev) {
hpprev = monster.hp;
attprev = _XP_AttackCompleted + 1;
// Go to town if one of the messages is received from LW
if (_XP_MercDead || _XP_OutOfPots || _XP_Town) { XP_TownManager(); }
}
XP_CheckAttacks ();
DC_DoDel(50);
_waittime-=50;
}
}
}
}
return true;
}
저대로라면 파블,쇽웹을 10번 쓰게 되어 있지만 몹의 hp를 같이 체크하기 때문에 죽으면 더 이상 쓰지 않습니다.
밤새면서 틈나는대로 수정한거라 지저분하고 즉흥적으로 됐네요.
차후에 시간이 나면 더 손을 볼 생각이지만 코딩분석쪽은 깡통이라 언제가 될른지 모르겠습니다.
트랩신 스킬 문제로 답답하셨던 분들은 참고해보시고 사용하시다 문제가 생기면 말씀해주십시요.
능력있으신 분들이 더 세련되게 수정해주시리라 믿습니다. ㅡㅡ;;
이상입니다.