Mabinogi Times
  SOS | 질문답변 | 게임TIP | 제보 | 이슈와리뷰 | 건의사항 | 토론 | 홍보 | 자유게시판 | 한줄메모 | 창작 | 스크린샷
Google




 로그인  회원가입 Category : Category

마비노기 날씨 라이브러리.
[하프]월망초  (Homepage) 2009-08-03 14:30:57, 조회 : 11,142, 추천 : 28

중대 문제 발생!

G12 업데이트 이후로 마비노기 랜덤 함수가 변경되면서, 이 라이브러리는 정확한 정보를 보여주지 못합니다.

마비노기 날씨 도우미

안녕하세요. 마비노기가 뭔가요? 먹는건가요? 우적우적 상태가 되어있는 월망초입니다.
(G11 해보고 싶은데 접속도 할 수 없는 현실에 절망중)
별 도움이 되는건 아니지만, 날씨 예보를 없애기 전에 A/S하러 들렀습니다.
신경 안써도 자동으로 유지되긴 하지만, 언제까지고 업데이트 서버를 운영할 수 있을지 의문스러운 상황이라서요.
그래서 독립 프로그램으로 날씨 정보를 확인할 수 있게 만들었습니다.

실행 프로그램

실행화면
지역과 날짜를 맞추면 자동으로 해당하는 날짜의 날씨 정보가 나옵니다. 끝.

라이센스

src에는 실행 프로그램의 소스가 들어있습니다. (Visual C# 2008 Express Edition으로 작성)
이 프로그램은 자유롭게 수정 및 배포할 수 있습니다. (즉, 맘대로 뜯어 고치고 지지고 볶아도 됩니다)
사용에 따른 모든 문제에 대해서는 일절 책임지지 않습니다.

다운로드

zip 파일의 압축을 풀고, xml 파일을 넣고 실행하면 됩니다. .Net framework 2.0이 필요합니다.

날씨 라이브러리

프로그래밍 관련 내용입니다. 관심 없는 분은 무시하셔도 됩니다-

라이센스

자유롭게 이용할 수 있으나, 상업적인 이용은 금합니다. 사용에 따른 모든 문제는 책임지지 않습니다.
(lib 디렉토리 내부 파일, MabiRandom.dll, MabiWeather.dll, MabiWeatherCLR.dll 파일에 적용됩니다)

API

lib/MabiWeather.h(아래)를 참고하세요. CLR 이용시는 MabiWeatherCLR::CMabiWeatherWrap 래퍼를 사용하면 됩니다.

lib/MabiWeather.h
#ifdef MABIWEATHER_EXPORTS
#define MABIWEATHER_API __declspec(dllexport)
#else
#define MABIWEATHER_API __declspec(dllimport)
#endif

#include <ctime>

class MABIWEATHER_API CMabiWeather
{
public:
	/* 날씨상수 - 맑음, 흐림, 비, 천둥번개 */
	enum EWeatherType { EWT_CLEAR, EWT_CLOUD, EWT_RAIN, EWT_STORM };

	/* ctor - region은 지역 번호 (현재 1~12) */
	CMabiWeather(int region);
	/* dtor */
	virtual ~CMabiWeather();

	/* 날씨값 가져오기. time은 unix timestamp. 반환값은 0.0f ~ 2.0f */
	float getWeather(time_t time);

	/* 날씨값에 따른 날씨 확인 */
	static EWeatherType getType(const float weather);

	/* 비오는 양 확인. 반환값은 0.0f ~ 1.0f */
	static float getRainAmount(float weather);

private:
	/* 프로퍼티 */
	time_t _baseTime;
	float* _data;
};

예제

C# 예제는 src에 있는 프로그램을 참고하세요.

C++ 예제 (테스트 안해보고 글 쓰면서 대충 친거라 작동 안될수도 있음)
#include <iostream>
#include <ctime>
#include "MabiWeather.h"

using namespace std;

int main()
{
    CMabiWeather mw(1); // 지역1 정보 로딩

    float weather = mw.getWeather(time(NULL)); // 현재 시간의 날씨값을 가져옴.
    // 특정 시간의 데이터를 얻고 싶을땐 C 표준 함수 mktime() 이용.

    switch (mw.getType(weather)) { // 날씨값에 따른 현재 날씨 확인, 출력
        case CMabiWeather::EWT_STORM:
            cout << "폭우"; break;
        case CMabiWeather::EWT_RAIN:
            cout << "비"; break;
        case CMabiWeather::EWT_CLOUD:
            cout << "흐림"; break;
        case CMabiWeather::EWT_CLEAR:
            cout << "맑음"; break;
    }

    cout << mw.getRainAmount(weather) << endl; // 비오는 양 출력. (출력 범위: 0.0f ~ 1.0f)
    // 기존 사이트처럼 20단계나 100단계 등으로 나눌때는 이 수치를 적당히 분배.

    return 0;
}

의존성

libxml2.dll(MIT license)은 iconv.dll(LGPL), zlib1.dll(zlib license)에 의존합니다. (오픈소스)
MabiWeather.dll은 MabiRandom.dll, libxml2.dll에 의존합니다. MabiWeatherCLR.dll은 MabiWeather.dll에 의존합니다.
FreeBSD에서 만들어놓고 윈도우로 옮긴거다보니 dll 의존성이 좀 복잡한데, 다 때려넣고 쓰면 됩니다.

마무리

UI 디자인 같은건 전문이 아니다보니 언제나 대충대충. 예쁘게 고칠 분 있으면 좋겠네요.
실행 프로그램은 샘플 수준에 가까운거니, 중요한건 라이브러리. 나중에 시간 나면 MabiWeather.dll 소스도 정리해서 공개할 지도 모르겠습니다.

IP Address : 221.141.99.xxx 


  추천하기   목록보기



번호 분류 제목 작성자 작성일 조회
Notice 공지사항  [ 공지 ] ★ 필독 ★ 댓글 수위 조절 안내 - 분쟁조장, 팁&제보 정의논란, 욕설&비방  [8]   2009-07-22 10:17:26 4467
Notice 공지사항  [ 공지 ] HTML 사용 가이드  [7]   2009-09-14 15:20:40 2066
Notice 공지사항  [ 공지 ] 게임TIP 게시판 운영지침 (갱신일 2009.11.19)  [8]   2009-02-17 01:12:48 8996
Notice 공지사항  [ 공지 ] 경고자 리스트 (갱신일 2010.1.9)  [8]   2009-02-19 15:25:42 7222
4812 던전&필드  개미지옥에서 매크로들을 이용해서 돈좀 만져보자  [2]  [만돌린]떡실신소년 2010-02-09 18:30:44 150
4811 자이육성  강하지만 소외된 존재 "자이언트 의 너클을 소개한다"  [27]  [류트]whatever 2010-02-09 01:49:37 2189
4810 컨텐츠  왕정 지원을 받아봅시다  [31]  [만돌린]징카 2010-02-08 23:22:56 2342
4809 던전&필드  크래그 카우 고급 정리  [11]  류트/순수한희망 2010-02-08 22:47:34 1562
4808 카테고리분류요청  2010년 2월 8일 뗏목 보상 데이터 정리 [최종수정완료]  [38]  [류트]세린체아 2010-02-08 07:13:48 3862
4807 던전&필드  4804번글 정리글 :: 파르 일반 총정리  [9]  [류트]미열소년 2010-02-08 06:27:09 2256
4806 던전&필드  던젼을 한번도 죽지않고 도는방법  [54]  [울프]솔리드레인 2010-02-08 01:12:34 4602
4805 인캐육성  초보연금술사의 워터캐논입문(2차수정)  [25]  [울프]포욜 2010-02-08 00:37:44 2552
4804 던전&필드  파르일반 던전 정리  [30]  류트/순수한희망 2010-02-07 20:02:34 2695
4803 던전&필드  그림자 - 제물을 돌아 봅시다.  [9]  [류트]Letdyu 2010-02-07 16:28:56 2634
4802 전술&전략  팔리아스 유물 솔플 정복하기.  [11]  [하프]Sars. 2010-02-07 12:40:38 3111
4801 프로그램/보안  마비노기 요리 도우미, MabiCooker v2.3을 공개합니다  [10]  [만돌]별다방죽돌이 2010-02-05 19:09:48 1798
4800 전술&전략  요리던전 보고서.  [17]  [룬다]화령사히타 2010-02-05 01:30:32 3382
4799 프로그램/보안  편리함을 추구하는 유저에 의한 생산스킬을 올리는 유저를 위한 한번에 여러가지 작업을 하는 유저의 생산직(또는 그외)에 유용한 팁입니다  [15]  [하프]디크레이우스2 2010-02-05 00:30:24 4304
4798 전술&전략  [류트]Ranya 님의 스킬트리 완성 시기를 위한 일차방정식 글을 엑셀화  [4]  [곰돌린]개념없는 2010-02-05 00:20:28 1521
4797 인챈트  기존 인챈트와 전용 인챈트의 가치비교  [20]  망초님 2010-02-05 00:04:22 3716
4796 전술&전략  스킬트리 완성 시기를 위한 일차방정식  [26]  [류트]Ranya 2010-02-04 20:31:09 3095
4795 초보가이드  연금술 마스터리. 그 길을 속성법으로 올려보자!  [18]  [만돌린]브리세아스 2010-02-04 19:20:05 3395
4794 인캐육성  본격 팁게에 있는 뉴비 팁 실천글  [67]  [울프]초코틴틴 2010-02-04 16:11:13 2972
4793 인캐육성  인간뉴비의 초반 1~200까지의 육성트리(수정)  [29]  [울프]포욜 2010-02-04 02:15:55 3662
4792 스킬  인챈트 수련, 극한의 인내력을 요하는 시간과의 싸움  [32]  [하프]인명재천 2010-02-02 18:37:56 5974

    목록보기   다음페이지 1 [2][3][4][5][6][7][8][9][10]..[193]   [다음 10개]
       
Copyright 1999-2010 Zeroboard / skin by zero
HOME | 기본안내 | 개인정보보호정책 | 이메일주소무단수집거부 | 광고게시물등록거부

www.mabinogi.pe.kr 2005-2010 / 사이트 운영: [골렘] 해롱, [하프] 티뷰 / 시스템 운영: [골렘] 불멸의새
게시판 지기 : 자유 - [류트]키라세르 / 제보 - [류트]Leia / 게임TIP - [하프]은소소 / 창작 - [하프]델망 / 토론 - [골렘]에레버스