Skip to content
봇관련다크 모드

xp2.3h / 팀봇 스크립트(FollowXP.d2j) 오류 수정 [글 수정]

조회 수
1,812
추천 수
0
등록일

# 팀봇?


d2jsp ver1.2 코어는 chatmsg이벤트함수가 해금 되면서 자동팀봇이 - 통상의 방법으로 - 가능해졌습니다.

이전 버젼에도 수동으로 같은 방에 조인 시키면 쫄봇/팀봇은 가능했었죠. 다만 이번에 풀린 저 이벤트함수는

게임밖-로비에서 쳇상의 메시지를 받을 수 있게하는 것입니다. 이는 다수의 봇을 실행시키고 같은 게임에 조인하여

상호작용으로 스크립트를 수행하는 것이 가능하다는 의미입니다.

예로 소서리스 리더가 방을 생성하여 바알봇이나 카오스봇을 돌리고, 팔라딘과 네크 쫄봇들이 그 게임에 조인하여 같

이 사냥하는 것이 모두 자동으로 가능합니다.




# xp2.3h 팀봇 스크립트(FollowXP.d2j) 오류 수정


대런/얌봇의 팀봇팅은 경험이 있었지만 xp-2.3h버젼의 팀봇은 처음 테스트 해보았습니다.

팀봇 기능은 오히려 전의 것들 보다 축소되었습니다. 심플한건지 날림인지 잘 구분이 되지않습니다. :P

바알봇과 연동했을 때, 포탈타고 들어오기까지는 되지만 follow기능은 작동하지 않더군요. 수동으로 커맨드를

주었을 때도 마찬가지였습니다. 쫄봇 쪽에 엄청난 랙이 걸립니다.

그래서 해당 스크립트 - FollowXP.d2j를 보다가 코드에서 다소 황당한 실수를 발견했습니다.

다음을 수정해야 follow기능이 정상적으로 작동합니다.


//151 라인
_desiredPointX = Math.round( _deltax * ( FWXP_LeashDistMax / FWXP_LeashDistMin ) ) + _leaderunit.x;
_desiredPointY = Math.round( _deltay * ( FWXP_LeashDistMax / FWXP_LeashDistMin ) ) + _leaderunit.y;
를 다음으로,
_desiredPointX = Math.round( _deltax * ( FWXP_LeashDistMin / FWXP_LeashDistMax ) ) + _leaderunit.x;
_desiredPointY = Math.round( _deltay * ( FWXP_LeashDistMin / FWXP_LeashDistMax ) ) + _leaderunit.y;

//178라인
_desiredPointX = Math.round( _deltax * ( FWXP_LeashDistMax / FWXP_LeashDistMin ) ) + ppLeader.x;
_desiredPointY = Math.round( _deltay * ( FWXP_LeashDistMax / FWXP_LeashDistMin ) ) + ppLeader.y;
를 다음으로 수정.
_desiredPointX = Math.round( _deltax * ( FWXP_LeashDistMin / FWXP_LeashDistMax ) ) + ppLeader.x;
_desiredPointY = Math.round( _deltay * ( FWXP_LeashDistMin / FWXP_LeashDistMax ) ) + ppLeader.y;



그리고, 쫄의 경우 캐릭 콘픽에서.

FWXP_LeashDist = xx ; 는 변수명이 잘못되어 있습니다. 다음이 맞습니다.

FWXP_LeashDistMin = 1; //
FWXP_LeashDistMax = 4; // 최소한 1 최대한 4만큼 리더와의 간격을 유지합니다.
댓글 13
  • 댓글 #152672

    매트릭스 영화 보는거 같은 느낌.. 그나저나 이번에 나온 쫄 봇 이해 할 수는 있으려나.. 나도 돌릴 수 있게 되어야 하는데.. 아~ 머리아퍼.. (아직 단군맵 다운받아 놓고도 못 돌리고 있는 어느 초보)
  • 댓글 #152675

    FollowXP안에 저 라인 말고도 비슷한 라인... _desiredPointX = Math.round( _deltax * ( FWXP_LeashDistMax / FWXP_LeashDistMin ) ) + ppLeader.x; _desiredPointY = Math.round( _deltay * ( FWXP_LeashDistMax / FWXP_LeashDistMin ) ) + ppLeader.y; 가 있습니다. 이 역시 고쳐주어야 하는건가요? 고치신걸 보니 Max와 Min을 서로 바꾸신거 같습니다. 아마 최대거리/최소거리를 최소/최대로 수정된거 같네요. 구문이 비슷해서 한번 여쭈어 봅니다.
  • 댓글 #152678

    근데 도대체 이번팀봇은 실행부터 어떻게 해야할지 난감하네요.. 멀티팀봇 어떻게 실행하나요?
  • 댓글 #152681

    Ke2X[나눔1]님 말씀처럼... 178라인쪽에 있는거랑 150라인쪽에 있는거랑 다른건데요??? 두개다 똑같이 바꾸라는 얘기인지??;;
  • 댓글 #152684

    Ke2X[나눔1] 아.. 제가 실수 했습니다. 완전히 같은 구문이 아니라 마지막 변수는 다르군요. 글 수정했습니다.
  • 댓글 #152687

    요컨데, FWXP_LeashDistMax / FWXP_LeashDistMin 를 FWXP_LeashDistMin / FWXP_LeashDistMax 로 수정하면 됩니다.
  • 댓글 #152693

    thething님 감사합니다~ 어제 하루종일 스크립트봐도 틀린부분을 못찾아냈는데^^;; 결국 안움직이는건 이게 원인이었네요.. 정말 대단하십니다~ 고생하셨네요..
권한이 없습니다.
다크 모드