에디터 (활성,아두이노) 다계정 다클라 스크립트 작성시 문제
페이지 정보
본문
이전에 사용하던 지존오토는 스크립트 작성시
선두항목과 항상스캔이라는 옵션이 있어서 다클라이언트 매크로 작성이 쉬웠습니다.
예시를 들자면
이러한 형태의 6개의 순환구조를 가지는 스크립트를 작성시에
지존오토의 경우 매크로 순서가
순환구조의 가장첫번째 선두항목의 조건이 참일경우
해당 순환구조를 2번째 하위항목인 1번부터 마지막항목까지 순차적으로 진행이됩니다.
[hpmp 선두항목] -> [스킬사용 선두항목] -> [우편확인 선두항목] -> [ 사냥터이동 선두항목 ]
-> [hpmp 1번항목] -> [스킬사용 1번항목] -> [우편확인 1번항목] -> [사냥터이동 1번항목]
단점도 있지만,
위에 예시는 간단하게 설명드린거고
실제 사냥터이동의 하위항목인 1번계정만 살펴보아도
맵을 열고- 위치를 검색하고- 해당위치로 이동을하는 세부항목들이 더있겠죠
지존오토에서는 모든 순환구조의 하위 항목들을 순차적으로 분석
하위항목 1개 검색하면 그다음 순환구조 하위항목1개 검색 이런식으로
돌아가면서 분석을 진행합니다.
또는 순환구조 하나를 처음부터 끝까지 다른 순환구조로 넘어가지않고 분석을 하고싶다면
항상스캔 이라는 옵션을 적용하면 ngm처럼 위에서 아래로 쭈욱 분석하고 다음 순환구조로 넘어가게됩니다.
결론은 선두항목을 사용시에
1번계정 사냥터이동을 수행하고 2번계정은 상점을 이용하고 3번계정은 스킬을 쓰고 4번계정은 hpmp확인을 하고
이렇게 꼬이지않고 수행이 가능합니다
하지만 ngm으로 스크립트를 작성시에
위에있는것처럼 순서대로 스크립트를 작성하면
순환구조를 순차적으로 위에서 아래로 쭈욱 진행하다가
사냥터이동 1번계정을 수행하면, 항목이 끝나기전까진
나머지 4개의 계정은 멈춰있어야 합니다
이렇게 각 계정별로 스크립트를 따로 만들어서
서브스크립트 비동기로 실행을 시켜도
마우스 액션이 동시에 호출되면
활성 상태에선 액션이 꼬이게 되어 버립니다.
1번계정 상점이용시 나머지 4개의 계정은 물약이나 스킬을 사용하지못함
전문가도 개발자도 아닌 초보자라 설명을 드리는데 어려움이 있어
아직 ngm의 기능을 완벽하게 파악하지못하여
혹시 어떠한 방법으로 해결이 가능할까요?
댓글목록
엔지엠소프트웨어님의 댓글
엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date
우선 비동기 실행은 동시에 실행되는거라서 말씀하신거랑은 다른 내용입니다.
비동기 실행이 효율은 좋지만, 각각의 스크립트가 자신의 상태를 공유할 수 있어야 하고 이 상태에 따라서 다른 스크립트들이 멈추도록 설계해야 합니다.
이건 상당히 복잡하고 어려운 작업이 될거라서 추천하지는 않습니다. (관련 내용은 글로벌 변수로 처리가 가능합니다.)
위에서 로직을 보면 상점, 사냥, 스킬과 같은 스크립트를 만들고 각각의 스크립트 안에 계정을 반복해야 할거 같습니다.
그림으로 그려보면 세로가 아니라 가로로 스크립트를 만들고 계정만큼 반복하면 비슷할거 같아요.
위 예제로 적어주신 내용을 보면 물약, 사냥, 스킬 이게 스크립트고 그 안에 5개의 계정이 들어 있잖아요?
엔지엠으로 스크립트를 물약, 사냥, 스킬로 만들고 이 안에 계정을 돌아가면서 처리하면 될거 같아요.
엔지엠소프트웨어님의 댓글
엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date
아래 공지사항 처럼 이벤트 일시 중지와 다시 실행을 추가할 예정입니다.
http://ngmsoftware.com/bbs/board.php?bo_table=notice&wr_id=560
현재 문제는 멀티로 실행되는데 구간별로 겹칠 때 간섭이 발생하는게 문제인거 같아 보입니다.
예제를 작성하고 있는데요. 선두조건 1, 2, 3, 4, 5가 어떤 조건을 동시에 체크할 때 하나가 조건에 부합하면 동작하고 다시 체크하는거 같은데요.
이벤트를 이용해서 조건을 체크하고, 조건에 따른 루틴이 실행되는 동안 다른 이벤트는 잠시 멈춰놓고, 다시 선두조건이 수행되면 다른 체크가 걸려서 비슷하게 구현이 될거 같습니다.
제가 이해하기로는 선두 조건은 패러럴로 처리가 되고, 뭔가 하나가 걸리면 해당 루틴이 완료될 때까지 다른 선두 조건이 발생하지 않는거 같아요.
제가 제대로 이해한건지는 모르겠지만~ 이와 관련해서 팁 앤 테크 게시판에 예제가 있으니 참고 해보세요.
http://ngmsoftware.com/bbs/board.php?bo_table=ngm6&wr_id=139
이외에 궁금한점이 있으시면 고객 서비스방에서 설명 부탁드립니다.