Tag Archives: RPG&Tech

IRC용 주사위 프로그램 (루아틱 접속 가능, 단일 파일)

실행파일 (3.56MB): utgard_loki.exe
코드파일 (13.0KB): utgard_loki.py

수정사항:
irc.luatic.net에 실행이 가능하도록 수정하였습니다. (2012/6/1)
파일이 실행이 안 된다는 제보가 있어서 다시 올려봅니다. (2010/5/3)
단일 파일로 배포합니다. 용량도 4M->2M로 줄었습니다. (2010/3/26)
굴리는 사용자 닉을 표시하게 했습니다. (2010/3/26)
사용자가 들어오거나 나가면 튕기는 현상을 해결했습니다. (2009/8/18)
$2 서버에 접속할 수 없을 때 흔히 벌어지는 현상입니다. IRC 서버 접속이 잘 되는지 확인해보시고, 해결이 안 되면 댓글로 알려주세요.
파이선으로 만든 IRC용 주사위 로봇 “우트가르드 로키”입니다. IRCBot 모듈을 기반으로 했으며, 실행 파일은 py2exe pyInstaller로 만들었습니다. 이전 mIRC 스크립트와는 달리 mIRC에 의존하지 않으며, 닉과 서버를 정해서 실행시킨 후 채널에 초대하는 방식입니다.

설치와 실행

utgard_loki.exe 실행파일을 편하신 폴더에 받으시면 됩니다. 이 실행 파일은 윈도우뿐 아니라 맥과 리눅스도 된다고 들었는데, 직접 테스트해보지는 못했습니다. 실행하시려면 이 파일을 더블클릭하세요.

파이선 해석기가 있으신 분은 utgard_loki.py 모듈을 받아서 사용하셔도 됩니다. 코드를 보거나 수정하시려면 이 모듈로 하시면 됩니다.

수정과 재배포

원래 출처를 밝히시고 코드 상단의 프로그램명과 저작권 정보를 삭제하지 않으시면 수정과 재배포는 얼마든지 괜찮습니다.

접속

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

주사위 굴리기

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

2d10 + 5

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

d20 +30-7

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

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

5d 정렬

이라든지

6d20 역정렬

10d10 거꾸로 정렬

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

IRC용 트럼프 카드 프로그램 (단일 파일, 루아틱 접속 가능)

실행 파일 (3.58MB): cards.exe

코드파일 (6.94KB): cards.py

코드파일 실행에 필요한 기반 파일 (13.0KB): utgard_loki.py

변경사항: pyInstaller를 이용해 단일 파일로 만들고, irc.luatic.org에 접속하지 못하는 버그를 수정했습니다. (2012/6/1)

IRC용 트럼프 카드 스크립트, 음.. ‘카드군’입니다! 취향대로 카드냥, 카드씨, 마담 카드 등등.

1. 설치와 실행

적당한 곳에 압축을 풀고 단일 파일인 cards.exe를 실행합니다. 파이썬 해석기 (Version 2.7입니다)를 통해 cards.py로 실행하시려면 utgard_loki.py를 같은 폴더에 놓고 실행하시면 됩니다.

닉과 서버 입력하라는 얘기가 나오면 카드 로봇이 사용할 닉 (예: 카드군)과 들어갈 서버 (예: irc.hanirc.org)를 입력합니다. 닉이 겹친다는 소리가 나오면 그냥 콘솔을 꺼서 연결 해제하고 새로운 닉으로 다시 시도하시길. 다음, 같은 서버에서 원하는 채널에 초대합니다.

/invite 카드군 #채널

하는 식으로요.

2. 사용

사용하려면 카드로 시작하는 명령어를 입력합니다.

카드으라고 말하면 카드를 섞습니다.

카드를 2 뽑겠다고 말하면 카드를 2장 뽑습니다. (숫자가 있으면 그 수만큼 뽑고 없으면 한 장 뽑습니다.)

카드 관련 정보를 알려달라고 하면 덱에 카드가 얼마나 남았는지 알려줍니다.

3. 끝

재밌게 사용하시길~ 버그나 문제 있으면 알려주시고요.

RPG人 2.0 = RPG 갈무리!

얼마 전에 국내 최대의 RPG 메타블로그 RPG人이 호스팅 기간 만료의 희생양으로 사라져간 게 안타까워서 제 홈피에 새로 한 번 만들어 보았습니다. 스킨은 귀찮아서 블로그 스킨을 응용했고, 피드 파서는 심플파이 (SimplePie)를 사용했습니다. 피드 추가 인터페이스에 스팸봇 공격 방지용 그림 확인은 Securimage를 썼고요.

구현하려고 한 기능은 거의 다 해넣은 듯 싶고, 이제 남은 건 새로운 기능이 생각나거나 제안받으면 집어넣고 인터페이스 조금씩 다듬고, 버그 잡는 정도겠죠. 정신없이 하다 보니 중간에 조건문이 꼬여서 꽤나 유쾌한 일들이 벌어질지 모릅니다. 평소 즐겨 보시는 블로그 피드 많이들 추가해 주시고, 투철한 버그 신고 정신을 발휘하시면 고맙겠습니다.

이제 남은 건 이름인데, RPG人이라는 이름은 허락 없이 쓰기도 뭣하고, 기능 말고는 별 공통점이 없는지라 이름이 달라도 좋을 것 같네요. 뭐가 좋으려나요..(뒹굴)

추신: RPGer, 吳承翰, MetaPG, geek looks like a gamer, RPG 삼태기, 곰비임비 RPG 등 별별 이름을 생각해본 끝에 결국은 ‘RPG 갈무리’로 정했습니다. 곰비임비는 물건이 쌓이거나 일이 겹치는 모양새를 뜻하는 순우리말이라는데, 어감이 귀엽더군요.

log2rtf – 역시 간단한 로그 정리기

1377344008.zip

log2html의 틀 안에 알맹이를 싹 바꾼 로그 정리기, log2rtf입니다. 이름에서 알 수 있듯 로그 파일을 .rtf로 바꾸어줍니다. 설치와 사용법은 워낙 비슷하니 log2html 글을 참조해주세요. 파이선으로 RTF 파일을 생성하는 라이브러리 PyRTF를 사용했으며, PyRTF의 Elements.py 파일을 고쳐서 글자체에 굴림을 추가하고 색상과 스타일을 추가 및 변경했습니다.

괄호나 사각괄호로 두른 잡담은 선택에 따라 연회색 배경으로 처리하거나 RTF 로그에 아예 포함하지 않을 수 있습니다. 마찬가지로 서버 메시지도 연회색 글자로 내보내거나 RTF 로그에서 제외할 수 있습니다.

2단계 스크린샷

괄호친 잡담과 서버 메시지 없애는 선택 추가


편의상 ‘삭제’라는 표현을 사용하기는 했지만 원본 파일에서 지우는 것은 물론 아닙니다. 원본 로그 파일은 RTF 파일을 만들려고 읽기만 할 뿐 내용은 일체 건드리지 않으니 자료를 잃어버릴 염려는 없습니다.

그 외에 워드프로세서의 기능을 활용할 수 있습니다. 예를 들어 생성한 RTF 로그를 열어 글을 선택하고 Shaded 스타일시트를 적용하면 연회색 배경으로 처리할 수 있습니다. 또한, 파일 헤더와 풋터에는 플레이한 채널과 날짜 (원본 로그파일명에 있다면), 참여자 닉, 페이지 번호와 총 페이지 수 등이 나오며, 클릭해서 편집할 수 있습니다.

RTF 파일 스크린샷

log2rtf로 제조한 파일의 예시

문서편집기에 따라서는 (예를 들어 오픈오피스) 편집기로 열면 스타일 부분이 제멋대로 달라지기도 합니다. 역시 M$ MS사에서 개발한 표준이라 그런가 MS 워드로는 그런 문제가 없었습니다. 어쨌든 에러와 버그는 보고해주시면 감사하겠습니다. 이상이 있으면 아마 log2rtf.exe.log 파일이 생길 텐데, 그 파일의 내용도 함께 알려주시고요. 많은 분이 유용하게 사용하면 좋겠습니다~

log2html – 간단한 로그 정리기

1362925088.py
mIRC 로그 파일에서 html 파일을 생성하는, 파이썬과 Tkinter 연습 겸 만들어본 단순썰렁한 프로그램입니다. 비슷한 프로그램이 있다는 얘기를 전에 들었는데 (아마 이것보다는 훨씬 제대로 된 거겠죠), 이것의 특색이라면 파일에 있는 닉마다 글자색을 지정해줄 수 있고, 제가 로그 정리하는 식으로 잡담 보이고 숨기기 버튼을 달았다는 정도인 듯합니다. 괄호나 사각괄호를 친 대사는 자동으로 잡담 처리합니다.

1. 설치와 실행

.zip 파일: 적당한 폴더에 압축을 풉니다. 실행하려면 폴더에 들어가 log2html 실행 파일을 더블클릭합니다.

.py 파일: 윈도우 시스템이 아니거나 한심한 코드 상태를 확인하고 싶으신 분은 .py 파일을 파이썬 해석기로 실행하실 수 있습니다. 아래 filehead.html 파일도 같은 폴더에 있어야 합니다.

1080367878.html
2. 파일 지정

원본 로그 파일 경로를 직접 입력하거나 Browse를 눌러 찾습니다. 원본은 .log나 .txt 파일만 받습니다.  Next.

파일 지정

전에 승한님에게 받은 로그 파일


3. 색상 지정

파일에 나온 닉 목록이 왼쪽에 나오고, 오른쪽에는 색상 목록이 나옵니다. (색 이름은 한글로 하고 싶었는데 인코딩 에러 러쉬에 좌절..ㅠ_ㅠ) 색을 지정하려는 닉에 클릭하고 색상을 지정하세요. 전에 이미 색상을 지정한 적이 있다면 처음부터 색이 닉 뒤에 나옵니다. 다 마음에 들게 됐으면 다음 단계로.

색상 지정

이상하게 나온 스크린샷


4. 완료

완료 메세지가 뜹니다. 처음 화면으로 돌아갈 수도 있고, 끝낼 수도 있습니다. (제가 창 닫는 법도 제대로 몰라서 완료 버튼이 잘 안 되니 사뿐하게 창 오른편 위의 X를..) HTML 파일은 원본 파일과 같은 폴더에 생성한 상태. 이름도 같으니 나란히 뜰 겁니다. 최종 결과물을 감상합니다.

생성한 HTML 파일 예시

헤더가 GM을 욕하는군요 (??)


5. 피드백!

만들면서 제일 어려웠던 게 사실 다 어려웠음 인코딩 문제였는데, 특히 제가 미국 컴퓨터로 작업해서 사용 환경에 따라 어떻게 될지 모르겠네요. 잘 안 되는 것, 개선점 등을 얘기해주시길. 칭찬도 좋고.. 완전 아마추어라 과연 제대로 해결하고 반영할 수 있을지는 미지수지만, 시간 되는 대로 노력은 해보죠. 많은 분이 편리하게 사용하면 좋겠습니다~