Posts Tagged lua

GuildMemberList

See also SpringNote

캐릭터가 월드에 들어가면 접속해 있는 길드원의 목록을 채팅창에 보여주는 애드온. 어차피 길드원이 몇 명 없고, 들어가면 누가 있나 확인하다보니 편하게 살자고 만들었다. 사용법은 딱히 없다. =_=;

만들면서 재미있었던 건 역시 루아 함수의 반환값들.

a, b = 1, 2

라고 하면 당연히 a는 1, b는 2가 되지만,

a, a = 1, 2

라고 하면 a의 값은 1이 된다. 관심없는 결과값을 무시하고 코드를 깔끔하게 하는 데에도 다음과 같이 사용할 수 있다는 것을 알게 되었다.

local name, _, _, _, class, zone, _, _, _, _ = GetGuildRosterInfo(i);

여기서 변수 “_”는 펄의 “$_”나 파이썬 인터프리터의 “_”하고 상관없이 그냥 루아 커뮤니티 안에서 사용하는 습관이라고 한다.

Add comment January 6, 2009

BadgeCounter

See also SpringNote

휘장을 세어주는 와우 애드온. 레이드 중간에 혹시 휘장을 빼먹은 건 아닌지 궁금해서 다른 사람에게 몇 개가 맞는지 물어보는 경우가 있다. 물어보지 않고 알 수 있도록 만들었다. 사용법은 다음과 같다.

  • /bc : 현재 얻은 휘장 수와 다른 사람들이 얻은 휘장 수를 보여준다.
  • /bc reset : 카운터를 리셋한다. 던전에 귀속되면 자동으로 리셋된다.
  • /bc report : 파티창에 모두 몇 개여야 하는지 알려준다.
  • /bc change 아이템 이름 : 원래는 휘장을 세는데, 여기에 아이템 이름을 적어주면 사실 아무 아이템이나 셀 수 있다.

만들면서 재미있었던 건 string.find 함수였다. lua reference 에 string.find 함수의 용법이 나와있다. 두번째 인자로 주는 패턴에 캡춰()가 들어가면 일치하는 값을 세번째 이후부터 돌려준다. Perl 의 $1, $2 등에 해당하는 값이다.

a, b, c = string.find(“Foo bar”, “(.*)oo”);

에서 a = 1, b = 3, c = “F” 가 된다. 여기서 세번째 이후의 값만 얻고 싶으면 select() 함수를 사용하면 된다.

c = select(3, string.find(“Foo bar”, “(.*)oo”));

이러면 역시 c=”F” 가 된다.

Add comment February 20, 2008


Tags

addon android Assembly batch book C++ editor excel google InstallShield lua personal physic security wow

Recent Posts

Recent Comments

지양 on Source Insight – Browse …
조프 on Source Insight – Browse …
조프 on Source Insight – Browse …
랑탕 on Google 크롬의 Crash message
지양 on n&(n-1)

Blogroll