불성때까지 모두 즐겨쓰던 미터기 swstats는 리카운트와 조금 달랐습니다.
일단 전투 로그가 완전하지 않았기 때문에 자신의 미터기와 다른 사람의 미터기가 끊임없이 통신을 하며
데이터 조정을 했었지요
때문에 압도적으로 무거웠고 매우 심한 랙을 유발했습니다. 기능도 신통치 않았지요
그러다 리카운트가 나왔습니다 짠!
지금은 팅의 주범으로 꼽히는 리카운트 지만 처음엔 무척 가벼웠답니다.(swstats에 비해)
하지만 리카운트의 작동방식도 swstats 와 크게 다르지 않았습니다. 역시 계속 되는 싱크를 통해 데이터를 조정했습니다.
swstats와 다른점이 있다면 사용자의 동의를 구하지 않는것 정도지요
그러다 recount도 비난받기 시작했습니다. 스펨성 데이터가 너무 많이 오락가락 하니까요!
그래서 recount는 싱크 기능을 뺐다가 얼마후 다시 lazy sync라는 기능을 도입합니다.
상세 내역은 싱크 하지 않고 최종 데이터만 싱크하는 방식입니다.
하지만 이것도 문제가 생겨 곧 막아버리지요. 아무래도 데이터 내역과 맞지 않는 결과를 내놓고 있으니 신빙성 자체에
문제가 생기거든요.
그래서 지금의 리카운트는 싱크 기능이 없습니다.
"내 미터기엔 내가 1등인데..." 하는 생각 한번쯤 다 해보셨죠?
자 중요한것은 여기부터입니다.
recount는 lazy sync의 데이터 송신 기능을 막았지만
lazy sync의 데이터 수신 부분의 코드는 막지 않았습니다.
그래서 recount의 데이터는 조작 가능합니다.

이런것 가능하지요. 예전에 싱크 기능이 있었을땐 쉬웠지만 지금은 조금 노력이 필요합니다.
자 먼저 매크로 하나를 만듭시다.
/script Recount:CombatLogEvent(nil,GetTime(),"SPELL_DAMAGE",UnitGUID("player"),UnitName( "player"),0x511,UnitGUID("target"),UnitName("Target"), 0x10a28, 45284,"번개 화살", 0x8,20102+random(20000),-1, 8,0,0,0,nil,nil, nil);
이정도면 되겠네요.
저 안에는 데미지의 종류(화염,물리 등등), 이름, 데미지 량 등의 데이터가 들어 있지만 지금의 lazy sync는 그런것 하나도
싱크 하지 않으니 안심하고 대충 사용하셔도 됩니다.
저 매크로만 만들어도 위와 같은 데이터는 자신의 미터기에 뛰울수 있습니다.
하지만 그게 무슨 소용이 있겠나요 그냥 자위일 뿐이지요.
다른 사람의 미터기를 수정하기 위해서는 약간의 조작이 필요합니다.
먼저 recount의 LazySync.lua 파일을 에티터(메모장도 되고요)에서 엽니다.
그리고 function Recount:BroadcastLazySync() 부분을 찾아 보세요.
그리고 그 함수 전체를 복사하여 다른 함수 하나를 만듭시다.
이름은 아무거나 function Recount:trick() 정도면 되겠네요.
나중에 이 함수는 매크로에서 /script Recount:trick() 식으로 호출할 수 있습니다.
wow의 macro에는 엑세스 한정자가 없으니깐요~
자 중간에 Recount.lazysync = false 라는 구문이 보이 실 겁니다.
과감하게 삭제해 줍시다.
자이제 클라이언트 두개 켜고 테스트 해봅시다. 뭔가 다른 변경이 더 있었던것 같기도 한데 오래되서 잘 기억이 안나네여
채팅창을 Debug라는 이름으로 하나 만들면 그쪽으로 리카운트가 디버그 메세지를 보내니까 실시간으로 반응 확인하실수 있어요
처음 만든 매크로로 딜을 올리고 두번째 만들 매크로로 데이터 싱크를 뿅뿅
dps 백만 찍는것도 사실 쉽답니다.
마지막으로 전 이것 안씁니다. 귀찮아서요...
어디가서 분재당하거나 할만큼도 아니고 1등해서 뭐하나요...
믿거나 말거나 지만 만들어 만들기만 하고 써본적은 거의 없네요..
재미있으셨나요?
혹시 재미 있어 하시는 분들이 있으면 생각날때 와우의 비밀스러운 이야기들 몇개 더 해드릴께여...
저는 고정 공대 출발시간이라 이만~