[기타]정말 궁금해요....
member photo Jero 4 2,087 0 2004-06-20 11:28:27
0
4Comments
member photo
2004.06.20(일) 오후 02:23:15
질문이 너무 길어서 틱부분 읽다가 -_- 그냥 틱부분만 답변 하고 갑니당
저도 잘은 모르지만 제가 봐온 머드에서는
틱 구현을 머드를 띄워줄때 데몬으로 띄워줘서
일정시간마다 함수를 불러주도록 무한 루프를 만들어주는걸로 압니당.
머드 띄울때 그 함수 한번 불러주고 그 함수 마지막 부분에 몇초 뒤에 또 이 함수를 실행해라
이런 명령어로 하면 무한루프가 되겠죠
member photo
Raven 2004.06.20(일) 오후 05:43:31
월드 구성은... Circle이나 Smaug에서는 로딩은 '존' 단위로 하되, 실제 각 '방'의 연결은 그 각각의 방이 연결정보를 가지고 있는 것으로 합니다. Mordor에는 '존'이라는 개념 없이 오로지 '방'만... ^^;
'존' 자체가 모든 방의 연결 상태를 알고 있는 것은 아닙니다.
'존'이 가지는 정보는... 리젠 시간, 날씨 변화 정도의 아주 적은 양입니다.

틱 같은 경우는 별도로 Thread 하나를 띄워서 백그라운드에서 시간만 처리하게 만들거나, 머드의 메인 루프 부분에서 매번 시간을 체크하는 부분을 따로 만들어줘야 합니다.
어차피 머드 자체도 '루프'로 돌아가기 때문에 어쩔 수가 없겠더군요. ^^;
그리고 대부분의 머드 엔진이 그런 방식을 씁니다.
맨 처음 머드가 가동 될 때, 현재 시스템 시간을 변수에 저장해놓은 다음...
다음번에 시간을 체크할 때 현재 시스템 시간과 처음에 저장해둔 시간의 차이가 일정 시간 이상이라면,
특정 함수나 메소드를 호출하면 되겠죠.
저 같은 경우는 예전의 소스에서 편법으로 한번 구현해 본적은 있었는데 아무래도 영... ^^;
지금은 처음부터 다시 만들고 있어서 틱 부분을 어떻게 할지 따로 구상해봐야겠습니다.
member photo
2004.06.20(일) 오후 06:09:57
HanLP 는 시간체크로 안하고..
그냥 함수 내용에 콜아웃으로 그 함수를 일정시간뒤에 다시 불러주게 해서...
그 함수가 계속 돌아가는데 @_@
아래의 메인함수를 머드가 시작될때 한번 실행해줌
int main(){
....틱에 관한 소스들....
....x초뒤에 main 함수 호출 내용....
소스의 끝
}
HanLP 가 아니라 ㅡㅡ;; HanLP계열 머드에서 틱 쓴 머드를 본거임..
member photo
Raven 2004.06.20(일) 오후 06:57:55
LPC는 일단 '기본언어'가 아니니까요... call_out도 내부적으로는 시간 체크로 갈거라고 생각됩니다. ^^;
코멘트를 삭제할 비밀번호를 입력하세요.
비밀번호:
정회원 이상만 코멘트 쓰기가 가능합니다.
총 게시물 954개 / 검색된 게시물: 954개
쪽지를 전송하고 있습니다. 잠시 기다려주세요.
쪽지보내기
받는이(ID/닉네임)
내용
쪽지가 도착하였습니다.
쪽지 내용을 읽어오고 있습니다. 잠시 기다려주세요.
--