수정사항: 사용자가 들어오거나 나가면 튕기는 현상을 해결했습니다.

프로그램을 실행했는데 그냥 꺼질 때: 서버에 접속할 수 없을 때 흔히 벌어지는 현상입니다. IRC 서버 접속이 잘 되는지 확인해보시고, 해결이 안 되면 댓글로 알려주세요.


파이선으로 만든 IRC용 주사위 로봇 "우트가르드 로키"를 원본 파이썬 모듈과 윈도우용 실행파일 두 가지 판으로 올렸습니다. 버그 잡는 것 말고 앞으로 딱히 버전업 계획은 없어서 버전 번호는 뺐습니다. IRCBot 모듈을 기반으로 했으며, 윈도우용 실행 파일은 py2exe로 만들었습니다. 이전 mIRC 스크립트와는 달리 mIRC에 의존하지 않으며, 닉과 서버를 정해서 실행시킨 후 채널에 초대하는 방식입니다.

설치와 실행

윈도우 운영체제에서는 .zip 파일을 받아서 풀어놓으면 되고, 맥이나 리눅스 체제에서는 파이선을 받아 utgard_loki.py 모듈을 실행시키면 됩니다. 실행 파일 쪽은 적당한 곳에 압축을 풀어서 프로그램을 실행하시면 되고, 모듈 쪽은 파이선 해석기로 모듈을 열어 실행하시면 됩니다.

접속

접속하려면 utgard_loki 파일을 실행시킨 후 닉 (예: 우트가르드-로키)과 서버 (예: irc.hanirc.org, irc.dankun.net 등)를 지정합니다. 뭔가 글자가 무진장 많이 지나갑니다. 서버 접속 메시지가 떴으면 필요한 채널에서 관리자가 주사위 로봇을 초대하세요. (예: /invite 우트가르드-로키 #국가의건설) 접속을 끊으려면 프로그램을 끄거나 파이선 셸을 초기화하면 됩니다. (뼈만 앙상~)

주사위 굴리기

주사위를 굴리려면 로봇이 접속한 상태에서

2d10 + 5

하는 식으로 채널이나 로봇에게 귓속말로 쳐주면 됩니다. 채널에 입력하면 공개 굴림이 되며, 귓속말로 하면 비밀 굴림이 됩니다. 주사위 지정은 첫 단어에만 반응하며, 수정치는 한 칸 떼어주세요.

d20 +30-7

등등. 주사위 갯수는 지정이 없으면 1, 면수는 지정이 없으면 6입니다.

주사위 결과를 정렬하고 싶으면

5d 정렬

이라든지

6d20 역정렬

10d10 거꾸로 정렬

하는 식으로 적어주면 됩니다. 정렬과 수정치 기능은 동시에 발동하지 않습니다. 정렬과 수정치가 둘 다 있으면 정렬만 적용합니다.
2009/08/18 17:21 2009/08/18 17:21
TAG

트랙백 주소 :: http://blog.storygames.kr/trackback/2128083

댓글을 달아 주세요

  1. 魔界範君 2008/02/08 11:50  댓글주소  수정/삭제  댓글쓰기

    IRC 쪽은 저런 면에서 좋더군요. 다이스 프로그램에 따라서는 7th Sea나 Hero System처럼 보통의 방식으로는 손이 많이 가는 다이스 롤도 해결할 수 있게 만들 수 있을 것 같고...
    팀에서 다챗을 위주로 쓰다보니까 이런 종류 프로그램 만들어서 쓰시는 분들 보면 부러울 때가 있습니다(...

    • 로키 2008/02/08 17:19  댓글주소  수정/삭제

      예, 스크립팅이 되면 그런 이점이 있죠. 다&챗은 다른 것보다 무한 에러 때문에 못 썼지만요. (..) 요즘에는 공유기 사용이 너무 흔해지기도 했고요.

      7번째 바다 주사위와 전투 페이즈 관리는 mIRC 스크립트로도 만들어본 일이 있는데, 파이선은 스크립팅 언어가 훨씬 유연해서 전에는 어려웠던 기능도 구현할 수 있는 등 여러모로 좋더라고요. 프로토콜 부분만 조금씩 고치면 다른 네트워크 표준, 예를 들어 재버라든지 심지어는 MSN이나 다이스&챗과 연동하는 것도 생각할 수 있고요.

  2. 뮤이든 2008/02/10 11:20  댓글주소  수정/삭제  댓글쓰기

    전에 mIRC 스크립트로 D&D 3.5 캐릭터 시트를 포함한 플레이어용 스크립트와 NPC 대화를 간편화 시킨 마스터용 스크립트를 제작하다가 중도 포기했었는데.... 자동로그저장, 각종 계산기능 등을 포함한 bot을 돌릴 서버만 갖춰진다면 다챗 이상의 orpg프로그램 제작이 가능할거 같더군요(물론 전 스킬이 딸려서 그정도 까진 못하지만..)

    • 로키 2008/02/10 23:40  댓글주소  수정/삭제

      mIRC 스크립트만으로는 mIRC가 작동하는 기본 원리를 바꾸지는 못하니 좀 어려울 것 같고, 아예 GUI 클라이언트를 처음부터 새로 만든다면 가능하겠죠. 클라이언트를 처음부터 만든다면 서버에 얽매이지 않아도 되고요. 하지만 역시 귀차니즘과 초짜 코딩 실력이 걸려서..(..)

      오픈소스 커뮤니티를 만들어서 다챗의 인터페이스와 IRC의 확장성을 결합하는 클라이언트를 제작한다면 그것도 나름 즐겁겠죠. (명칭은 DieRC? (..)) 파이선은 특정 네트워크 방식에 구애받지 않으니까 재버처럼 좀 더 효율성이 좋은 프로토콜도 알아볼만 하고요.

  3. Wishsong 2008/04/18 09:41  댓글주소  수정/삭제  댓글쓰기

    로키님, 내일 팀원들과 안방극장 대모험을 하려고 하는데, 이 주사위군을 쓰면 되는 건가요?

    • 로키 2008/04/18 11:04  댓글주소  수정/삭제

      아뇨, 다른 거에요. 도쿄의 달에서 쓰던 카드 스크립트를 올렸습니다. 서로 기능이 다른 스크립트가 무한 증식하고 있어서 이걸 다 통합하는 클라이언트의 필요성이..(..)

  4. Wishsong 2009/08/18 21:38  댓글주소  수정/삭제  댓글쓰기

    무심코 보다가 "누가 내 아이디로 글을 쓴거야!!!" 라고 깜짝 놀랐는데, 보니까 1년전의 글(...) 뭐 바뀐 거 있어?

  5. 비밀방문자 2009/12/22 23:09  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

[로그인][오픈아이디란?]