diff options
Diffstat (limited to 'runshop.py')
-rw-r--r-- | runshop.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/runshop.py b/runshop.py new file mode 100644 index 0000000..22fd740 --- /dev/null +++ b/runshop.py @@ -0,0 +1,63 @@ +#!/usr/bin/python2 + +import asyncore +import logging +import sys +from ConfigParser import ConfigParser + +try: + import construct + del construct +except ImportError: + import os + sys.path.insert(0, os.path.join(os.getcwd(), "external")) + +import net +import net.mapserv as mapserv +import plugins +from utils import extends +from itemdb import load_itemdb +from loggers import debuglog +from logicmanager import logic_manager + + +@extends('smsg_player_warp') +def player_warp(data): + mapserv.cmsg_map_loaded() + + +@extends('smsg_map_login_success') +def map_login_success(data): + mapserv.cmsg_map_loaded() + + +if __name__ == '__main__': + rootLogger = logging.getLogger('') + rootLogger.addHandler(logging.NullHandler()) + + dbgh = logging.StreamHandler(sys.stdout) + dbgh.setFormatter(logging.Formatter("[%(asctime)s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S")) + debuglog.addHandler(dbgh) + debuglog.setLevel(logging.INFO) + + shoplog = logging.getLogger('ManaChat.Shop') + shoplog.setLevel(logging.INFO) + shoplog.addHandler(dbgh) + + config = ConfigParser() + config.read('manachat.ini') + + load_itemdb('itemdb.txt') + + plugins.load_plugins(config) + + net.login(host=config.get('Server', 'host'), + port=config.getint('Server', 'port'), + username=config.get('Player', 'username'), + password=config.get('Player', 'password'), + charname=config.get('Player', 'charname')) + + while True: + asyncore.loop(timeout=0.2, count=5) + logic_manager.tick() |