Esempio n. 1
0
 def do_09c4(self, data_io):
     #アイテム使用
     item_iid = io_unpack_int(data_io)
     target_id = io_unpack_int(data_io)
     x = io_unpack_unsigned_byte(data_io)
     y = io_unpack_unsigned_byte(data_io)
     with self.pc.lock:
         item = self.pc.item.get(item_iid)
         if not item:
             return
         event_id = item.event_id
         item_event_id = item.item_id
         item_skill_id = item.skill_id
         p = self.pc
     if target_id == -1:  #対象:地面
         pass
     elif target_id != self.pc.id:  #対象:単体
         p = users.get_pc_from_id(target_id)
         if not (p and p.online):
             return
     if event_id:
         script.run(p, event_id, item_event_id)
     else:
         #アイテム使用結果 #success
         self.send("09c5", self.pc, item_event_id, target_id, x, y)
         #アイテム使用効果 (対象:地面)
         self.send("09c6", self.pc, item_event_id, target_id, x, y)
         skills.use(self.pc, target_id, x, y, item_skill_id, 1)
Esempio n. 2
0
	def do_09c4(self, data_io):
		#アイテム使用
		item_iid = io_unpack_int(data_io)
		target_id = io_unpack_int(data_io)
		x = io_unpack_unsigned_byte(data_io)
		y = io_unpack_unsigned_byte(data_io)
		with self.pc.lock:
			item = self.pc.item.get(item_iid)
			if not item:
				return
			event_id = item.event_id
			item_event_id = item.item_id
			item_skill_id = item.skill_id
			p = self.pc
		if target_id == -1: #対象:地面
			pass
		elif target_id != self.pc.id: #対象:単体
			p = users.get_pc_from_id(target_id)
			if not (p and p.online):
				return
		if event_id:
			script.run(p, event_id, item_event_id)
		else:
			#アイテム使用結果 #success
			self.send("09c5", self.pc, item_event_id, target_id, x, y)
			#アイテム使用効果 (対象:地面)
			self.send("09c6", self.pc, item_event_id, target_id, x, y)
			skills.use(self.pc, target_id, x, y, item_skill_id, 1)
Esempio n. 3
0
    def do_11fe(self, data_io):
        #MAPワープ完了通知
        general.log("[ map ]", "map load")
        self.pc.set_visible(True)

        self.send("09e9", self.pc)
        self.send("0226", self.pc, 0)  #スキル一覧 一次職
        self.send("0226", self.pc, 1)  #スキル一覧 エキスパ
        self.send("022d", self.pc)  #HEARTスキル

        self.send("13ec", self.pc)  #れしぴ

        self.send("196e", self.pc)  #クエスト回数・時間
        #self.send("0259", self.pc) #ステータス試算結果
        #self.send("1b67", self.pc) #MAPログイン時に基本情報を全て受信した後に受信される

        self.sync_map()
        self.pc.unset_pet()
        if self.pc.equip.pet:
            time.sleep(0.5)  #must have some delay before send 122f (pet info)
        self.pc.set_pet()

        if self.send_login_event:
            self.send_login_event = False
            script.run(self.pc, env.LOGIN_EVENT_ID)

        if usermaps.map_id_in_range_flygarden(self.pc.map_obj.map_id):
            #bad packet, i dont known the structure of 1be4
            #self.send("1be4", self.pc) #飛空庭ログイン
            #1bf9 only for reply 1bf8, plz remove when 1be4 work

            self.send("13bc", 2)  #飛空庭の天候
            self.send("13bd", 4)  #飛空庭の天体
            self.send("1bee", self.pc)  #飛空庭の天候
            self.send("1bf0", self.pc)  #飛空庭の天候
Esempio n. 4
0
	def do_11fe(self, data_io):
		#MAPワープ完了通知
		general.log("[ map ]", "map load")
		self.pc.set_visible(True)
		self.send("1239", self.pc) #キャラ速度通知・変更
		self.send("196e", self.pc) #クエスト回数・時間
		#self.send("0259", self.pc) #ステータス試算結果
		#self.send("1b67", self.pc) #MAPログイン時に基本情報を全て受信した後に受信される
		
		self.send("0230", self.pc) #現在CAPA/PAYL
		self.send("0231", self.pc) #最大CAPA/PAYL
		self.send("0221", self.pc) #最大HP/MP/SP
		self.send("021c", self.pc) #現在のHP/MP/SP/EP
		self.send("157c", self.pc) #キャラの状態
		self.send("0212", self.pc) #ステータス・補正・ボーナスポイント
		self.send("0217", self.pc) #詳細ステータス
		self.send("0226", self.pc, 0) #スキル一覧 一次職
		self.send("0226", self.pc, 1) #スキル一覧 エキスパ
		self.send("022d", self.pc) #HEARTスキル
		self.send("0223", self.pc) #属性値
		self.send("0244", self.pc) #ステータスウィンドウの職業
		
		self.sync_map()
		self.pc.unset_pet()
		if self.pc.equip.pet:
			time.sleep(0.5) #must have some delay before send 122f (pet info)
		self.pc.set_pet()
		
		if self.send_login_event:
			self.send_login_event = False
			script.run(self.pc, env.LOGIN_EVENT_ID)
		
		if usermaps.map_id_in_range_flygarden(self.pc.map_obj.map_id):
			#bad packet, i dont known the structure of 1be4
			#self.send("1be4", self.pc) #飛空庭ログイン
			#1bf9 only for reply 1bf8, plz remove when 1be4 work
			for i, attr in enumerate(general.FLYGARDEN_ATTR_LIST):
				#飛空庭に装飾品を装着・解除するの結果
				self.send("1bf9", getattr(self.pc.map_obj.flygarden, attr), i)
			self.send("13bc", 2) #飛空庭の天候
			self.send("13bd", 4) #飛空庭の天体
			self.send("1bee", self.pc) #飛空庭の天候
			self.send("1bf0", self.pc) #飛空庭の天候
Esempio n. 5
0
    def do_11fe(self, data_io):
        #MAPワープ完了通知
        general.log("[ map ]", "map load")
        self.pc.set_visible(True)
        self.send("1239", self.pc)  #キャラ速度通知・変更
        self.send("196e", self.pc)  #クエスト回数・時間
        #self.send("0259", self.pc) #ステータス試算結果
        #self.send("1b67", self.pc) #MAPログイン時に基本情報を全て受信した後に受信される

        self.send("0230", self.pc)  #現在CAPA/PAYL
        self.send("0231", self.pc)  #最大CAPA/PAYL
        self.send("0221", self.pc)  #最大HP/MP/SP
        self.send("021c", self.pc)  #現在のHP/MP/SP/EP
        self.send("157c", self.pc)  #キャラの状態
        self.send("0212", self.pc)  #ステータス・補正・ボーナスポイント
        self.send("0217", self.pc)  #詳細ステータス
        self.send("0226", self.pc, 0)  #スキル一覧 一次職
        self.send("0226", self.pc, 1)  #スキル一覧 エキスパ
        self.send("022d", self.pc)  #HEARTスキル
        self.send("0223", self.pc)  #属性値
        self.send("0244", self.pc)  #ステータスウィンドウの職業

        self.sync_map()
        self.pc.unset_pet()
        if self.pc.equip.pet:
            time.sleep(0.5)  #must have some delay before send 122f (pet info)
        self.pc.set_pet()

        if self.send_login_event:
            self.send_login_event = False
            script.run(self.pc, env.LOGIN_EVENT_ID)

        if usermaps.map_id_in_range_flygarden(self.pc.map_obj.map_id):
            #bad packet, i dont known the structure of 1be4
            #self.send("1be4", self.pc) #飛空庭ログイン
            #1bf9 only for reply 1bf8, plz remove when 1be4 work
            for i, attr in enumerate(general.FLYGARDEN_ATTR_LIST):
                #飛空庭に装飾品を装着・解除するの結果
                self.send("1bf9", getattr(self.pc.map_obj.flygarden, attr), i)
            self.send("13bc", 2)  #飛空庭の天候
            self.send("13bd", 4)  #飛空庭の天体
            self.send("1bee", self.pc)  #飛空庭の天候
            self.send("1bf0", self.pc)  #飛空庭の天候
Esempio n. 6
0
	def do_05e6(self, data_io):
		#イベント実行
		event_id = io_unpack_int(data_io)
		script.run(self.pc, event_id)
Esempio n. 7
0
from bs4 import BeautifulSoup as soup
from urllib.request import FancyURLopener, urlopen
from urllib.error import HTTPError

# comment out or program will break
from lib import script
from assets.config import url, path

try:

    class AppURLopener(FancyURLopener):
        version = "Mozilla/5.0"

    opener = AppURLopener()
    response = opener.open(url)

except HTTPError as e:
    print(e)

else:
    f = open(path, 'ab')
    data = response.read()
    f.write(data)
    f.close

# comment out or program will break
print(script.run())
Esempio n. 8
0
 def do_05e6(self, data_io):
     #イベント実行
     event_id = io_unpack_int(data_io)
     script.run(self.pc, event_id)
Esempio n. 9
0
import sys
from lib import script

try:
    args = sys.argv[2]
except IndexError:
    args = ''
finally:
    script.run(args)