스크립트 강좌
자신이 아는것을 알려 보세요. :)
큰 도움이 됩니다.
글 수 253
안녕하세요 유카리코 입니다. (바로 아래 글썻는데 이제와서 인사함)
요새 스크립트좀 건드릴 줄 아시는 분들은 on text 구문에서 칼라,볼드 제거를 해야할때
tokenize 32 $strip($1-)
를 추가하면 되는걸 다들 알고계십니다.
그러나 이것이 진정 무엇을 뜻하는 건지는 모르고 사용하시는 분들이 많습니다. 저도 그랬고요.
알고보니 꽤나 유용한 기능이더군요.
자, 그럼 무엇인지 알아볼까요?
영어 설명은 제쳐두고 예제로 가봅시다. ( 영어설명은 /help /tokenize 를 )
on *:sockread:nosocket: {
sockread %temp
;; 소스를 %temp 에 저장한다.
tokenize 32 %temp
;; 토크나이즈 해준다.
if (</html> isin $1-) {
sockclose $sockname
;; 소스가끝나면 소켓종료.
}
}
자 봅시다. on text 에서 사용했던 tokenize 가 on sockread 에서 사용되고 있습니다.
그리고 어? 소켓이벤트에선 찾아보기 힘든 $1- 가 보이네요.
- 그렇습니다. tokenize 명령어는 바로 텍스트를 $1 , $2 ... $n 처럼 구분 지어 주는것입니다.
무엇을 기준으로? 바로 32 가 기준입니다. 띄어쓰기의 아스키 코드가 32 인것은 아시죠?
우리는 주로 on text 에서 사용했지만 사실 input,text 엔 $1 $2 로 이미 구분이 되어있기때문에
진정한 효과는 다른곳에서 발휘합니다.
저같은 경우는 제가 소켓을 생성하고 사용자가 나에게 sockwrite 를 해줬을때 쉽게 구분짓기위해 사용합니다.
(그 전엔 반복문으로 %1 %2 로 만들어서 사용했다죠..)
아니면 가:나:다:라 같이 되어있는 변수를 tokenize 화 시켜서 $gettok 대신에 사용할 수 도 있겠지요.
아무튼 tokenize 는 $strip을 해주는 기능보다 더 효과적으로 사용할 수 있답니다.
여기까지 팁이었습니다.

근데 저는 tokenize 32 $1- 로만 하지요.
$strip 안해도 잘 돌아가는건 나만 그랬었던가..