Skip to content

Instantly share code, notes, and snippets.

@m0er
Created November 12, 2012 11:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save m0er/4058932 to your computer and use it in GitHub Desktop.
Save m0er/4058932 to your computer and use it in GitHub Desktop.
[정보] IRC 스크립트 정리
안녕하세요
아마 여러가지 이유로 IRC 쓰시는 분들이 많으신거 같은데 이상하게
스크립트 관련 글들이 없어서 제가 아는거 정리해서 올려봅니다.
다챗하고 최대한 비슷하게 만들어 봤구요, 주사위는 배경을 넣어서 눈에
잘 들어오게 해봤습니다.
전부 IRC 스크립트 편집기 안에 있는 Aliases 안에 붙여 넣으시면 되구요,
ZeroIRC 2.9G Normal 에서 잘 실행됩니다. 카운트 다운 스크립트 쓰시려면,
mIRC 5.91 버젼 이상으로 만들어진 스크립트 사용하셔야 합니다.
다른 분들도 좋은 스크립트 있으면 공유해 주시면 좋겠네요~
;================================================
;일반 주사위 굴림
/ㅇ {
var %counter = 1, %total, %roles, %temp, %result
while (%counter <= $1) {
%temp = $rand(1,$2)
inc %total %temp
if (%counter > 1) %roles = %roles $+ + $+ %temp
else %roles = %temp
inc %counter
}
%result = %total + $3
splay -w c:\mirc\DiceRoll.wav
if ($3) //say 1,15 $+ 주사위 굴림: $1 $+ d $+ $2 [ $+ %roles $+ +4( $+ $3 $+ )1] = %result
else //say 1,15 $+ 주사위 굴림: $1 $+ d $+ $2 ( $+ %roles $+ ) = %total
}
..에서 splay -w c:\mirc\DiceRoll.wav 부분 말인데요. 첨부한 wav 파일을(다챗 다이스 굴릴때 나는 사운드에요.)
zeroIRC 라던가 자신이 쓰는 irc 스크립트 폴더에 넣구, 폴더 지정해 주시면 됩니다.
on 1:text:1,15주사위 굴림*:#: {
splay -w c:\mirc\DiceRoll.wav
}
그리고 이건 다른 사람 주사위 굴림에 반응해서 굴리는 소리를 들려주는 스크립트 입니다.
이로써, 다챗처럼 누구라도 주사위를 굴리면 주사위 소리를 들을 수 있겠죠? remote 탭에
넣어주세요. 그리고 wav 파일 경로 수정 해주셔야 합니다. :)
;================================================
- 설명
/ㅇ 1 20 +4
입력하면 1d20 수정치 +4 로 계산됩니다.
;================================================
;NPC 주사위 굴림
/엔 {
var %counter = 1, %total, %roles, %temp, %result
while (%counter <= $2) {
%temp = $rand(1,$3)
inc %total %temp
if (%counter > 1) %roles = %roles $+ + $+ %temp
else %roles = %temp
inc %counter
}
%result = %total + $4
if ($4) //say  $+ <1 $+ $1> [0,14 $+ $2 $+ d $+ $3 1,0] = %total + ( $+ $4 $+ ) = %result 
else //say  $+ <1 $+ $1> [0,14 $+ $2 $+ d $+ $3 1,0] = %total 
}
;================================================
- 설명
위에 거랑 같은데 가끔 엔피시와 마스터 굴리는게 헷갈려서 하나 더 만들었습니다.
/엔 이름 1 20 -4
입력하면 <이름> 1d20 수정치 -4 가 계산되서 나옵니다.
;================================================
;마스터 챗
/ㅁ /say 1 $+ $1-
;================================================
- 설명
다챗과 같습니다. 검은색 볼드체.
/ㅁ 할말
;================================================
;NPC LIST
/사회자 //say 2[사회자] $1-
;================================================
- 설명
IRC 같은 경우엔 엔피시를 스크립트로 하나씩 다 만들어 놔야지 플레이시에 좋더라구요.
/사회자 할말
입력하면 [사회자] 입력한 말 이런식으로 다챗처럼 출력 됩니다.
;================================================
/pause {
if ($version < 5.91) {
%e this snippet requires atleast mIRC version 5.91
}
elseif (!$regex(pause,$1-,/^m?s \d+$/Si)) {
%e incorrect/insufficient parameters. Syntax: /pause <s|ms> <N>
}
elseif ($1 == ms) && ($istok(95 98 ME,$os,32)) {
%e cannot use milliseconds parameter on OS'es beneath Win2k
}
elseif ($2 !isnum 1-) {
%e must specify a number within range 1-
}
else {
var %wsh = wsh $+ $ticks, %cmd
if ($1 == s) %cmd = ping.exe -n $int($calc($2 + 1)) 127.0.0.1
else %cmd = pathping.exe -n -w 1 -q 1 -h 1 -p $iif($2 > 40,$calc($2 - 40),$2) 127.0.0.1
.comopen %wsh wscript.shell
.comclose %wsh $com(%wsh,run,1,bstr*,% $+ comspec% /c %cmd >nul,uint,0,bool,true)
}
}
;================================================
- 설명
IRC 스크립트에 wait이나 sleep 같은 대기 명령어가 없는거 같더군요.
구글링 하다 찾은 스크립트 인데요. 왜 이게 필요하냐면 뒤에 쓸 카운트다운
스크립트 때문에 그렇습니다. 그냥은 아무것도 안되고 스크립트 애드온입니다.
/wait s 60 하면 60초 대기.
/wait ms 1000 하면 1초 대기. 밀리세컨드 입니다.
;================================================
;v0.2.3
/out {
if (%test1 > 0 || %test2 > 0 || %test3 > 0) {
set %test1 0
set %test2 0
set %test3 0
}
}
/chk {
if (%test1 > 0 && %test2 > 0 && %test3 > 0) {
say 카운트다운 남은 시간: %test1 $+ 시간 %test2 $+ 분 %test3 $+ 초 입니다.
}
elseif (%test1 == 0 && %test2 > 0 && %test3 > 0) {
say 카운트다운 남은 시간: %test2 $+ 분 %test3 $+ 초 입니다.
}
elseif (%test1 == 0 && %test2 == 0 && %test3 > 0) {
say 카운트다운 남은 시간: %test3 $+ 초 입니다.
}
}
/test {
set %test1 $1
set %test2 $2
set %test3 $3
;60이상 처리
if (%test3 >= 60) {
inc %test2 $int($calc(%test3 / 60))
%test3 = $calc(%test3 % 60)
}
if (%test2 >= 60) {
inc %test1 $int($calc(%test2 / 60))
%test2 = $calc(%test2 % 60)
}
if (%test1 > 0 && %test2 > 0 && %test3 > 0) {
say 카운트다운 시작: %test1 $+ 시간 %test2 $+ 분 %test3 $+ 초
}
elseif (%test1 == 0 && %test2 > 0 && %test3 > 0) {
say 카운트다운 시작: %test2 $+ 분 %test3 $+ 초
}
elseif (%test1 == 0 && %test2 == 0 && %test3 > 0) {
say 카운트다운 시작: %test3 $+ 초
}
if (%test1 > 0 || %test2 > 0 || %test3 > 0) {
while (true) {
if (%test3 > 0) {
if (%test1 == 0 && %test2 == 0) {
if (%test3 == 30) say 카운트다운: 30초 남았습니다.
elseif (%test3 == 20) say 카운트다운: 20초 남았습니다.
elseif (%test3 == 10) say 카운트다운: 10초 남았습니다.
elseif (%test3 <= 5) say 카운트다운: %test3 $+ 초 남았습니다.
}
dec %test3 1
pause s 1
}
elseif (%test3 == 0 && %test2 > 0) {
if (%test1 == 0) {
if (%test2 == 30) say 카운트다운: 30분 남았습니다.
elseif (%test2 == 20) say 카운트다운: 20분 남았습니다.
elseif (%test2 == 10) say 카운트다운: 10분 남았습니다.
elseif (%test2 == 5) say 카운트다운: 5분 남았습니다.
elseif (%test2 == 1) say 카운트다운: 1분 남았습니다.
}
dec %test2 1
pause s 1
inc %test3 59
}
elseif (%test3 == 0 && %test2 == 0 && %test1 > 0) {
say 카운트다운: %test1 $+ 시간 남았습니다.
dec %test1 1
inc %test2 59
pause s 1
inc %test3 59
}
else {
say 카운트다운을 종료합니다.
break
}
}
}
}
;================================================
- 설명
자작 카운트다운 스크립트입니다. 다챗과 같은 기능으로 만들었습니다.
/test 1 20 30
1시간 20분 30초의 카운트 다운을 할 수 있고, /test 0 0 30 이런 식으로 분, 초만 사용할 수도 있습니다.
/chk
현재 시간을 출력합니다.
/out
카운트다운을 강제 종료합니다.
사용하시다가 버그 발견하시면 연락 주세요!
그밖에 텍스트 꾸미시려면..  요건 볼드체로 만드는거 1 이건 뒤에 숫자 포함해서 색깔 표시 입니다.
색은 irc에서 컨트롤+k 누르시면 나오는 0~15번까지 색깔로 바꿀 수 있습니다.
플레이어 인포메이션은 다른 채널 하나 파서 붙여 넣고 본다고 쳐도,
이미지 뿌리는거나 그 밖에 다른 기능은 손도 못대겠네요 (...)
제가 IRC를 이용하는 이유는 하난데요, 다챗이 원인 모를 다운이 계속 되네요.
언제가 될지는 모르겠지만 다챗이 업데이트되서 다시 다챗으로 옮기면 좋겠습니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment