add: Owsap quest renewal and GetTextLength + GetTextWindow.
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.0 KiB |
BIN
bin/pack/etc/ymir work/ui/form_lang_01.dds
Normal file
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_bottom.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_center.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_left.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_left_bottom.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_left_top.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_right.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_right_bottom.tga
Normal file
After Width: | Height: | Size: 1004 B |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_right_top.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/pack/etc/ymir work/ui/pattern/border_a_top.tga
Normal file
After Width: | Height: | Size: 1.0 KiB |
7
bin/pack/etc/ymir work/ui/quest_re/button_bottom.sub
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
title subImage
|
||||||
|
version 1.0
|
||||||
|
image "form_lang_01.dds"
|
||||||
|
left 0
|
||||||
|
top 32
|
||||||
|
right 210
|
||||||
|
bottom 48
|
7
bin/pack/etc/ymir work/ui/quest_re/button_middle.sub
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
title subImage
|
||||||
|
version 1.0
|
||||||
|
image "form_lang_01.dds"
|
||||||
|
left 0
|
||||||
|
top 16
|
||||||
|
right 210
|
||||||
|
bottom 32
|
7
bin/pack/etc/ymir work/ui/quest_re/button_one.sub
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
title subImage
|
||||||
|
version 1.0
|
||||||
|
image "form_lang_01.dds"
|
||||||
|
left 0
|
||||||
|
top 68
|
||||||
|
right 210
|
||||||
|
bottom 84
|
7
bin/pack/etc/ymir work/ui/quest_re/button_over.sub
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
title subImage
|
||||||
|
version 1.0
|
||||||
|
image "form_lang_01.dds"
|
||||||
|
left 0
|
||||||
|
top 50
|
||||||
|
right 210
|
||||||
|
bottom 66
|
7
bin/pack/etc/ymir work/ui/quest_re/button_top.sub
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
title subImage
|
||||||
|
version 1.0
|
||||||
|
image "form_lang_01.dds"
|
||||||
|
left 0
|
||||||
|
top 0
|
||||||
|
right 210
|
||||||
|
bottom 16
|
BIN
bin/pack/etc/ymir work/ui/quest_re/quest_down.tga
Normal file
After Width: | Height: | Size: 772 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/quest_list_line_01.tga
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
bin/pack/etc/ymir work/ui/quest_re/quest_new.tga
Normal file
After Width: | Height: | Size: 240 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/quest_tab_01.tga
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
bin/pack/etc/ymir work/ui/quest_re/quest_up.tga
Normal file
After Width: | Height: | Size: 772 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_1_main.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_2_sub.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_3_levelup.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_4_event.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_5_collection.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_6_system.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_7_scroll.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/etc/ymir work/ui/quest_re/tabcolor_8_daily.tga
Normal file
After Width: | Height: | Size: 344 B |
BIN
bin/pack/icon/icon/item/scroll_close_blue.tga
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
bin/pack/icon/icon/item/scroll_open_blue.tga
Normal file
After Width: | Height: | Size: 4.0 KiB |
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Poslat
|
WHISPER_SEND Poslat
|
||||||
YES Ano
|
YES Ano
|
||||||
ZONE_MAP Velk<6C> mapa
|
ZONE_MAP Velk<6C> mapa
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -324,3 +324,11 @@ WHISPER_REPORT report
|
|||||||
WHISPER_SEND Senden
|
WHISPER_SEND Senden
|
||||||
YES Ja
|
YES Ja
|
||||||
ZONE_MAP <09>bersichtskarte
|
ZONE_MAP <09>bersichtskarte
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Send
|
WHISPER_SEND Send
|
||||||
YES Ja
|
YES Ja
|
||||||
ZONE_MAP Stort kort
|
ZONE_MAP Stort kort
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -324,3 +324,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Send
|
WHISPER_SEND Send
|
||||||
YES Yes
|
YES Yes
|
||||||
ZONE_MAP Large Map
|
ZONE_MAP Large Map
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Enviar
|
WHISPER_SEND Enviar
|
||||||
YES S<>
|
YES S<>
|
||||||
ZONE_MAP Mapa grande
|
ZONE_MAP Mapa grande
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -810,3 +810,11 @@ UPLOAD_MARK_CHECK_NEED_RECONNECT Le t
|
|||||||
UPLOAD_MARK_UPLOAD_NEED_RECONNECT Le t<>l<EFBFBD>chargement doit <20>tre recommencer.
|
UPLOAD_MARK_UPLOAD_NEED_RECONNECT Le t<>l<EFBFBD>chargement doit <20>tre recommencer.
|
||||||
USE_ITEM_FAILURE_PRIVATE_SHOP Vous ne pouvez pas utiliser d'objet tant que votre magasin priv<69> est ouvert.
|
USE_ITEM_FAILURE_PRIVATE_SHOP Vous ne pouvez pas utiliser d'objet tant que votre magasin priv<69> est ouvert.
|
||||||
USE_SKILL_ERROR_UNKNOWN Erreur comp<6D>tence inconnue: %s
|
USE_SKILL_ERROR_UNKNOWN Erreur comp<6D>tence inconnue: %s
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
WHISPER_SEND <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
YES <09><><EFBFBD>
|
YES <09><><EFBFBD>
|
||||||
ZONE_MAP <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
ZONE_MAP <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -324,3 +324,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND K<>ld
|
WHISPER_SEND K<>ld
|
||||||
YES Igen
|
YES Igen
|
||||||
ZONE_MAP Nagy t<>rk<72>p
|
ZONE_MAP Nagy t<>rk<72>p
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Invia
|
WHISPER_SEND Invia
|
||||||
YES S<>.
|
YES S<>.
|
||||||
ZONE_MAP Mappa grande
|
ZONE_MAP Mappa grande
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT Report
|
|||||||
WHISPER_SEND Stuur
|
WHISPER_SEND Stuur
|
||||||
YES Ja
|
YES Ja
|
||||||
ZONE_MAP Grote Map
|
ZONE_MAP Grote Map
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Wy<57>lij
|
WHISPER_SEND Wy<57>lij
|
||||||
YES Tak
|
YES Tak
|
||||||
ZONE_MAP Podgl<67>d Mapy
|
ZONE_MAP Podgl<67>d Mapy
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Enviar
|
WHISPER_SEND Enviar
|
||||||
YES Sim
|
YES Sim
|
||||||
ZONE_MAP Mapa Grande
|
ZONE_MAP Mapa Grande
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND Trimite
|
WHISPER_SEND Trimite
|
||||||
YES Da
|
YES Da
|
||||||
ZONE_MAP Hart<72> mare
|
ZONE_MAP Hart<72> mare
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
WHISPER_SEND <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
YES <09><>
|
YES <09><>
|
||||||
ZONE_MAP <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
ZONE_MAP <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -343,3 +343,11 @@ WHISPER_REPORT
|
|||||||
WHISPER_SEND G<>nder
|
WHISPER_SEND G<>nder
|
||||||
YES Evet
|
YES Evet
|
||||||
ZONE_MAP Genel G<>r<EFBFBD>n<EFBFBD>m Haritas<61>
|
ZONE_MAP Genel G<>r<EFBFBD>n<EFBFBD>m Haritas<61>
|
||||||
|
QUEST_UI_TEXT_COLLECTION Biologist Quests
|
||||||
|
QUEST_UI_TEXT_DAILY Daily Quest
|
||||||
|
QUEST_UI_TEXT_EVENT Event Missions
|
||||||
|
QUEST_UI_TEXT_LEVELUP Hunting Mission
|
||||||
|
QUEST_UI_TEXT_MAIN Main Quests
|
||||||
|
QUEST_UI_TEXT_SCROLL Mission Book Quests
|
||||||
|
QUEST_UI_TEXT_SUB Side Quests
|
||||||
|
QUEST_UI_TEXT_SYSTEM Game Missions
|
||||||
|
@ -117,7 +117,7 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
self.playerGauge = uiPlayerGauge.PlayerGauge(self)
|
self.playerGauge = uiPlayerGauge.PlayerGauge(self)
|
||||||
self.playerGauge.Hide()
|
self.playerGauge.Hide()
|
||||||
|
|
||||||
#wj 2014.1.2. ESCŰ<43><C5B0> <20><><EFBFBD><EFBFBD> <20><> <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DropQuestionDialog<6F><67> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> itemDropQuestionDialog<6F><67> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʾ<EFBFBD> ERROR<4F><52> <20><EFBFBD><DFBB>Ͽ<EFBFBD> init<69><74><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ÿ<EFBFBD> <20>ʱ<EFBFBD>ȭ <20><>Ŵ.
|
#wj 2014.1.2. ESCŰ<43><C5B0> <20><><EFBFBD><EFBFBD> <20><> <20>켱<EFBFBD><ECBCB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DropQuestionDialog<6F><67> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ó<><C3B3><EFBFBD><EFBFBD> itemDropQuestionDialog<6F><67> <20><><EFBFBD><EFBFBD>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʾ<EFBFBD> ERROR<4F><52> <20><EFBFBD><DFBB>Ͽ<EFBFBD> init<69><74><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ÿ<EFBFBD> <20>ʱ<EFBFBD>ȭ <20><>Ŵ.
|
||||||
self.itemDropQuestionDialog = None
|
self.itemDropQuestionDialog = None
|
||||||
|
|
||||||
self.__SetQuickSlotMode()
|
self.__SetQuickSlotMode()
|
||||||
@ -226,7 +226,7 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
exception.Abort("GameWindow.Open")
|
exception.Abort("GameWindow.Open")
|
||||||
# END_OF_START_GAME_ERROR_EXIT
|
# END_OF_START_GAME_ERROR_EXIT
|
||||||
|
|
||||||
# NPC<50><43> ť<><C5A5><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><DBB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3>
|
# NPC<50><43> ť<><C5A5>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><DBB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3>
|
||||||
# ex) cubeInformation[20383] = [ {"rewordVNUM": 72723, "rewordCount": 1, "materialInfo": "101,1&102,2", "price": 999 }, ... ]
|
# ex) cubeInformation[20383] = [ {"rewordVNUM": 72723, "rewordCount": 1, "materialInfo": "101,1&102,2", "price": 999 }, ... ]
|
||||||
self.cubeInformation = {}
|
self.cubeInformation = {}
|
||||||
self.currentCubeNPC = 0
|
self.currentCubeNPC = 0
|
||||||
@ -314,10 +314,10 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
def __BuildKeyDict(self):
|
def __BuildKeyDict(self):
|
||||||
onPressKeyDict = {}
|
onPressKeyDict = {}
|
||||||
|
|
||||||
##PressKey <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> Ű<>̴<EFBFBD>.
|
##PressKey <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> Ű<>̴<EFBFBD>.
|
||||||
|
|
||||||
## <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ű <20><><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD> <20>̿<EFBFBD><EFBFBD>ȴ<EFBFBD>.(<28><><EFBFBD><EFBFBD> <20><><EFBFBD>ڵ鵵 <20><> <20><><EFBFBD>Կ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
## <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ű <20><><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD> <20>̿<EFBFBD>ȴ<EFBFBD>.(<28><><EFBFBD><EFBFBD> <20><><EFBFBD>ڵ鵵 <20><> <20><><EFBFBD>Կ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||||
## F12 <20><> Ŭ<><C5AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ű<>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.
|
## F12 <20><> Ŭ<><C5AC> <20><><EFBFBD><EFBFBD><EFBFBD> Ű<>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.
|
||||||
onPressKeyDict[app.DIK_1] = lambda : self.__PressNumKey(1)
|
onPressKeyDict[app.DIK_1] = lambda : self.__PressNumKey(1)
|
||||||
onPressKeyDict[app.DIK_2] = lambda : self.__PressNumKey(2)
|
onPressKeyDict[app.DIK_2] = lambda : self.__PressNumKey(2)
|
||||||
onPressKeyDict[app.DIK_3] = lambda : self.__PressNumKey(3)
|
onPressKeyDict[app.DIK_3] = lambda : self.__PressNumKey(3)
|
||||||
@ -337,7 +337,7 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
onPressKeyDict[app.DIK_SYSRQ] = lambda : self.SaveScreen()
|
onPressKeyDict[app.DIK_SYSRQ] = lambda : self.SaveScreen()
|
||||||
onPressKeyDict[app.DIK_SPACE] = lambda : self.StartAttack()
|
onPressKeyDict[app.DIK_SPACE] = lambda : self.StartAttack()
|
||||||
|
|
||||||
#ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD>Ű
|
#ij<><C4B3><EFBFBD><EFBFBD> <20>̵<EFBFBD>Ű
|
||||||
onPressKeyDict[app.DIK_UP] = lambda : self.MoveUp()
|
onPressKeyDict[app.DIK_UP] = lambda : self.MoveUp()
|
||||||
onPressKeyDict[app.DIK_DOWN] = lambda : self.MoveDown()
|
onPressKeyDict[app.DIK_DOWN] = lambda : self.MoveDown()
|
||||||
onPressKeyDict[app.DIK_LEFT] = lambda : self.MoveLeft()
|
onPressKeyDict[app.DIK_LEFT] = lambda : self.MoveLeft()
|
||||||
@ -564,12 +564,12 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
self.TextureNum.SetFontName(localeInfo.UI_DEF_FONT)
|
self.TextureNum.SetFontName(localeInfo.UI_DEF_FONT)
|
||||||
self.TextureNum.SetPosition(wndMgr.GetScreenWidth() - 270, 100)
|
self.TextureNum.SetPosition(wndMgr.GetScreenWidth() - 270, 100)
|
||||||
|
|
||||||
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><EFBFBD><D7B8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><EFBFBD><D7B8><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
self.ObjectNum = ui.TextLine()
|
self.ObjectNum = ui.TextLine()
|
||||||
self.ObjectNum.SetFontName(localeInfo.UI_DEF_FONT)
|
self.ObjectNum.SetFontName(localeInfo.UI_DEF_FONT)
|
||||||
self.ObjectNum.SetPosition(wndMgr.GetScreenWidth() - 270, 120)
|
self.ObjectNum.SetPosition(wndMgr.GetScreenWidth() - 270, 120)
|
||||||
|
|
||||||
# <20>þ߰Ÿ<DFB0>
|
# <20>þ߰Ÿ<DFB0>
|
||||||
self.ViewDistance = ui.TextLine()
|
self.ViewDistance = ui.TextLine()
|
||||||
self.ViewDistance.SetFontName(localeInfo.UI_DEF_FONT)
|
self.ViewDistance.SetFontName(localeInfo.UI_DEF_FONT)
|
||||||
self.ViewDistance.SetPosition(0, 0)
|
self.ViewDistance.SetPosition(0, 0)
|
||||||
@ -659,8 +659,15 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
if self.interface:
|
if self.interface:
|
||||||
self.interface.RefreshSkill()
|
self.interface.RefreshSkill()
|
||||||
|
|
||||||
def RefreshQuest(self):
|
if app.ENABLE_QUEST_RENEWAL:
|
||||||
self.interface.RefreshQuest()
|
def RefreshQuest(self, quest_type, quest_index):
|
||||||
|
self.interface.RefreshQuest(quest_type, quest_index)
|
||||||
|
|
||||||
|
def DeleteQuest(self, quest_type, quest_index):
|
||||||
|
self.interface.DeleteQuest(quest_type, quest_index)
|
||||||
|
else:
|
||||||
|
def RefreshQuest(self):
|
||||||
|
self.interface.RefreshQuest()
|
||||||
|
|
||||||
def RefreshMessenger(self):
|
def RefreshMessenger(self):
|
||||||
self.interface.RefreshMessenger()
|
self.interface.RefreshMessenger()
|
||||||
@ -1302,7 +1309,7 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
self.__DropMoney(attachedType, attachedMoney)
|
self.__DropMoney(attachedType, attachedMoney)
|
||||||
|
|
||||||
def __DropMoney(self, attachedType, attachedMoney):
|
def __DropMoney(self, attachedType, attachedMoney):
|
||||||
# PRIVATESHOP_DISABLE_ITEM_DROP - <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
# PRIVATESHOP_DISABLE_ITEM_DROP - <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
if uiPrivateShopBuilder.IsBuildingPrivateShop():
|
if uiPrivateShopBuilder.IsBuildingPrivateShop():
|
||||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
|
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
|
||||||
return
|
return
|
||||||
@ -1324,7 +1331,7 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
self.itemDropQuestionDialog = itemDropQuestionDialog
|
self.itemDropQuestionDialog = itemDropQuestionDialog
|
||||||
|
|
||||||
def __DropItem(self, attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount):
|
def __DropItem(self, attachedType, attachedItemIndex, attachedItemSlotPos, attachedItemCount):
|
||||||
# PRIVATESHOP_DISABLE_ITEM_DROP - <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
# PRIVATESHOP_DISABLE_ITEM_DROP - <20><><EFBFBD>λ<EFBFBD><CEBB><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
if uiPrivateShopBuilder.IsBuildingPrivateShop():
|
if uiPrivateShopBuilder.IsBuildingPrivateShop():
|
||||||
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
|
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DROP_ITEM_FAILURE_PRIVATE_SHOP)
|
||||||
return
|
return
|
||||||
@ -1456,7 +1463,7 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
|
|
||||||
def UpdateDebugInfo(self):
|
def UpdateDebugInfo(self):
|
||||||
#
|
#
|
||||||
# ij<><C4B3><EFBFBD><EFBFBD> <20><>ǥ <20><> FPS <20><><EFBFBD><EFBFBD>
|
# ij<><C4B3><EFBFBD><EFBFBD> <20><>ǥ <20><> FPS <20><><EFBFBD>
|
||||||
(x, y, z) = player.GetMainCharacterPosition()
|
(x, y, z) = player.GetMainCharacterPosition()
|
||||||
nUpdateTime = app.GetUpdateTime()
|
nUpdateTime = app.GetUpdateTime()
|
||||||
nUpdateFPS = app.GetUpdateFPS()
|
nUpdateFPS = app.GetUpdateFPS()
|
||||||
@ -1619,22 +1626,22 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
def BINARY_Cube_Close(self):
|
def BINARY_Cube_Close(self):
|
||||||
self.interface.CloseCubeWindow()
|
self.interface.CloseCubeWindow()
|
||||||
|
|
||||||
# <20><><EFBFBD>ۿ<EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20>ϼ<EFBFBD>ǰ<EFBFBD><C7B0> VNUM<55><4D> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> update
|
# <20><><EFBFBD>ۿ<EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20>ϼ<EFBFBD>ǰ<EFBFBD><C7B0> VNUM<55><4D> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> update
|
||||||
def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count):
|
def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count):
|
||||||
self.interface.UpdateCubeInfo(gold, itemVnum, count)
|
self.interface.UpdateCubeInfo(gold, itemVnum, count)
|
||||||
|
|
||||||
def BINARY_Cube_Succeed(self, itemVnum, count):
|
def BINARY_Cube_Succeed(self, itemVnum, count):
|
||||||
print "ť<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
print "ť<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||||
self.interface.SucceedCubeWork(itemVnum, count)
|
self.interface.SucceedCubeWork(itemVnum, count)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def BINARY_Cube_Failed(self):
|
def BINARY_Cube_Failed(self):
|
||||||
print "ť<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
print "ť<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
|
||||||
self.interface.FailedCubeWork()
|
self.interface.FailedCubeWork()
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def BINARY_Cube_ResultList(self, npcVNUM, listText):
|
def BINARY_Cube_ResultList(self, npcVNUM, listText):
|
||||||
# ResultList Text Format : 72723,1/72725,1/72730.1/50001,5 <20>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "/" <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD>е<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><>
|
# ResultList Text Format : 72723,1/72725,1/72730.1/50001,5 <20>̷<EFBFBD><CCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "/" <20><><EFBFBD>ڷ<EFBFBD> <20><><EFBFBD>е<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><>
|
||||||
#print listText
|
#print listText
|
||||||
|
|
||||||
if npcVNUM == 0:
|
if npcVNUM == 0:
|
||||||
@ -1735,7 +1742,7 @@ class GameWindow(ui.ScriptWindow):
|
|||||||
|
|
||||||
# END_OF_CUBE
|
# END_OF_CUBE
|
||||||
|
|
||||||
# <20><>ȥ<EFBFBD><C8A5>
|
# <20><>ȥ<EFBFBD><C8A5>
|
||||||
def BINARY_Highlight_Item(self, inven_type, inven_pos):
|
def BINARY_Highlight_Item(self, inven_type, inven_pos):
|
||||||
self.interface.Highligt_Item(inven_type, inven_pos)
|
self.interface.Highligt_Item(inven_type, inven_pos)
|
||||||
|
|
||||||
|
@ -45,6 +45,9 @@ import uiScriptLocale
|
|||||||
import event
|
import event
|
||||||
import localeInfo
|
import localeInfo
|
||||||
|
|
||||||
|
if app.ENABLE_QUEST_RENEWAL:
|
||||||
|
import quest
|
||||||
|
|
||||||
IsQBHide = 0
|
IsQBHide = 0
|
||||||
class Interface(object):
|
class Interface(object):
|
||||||
CHARACTER_STATUS_TAB = 1
|
CHARACTER_STATUS_TAB = 1
|
||||||
@ -277,7 +280,7 @@ class Interface(object):
|
|||||||
self.wndItemSelect = uiselectitem.SelectItemWindow()
|
self.wndItemSelect = uiselectitem.SelectItemWindow()
|
||||||
self.wndItemSelect.Hide()
|
self.wndItemSelect.Hide()
|
||||||
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
|
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
|
||||||
|
|
||||||
def MakeInterface(self):
|
def MakeInterface(self):
|
||||||
self.__MakeMessengerWindow()
|
self.__MakeMessengerWindow()
|
||||||
self.__MakeGuildWindow()
|
self.__MakeGuildWindow()
|
||||||
@ -294,13 +297,14 @@ class Interface(object):
|
|||||||
self.__MakeWebWindow()
|
self.__MakeWebWindow()
|
||||||
self.__MakeCubeWindow()
|
self.__MakeCubeWindow()
|
||||||
self.__MakeCubeResultWindow()
|
self.__MakeCubeResultWindow()
|
||||||
|
|
||||||
|
|
||||||
# ACCESSORY_REFINE_ADD_METIN_STONE
|
# ACCESSORY_REFINE_ADD_METIN_STONE
|
||||||
self.__MakeItemSelectWindow()
|
self.__MakeItemSelectWindow()
|
||||||
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
|
# END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
|
||||||
|
|
||||||
self.questButtonList = []
|
self.questButtonList = []
|
||||||
|
if app.ENABLE_QUEST_RENEWAL:
|
||||||
|
self.__MakeQuestButton()
|
||||||
self.whisperButtonList = []
|
self.whisperButtonList = []
|
||||||
self.whisperDialogDict = {}
|
self.whisperDialogDict = {}
|
||||||
self.privateShopAdvertisementBoardDict = {}
|
self.privateShopAdvertisementBoardDict = {}
|
||||||
@ -564,12 +568,13 @@ class Interface(object):
|
|||||||
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
||||||
self.wndDragonSoul.RefreshItemSlot()
|
self.wndDragonSoul.RefreshItemSlot()
|
||||||
|
|
||||||
def RefreshCharacter(self): ## Character <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, Inventory <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD> Refresh
|
def RefreshCharacter(self): ## Character <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>, Inventory <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD> Refresh
|
||||||
self.wndCharacter.RefreshCharacter()
|
self.wndCharacter.RefreshCharacter()
|
||||||
self.wndTaskBar.RefreshQuickSlot()
|
self.wndTaskBar.RefreshQuickSlot()
|
||||||
|
|
||||||
def RefreshQuest(self):
|
if not app.ENABLE_QUEST_RENEWAL:
|
||||||
self.wndCharacter.RefreshQuest()
|
def RefreshQuest(self):
|
||||||
|
self.wndCharacter.RefreshQuest()
|
||||||
|
|
||||||
def RefreshSafebox(self):
|
def RefreshSafebox(self):
|
||||||
self.wndSafebox.RefreshSafebox()
|
self.wndSafebox.RefreshSafebox()
|
||||||
@ -690,7 +695,7 @@ class Interface(object):
|
|||||||
def RemovePartyMember(self, pid):
|
def RemovePartyMember(self, pid):
|
||||||
self.wndParty.RemovePartyMember(pid)
|
self.wndParty.RemovePartyMember(pid)
|
||||||
|
|
||||||
##!! 20061026.levites.<2E><><EFBFBD><EFBFBD>Ʈ_<C6AE><5F>ġ_<C4A1><5F><EFBFBD><EFBFBD>
|
##!! 20061026.levites.<2E><><EFBFBD><EFBFBD>Ʈ_<C6AE><5F>ġ_<C4A1><5F><EFBFBD><EFBFBD>
|
||||||
self.__ArrangeQuestButton()
|
self.__ArrangeQuestButton()
|
||||||
|
|
||||||
def LinkPartyMember(self, pid, vid):
|
def LinkPartyMember(self, pid, vid):
|
||||||
@ -705,7 +710,7 @@ class Interface(object):
|
|||||||
def ExitParty(self):
|
def ExitParty(self):
|
||||||
self.wndParty.ExitParty()
|
self.wndParty.ExitParty()
|
||||||
|
|
||||||
##!! 20061026.levites.<2E><><EFBFBD><EFBFBD>Ʈ_<C6AE><5F>ġ_<C4A1><5F><EFBFBD><EFBFBD>
|
##!! 20061026.levites.<2E><><EFBFBD><EFBFBD>Ʈ_<C6AE><5F>ġ_<C4A1><5F><EFBFBD><EFBFBD>
|
||||||
self.__ArrangeQuestButton()
|
self.__ArrangeQuestButton()
|
||||||
|
|
||||||
def PartyHealReady(self):
|
def PartyHealReady(self):
|
||||||
@ -868,7 +873,7 @@ class Interface(object):
|
|||||||
if True == self.wndChat.IsEditMode():
|
if True == self.wndChat.IsEditMode():
|
||||||
self.wndChat.CloseChat()
|
self.wndChat.CloseChat()
|
||||||
else:
|
else:
|
||||||
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4> <20>Է<EFBFBD><D4B7><EFBFBD> <20>ȵ<EFBFBD>
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4> <20>Է<EFBFBD><D4B7><EFBFBD> <20>ȵ<EFBFBD>
|
||||||
if self.wndWeb and self.wndWeb.IsShow():
|
if self.wndWeb and self.wndWeb.IsShow():
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
@ -969,7 +974,7 @@ class Interface(object):
|
|||||||
else:
|
else:
|
||||||
self.wndExpandedTaskBar.Close()
|
self.wndExpandedTaskBar.Close()
|
||||||
|
|
||||||
# <20><>ȥ<EFBFBD><C8A5>
|
# <20><>ȥ<EFBFBD><C8A5>
|
||||||
def DragonSoulActivate(self, deck):
|
def DragonSoulActivate(self, deck):
|
||||||
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
||||||
self.wndDragonSoul.ActivateDragonSoulByExtern(deck)
|
self.wndDragonSoul.ActivateDragonSoulByExtern(deck)
|
||||||
@ -1040,7 +1045,7 @@ class Interface(object):
|
|||||||
if True == self.wndDragonSoulRefine.IsShow():
|
if True == self.wndDragonSoulRefine.IsShow():
|
||||||
self.wndDragonSoulRefine.Close()
|
self.wndDragonSoulRefine.Close()
|
||||||
|
|
||||||
# <20><>ȥ<EFBFBD><C8A5> <20><>
|
# <20><>ȥ<EFBFBD><C8A5> <20><>
|
||||||
|
|
||||||
def ToggleGuildWindow(self):
|
def ToggleGuildWindow(self):
|
||||||
if not self.wndGuild.IsShow():
|
if not self.wndGuild.IsShow():
|
||||||
@ -1090,7 +1095,7 @@ class Interface(object):
|
|||||||
def OpenWebWindow(self, url):
|
def OpenWebWindow(self, url):
|
||||||
self.wndWeb.Open(url)
|
self.wndWeb.Open(url)
|
||||||
|
|
||||||
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ä<><C3A4><EFBFBD><EFBFBD> <20>ݴ´<DDB4>
|
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ä<><C3A4><EFBFBD><EFBFBD> <20>ݴ´<DDB4>
|
||||||
self.wndChat.CloseChat()
|
self.wndChat.CloseChat()
|
||||||
|
|
||||||
# show GIFT
|
# show GIFT
|
||||||
@ -1118,9 +1123,9 @@ class Interface(object):
|
|||||||
def SucceedCubeWork(self, itemVnum, count):
|
def SucceedCubeWork(self, itemVnum, count):
|
||||||
self.wndCube.Clear()
|
self.wndCube.Clear()
|
||||||
|
|
||||||
print "ť<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>! [%d:%d]" % (itemVnum, count)
|
print "ť<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>! [%d:%d]" % (itemVnum, count)
|
||||||
|
|
||||||
if 0: # <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>
|
if 0: # <20><><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>
|
||||||
self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
|
self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
|
||||||
self.wndCubeResult.SetCubeResultItem(itemVnum, count)
|
self.wndCubeResult.SetCubeResultItem(itemVnum, count)
|
||||||
self.wndCubeResult.Open()
|
self.wndCubeResult.Open()
|
||||||
@ -1263,119 +1268,197 @@ class Interface(object):
|
|||||||
#####################################################################################
|
#####################################################################################
|
||||||
|
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
### Quest ###
|
### Quest ###
|
||||||
def BINARY_ClearQuest(self, index):
|
if app.ENABLE_QUEST_RENEWAL:
|
||||||
btn = self.__FindQuestButton(index)
|
def RefreshQuest(self, quest_type, quest_index):
|
||||||
if 0 != btn:
|
self.wndCharacter.RefreshQuest(quest_type, quest_index)
|
||||||
self.__DestroyQuestButton(btn)
|
|
||||||
|
|
||||||
def RecvQuest(self, index, name):
|
|
||||||
# QUEST_LETTER_IMAGE
|
|
||||||
self.BINARY_RecvQuest(index, name, "file", localeInfo.GetLetterImageName())
|
|
||||||
# END_OF_QUEST_LETTER_IMAGE
|
|
||||||
|
|
||||||
def BINARY_RecvQuest(self, index, name, iconType, iconName):
|
# Refresh quest button.
|
||||||
|
self.__RefreshQuestButton()
|
||||||
|
|
||||||
btn = self.__FindQuestButton(index)
|
def DeleteQuest(self, quest_type, quest_index):
|
||||||
if 0 != btn:
|
self.wndCharacter.DeleteQuest(quest_type, quest_index)
|
||||||
|
|
||||||
|
# Unused.
|
||||||
|
def ShowQuestButton(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def __OnClickQuestLetterButton(self, btn):
|
||||||
|
self.OpenCharacterWindowWithState("QUEST")
|
||||||
|
|
||||||
|
if btn.type == quest.QUEST_TYPE_EVENT:
|
||||||
|
self.wndCharacter.OpenQuestCategory(quest.QUEST_TYPE_EVENT, True)
|
||||||
|
|
||||||
|
self.HideAllQuestButton()
|
||||||
|
global IsQBHide
|
||||||
|
IsQBHide = 1
|
||||||
|
|
||||||
|
def __MakeQuestButton(self):
|
||||||
|
btn = uiWhisper.WhisperButton()
|
||||||
|
btn.SetUpVisual(localeInfo.GetLetterCloseImageName())
|
||||||
|
btn.SetOverVisual(localeInfo.GetLetterOpenImageName())
|
||||||
|
btn.SetDownVisual(localeInfo.GetLetterOpenImageName())
|
||||||
|
btn.SetEvent(ui.__mem_func__(self.__OnClickQuestLetterButton), btn)
|
||||||
|
btn.Hide()
|
||||||
|
btn.type = quest.QUEST_TYPE_MAX
|
||||||
|
btn.count = 0
|
||||||
|
self.questButtonList.append(btn)
|
||||||
|
|
||||||
|
# Used for event quests in order to highlight it.
|
||||||
|
btn = uiWhisper.WhisperButton()
|
||||||
|
btn.SetUpVisual(localeInfo.GetBlueLetterImageName())
|
||||||
|
btn.SetOverVisual(localeInfo.GetBlueLetterOpenImageName())
|
||||||
|
btn.SetDownVisual(localeInfo.GetBlueLetterOpenImageName())
|
||||||
|
btn.SetEvent(ui.__mem_func__(self.__OnClickQuestLetterButton), btn)
|
||||||
|
btn.Hide()
|
||||||
|
btn.type = quest.QUEST_TYPE_EVENT
|
||||||
|
btn.count = 0
|
||||||
|
self.questButtonList.append(btn)
|
||||||
|
|
||||||
|
self.__ArrangeQuestButton()
|
||||||
|
|
||||||
|
def __ArrangeQuestButton(self):
|
||||||
|
screen_width = wndMgr.GetScreenWidth()
|
||||||
|
screen_height = wndMgr.GetScreenHeight()
|
||||||
|
|
||||||
|
x = 100 + 30 if self.wndParty.IsShow() else 20
|
||||||
|
if localeInfo.IsARABIC():
|
||||||
|
x += 15
|
||||||
|
|
||||||
|
y = 170 * screen_height / 600
|
||||||
|
y_count = (screen_height - 330) / 63
|
||||||
|
|
||||||
|
for count, btn in enumerate(self.questButtonList):
|
||||||
|
btn.SetPosition(x + (int(count / y_count) * 100), y + (count % y_count * 63))
|
||||||
|
btn.SetToolTipText(str(btn.count), 0, 35)
|
||||||
|
|
||||||
|
global IsQBHide
|
||||||
|
if IsQBHide:
|
||||||
|
btn.Hide()
|
||||||
|
else:
|
||||||
|
if btn.count > 0:
|
||||||
|
btn.Show()
|
||||||
|
|
||||||
|
def __RefreshQuestButton(self):
|
||||||
|
for btn in self.questButtonList:
|
||||||
|
btn.count = quest.GetQuestButtonNoticeCount(btn.type)
|
||||||
|
self.__ArrangeQuestButton()
|
||||||
|
else:
|
||||||
|
def BINARY_ClearQuest(self, index):
|
||||||
|
btn = self.__FindQuestButton(index)
|
||||||
|
if 0 != btn:
|
||||||
|
self.__DestroyQuestButton(btn)
|
||||||
|
|
||||||
|
def RecvQuest(self, index, name):
|
||||||
|
# QUEST_LETTER_IMAGE
|
||||||
|
self.BINARY_RecvQuest(index, name, "file", localeInfo.GetLetterImageName())
|
||||||
|
# END_OF_QUEST_LETTER_IMAGE
|
||||||
|
|
||||||
|
def BINARY_RecvQuest(self, index, name, iconType, iconName):
|
||||||
|
btn = self.__FindQuestButton(index)
|
||||||
|
if 0 != btn:
|
||||||
|
self.__DestroyQuestButton(btn)
|
||||||
|
|
||||||
|
btn = uiWhisper.WhisperButton()
|
||||||
|
|
||||||
|
# QUEST_LETTER_IMAGE
|
||||||
|
## !! 20061026.levites.Äù½ºÆ®_À̹ÌÁö_±³Ã¼
|
||||||
|
import item
|
||||||
|
if "item" == iconType:
|
||||||
|
item.SelectItem(int(iconName))
|
||||||
|
buttonImageFileName = item.GetIconImageFileName()
|
||||||
|
else:
|
||||||
|
buttonImageFileName = iconName
|
||||||
|
|
||||||
|
if localeInfo.IsEUROPE():
|
||||||
|
if "highlight" == iconType:
|
||||||
|
btn.SetUpVisual("locale/ymir_ui/highlighted_quest.tga")
|
||||||
|
btn.SetOverVisual("locale/ymir_ui/highlighted_quest_r.tga")
|
||||||
|
btn.SetDownVisual("locale/ymir_ui/highlighted_quest_r.tga")
|
||||||
|
else:
|
||||||
|
btn.SetUpVisual(localeInfo.GetLetterCloseImageName())
|
||||||
|
btn.SetOverVisual(localeInfo.GetLetterOpenImageName())
|
||||||
|
btn.SetDownVisual(localeInfo.GetLetterOpenImageName())
|
||||||
|
else:
|
||||||
|
btn.SetUpVisual(buttonImageFileName)
|
||||||
|
btn.SetOverVisual(buttonImageFileName)
|
||||||
|
btn.SetDownVisual(buttonImageFileName)
|
||||||
|
btn.Flash()
|
||||||
|
# END_OF_QUEST_LETTER_IMAGE
|
||||||
|
|
||||||
|
if localeInfo.IsARABIC():
|
||||||
|
btn.SetToolTipText(name, 0, 35)
|
||||||
|
btn.ToolTipText.SetHorizontalAlignCenter()
|
||||||
|
else:
|
||||||
|
btn.SetToolTipText(name, -20, 35)
|
||||||
|
btn.ToolTipText.SetHorizontalAlignLeft()
|
||||||
|
|
||||||
|
btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
|
||||||
|
btn.Show()
|
||||||
|
|
||||||
|
btn.index = index
|
||||||
|
btn.name = name
|
||||||
|
|
||||||
|
self.questButtonList.insert(0, btn)
|
||||||
|
self.__ArrangeQuestButton()
|
||||||
|
|
||||||
|
#chat.AppendChat(chat.CHAT_TYPE_NOTICE, localeInfo.QUEST_APPEND)
|
||||||
|
|
||||||
|
def __ArrangeQuestButton(self):
|
||||||
|
screenWidth = wndMgr.GetScreenWidth()
|
||||||
|
screenHeight = wndMgr.GetScreenHeight()
|
||||||
|
|
||||||
|
## !! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
|
||||||
|
if self.wndParty.IsShow():
|
||||||
|
xPos = 100 + 30
|
||||||
|
else:
|
||||||
|
xPos = 20
|
||||||
|
|
||||||
|
if localeInfo.IsARABIC():
|
||||||
|
xPos = xPos + 15
|
||||||
|
|
||||||
|
yPos = 170 * screenHeight / 600
|
||||||
|
yCount = (screenHeight - 330) / 63
|
||||||
|
|
||||||
|
count = 0
|
||||||
|
for btn in self.questButtonList:
|
||||||
|
btn.SetPosition(xPos + (int(count / yCount) * 100), yPos + (count % yCount * 63))
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
global IsQBHide
|
||||||
|
if IsQBHide:
|
||||||
|
btn.Hide()
|
||||||
|
else:
|
||||||
|
btn.Show()
|
||||||
|
|
||||||
|
def __StartQuest(self, btn):
|
||||||
|
event.QuestButtonClick(btn.index)
|
||||||
self.__DestroyQuestButton(btn)
|
self.__DestroyQuestButton(btn)
|
||||||
|
|
||||||
btn = uiWhisper.WhisperButton()
|
def __FindQuestButton(self, index):
|
||||||
|
for btn in self.questButtonList:
|
||||||
|
if btn.index == index:
|
||||||
|
return btn
|
||||||
|
|
||||||
# QUEST_LETTER_IMAGE
|
return 0
|
||||||
##!! 20061026.levites.<2E><><EFBFBD><EFBFBD>Ʈ_<C6AE>̹<EFBFBD><CCB9><EFBFBD>_<EFBFBD><5F>ü
|
|
||||||
import item
|
|
||||||
if "item"==iconType:
|
|
||||||
item.SelectItem(int(iconName))
|
|
||||||
buttonImageFileName=item.GetIconImageFileName()
|
|
||||||
else:
|
|
||||||
buttonImageFileName=iconName
|
|
||||||
|
|
||||||
if localeInfo.IsEUROPE():
|
def __DestroyQuestButton(self, btn):
|
||||||
if "highlight" == iconType:
|
btn.SetEvent(0)
|
||||||
btn.SetUpVisual("locale/ymir_ui/highlighted_quest.tga")
|
self.questButtonList.remove(btn)
|
||||||
btn.SetOverVisual("locale/ymir_ui/highlighted_quest_r.tga")
|
self.__ArrangeQuestButton()
|
||||||
btn.SetDownVisual("locale/ymir_ui/highlighted_quest_r.tga")
|
|
||||||
else:
|
|
||||||
btn.SetUpVisual(localeInfo.GetLetterCloseImageName())
|
|
||||||
btn.SetOverVisual(localeInfo.GetLetterOpenImageName())
|
|
||||||
btn.SetDownVisual(localeInfo.GetLetterOpenImageName())
|
|
||||||
else:
|
|
||||||
btn.SetUpVisual(buttonImageFileName)
|
|
||||||
btn.SetOverVisual(buttonImageFileName)
|
|
||||||
btn.SetDownVisual(buttonImageFileName)
|
|
||||||
btn.Flash()
|
|
||||||
# END_OF_QUEST_LETTER_IMAGE
|
|
||||||
|
|
||||||
if localeInfo.IsARABIC():
|
|
||||||
btn.SetToolTipText(name, 0, 35)
|
|
||||||
btn.ToolTipText.SetHorizontalAlignCenter()
|
|
||||||
else:
|
|
||||||
btn.SetToolTipText(name, -20, 35)
|
|
||||||
btn.ToolTipText.SetHorizontalAlignLeft()
|
|
||||||
|
|
||||||
btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
|
|
||||||
btn.Show()
|
|
||||||
|
|
||||||
btn.index = index
|
|
||||||
btn.name = name
|
|
||||||
|
|
||||||
self.questButtonList.insert(0, btn)
|
|
||||||
self.__ArrangeQuestButton()
|
|
||||||
|
|
||||||
#chat.AppendChat(chat.CHAT_TYPE_NOTICE, localeInfo.QUEST_APPEND)
|
|
||||||
|
|
||||||
def __ArrangeQuestButton(self):
|
|
||||||
|
|
||||||
screenWidth = wndMgr.GetScreenWidth()
|
|
||||||
screenHeight = wndMgr.GetScreenHeight()
|
|
||||||
|
|
||||||
##!! 20061026.levites.<2E><><EFBFBD><EFBFBD>Ʈ_<C6AE><5F>ġ_<C4A1><5F><EFBFBD><EFBFBD>
|
|
||||||
if self.wndParty.IsShow():
|
|
||||||
xPos = 100 + 30
|
|
||||||
else:
|
|
||||||
xPos = 20
|
|
||||||
|
|
||||||
if localeInfo.IsARABIC():
|
|
||||||
xPos = xPos + 15
|
|
||||||
|
|
||||||
yPos = 170 * screenHeight / 600
|
|
||||||
yCount = (screenHeight - 330) / 63
|
|
||||||
|
|
||||||
count = 0
|
|
||||||
for btn in self.questButtonList:
|
|
||||||
|
|
||||||
btn.SetPosition(xPos + (int(count/yCount) * 100), yPos + (count%yCount * 63))
|
|
||||||
count += 1
|
|
||||||
global IsQBHide
|
|
||||||
if IsQBHide:
|
|
||||||
btn.Hide()
|
|
||||||
else:
|
|
||||||
btn.Show()
|
|
||||||
|
|
||||||
def __StartQuest(self, btn):
|
|
||||||
event.QuestButtonClick(btn.index)
|
|
||||||
self.__DestroyQuestButton(btn)
|
|
||||||
|
|
||||||
def __FindQuestButton(self, index):
|
|
||||||
for btn in self.questButtonList:
|
|
||||||
if btn.index == index:
|
|
||||||
return btn
|
|
||||||
|
|
||||||
return 0
|
|
||||||
|
|
||||||
def __DestroyQuestButton(self, btn):
|
|
||||||
btn.SetEvent(0)
|
|
||||||
self.questButtonList.remove(btn)
|
|
||||||
self.__ArrangeQuestButton()
|
|
||||||
|
|
||||||
def HideAllQuestButton(self):
|
def HideAllQuestButton(self):
|
||||||
for btn in self.questButtonList:
|
for btn in self.questButtonList:
|
||||||
btn.Hide()
|
btn.Hide()
|
||||||
|
|
||||||
def ShowAllQuestButton(self):
|
def ShowAllQuestButton(self):
|
||||||
for btn in self.questButtonList:
|
if app.ENABLE_QUEST_RENEWAL:
|
||||||
btn.Show()
|
for btn in self.questButtonList:
|
||||||
|
if btn.count > 0:
|
||||||
|
btn.Show()
|
||||||
|
else:
|
||||||
|
for btn in self.questButtonList:
|
||||||
|
btn.Show()
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
|
|
||||||
#####################################################################################
|
#####################################################################################
|
||||||
@ -1384,8 +1467,8 @@ class Interface(object):
|
|||||||
def __InitWhisper(self):
|
def __InitWhisper(self):
|
||||||
chat.InitWhisper(self)
|
chat.InitWhisper(self)
|
||||||
|
|
||||||
## ä<><C3A4>â<EFBFBD><C3A2> "<22><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭâ<C8AD><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
## ä<><C3A4>â<EFBFBD><C3A2> "<22><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭâ<C8AD><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||||
## <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WhisperDialogDict <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.
|
## <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WhisperDialogDict <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.
|
||||||
def OpenWhisperDialogWithoutTarget(self):
|
def OpenWhisperDialogWithoutTarget(self):
|
||||||
if not self.dlgWhisperWithoutTarget:
|
if not self.dlgWhisperWithoutTarget:
|
||||||
dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
|
dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
|
||||||
@ -1402,7 +1485,7 @@ class Interface(object):
|
|||||||
self.dlgWhisperWithoutTarget.SetTop()
|
self.dlgWhisperWithoutTarget.SetTop()
|
||||||
self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
|
self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
|
||||||
|
|
||||||
## <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭâ<C8AD><C3A2><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WhisperDialogDict<63><74> â<><C3A2> <20>־<EFBFBD><D6BE>ִ<EFBFBD> <20>Լ<EFBFBD>
|
## <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭâ<C8AD><C3A2><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WhisperDialogDict<63><74> â<><C3A2> <20>־<EFBFBD><D6BE>ִ<EFBFBD> <20>Լ<EFBFBD>
|
||||||
def RegisterTemporaryWhisperDialog(self, name):
|
def RegisterTemporaryWhisperDialog(self, name):
|
||||||
if not self.dlgWhisperWithoutTarget:
|
if not self.dlgWhisperWithoutTarget:
|
||||||
return
|
return
|
||||||
@ -1421,7 +1504,7 @@ class Interface(object):
|
|||||||
self.dlgWhisperWithoutTarget = None
|
self.dlgWhisperWithoutTarget = None
|
||||||
self.__CheckGameMaster(name)
|
self.__CheckGameMaster(name)
|
||||||
|
|
||||||
## ij<><C4B3><EFBFBD><EFBFBD> <20><EFBFBD><DEB4><EFBFBD> 1:1 <20><>ȭ <20>ϱ⸦ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
## ij<><C4B3><EFBFBD><EFBFBD> <20><EFBFBD><DEB4><EFBFBD> 1:1 <20><>ȭ <20>ϱ⸦ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||||
def OpenWhisperDialog(self, name):
|
def OpenWhisperDialog(self, name):
|
||||||
if not self.whisperDialogDict.has_key(name):
|
if not self.whisperDialogDict.has_key(name):
|
||||||
dlg = self.__MakeWhisperDialog(name)
|
dlg = self.__MakeWhisperDialog(name)
|
||||||
@ -1434,7 +1517,7 @@ class Interface(object):
|
|||||||
if 0 != btn:
|
if 0 != btn:
|
||||||
self.__DestroyWhisperButton(btn)
|
self.__DestroyWhisperButton(btn)
|
||||||
|
|
||||||
## <20>ٸ<EFBFBD> ij<><C4B3><EFBFBD>ͷκ<CDB7><CEBA><EFBFBD> <20><EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBE><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD> <20>δ<EFBFBD> <20>Լ<EFBFBD>
|
## <20>ٸ<EFBFBD> ij<><C4B3><EFBFBD>ͷκ<CDB7><CEBA><EFBFBD> <20><EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBE><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD> <20>δ<EFBFBD> <20>Լ<EFBFBD>
|
||||||
def RecvWhisper(self, name):
|
def RecvWhisper(self, name):
|
||||||
if not self.whisperDialogDict.has_key(name):
|
if not self.whisperDialogDict.has_key(name):
|
||||||
btn = self.__FindWhisperButton(name)
|
btn = self.__FindWhisperButton(name)
|
||||||
@ -1453,7 +1536,7 @@ class Interface(object):
|
|||||||
def MakeWhisperButton(self, name):
|
def MakeWhisperButton(self, name):
|
||||||
self.__MakeWhisperButton(name)
|
self.__MakeWhisperButton(name)
|
||||||
|
|
||||||
## <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
## <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||||
def ShowWhisperDialog(self, btn):
|
def ShowWhisperDialog(self, btn):
|
||||||
try:
|
try:
|
||||||
self.__MakeWhisperDialog(btn.name)
|
self.__MakeWhisperDialog(btn.name)
|
||||||
@ -1465,11 +1548,11 @@ class Interface(object):
|
|||||||
import dbg
|
import dbg
|
||||||
dbg.TraceError("interface.ShowWhisperDialog - Failed to find key")
|
dbg.TraceError("interface.ShowWhisperDialog - Failed to find key")
|
||||||
|
|
||||||
## <20><>ư <20>ʱ<EFBFBD>ȭ
|
## <20><>ư <20>ʱ<EFBFBD>ȭ
|
||||||
self.__DestroyWhisperButton(btn)
|
self.__DestroyWhisperButton(btn)
|
||||||
|
|
||||||
## WhisperDialog â<><C3A2><EFBFBD><EFBFBD> <20>ּ<EFBFBD>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>Ǵ<EFBFBD> <20>Լ<EFBFBD>
|
## WhisperDialog â<><C3A2><EFBFBD><EFBFBD> <20>ּ<EFBFBD>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3>Ǵ<EFBFBD> <20>Լ<EFBFBD>
|
||||||
## â<><C3A2> <20>ּ<EFBFBD>ȭ <20>մϴ<D5B4>.
|
## â<><C3A2> <20>ּ<EFBFBD>ȭ <20>մϴ<D5B4>.
|
||||||
def MinimizeWhisperDialog(self, name):
|
def MinimizeWhisperDialog(self, name):
|
||||||
|
|
||||||
if 0 != name:
|
if 0 != name:
|
||||||
@ -1477,8 +1560,8 @@ class Interface(object):
|
|||||||
|
|
||||||
self.CloseWhisperDialog(name)
|
self.CloseWhisperDialog(name)
|
||||||
|
|
||||||
## WhisperDialog â<><C3A2><EFBFBD><EFBFBD> <20>ݱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>Ǵ<EFBFBD> <20>Լ<EFBFBD>
|
## WhisperDialog â<><C3A2><EFBFBD><EFBFBD> <20>ݱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3>Ǵ<EFBFBD> <20>Լ<EFBFBD>
|
||||||
## â<><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
## â<><C3A2> <20><><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||||
def CloseWhisperDialog(self, name):
|
def CloseWhisperDialog(self, name):
|
||||||
|
|
||||||
if 0 == name:
|
if 0 == name:
|
||||||
@ -1497,7 +1580,7 @@ class Interface(object):
|
|||||||
import dbg
|
import dbg
|
||||||
dbg.TraceError("interface.CloseWhisperDialog - Failed to find key")
|
dbg.TraceError("interface.CloseWhisperDialog - Failed to find key")
|
||||||
|
|
||||||
## <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20>Լ<EFBFBD>
|
## <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20>Լ<EFBFBD>
|
||||||
def __ArrangeWhisperButton(self):
|
def __ArrangeWhisperButton(self):
|
||||||
|
|
||||||
screenWidth = wndMgr.GetScreenWidth()
|
screenWidth = wndMgr.GetScreenWidth()
|
||||||
@ -1514,9 +1597,9 @@ class Interface(object):
|
|||||||
button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount * 63))
|
button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount * 63))
|
||||||
count += 1
|
count += 1
|
||||||
|
|
||||||
## <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> Whisper <20><>ư<EFBFBD><C6B0> ã<><C3A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>Լ<EFBFBD>
|
## <20≯<EFBFBD><CCB8><EFBFBD><EFBFBD><EFBFBD> Whisper <20><>ư<EFBFBD><C6B0> ã<><C3A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>Լ<EFBFBD>
|
||||||
## <20><>ư<EFBFBD><C6B0> <20><><EFBFBD>ųʸ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
## <20><>ư<EFBFBD><C6B0> <20><>ųʸ<C5B3><CAB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
## <20>̷<EFBFBD> <20><><EFBFBD><EFBFBD> ToolTip<69><70><EFBFBD><EFBFBD> <20>ٸ<EFBFBD> <20><>ư<EFBFBD>鿡 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.
|
## <20>̷<EFBFBD> <20><><EFBFBD><EFBFBD> ToolTip<69><70><EFBFBD><EFBFBD> <20>ٸ<EFBFBD> <20><>ư<EFBFBD>鿡 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.
|
||||||
def __FindWhisperButton(self, name):
|
def __FindWhisperButton(self, name):
|
||||||
for button in self.whisperButtonList:
|
for button in self.whisperButtonList:
|
||||||
if button.name == name:
|
if button.name == name:
|
||||||
@ -1524,7 +1607,7 @@ class Interface(object):
|
|||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
## â<><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
## â<><C3A2> <20><><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||||
def __MakeWhisperDialog(self, name):
|
def __MakeWhisperDialog(self, name):
|
||||||
dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
|
dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
|
||||||
dlgWhisper.BindInterface(self)
|
dlgWhisper.BindInterface(self)
|
||||||
@ -1536,7 +1619,7 @@ class Interface(object):
|
|||||||
|
|
||||||
return dlgWhisper
|
return dlgWhisper
|
||||||
|
|
||||||
## <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
## <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||||
def __MakeWhisperButton(self, name):
|
def __MakeWhisperButton(self, name):
|
||||||
whisperButton = uiWhisper.WhisperButton()
|
whisperButton = uiWhisper.WhisperButton()
|
||||||
whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
|
whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import app
|
import app
|
||||||
import constInfo
|
import constInfo
|
||||||
|
|
||||||
MAP_TRENT02 = "MAP_TRENT02" # <20>ӽ<EFBFBD>
|
MAP_TRENT02 = "MAP_TRENT02" # <20>ӽ<EFBFBD>
|
||||||
MAP_WL = "MAP_WL" # <20>ӽ<EFBFBD>
|
MAP_WL = "MAP_WL" # <20>ӽ<EFBFBD>
|
||||||
MAP_NUSLUCK = "MAP_NUSLUCK" # <20>ӽ<EFBFBD>
|
MAP_NUSLUCK = "MAP_NUSLUCK" # <20>ӽ<EFBFBD>
|
||||||
MAP_TREE2 = "MAP_TREE2"
|
MAP_TREE2 = "MAP_TREE2"
|
||||||
|
|
||||||
BLEND_POTION_NO_TIME = "BLEND_POTION_NO_TIME"
|
BLEND_POTION_NO_TIME = "BLEND_POTION_NO_TIME"
|
||||||
@ -23,7 +23,7 @@ CHANNEL_NOTIFY_FULL = "CHANNEL_NOTIFY_FULL"
|
|||||||
GUILD_BUILDING_LIST_TXT = app.GetLocalePath() + "/GuildBuildingList.txt"
|
GUILD_BUILDING_LIST_TXT = app.GetLocalePath() + "/GuildBuildingList.txt"
|
||||||
|
|
||||||
GUILD_MARK_MIN_LEVEL = "3"
|
GUILD_MARK_MIN_LEVEL = "3"
|
||||||
GUILD_MARK_NOT_ENOUGH_LEVEL = "<EFBFBD><EFBFBD><EFBFBD>巹<EFBFBD><EFBFBD> 3<>̻<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>."
|
GUILD_MARK_NOT_ENOUGH_LEVEL = "<EFBFBD><EFBFBD>巹<EFBFBD><EFBFBD> 3<>̻<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>մϴ<D5B4>."
|
||||||
|
|
||||||
ERROR_MARK_UPLOAD_NEED_RECONNECT = "UploadMark: Reconnect to game"
|
ERROR_MARK_UPLOAD_NEED_RECONNECT = "UploadMark: Reconnect to game"
|
||||||
ERROR_MARK_CHECK_NEED_RECONNECT = "CheckMark: Reconnect to game"
|
ERROR_MARK_CHECK_NEED_RECONNECT = "CheckMark: Reconnect to game"
|
||||||
@ -32,7 +32,7 @@ VIRTUAL_KEY_ALPHABET_LOWERS = r"[1234567890]/qwertyuiop\=asdfghjkl;`'zxcvbnm.,"
|
|||||||
VIRTUAL_KEY_ALPHABET_UPPERS = r'{1234567890}?QWERTYUIOP|+ASDFGHJKL:~"ZXCVBNM<>'
|
VIRTUAL_KEY_ALPHABET_UPPERS = r'{1234567890}?QWERTYUIOP|+ASDFGHJKL:~"ZXCVBNM<>'
|
||||||
VIRTUAL_KEY_SYMBOLS = '!@#$%^&*()_+|{}:"<>?~'
|
VIRTUAL_KEY_SYMBOLS = '!@#$%^&*()_+|{}:"<>?~'
|
||||||
VIRTUAL_KEY_NUMBERS = "1234567890-=\[];',./`"
|
VIRTUAL_KEY_NUMBERS = "1234567890-=\[];',./`"
|
||||||
VIRTUAL_KEY_SYMBOLS_BR = '!@#$%^&*()_+|{}:"<>?~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
VIRTUAL_KEY_SYMBOLS_BR = '!@#$%^&*()_+|{}:"<>?~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||||
|
|
||||||
__IS_ENGLISH = "ENGLISH" == app.GetLocaleServiceName()
|
__IS_ENGLISH = "ENGLISH" == app.GetLocaleServiceName()
|
||||||
__IS_HONGKONG = "HONGKONG" == app.GetLocaleServiceName()
|
__IS_HONGKONG = "HONGKONG" == app.GetLocaleServiceName()
|
||||||
@ -106,7 +106,7 @@ def IsWE_KOREA():
|
|||||||
def LoadLocaleData():
|
def LoadLocaleData():
|
||||||
if IsYMIR():
|
if IsYMIR():
|
||||||
import net
|
import net
|
||||||
SERVER = "<EFBFBD>赵 <20><><EFBFBD><EFBFBD>"
|
SERVER = "<EFBFBD>赵 <20><><EFBFBD><EFBFBD>"
|
||||||
if SERVER == net.GetServerInfo()[:len(SERVER)]:
|
if SERVER == net.GetServerInfo()[:len(SERVER)]:
|
||||||
app.SetCHEONMA(0)
|
app.SetCHEONMA(0)
|
||||||
app.LoadLocaleData("locale/we_korea")
|
app.LoadLocaleData("locale/we_korea")
|
||||||
@ -119,7 +119,7 @@ def LoadLocaleData():
|
|||||||
app.LoadLocaleData(app.GetLocalePath())
|
app.LoadLocaleData(app.GetLocalePath())
|
||||||
|
|
||||||
def IsCHEONMA():
|
def IsCHEONMA():
|
||||||
return IsYMIR() # <20><><EFBFBD><EFBFBD> YMIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> õ<><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. õ<><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.
|
return IsYMIR() # <20><><EFBFBD><EFBFBD> YMIR <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> õ<><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. õ<><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ݱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
# END_OF_SUPPORT_NEW_KOREA_SERVER
|
# END_OF_SUPPORT_NEW_KOREA_SERVER
|
||||||
|
|
||||||
@ -181,13 +181,13 @@ elif IsSINGAPORE() :
|
|||||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||||
constInfo.IN_GAME_SHOP_ENABLE = 0
|
constInfo.IN_GAME_SHOP_ENABLE = 0
|
||||||
elif IsNEWCIBN() :
|
elif IsNEWCIBN() :
|
||||||
##<23><><EFBFBD>Ӹ<EFBFBD><D3B8>̱<EFBFBD><CCB1><EFBFBD><EFBFBD><EFBFBD>.
|
##<23><><EFBFBD>Ӹ<EFBFBD><D3B8>̱<EFBFBD><CCB1><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
APP_TITLE = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2"
|
APP_TITLE = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2"
|
||||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||||
constInfo.IN_GAME_SHOP_ENABLE = 1
|
constInfo.IN_GAME_SHOP_ENABLE = 1
|
||||||
elif IsTAIWAN():
|
elif IsTAIWAN():
|
||||||
APP_TITLE = "<EFBFBD><EFBFBD>III<EFBFBD><EFBFBD>"
|
APP_TITLE = "<EFBFBD><EFBFBD>III<EFBFBD><EFBFBD>"
|
||||||
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
FN_GM_MARK = "%s/effect/gm.mse" % app.GetLocalePath()
|
||||||
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
|
||||||
|
|
||||||
@ -202,31 +202,31 @@ else:
|
|||||||
LoadLocaleFile(LOCALE_FILE_NAME, locals())
|
LoadLocaleFile(LOCALE_FILE_NAME, locals())
|
||||||
|
|
||||||
########################################################################################################
|
########################################################################################################
|
||||||
## NOTE : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><> <20><><EFBFBD><EFBFBD><EFBFBD>ðڽ<C3B0><DABD>ϱ<EFBFBD>?" <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>
|
## NOTE : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><> <20><><EFBFBD><EFBFBD><EFBFBD>ðڽ<C3B0><DABD>ϱ<EFBFBD>?" <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ<EFBFBD>
|
||||||
dictSingleWord = {
|
dictSingleWord = {
|
||||||
"m":1, "n":1, "r":1, "M":1, "N":1, "R":1, "l":1, "L":1, "1":1, "3":1, "6":1, "7":1, "8":1, "0":1,
|
"m":1, "n":1, "r":1, "M":1, "N":1, "R":1, "l":1, "L":1, "1":1, "3":1, "6":1, "7":1, "8":1, "0":1,
|
||||||
}
|
}
|
||||||
|
|
||||||
dictDoubleWord = {
|
dictDoubleWord = {
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>v":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>R":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>v":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>R":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD>x":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD>x":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>m":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>O":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>l":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>m":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>O":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>l":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>u":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>u":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD>X":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>o":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>y":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD>X":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>o":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>y":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>p":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>p":1,
|
||||||
"¥":1, "¹":1, "¼":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>c":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "°":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>R":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>n":1,
|
"¥":1, "¹":1, "¼":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>c":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "°":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>R":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>n":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "í":1, "ó":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ġ":1, "ä":1, "<EFBFBD><EFBFBD>":1, "ü":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>M":1,
|
"<EFBFBD><EFBFBD>":1, "í":1, "ó":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ġ":1, "ä":1, "<EFBFBD><EFBFBD>":1, "ü":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>M":1,
|
||||||
"ī":1, "ļ":1, "Ŀ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ť":1, "ũ":1, "Ű":1, "ij":1, "<EFBFBD>m":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"ī":1, "ļ":1, "Ŀ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ť":1, "ũ":1, "Ű":1, "ij":1, "<EFBFBD>m":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
"Ÿ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "Ʃ":1, "Ʈ":1, "Ƽ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>O":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ơ":1, "<EFBFBD><EFBFBD>":1, "Ƣ":1, "Ʒ":1,
|
"Ÿ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "Ʃ":1, "Ʈ":1, "Ƽ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD>O":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ơ":1, "<EFBFBD><EFBFBD>":1, "Ƣ":1, "Ʒ":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ǥ":1, "Ǫ":1, "ǻ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ǡ":1, "<EFBFBD><EFBFBD>":1, "Ǵ":1, "<EFBFBD>R":1, "ǣ":1, "Ƕ":1, "<EFBFBD>c":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ǥ":1, "Ǫ":1, "ǻ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ǡ":1, "<EFBFBD><EFBFBD>":1, "Ǵ":1, "<EFBFBD>R":1, "ǣ":1, "Ƕ":1, "<EFBFBD>c":1,
|
||||||
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ȣ":1, "ȿ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ȭ":1, "ȳ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ȸ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
"<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ȣ":1, "ȿ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ȭ":1, "ȳ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1, "ȸ":1, "<EFBFBD><EFBFBD>":1, "<EFBFBD><EFBFBD>":1,
|
||||||
}
|
}
|
||||||
|
|
||||||
locale = mapping(
|
locale = mapping(
|
||||||
@ -415,129 +415,129 @@ JOBINFO_TITLE = [
|
|||||||
|
|
||||||
JOBINFO_DATA_LIST = [
|
JOBINFO_DATA_LIST = [
|
||||||
[
|
[
|
||||||
["Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
["Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>ⰳ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>þ<EFBFBD> [<5B><><EFBFBD><EFBFBD>]<5D><><EFBFBD><EFBFBD>",
|
"<EFBFBD>ⰳ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>þ<EFBFBD> [<5B><><EFBFBD><EFBFBD>]<5D><><EFBFBD>",
|
||||||
"<EFBFBD>θ<EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><EEB6B0> <20><><EFBFBD><EFBFBD><E2BFA1><EFBFBD><EFBFBD> <20><EFBFBD><D7B5><EFBFBD> ",
|
"<EFBFBD>θ<EFBFBD><EFBFBD><EFBFBD>. <20><EFBFBD><EEB6B0> <20><><EFBFBD><EFBFBD><E2BFA1><EFBFBD><EFBFBD> <20><EFBFBD><D7B5><EFBFBD> ",
|
||||||
"<EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD>ڷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>̱<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ḧ <20><><EFBFBD><EFBFBD> <20>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD>̱<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ḧ <20><><EFBFBD><EFBFBD> <20>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ο<EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>. <20>̵<EFBFBD><CCB5><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ο<EFBFBD> <20>Ѵ<EFBFBD>. <20>̵<EFBFBD><CCB5><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD> <20>ܷõ<DCB7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݷ<EFBFBD>",
|
"<EFBFBD><EFBFBD> <20>ܷõ<DCB7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ݷ<EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC>ο<EFBFBD><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ּ<EFBFBD><D6BC>ο<EFBFBD><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"Ȱ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. ",],
|
"Ȱ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. ",],
|
||||||
["<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ",
|
["<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, ",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, ",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, ",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD>",
|
||||||
"Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD>. <20><><EFBFBD><EFBFBD>",
|
"Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD>. <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD>̱<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD>̱<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>.",],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>.",],
|
||||||
["<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD> <20>̿<EFBFBD><CCBF>ϴ<EFBFBD>",
|
["<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD> <20>̿<EFBFBD><CCBF>ϴ<EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>/<2F>ٰŸ<D9B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD>/<2F>ٰŸ<D9B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>",
|
||||||
"<EFBFBD>ϳ<EFBFBD><EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1>",
|
"<EFBFBD>ϳ<EFBFBD><EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1>",
|
||||||
"Ȱ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"Ȱ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, ",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, ",
|
||||||
"<EFBFBD><EFBFBD>/<2F>ٰŸ<D9B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>",
|
"<EFBFBD><EFBFBD>/<2F>ٰŸ<D9B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8> <20>ø<EFBFBD><C3B8><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> ",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8> <20>ø<EFBFBD><C3B8><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> ",
|
||||||
"<EFBFBD><EFBFBD> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD>",
|
||||||
"Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<>¿<EFBFBD><C2BF><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
"Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<>¿<EFBFBD><C2BF><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["<EFBFBD>ڰ<EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EEB6B0> <20><>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD>",
|
["<EFBFBD>ڰ<EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EEB6B0> <20><>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ӹ<EFBFBD><D3B9><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ӹ<EFBFBD><D3B9><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ鼭 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ鼭 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>",
|
||||||
"<EFBFBD>ڵ<EFBFBD><EFBFBD>̴<EFBFBD>. <20>̵<EFBFBD><CCB5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ż<EFBFBD>",
|
"<EFBFBD>ڵ<EFBFBD><EFBFBD>̴<EFBFBD>. <20>̵<EFBFBD><CCB5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ż<EFBFBD>",
|
||||||
"<EFBFBD>ϸ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD>ϸ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>ൿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ҿ<DEBC> ġ<><C4A1>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD>ൿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ҿ<DEBC> ġ<><C4A1>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>, <20><><EFBFBD>忡<EFBFBD><E5BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD>, <20><><EFBFBD>忡<EFBFBD><E5BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"ȭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"ȭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>. "],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>. "],
|
||||||
["<EFBFBD>μ<EFBFBD> <20>ܰ<EFBFBD><DCB0><EFBFBD> <20>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD>, <20>ż<EFBFBD>",
|
["<EFBFBD>μ<EFBFBD> <20>ܰ<EFBFBD><DCB0><EFBFBD> <20>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7>, <20>ż<EFBFBD>",
|
||||||
"<EFBFBD>ϰ<EFBFBD> ġ<><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڰ<EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD>ϰ<EFBFBD> ġ<><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڰ<EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>ϵ<EFBFBD>, <20>ٷ<EFBFBD><D9B7><EFBFBD> <20>÷<EFBFBD> <20><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD> <20><><EFBFBD>δ<EFBFBD>.",
|
"<EFBFBD>ϵ<EFBFBD>, <20>ٷ<EFBFBD><D9B7><EFBFBD> <20>÷<EFBFBD> <20><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD> <20><><EFBFBD>δ<EFBFBD>.",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> ",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<>¿<EFBFBD><C2BF><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<>¿<EFBFBD><C2BF><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
||||||
["Ȱ<EFBFBD><EFBFBD> <20>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD>, <20><> <20>þ߿<C3BE>",
|
["Ȱ<EFBFBD><EFBFBD> <20>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7>, <20><> <20>þ߿<C3BE>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD>忡<EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD>忡<EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD> <20>ϸ<EFBFBD>, <20><><EFBFBD>Ÿ<EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD> <20>ϸ<EFBFBD>, <20><><EFBFBD>Ÿ<EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD>",
|
||||||
"<EFBFBD>ø<EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>鿡<EFBFBD><E9BFA1>",
|
"<EFBFBD>ø<EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>鿡<EFBFBD><E9BFA1>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD> <20><>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><>Ƽ<EFBFBD><C6BC>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD> <20><>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><>Ƽ<EFBFBD><C6BC>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"ü<EFBFBD>¿<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡",
|
"ü<EFBFBD>¿<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡",
|
||||||
"<EFBFBD>ִ<EFBFBD>. ", ],
|
"<EFBFBD>ִ<EFBFBD>. ", ],
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [<5B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<5D><> <20>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD>",
|
["<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [<5B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<5D><> <20>Ӽ<EFBFBD><D3BC><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"â<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ư<><C6AF> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>. ",
|
"â<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ư<><C6AF> <20>Ӽ<EFBFBD><D3BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>. ",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⸦ <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⸦ <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>, <20>Ǹ<EFBFBD><C7B8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>, <20>Ǹ<EFBFBD><C7B8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ź<EFBFBD><C5BA><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȥ<EFBFBD><C8A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȥ<EFBFBD><C8A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>˰<EFBFBD> <20><><EFBFBD>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD> <20>ڽ<EFBFBD><DABD><EFBFBD> <20>˰<EFBFBD> <20><><EFBFBD>ʿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD>, <20><><EFBFBD>忡<EFBFBD><E5BFA1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD>, <20><><EFBFBD>忡<EFBFBD><E5BFA1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ <20>ϴµ<CFB4>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ <20>ϴµ<CFB4>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>þ<EFBFBD> [<5B><><EFBFBD><EFBFBD>]<5D>̶<EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>þ<EFBFBD> [<5B><><EFBFBD><EFBFBD>]<5D>̶<EFBFBD>",
|
||||||
"<EFBFBD>θ<EFBFBD><EFBFBD>⸦ <20><><EFBFBD><EFBFBD> <20>ɴ´<C9B4>."],
|
"<EFBFBD>θ<EFBFBD><EFBFBD>⸦ <20><><EFBFBD><EFBFBD> <20>ɴ´<C9B4>."],
|
||||||
["ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD><C7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
["ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD><C7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⳪ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⳪ <20><><EFBFBD><EEB1B8>",
|
||||||
"<EFBFBD>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD>忡<EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD>忡<EFBFBD><EFBFBD> Ȱ<><C8B0><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>",
|
||||||
"<EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ǹǷ<EFBFBD>,",
|
"<EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ǹǷ<C7B9>,",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD>ɰ<EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD>ɰ<EFBFBD> <20>ٷ<EFBFBD><D9B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD>",
|
"<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD>",
|
||||||
"ȸ<EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><>ø<EFBFBD><C3B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
"ȸ<EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD>ؼ<EFBFBD> <20><>ø<EFBFBD><C3B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
||||||
["<EFBFBD>渶<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
["<EFBFBD>渶<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD><C7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1>",
|
"<EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD><C7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>忡<EFBFBD><E5BFA1>",
|
||||||
"Ȱ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"Ȱ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20><><EFBFBD><EFBFBD> Ư<><C6AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD>̹Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD>̹Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>, <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8> <20>ø<EFBFBD><C3B8><EFBFBD>.",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8> <20>ø<EFBFBD><C3B8><EFBFBD>.",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<>¿<EFBFBD><C2BF><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<>¿<EFBFBD><C2BF><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
["<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ű<EFBFBD> <20>ڿ<EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
["<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ű<EFBFBD> <20>ڿ<EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ĺ濡<C4B9><E6BFA1> <20>Ʊ<EFBFBD><C6B1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ĺ濡<C4B9><E6BFA1> <20>Ʊ<EFBFBD><C6B1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>ģ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>λ<EFBFBD><CEBB><EFBFBD> ȸ<><C8B8> <20><>Ű<EFBFBD><C5B0>",
|
"<EFBFBD><EFBFBD>ģ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>λ<EFBFBD><CEBB><EFBFBD> ȸ<><C8B8> <20><>Ű<EFBFBD><C5B0>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⸦ <EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>Ų<EFBFBD><EFBFBD>. <20><EFBFBD><D7B5><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⸦ <20><>½<EFBFBD>Ų<EFBFBD><C5B2>. <20><EFBFBD><D7B5><EFBFBD>",
|
||||||
"<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ڸ<EFBFBD> ",
|
"<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ڸ<EFBFBD> ",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뼭<EFBFBD><EBBCAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20>ڵ<EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뼭<EFBFBD><EBBCAD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><EFBFBD> <20>ڵ<EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֹ<EFBFBD><D6B9><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ֹ<EFBFBD><D6B9><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ¡<><C2A1><EFBFBD>Ѵ<EFBFBD>.",],
|
"<EFBFBD><EFBFBD>Ʈ<EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ¡<><C2A1><EFBFBD>Ѵ<EFBFBD>.",],
|
||||||
["õ<EFBFBD>決<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
["õ<EFBFBD>決<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> / <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ϸ<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> / <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD> <20>Ʊ<EFBFBD><C6B1><EFBFBD> <20><>Ų<EFBFBD><C5B2>. <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><EFBFBD><EFBFBD> <20>Ʊ<EFBFBD><C6B1><EFBFBD> <20><>Ų<EFBFBD><C5B2>. <20><><EFBFBD><EFBFBD>",
|
||||||
"Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7><EFBFBD> <20><><EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7><EFBFBD> <20><><EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>,",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>,",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD> <20><>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD> <20><>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
"<EFBFBD><EFBFBD>Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. ",],
|
||||||
["<EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
["<EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ʊ<EFBFBD><C6B1><EFBFBD> ȸ<><C8B8><EFBFBD>ϰ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ʊ<EFBFBD><C6B1><EFBFBD> ȸ<><C8B8><EFBFBD>ϰ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>鿡<EFBFBD><E9BFA1> ū <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>鿡<EFBFBD><E9BFA1> ū <20><><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20>̵<EFBFBD><CCB5>̴<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20>̵<EFBFBD><CCB5>̴<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7><EFBFBD> <20><><EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ɷ<EFBFBD><C9B7><EFBFBD> <20><><EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>,",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>,",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD> Ȯ<><C8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
"<EFBFBD><EFBFBD>Ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ø<EFBFBD><C3B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. "],
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ䰡 <20>ִ<EFBFBD>. "],
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -628,140 +628,148 @@ def GetLetterOpenImageName():
|
|||||||
def GetLetterCloseImageName():
|
def GetLetterCloseImageName():
|
||||||
return "season1/icon/scroll_close.tga"
|
return "season1/icon/scroll_close.tga"
|
||||||
|
|
||||||
|
if app.ENABLE_QUEST_RENEWAL:
|
||||||
|
def GetBlueLetterImageName():
|
||||||
|
return "icon/item/scroll_close_blue.tga"
|
||||||
|
def GetBlueLetterOpenImageName():
|
||||||
|
return "icon/item/scroll_open_blue.tga"
|
||||||
|
def GetBlueLetterCloseImageName():
|
||||||
|
return "icon/item/scroll_close_blue.tga"
|
||||||
|
|
||||||
if 949 == app.GetDefaultCodePage():
|
if 949 == app.GetDefaultCodePage():
|
||||||
def EUL(name):
|
def EUL(name):
|
||||||
if GetAuxiliaryWordType(name):
|
if GetAuxiliaryWordType(name):
|
||||||
return "<EFBFBD><EFBFBD> "
|
return "<EFBFBD><EFBFBD> "
|
||||||
else:
|
else:
|
||||||
return "<EFBFBD><EFBFBD> "
|
return "<EFBFBD><EFBFBD> "
|
||||||
|
|
||||||
def I(name):
|
def I(name):
|
||||||
if GetAuxiliaryWordType(name):
|
if GetAuxiliaryWordType(name):
|
||||||
return "<EFBFBD><EFBFBD> "
|
return "<EFBFBD><EFBFBD> "
|
||||||
else:
|
else:
|
||||||
return "<EFBFBD><EFBFBD> "
|
return "<EFBFBD><EFBFBD> "
|
||||||
|
|
||||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||||
name = sellItemName
|
name = sellItemName
|
||||||
if sellItemCount > 1:
|
if sellItemCount > 1:
|
||||||
name += " "
|
name += " "
|
||||||
name += str(sellItemCount)
|
name += str(sellItemCount)
|
||||||
name += "<EFBFBD><EFBFBD>"
|
name += "<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
return name + EUL(name) + str(sellItemPrice) + "<EFBFBD>ɿ<EFBFBD> <20>Ľðڽ<C3B0><DABD>ϱ<EFBFBD>?"
|
return name + EUL(name) + str(sellItemPrice) + "<EFBFBD>ɿ<EFBFBD> <20>Ľðڽ<C3B0><DABD>ϱ<EFBFBD>?"
|
||||||
|
|
||||||
def DO_YOU_BUY_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
def DO_YOU_BUY_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||||
name = sellItemName
|
name = sellItemName
|
||||||
if sellItemCount > 1:
|
if sellItemCount > 1:
|
||||||
name += " "
|
name += " "
|
||||||
name += str(sellItemCount)
|
name += str(sellItemCount)
|
||||||
name += "<EFBFBD><EFBFBD>"
|
name += "<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
return name + EUL(name) + str(sellItemPrice) + "<EFBFBD><EFBFBD> <20><><EFBFBD>ðڽ<EFBFBD><EFBFBD>ϱ<EFBFBD>?"
|
return name + EUL(name) + str(sellItemPrice) + "<EFBFBD><EFBFBD> <20><>ðڽ<C3B0><DABD>ϱ<EFBFBD>?"
|
||||||
|
|
||||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName):
|
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName):
|
||||||
return attachedItemName+EUL(attachedItemName)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>"
|
return attachedItemName+EUL(attachedItemName)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>"
|
||||||
|
|
||||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName):
|
def REFINE_FAILURE_NO_SOCKET(attachedItemName):
|
||||||
return attachedItemName+EUL(attachedItemName)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>"
|
return attachedItemName+EUL(attachedItemName)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>"
|
||||||
|
|
||||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName):
|
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName):
|
||||||
return attachedItemName+EUL(attachedItemName)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> Ȳ<><C8B2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>"
|
return attachedItemName+EUL(attachedItemName)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> Ȳ<><C8B2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>"
|
||||||
|
|
||||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount):
|
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount):
|
||||||
name = dropItemName
|
name = dropItemName
|
||||||
if dropItemCount > 1:
|
if dropItemCount > 1:
|
||||||
name += " "
|
name += " "
|
||||||
name += str(dropItemCount)
|
name += str(dropItemCount)
|
||||||
name += "<EFBFBD><EFBFBD>"
|
name += "<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
return name+EUL(name)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ðڽ<EFBFBD><EFBFBD>ϱ<EFBFBD>?"
|
return name+EUL(name)+"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ðڽ<EFBFBD><EFBFBD>ϱ<EFBFBD>?"
|
||||||
|
|
||||||
def NumberToMoneyString(number):
|
def NumberToMoneyString(number):
|
||||||
if number <= 0:
|
if number <= 0:
|
||||||
return "0<EFBFBD><EFBFBD>"
|
return "0<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
number = str(number)
|
number = str(number)
|
||||||
result = CutMoneyString(number, 0, 4, "", "")
|
result = CutMoneyString(number, 0, 4, "", "")
|
||||||
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
||||||
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
||||||
result = result + "<EFBFBD><EFBFBD>"
|
result = result + "<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def NumberToSecondaryCoinString(number):
|
def NumberToSecondaryCoinString(number):
|
||||||
if number <= 0:
|
if number <= 0:
|
||||||
return "0<EFBFBD><EFBFBD>"
|
return "0<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
number = str(number)
|
number = str(number)
|
||||||
result = CutMoneyString(number, 0, 4, "", "")
|
result = CutMoneyString(number, 0, 4, "", "")
|
||||||
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
||||||
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
||||||
result = result + "<EFBFBD><EFBFBD>"
|
result = result + "<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def FISHING_NOTIFY(isFish, fishName):
|
def FISHING_NOTIFY(isFish, fishName):
|
||||||
if isFish:
|
if isFish:
|
||||||
return fishName + I(fishName) + "<EFBFBD><EFBFBD> <20><> <20>մϴ<D5B4>."
|
return fishName + I(fishName) + "<EFBFBD><EFBFBD> <20><> <20>մϴ<D5B4>."
|
||||||
else:
|
else:
|
||||||
return fishName + I(fishName) + "<EFBFBD>ɸ<EFBFBD><EFBFBD><EFBFBD> <20>մϴ<D5B4>."
|
return fishName + I(fishName) + "<EFBFBD>ɸ<EFBFBD><EFBFBD><EFBFBD> <20>մϴ<D5B4>."
|
||||||
|
|
||||||
def FISHING_SUCCESS(isFish, fishName):
|
def FISHING_SUCCESS(isFish, fishName):
|
||||||
if isFish:
|
if isFish:
|
||||||
return fishName + EUL(fishName) + "<EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD>ϴ<EFBFBD>!"
|
return fishName + EUL(fishName) + "<EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD>ϴ<EFBFBD>!"
|
||||||
else:
|
else:
|
||||||
return fishName + EUL(fishName) + "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>!"
|
return fishName + EUL(fishName) + "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>!"
|
||||||
|
|
||||||
elif 932 == app.GetDefaultCodePage():
|
elif 932 == app.GetDefaultCodePage():
|
||||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||||
if sellItemCount > 1 :
|
if sellItemCount > 1 :
|
||||||
return "%s %s <20><EFBFBD> %s<EFBFBD>ɔ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % ( sellItemName, sellItemCount, NumberToMoneyString(sellItemPrice) )
|
return "%s %s <20><EFBFBD> %s<EFBFBD>ɔ<EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % ( sellItemName, sellItemCount, NumberToMoneyString(sellItemPrice) )
|
||||||
else:
|
else:
|
||||||
return "%s <20><> %s<EFBFBD>Ŕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % (sellItemName, NumberToMoneyString(sellItemPrice) )
|
return "%s <20><> %s<EFBFBD>Ŕ<EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % (sellItemName, NumberToMoneyString(sellItemPrice) )
|
||||||
|
|
||||||
def DO_YOU_BUY_ITEM(buyItemName, buyItemCount, buyItemPrice) :
|
def DO_YOU_BUY_ITEM(buyItemName, buyItemCount, buyItemPrice) :
|
||||||
if buyItemCount > 1 :
|
if buyItemCount > 1 :
|
||||||
return "%s %s<EFBFBD><EFBFBD> %s<EFBFBD>Ŕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % ( buyItemName, buyItemCount, buyItemPrice )
|
return "%s %s<EFBFBD><EFBFBD> %s<EFBFBD>Ŕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % ( buyItemName, buyItemCount, buyItemPrice )
|
||||||
else:
|
else:
|
||||||
return "%s<EFBFBD><EFBFBD> %s<EFBFBD>Ŕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % ( buyItemName, buyItemPrice )
|
return "%s<EFBFBD><EFBFBD> %s<EFBFBD>Ŕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % ( buyItemName, buyItemPrice )
|
||||||
|
|
||||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName) :
|
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName) :
|
||||||
return "%s<EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD>A<EFBFBD>C<EFBFBD>e?<3F>ł<EFBFBD><C582>B" % (attachedItemName)
|
return "%s<EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>Ȃ<EFBFBD><EFBFBD>A<EFBFBD>C<EFBFBD>e?<3F>ł<EFBFBD><C582>B" % (attachedItemName)
|
||||||
|
|
||||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName) :
|
def REFINE_FAILURE_NO_SOCKET(attachedItemName) :
|
||||||
return "%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>P<EFBFBD>b<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B" % (attachedItemName)
|
return "%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>P<EFBFBD>b<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD>B" % (attachedItemName)
|
||||||
|
|
||||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName) :
|
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName) :
|
||||||
return "%s<EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>鉩<EFBFBD><EFBFBD>?<3F>P<EFBFBD>b<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B" % (attachedItemName)
|
return "%s<EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><EFBFBD>鉩<EFBFBD><EFBFBD>?<3F>P<EFBFBD>b<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD>B" % (attachedItemName)
|
||||||
|
|
||||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount) :
|
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount) :
|
||||||
if dropItemCount > 1 :
|
if dropItemCount > 1 :
|
||||||
return "%s %d <20><EFBFBD><C282>̂Ă܂<C482><DC82><EFBFBD><EFBFBD>H" % (dropItemName, dropItemCount)
|
return "%s %d <20><EFBFBD><C282>̂Ă܂<C482><DC82><EFBFBD><EFBFBD>H" % (dropItemName, dropItemCount)
|
||||||
else :
|
else :
|
||||||
return "%s<EFBFBD><EFBFBD><EFBFBD>̂Ă܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % (dropItemName)
|
return "%s<EFBFBD><EFBFBD><EFBFBD>̂Ă܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>H" % (dropItemName)
|
||||||
|
|
||||||
def FISHING_NOTIFY(isFish, fishName) :
|
def FISHING_NOTIFY(isFish, fishName) :
|
||||||
if isFish :
|
if isFish :
|
||||||
return "%s <20><><EFBFBD>H<EFBFBD><48><EFBFBD><EFBFBD><C282><EFBFBD><EFBFBD>悤<EFBFBD>ł<EFBFBD>" % ( fishName )
|
return "%s <20><><EFBFBD>H<EFBFBD><48><EFBFBD><EFBFBD><C282><EFBFBD><EFBFBD>悤<EFBFBD>ł<EFBFBD>" % ( fishName )
|
||||||
else :
|
else :
|
||||||
return "%s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>悤<EFBFBD>ł<EFBFBD>" % ( fishName )
|
return "%s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>悤<EFBFBD>ł<EFBFBD>" % ( fishName )
|
||||||
|
|
||||||
def FISHING_SUCCESS(isFish, fishName) :
|
def FISHING_SUCCESS(isFish, fishName) :
|
||||||
if isFish :
|
if isFish :
|
||||||
return "%s <20><><EFBFBD>߂܂<EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I" % (fishName)
|
return "%s <20><>߂܂<DF82><DC82>܂<EFBFBD><DC82><EFBFBD><EFBFBD>I" % (fishName)
|
||||||
else :
|
else :
|
||||||
return "%s <20><><EFBFBD><EFBFBD><EFBFBD>ɓ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I" % (fishName)
|
return "%s <20><><EFBFBD><EFBFBD>ɓ<EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><EFBFBD><EFBFBD><EFBFBD>I" % (fishName)
|
||||||
|
|
||||||
def NumberToMoneyString(number) :
|
def NumberToMoneyString(number) :
|
||||||
if number <= 0 :
|
if number <= 0 :
|
||||||
return "0<EFBFBD><EFBFBD>"
|
return "0<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
number = str(number)
|
number = str(number)
|
||||||
result = CutMoneyString(number, 0, 4, "", "")
|
result = CutMoneyString(number, 0, 4, "", "")
|
||||||
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
||||||
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
||||||
result = result + "<EFBFBD><EFBFBD>"
|
result = result + "<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
return result
|
return result
|
||||||
def NumberToSecondaryCoinString(number) :
|
def NumberToSecondaryCoinString(number) :
|
||||||
@ -770,8 +778,8 @@ elif 932 == app.GetDefaultCodePage():
|
|||||||
|
|
||||||
number = str(number)
|
number = str(number)
|
||||||
result = CutMoneyString(number, 0, 4, "", "")
|
result = CutMoneyString(number, 0, 4, "", "")
|
||||||
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
||||||
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
||||||
result = result + "jun"
|
result = result + "jun"
|
||||||
|
|
||||||
return result
|
return result
|
||||||
@ -842,53 +850,53 @@ elif IsHONGKONG():
|
|||||||
elif IsNEWCIBN() or IsCIBN10():
|
elif IsNEWCIBN() or IsCIBN10():
|
||||||
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
def DO_YOU_SELL_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||||
if sellItemCount>1:
|
if sellItemCount>1:
|
||||||
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (str(sellItemCount), sellItemName, str(sellItemPrice))
|
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (str(sellItemCount), sellItemName, str(sellItemPrice))
|
||||||
else:
|
else:
|
||||||
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (sellItemName, str(sellItemPrice))
|
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (sellItemName, str(sellItemPrice))
|
||||||
|
|
||||||
def DO_YOU_BUY_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
def DO_YOU_BUY_ITEM(sellItemName, sellItemCount, sellItemPrice):
|
||||||
if sellItemCount>1:
|
if sellItemCount>1:
|
||||||
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (str(sellItemCount), sellItemName, str(sellItemPrice))
|
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (str(sellItemCount), sellItemName, str(sellItemPrice))
|
||||||
else:
|
else:
|
||||||
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (sellItemName, str(sellItemPrice))
|
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" % (sellItemName, str(sellItemPrice))
|
||||||
|
|
||||||
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName):
|
def REFINE_FAILURE_CAN_NOT_ATTACH(attachedItemName):
|
||||||
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ%s <20><>װ<EFBFBD><D7B0>" % (attachedItemName)
|
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ%s <20><>װ<EFBFBD><D7B0>" % (attachedItemName)
|
||||||
|
|
||||||
def REFINE_FAILURE_NO_SOCKET(attachedItemName):
|
def REFINE_FAILURE_NO_SOCKET(attachedItemName):
|
||||||
return "û<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ%s <20>Ŀ<EFBFBD>" % (attachedItemName)
|
return "û<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ%s <20>Ŀ<EFBFBD>" % (attachedItemName)
|
||||||
|
|
||||||
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName):
|
def REFINE_FAILURE_NO_GOLD_SOCKET(attachedItemName):
|
||||||
return "û<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ%s <20>Ļƽ<C4BB><C6BD><EFBFBD>" % (attachedItemName)
|
return "û<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ%s <20>Ļƽ<C4BB><C6BD>" % (attachedItemName)
|
||||||
|
|
||||||
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount):
|
def HOW_MANY_ITEM_DO_YOU_DROP(dropItemName, dropItemCount):
|
||||||
if dropItemCount>1:
|
if dropItemCount>1:
|
||||||
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ӵ<EFBFBD>%d<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>?" % (dropItemCount, dropItemName)
|
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ӵ<EFBFBD>%d<EFBFBD><EFBFBD>%s<EFBFBD><EFBFBD>?" % (dropItemCount, dropItemName)
|
||||||
else:
|
else:
|
||||||
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ӵ<EFBFBD>%s<EFBFBD><EFBFBD>?" % (dropItemName)
|
return "ȷ<EFBFBD><EFBFBD>Ҫ<EFBFBD>ӵ<EFBFBD>%s<EFBFBD><EFBFBD>?" % (dropItemName)
|
||||||
|
|
||||||
def FISHING_NOTIFY(isFish, fishName):
|
def FISHING_NOTIFY(isFish, fishName):
|
||||||
if isFish:
|
if isFish:
|
||||||
return fishName # <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>پ<EFBFBD><D9BE>ִµ<D6B4>, <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>־ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ф<EFBFBD>... cython<6F><6E><EFBFBD><EFBFBD> <20><><EFBFBD>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
|
return fishName # <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>پ<EFBFBD><D9BE>ִµ<D6B4>, <20><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>־ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ф<EFBFBD>... cython<6F><6E><EFBFBD><EFBFBD> <20><><EFBFBD>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...
|
||||||
else:
|
else:
|
||||||
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + fishName + "<EFBFBD>ˡ<EFBFBD>"
|
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + fishName + "<EFBFBD>ˡ<EFBFBD>"
|
||||||
|
|
||||||
def FISHING_SUCCESS(isFish, fishName):
|
def FISHING_SUCCESS(isFish, fishName):
|
||||||
if isFish:
|
if isFish:
|
||||||
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + fishName + "<EFBFBD>ˡ<EFBFBD>"
|
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + fishName + "<EFBFBD>ˡ<EFBFBD>"
|
||||||
else:
|
else:
|
||||||
return "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + fishName + "<EFBFBD>ˡ<EFBFBD>"
|
return "<EFBFBD><EFBFBD><EFBFBD>" + fishName + "<EFBFBD>ˡ<EFBFBD>"
|
||||||
|
|
||||||
def NumberToMoneyString(number):
|
def NumberToMoneyString(number):
|
||||||
|
|
||||||
if number <= 0:
|
if number <= 0:
|
||||||
return "0<EFBFBD><EFBFBD>"
|
return "0<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
number = str(number)
|
number = str(number)
|
||||||
result = CutMoneyString(number, 0, 4, "", "")
|
result = CutMoneyString(number, 0, 4, "", "")
|
||||||
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
||||||
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
||||||
result = result + "<EFBFBD><EFBFBD>"
|
result = result + "<EFBFBD><EFBFBD>"
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@ -899,8 +907,8 @@ elif IsNEWCIBN() or IsCIBN10():
|
|||||||
|
|
||||||
number = str(number)
|
number = str(number)
|
||||||
result = CutMoneyString(number, 0, 4, "", "")
|
result = CutMoneyString(number, 0, 4, "", "")
|
||||||
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 4, 8, "<EFBFBD><EFBFBD>", result)
|
||||||
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
result = CutMoneyString(number, 8, 12, "<EFBFBD><EFBFBD>", result)
|
||||||
result = result + "JUN"
|
result = result + "JUN"
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#define ENABLE_NEW_EQUIPMENT_SYSTEM
|
#define ENABLE_NEW_EQUIPMENT_SYSTEM
|
||||||
#define __BL_CLIP_MASK__
|
#define __BL_CLIP_MASK__
|
||||||
#define __BL_MOUSE_WHEEL_TOP_WINDOW__
|
#define __BL_MOUSE_WHEEL_TOP_WINDOW__
|
||||||
|
#define ENABLE_QUEST_RENEWAL // Quest Page Renewal by Owsap
|
||||||
|
|
||||||
bool LocaleService_IsYMIR();
|
bool LocaleService_IsYMIR();
|
||||||
bool LocaleService_IsJAPAN();
|
bool LocaleService_IsJAPAN();
|
||||||
|
@ -1979,6 +1979,11 @@ typedef struct packet_quest_info
|
|||||||
BYTE flag;
|
BYTE flag;
|
||||||
} TPacketGCQuestInfo;
|
} TPacketGCQuestInfo;
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
BYTE type;
|
||||||
|
bool is_confirmed;
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct packet_quest_confirm
|
typedef struct packet_quest_confirm
|
||||||
{
|
{
|
||||||
BYTE header;
|
BYTE header;
|
||||||
|
@ -1188,6 +1188,56 @@ PyObject* appLogoClose(PyObject* poSelf, PyObject* poArgs)
|
|||||||
return Py_BuildNone();
|
return Py_BuildNone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
PyObject* appGetTextLength(PyObject* poSelf, PyObject* poArgs)
|
||||||
|
{
|
||||||
|
int iLength = 0;
|
||||||
|
|
||||||
|
char* szString;
|
||||||
|
if (PyTuple_GetString(poArgs, 0, &szString))
|
||||||
|
iLength = MultiByteToWideChar(GetDefaultCodePage(), 0, szString, -1, nullptr, 0);
|
||||||
|
|
||||||
|
return Py_BuildValue("i", iLength);
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject* appGetTextWidth(PyObject* poSelf, PyObject* poArgs)
|
||||||
|
{
|
||||||
|
char* szString;
|
||||||
|
if (!PyTuple_GetString(poArgs, 0, &szString))
|
||||||
|
return Py_BuildValue("i", 0);
|
||||||
|
|
||||||
|
const DWORD dwDefaultCodePage = GetDefaultCodePage();
|
||||||
|
int iLength = MultiByteToWideChar(dwDefaultCodePage, 0, szString, -1, nullptr, 0);
|
||||||
|
|
||||||
|
wchar_t* wText = (wchar_t*)_alloca(2 * iLength);
|
||||||
|
|
||||||
|
iLength = MultiByteToWideChar(dwDefaultCodePage, 0, szString, -1, wText, iLength);
|
||||||
|
|
||||||
|
CGraphicText* pkDefaultFont = static_cast<CGraphicText*>(DefaultFont_GetResource());
|
||||||
|
if (!pkDefaultFont)
|
||||||
|
return Py_BuildValue("i", 0);
|
||||||
|
|
||||||
|
CGraphicFontTexture* pFont = pkDefaultFont->GetFontTexturePointer();
|
||||||
|
if (!pFont)
|
||||||
|
return Py_BuildValue("i", 0);
|
||||||
|
|
||||||
|
float fWidth = 0.0f;
|
||||||
|
for (int i = 0; i < iLength; ++i)
|
||||||
|
{
|
||||||
|
if (!wText[i])
|
||||||
|
continue;
|
||||||
|
|
||||||
|
CGraphicFontTexture::TCharacterInfomation* pCharacterInfomation = pFont->GetCharacterInfomation(dwDefaultCodePage, wText[i]);
|
||||||
|
if (!pCharacterInfomation)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
fWidth += pCharacterInfomation->advance;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Py_BuildValue("i", (int)ceilf(fWidth));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void initapp()
|
void initapp()
|
||||||
{
|
{
|
||||||
static PyMethodDef s_methods[] =
|
static PyMethodDef s_methods[] =
|
||||||
@ -1327,7 +1377,11 @@ void initapp()
|
|||||||
{ "OnLogoRender", appLogoRender, METH_VARARGS },
|
{ "OnLogoRender", appLogoRender, METH_VARARGS },
|
||||||
{ "OnLogoOpen", appLogoOpen, METH_VARARGS },
|
{ "OnLogoOpen", appLogoOpen, METH_VARARGS },
|
||||||
{ "OnLogoClose", appLogoClose, METH_VARARGS },
|
{ "OnLogoClose", appLogoClose, METH_VARARGS },
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
{ "GetTextLength", appGetTextLength, METH_VARARGS },
|
||||||
|
{ "GetTextWidth", appGetTextWidth, METH_VARARGS },
|
||||||
|
#endif
|
||||||
|
|
||||||
{ NULL, NULL },
|
{ NULL, NULL },
|
||||||
};
|
};
|
||||||
@ -1507,6 +1561,12 @@ void initapp()
|
|||||||
PyModule_AddIntConstant(poModule, "ENABLE_DRAGON_SOUL_SYSTEM", 0);
|
PyModule_AddIntConstant(poModule, "ENABLE_DRAGON_SOUL_SYSTEM", 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
PyModule_AddIntConstant(poModule, "ENABLE_QUEST_RENEWAL", 1);
|
||||||
|
#else
|
||||||
|
PyModule_AddIntConstant(poModule, "ENABLE_QUEST_RENEWAL", 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__BL_CLIP_MASK__)
|
#if defined(__BL_CLIP_MASK__)
|
||||||
PyModule_AddIntConstant(poModule, "__BL_CLIP_MASK__", true);
|
PyModule_AddIntConstant(poModule, "__BL_CLIP_MASK__", true);
|
||||||
#else
|
#else
|
||||||
@ -1519,6 +1579,12 @@ void initapp()
|
|||||||
PyModule_AddIntConstant(poModule, "__BL_MOUSE_WHEEL_TOP_WINDOW__", false);
|
PyModule_AddIntConstant(poModule, "__BL_MOUSE_WHEEL_TOP_WINDOW__", false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(ENABLE_CONQUEROR_LEVEL)
|
||||||
|
PyModule_AddIntConstant(poModule, "ENABLE_CONQUEROR_LEVEL", 1);
|
||||||
|
#else
|
||||||
|
PyModule_AddIntConstant(poModule, "ENABLE_CONQUEROR_LEVEL", 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
|
#ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
|
||||||
PyModule_AddIntConstant(poModule, "ENABLE_NEW_EQUIPMENT_SYSTEM", 1);
|
PyModule_AddIntConstant(poModule, "ENABLE_NEW_EQUIPMENT_SYSTEM", 1);
|
||||||
#else
|
#else
|
||||||
|
@ -145,7 +145,7 @@ int CPythonEventManager::RegisterEventSetFromString(const std::string& strScript
|
|||||||
if (!pEventSet)
|
if (!pEventSet)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
// SCRIPT_PARSING_FAILURE_CLEAR_BUG <20><>ũ<EFBFBD><C5A9>Ʈ <20>Ľ<EFBFBD> <20><><EFBFBD>н<EFBFBD> __ClearEventSetp <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD>
|
// SCRIPT_PARSING_FAILURE_CLEAR_BUG <20><>ũ<EFBFBD><C5A9>Ʈ <20>Ľ<EFBFBD> <20><><EFBFBD>н<EFBFBD> __ClearEventSetp <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD>
|
||||||
pEventSet->pCurrentTextLine = NULL;
|
pEventSet->pCurrentTextLine = NULL;
|
||||||
// END_OF_SCRIPT_PARSING_FAILURE_CLEAR_BUG
|
// END_OF_SCRIPT_PARSING_FAILURE_CLEAR_BUG
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ int CPythonEventManager::RegisterEventSetFromString(const std::string& strScript
|
|||||||
pEventSet->poEventHandler = NULL;
|
pEventSet->poEventHandler = NULL;
|
||||||
__InitEventSet(*pEventSet);
|
__InitEventSet(*pEventSet);
|
||||||
|
|
||||||
// NOTE : <20><><EFBFBD><EFBFBD> <20>ܼ<EFBFBD><DCBC><EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ <20>̺<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> Ŀ<>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD><EFBFBD> <20>ٽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
// NOTE : <20><><EFBFBD><EFBFBD> <20>ܼ<EFBFBD><DCBC><EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ <20>̺<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> Ŀ<>ǵ<EFBFBD><C7B5><EFBFBD> <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
script::TCmd ScriptCommand;
|
script::TCmd ScriptCommand;
|
||||||
int pEventPosition;
|
int pEventPosition;
|
||||||
int iEventType;
|
int iEventType;
|
||||||
@ -468,7 +468,7 @@ void CPythonEventManager::ProcessEventSet(TEventSet * pEventSet)
|
|||||||
|
|
||||||
case EVENT_TYPE_WAIT:
|
case EVENT_TYPE_WAIT:
|
||||||
{
|
{
|
||||||
//ijƽ<C4B3><C6BD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEBFA1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>/EVENT_TYPE_WAIT <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><EFBFBD>Ʈ <20>ʿ<EFBFBD>.
|
//ijƽ<C4B3><C6BD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEBFA1> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>/EVENT_TYPE_WAIT <20><><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD> <20><EFBFBD>Ʈ <20>ʿ<EFBFBD>.
|
||||||
pEventSet->iyLocal = 0;
|
pEventSet->iyLocal = 0;
|
||||||
pEventSet->isLock = true;
|
pEventSet->isLock = true;
|
||||||
break;
|
break;
|
||||||
@ -567,6 +567,7 @@ void CPythonEventManager::ProcessEventSet(TEventSet * pEventSet)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(ENABLE_QUEST_RENEWAL)
|
||||||
// HIDE_QUEST_LETTER
|
// HIDE_QUEST_LETTER
|
||||||
case EVENT_TYPE_QUEST_BUTTON_CLOSE:
|
case EVENT_TYPE_QUEST_BUTTON_CLOSE:
|
||||||
{
|
{
|
||||||
@ -575,7 +576,8 @@ void CPythonEventManager::ProcessEventSet(TEventSet * pEventSet)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// END_OF_HIDE_QUEST_LETTER
|
// END_OF_HIDE_QUEST_LETTER
|
||||||
|
#endif
|
||||||
|
|
||||||
case EVENT_TYPE_QUEST_BUTTON:
|
case EVENT_TYPE_QUEST_BUTTON:
|
||||||
{
|
{
|
||||||
const std::string& c_rstType = GetArgumentString("icon_type", ScriptCommand.argList);
|
const std::string& c_rstType = GetArgumentString("icon_type", ScriptCommand.argList);
|
||||||
@ -584,8 +586,8 @@ void CPythonEventManager::ProcessEventSet(TEventSet * pEventSet)
|
|||||||
int idx = atoi(GetArgument("idx", ScriptCommand.argList));
|
int idx = atoi(GetArgument("idx", ScriptCommand.argList));
|
||||||
const char * name = GetArgument("name", ScriptCommand.argList);
|
const char * name = GetArgument("name", ScriptCommand.argList);
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ʈ UI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20>ذ<EFBFBD> <20>ǹǷ<C7B9> <20>ϴ<EFBFBD> <20><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> by chrislee
|
// <20><><EFBFBD><EFBFBD>Ʈ UI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20>ذ<EFBFBD> <20>ǹǷ<C7B9> <20>ϴ<EFBFBD> <20><>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> by chrislee
|
||||||
if (!strcmp(name, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȥ<EFBFBD><C8A5>?....")) {
|
if (!strcmp(name, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȥ<EFBFBD><C8A5>?....")) {
|
||||||
PyCallClassMemberFunc(m_poInterface, "BINARY_RecvQuest", Py_BuildValue("(isss)", idx, name, "highlight", ""));
|
PyCallClassMemberFunc(m_poInterface, "BINARY_RecvQuest", Py_BuildValue("(isss)", idx, name, "highlight", ""));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1146,7 +1148,7 @@ void CPythonEventManager::SetLeftTimeString(const char * c_szString)
|
|||||||
}
|
}
|
||||||
|
|
||||||
CPythonEventManager::CPythonEventManager()
|
CPythonEventManager::CPythonEventManager()
|
||||||
: m_poInterface(0), m_strLeftTimeString("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD> : %d<><64>")
|
: m_poInterface(0), m_strLeftTimeString("<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ð<EFBFBD> : %d<><64>")
|
||||||
{
|
{
|
||||||
EventTypeMap["LETTER"]=EVENT_TYPE_LETTER;
|
EventTypeMap["LETTER"]=EVENT_TYPE_LETTER;
|
||||||
EventTypeMap["COLOR"]=EVENT_TYPE_COLOR;
|
EventTypeMap["COLOR"]=EVENT_TYPE_COLOR;
|
||||||
|
@ -212,7 +212,7 @@ void CPythonNetworkStream::GamePhase()
|
|||||||
while (ret)
|
while (ret)
|
||||||
{
|
{
|
||||||
if(dwRecvCount++ >= MAX_RECV_COUNT-1 && GetRecvBufferSize() < SAFE_RECV_BUFSIZE
|
if(dwRecvCount++ >= MAX_RECV_COUNT-1 && GetRecvBufferSize() < SAFE_RECV_BUFSIZE
|
||||||
&& m_strPhase == "Game") //phase_game <20><> <20>ƴϾ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>찡 <20>ִ<EFBFBD>.
|
&& m_strPhase == "Game") //phase_game <20><> <20>ƴϾ <20><><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>찡 <20>ִ<EFBFBD>.
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (!CheckPacket(&header))
|
if (!CheckPacket(&header))
|
||||||
@ -239,7 +239,7 @@ void CPythonNetworkStream::GamePhase()
|
|||||||
|
|
||||||
case HEADER_GC_PHASE:
|
case HEADER_GC_PHASE:
|
||||||
ret = RecvPhasePacket();
|
ret = RecvPhasePacket();
|
||||||
return; // <20><><EFBFBD>߿<EFBFBD> Phase <20><> <20>ٲ<EFBFBD><D9B2><EFBFBD> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GamePhase Ż<><C5BB> - [levites]
|
return; // <20><><EFBFBD>߿<EFBFBD> Phase <20><> <20>ٲ<EFBFBD><D9B2> <20>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GamePhase Ż<><C5BB> - [levites]
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case HEADER_GC_PVP:
|
case HEADER_GC_PVP:
|
||||||
@ -807,9 +807,9 @@ void CPythonNetworkStream::Warp(LONG lGlobalX, LONG lGlobalY)
|
|||||||
//rkBgMgr.SetShadowLevel(CPythonBackground::SHADOW_ALL);
|
//rkBgMgr.SetShadowLevel(CPythonBackground::SHADOW_ALL);
|
||||||
rkBgMgr.RefreshShadowLevel();
|
rkBgMgr.RefreshShadowLevel();
|
||||||
|
|
||||||
// NOTE : Warp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CenterPosition<6F><6E> Height<68><74> 0<>̱<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ٴڿ<D9B4> <20><><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD> <20><>
|
// NOTE : Warp <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CenterPosition<6F><6E> Height<68><74> 0<>̱<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ī<><EFBFBD> <20><><EFBFBD>ٴڿ<D9B4> <20><><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD> <20><>
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD> Height<68><74> <20><><EFBFBD><EFBFBD> <20>DZ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD> <20>̵<EFBFBD><CCB5>ϸ<EFBFBD> Position<6F><6E> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ѹ<EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD> Height<68><74> <20><><EFBFBD><EFBFBD> <20>DZ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̹Ƿ<CCB9> <20><><EFBFBD><EFBFBD> <20>̵<EFBFBD><CCB5>ϸ<EFBFBD> Position<6F><6E> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ѹ<EFBFBD>
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD> - [levites]
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD> - [levites]
|
||||||
LONG lLocalX = lGlobalX;
|
LONG lLocalX = lGlobalX;
|
||||||
LONG lLocalY = lGlobalY;
|
LONG lLocalY = lGlobalY;
|
||||||
__GlobalPositionToLocalPosition(lLocalX, lLocalY);
|
__GlobalPositionToLocalPosition(lLocalX, lLocalY);
|
||||||
@ -857,7 +857,7 @@ void CPythonNetworkStream::SetGamePhase()
|
|||||||
m_phaseProcessFunc.Set(this, &CPythonNetworkStream::GamePhase);
|
m_phaseProcessFunc.Set(this, &CPythonNetworkStream::GamePhase);
|
||||||
m_phaseLeaveFunc.Set(this, &CPythonNetworkStream::__LeaveGamePhase);
|
m_phaseLeaveFunc.Set(this, &CPythonNetworkStream::__LeaveGamePhase);
|
||||||
|
|
||||||
// Main Character <20><><EFBFBD><EFBFBD>O
|
// Main Character <20><><EFBFBD>O
|
||||||
|
|
||||||
IAbstractPlayer & rkPlayer = IAbstractPlayer::GetSingleton();
|
IAbstractPlayer & rkPlayer = IAbstractPlayer::GetSingleton();
|
||||||
rkPlayer.SetMainCharacterIndex(GetMainActorVID());
|
rkPlayer.SetMainCharacterIndex(GetMainActorVID());
|
||||||
@ -972,11 +972,11 @@ bool CPythonNetworkStream::RecvPVPPacket()
|
|||||||
case PVP_MODE_AGREE:
|
case PVP_MODE_AGREE:
|
||||||
rkChrMgr.RemovePVPKey(kPVPPacket.dwVIDSrc, kPVPPacket.dwVIDDst);
|
rkChrMgr.RemovePVPKey(kPVPPacket.dwVIDSrc, kPVPPacket.dwVIDDst);
|
||||||
|
|
||||||
// <20><><EFBFBD>밡 <20><>(Dst)<29><><EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><>밡 <20><>(Dst)<29><><EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
if (rkPlayer.IsMainCharacterIndex(kPVPPacket.dwVIDDst))
|
if (rkPlayer.IsMainCharacterIndex(kPVPPacket.dwVIDDst))
|
||||||
rkPlayer.RememberChallengeInstance(kPVPPacket.dwVIDSrc);
|
rkPlayer.RememberChallengeInstance(kPVPPacket.dwVIDSrc);
|
||||||
|
|
||||||
// <20><><EFBFBD>뿡<EFBFBD><EFBFBD> <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD>
|
// <20><>뿡<EFBFBD><EBBFA1> <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD> <20><><EFBFBD> <20>Ҵ<EFBFBD>
|
||||||
if (rkPlayer.IsMainCharacterIndex(kPVPPacket.dwVIDSrc))
|
if (rkPlayer.IsMainCharacterIndex(kPVPPacket.dwVIDSrc))
|
||||||
rkPlayer.RememberCantFightInstance(kPVPPacket.dwVIDDst);
|
rkPlayer.RememberCantFightInstance(kPVPPacket.dwVIDDst);
|
||||||
break;
|
break;
|
||||||
@ -987,11 +987,11 @@ bool CPythonNetworkStream::RecvPVPPacket()
|
|||||||
DWORD dwKiller = kPVPPacket.dwVIDSrc;
|
DWORD dwKiller = kPVPPacket.dwVIDSrc;
|
||||||
DWORD dwVictim = kPVPPacket.dwVIDDst;
|
DWORD dwVictim = kPVPPacket.dwVIDDst;
|
||||||
|
|
||||||
// <20><>(victim)<29><> <20><><EFBFBD>뿡<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><>(victim)<29><> <20><>뿡<EFBFBD><EBBFA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
if (rkPlayer.IsMainCharacterIndex(dwVictim))
|
if (rkPlayer.IsMainCharacterIndex(dwVictim))
|
||||||
rkPlayer.RememberRevengeInstance(dwKiller);
|
rkPlayer.RememberRevengeInstance(dwKiller);
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD>(victim)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD>
|
// <20><><EFBFBD>(victim)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD> <20><><EFBFBD> <20>Ҵ<EFBFBD>
|
||||||
if (rkPlayer.IsMainCharacterIndex(dwKiller))
|
if (rkPlayer.IsMainCharacterIndex(dwKiller))
|
||||||
rkPlayer.RememberCantFightInstance(dwVictim);
|
rkPlayer.RememberCantFightInstance(dwVictim);
|
||||||
break;
|
break;
|
||||||
@ -1009,7 +1009,7 @@ bool CPythonNetworkStream::RecvPVPPacket()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE : PVP <20><><EFBFBD>۽<EFBFBD> TargetBoard <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>մϴ<D5B4>.
|
// NOTE : PVP <20><>۽<EFBFBD> TargetBoard <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>մϴ<D5B4>.
|
||||||
__RefreshTargetBoardByVID(kPVPPacket.dwVIDSrc);
|
__RefreshTargetBoardByVID(kPVPPacket.dwVIDSrc);
|
||||||
__RefreshTargetBoardByVID(kPVPPacket.dwVIDDst);
|
__RefreshTargetBoardByVID(kPVPPacket.dwVIDDst);
|
||||||
|
|
||||||
@ -1072,7 +1072,7 @@ bool CPythonNetworkStream::SendMessengerAddByNamePacket(const char * c_szName)
|
|||||||
return false;
|
return false;
|
||||||
char szName[CHARACTER_NAME_MAX_LEN];
|
char szName[CHARACTER_NAME_MAX_LEN];
|
||||||
strncpy(szName, c_szName, CHARACTER_NAME_MAX_LEN-1);
|
strncpy(szName, c_szName, CHARACTER_NAME_MAX_LEN-1);
|
||||||
szName[CHARACTER_NAME_MAX_LEN-1] = '\0'; // #720: <20><EFBFBD><DEBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>÷ο<C3B7> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
szName[CHARACTER_NAME_MAX_LEN-1] = '\0'; // #720: <20><EFBFBD><DEBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>÷ο<C3B7> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
if (!Send(sizeof(szName), &szName))
|
if (!Send(sizeof(szName), &szName))
|
||||||
return false;
|
return false;
|
||||||
@ -1106,7 +1106,7 @@ bool CPythonNetworkStream::SendCharacterStatePacket(const TPixelPosition& c_rkPP
|
|||||||
else if (fDstRot > 360.0f)
|
else if (fDstRot > 360.0f)
|
||||||
fDstRot = fmodf(fDstRot, 360.0f);
|
fDstRot = fmodf(fDstRot, 360.0f);
|
||||||
|
|
||||||
// TODO: <20><><EFBFBD>߿<EFBFBD> <20><>Ŷ<EFBFBD≯<EFBFBD><CCB8><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD>
|
// TODO: <20><><EFBFBD>߿<EFBFBD> <20><>Ŷ<EFBFBD≯<EFBFBD><CCB8><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD>
|
||||||
TPacketCGMove kStatePacket;
|
TPacketCGMove kStatePacket;
|
||||||
kStatePacket.bHeader = HEADER_CG_CHARACTER_MOVE;
|
kStatePacket.bHeader = HEADER_CG_CHARACTER_MOVE;
|
||||||
kStatePacket.bFunc = eFunc;
|
kStatePacket.bFunc = eFunc;
|
||||||
@ -1135,7 +1135,7 @@ bool CPythonNetworkStream::SendCharacterStatePacket(const TPixelPosition& c_rkPP
|
|||||||
return SendSequence();
|
return SendSequence();
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE : SlotIndex<65><78> <20>ӽ<EFBFBD>
|
// NOTE : SlotIndex<65><78> <20>ӽ<EFBFBD>
|
||||||
bool CPythonNetworkStream::SendUseSkillPacket(DWORD dwSkillIndex, DWORD dwTargetVID)
|
bool CPythonNetworkStream::SendUseSkillPacket(DWORD dwSkillIndex, DWORD dwTargetVID)
|
||||||
{
|
{
|
||||||
TPacketCGUseSkill UseSkillPacket;
|
TPacketCGUseSkill UseSkillPacket;
|
||||||
@ -1277,9 +1277,9 @@ bool CPythonNetworkStream::RecvChatPacket()
|
|||||||
|
|
||||||
buf[uChatSize]='\0';
|
buf[uChatSize]='\0';
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD> <20>ƶ<EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3>
|
// <20><><EFBFBD><EFBFBD> <20>ƶ<EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3>
|
||||||
// "<22≯<EFBFBD>: <20><><EFBFBD><EFBFBD>" <20>Է<EFBFBD><D4B7><EFBFBD> "<22><><EFBFBD><EFBFBD>: <20≯<EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>(0x08)<29><> <20><><EFBFBD><EFBFBD>
|
// "<22≯<EFBFBD>: <20><><EFBFBD><EFBFBD>" <20>Է<EFBFBD><D4B7><EFBFBD> "<22><><EFBFBD><EFBFBD>: <20≯<EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>(0x08)<29><> <20><><EFBFBD><EFBFBD>
|
||||||
// <20><><EFBFBD><EFBFBD> <20>ƶ<EFBFBD><C6B6><EFBFBD> <20><>ȣ<EFBFBD><C8A3> ó<><C3B3><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>1) : (<28><><EFBFBD><EFBFBD>2) <20><> <20>ԷµǾ (<28><><EFBFBD><EFBFBD>2) : (<28><><EFBFBD><EFBFBD>1) <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD> <20>ƶ<EFBFBD><C6B6><EFBFBD> <20><>ȣ<EFBFBD><C8A3> ó<><C3B3><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>1) : (<28><><EFBFBD><EFBFBD>2) <20><> <20>ԷµǾ (<28><><EFBFBD><EFBFBD>2) : (<28><><EFBFBD><EFBFBD>1) <20><> <20><><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
if (LocaleService_IsEUROPE() && GetDefaultCodePage() == 1256)
|
if (LocaleService_IsEUROPE() && GetDefaultCodePage() == 1256)
|
||||||
{
|
{
|
||||||
char * p = strchr(buf, ':');
|
char * p = strchr(buf, ':');
|
||||||
@ -1305,11 +1305,11 @@ bool CPythonNetworkStream::RecvChatPacket()
|
|||||||
|
|
||||||
switch (kChat.type)
|
switch (kChat.type)
|
||||||
{
|
{
|
||||||
case CHAT_TYPE_TALKING: /* <20>׳<EFBFBD> ä<><C3A4> */
|
case CHAT_TYPE_TALKING: /* <20>׳<EFBFBD> ä<><C3A4> */
|
||||||
case CHAT_TYPE_PARTY: /* <20><>Ƽ<EFBFBD><C6BC> */
|
case CHAT_TYPE_PARTY: /* <20><>Ƽ<EFBFBD><C6BC> */
|
||||||
case CHAT_TYPE_GUILD: /* <20><><EFBFBD>帻 */
|
case CHAT_TYPE_GUILD: /* <20><>帻 */
|
||||||
case CHAT_TYPE_SHOUT: /* <20><>ġ<EFBFBD><C4A1> */
|
case CHAT_TYPE_SHOUT: /* <20><>ġ<EFBFBD><C4A1> */
|
||||||
case CHAT_TYPE_WHISPER: // <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> Only Client Enum
|
case CHAT_TYPE_WHISPER: // <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> Only Client Enum
|
||||||
{
|
{
|
||||||
char * p = strchr(buf, ':');
|
char * p = strchr(buf, ':');
|
||||||
|
|
||||||
@ -1347,9 +1347,9 @@ bool CPythonNetworkStream::RecvChatPacket()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CHAT_TYPE_COMMAND: /* <20><><EFBFBD><EFBFBD> */
|
case CHAT_TYPE_COMMAND: /* <20><><EFBFBD><EFBFBD> */
|
||||||
case CHAT_TYPE_INFO: /* <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>) */
|
case CHAT_TYPE_INFO: /* <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><>) */
|
||||||
case CHAT_TYPE_NOTICE: /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
case CHAT_TYPE_NOTICE: /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
case CHAT_TYPE_BIG_NOTICE:
|
case CHAT_TYPE_BIG_NOTICE:
|
||||||
case CHAT_TYPE_MAX_NUM:
|
case CHAT_TYPE_MAX_NUM:
|
||||||
default:
|
default:
|
||||||
@ -1461,7 +1461,7 @@ bool CPythonNetworkStream::RecvPointChange()
|
|||||||
|
|
||||||
CInstanceBase * pInstance = CPythonCharacterManager::Instance().GetMainInstancePtr();
|
CInstanceBase * pInstance = CPythonCharacterManager::Instance().GetMainInstancePtr();
|
||||||
|
|
||||||
// <20>ڽ<EFBFBD><DABD><EFBFBD> Point<6E><74> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>..
|
// <20>ڽ<EFBFBD><DABD><EFBFBD> Point<6E><74> <20><><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD> <20><><EFBFBD>..
|
||||||
if (pInstance)
|
if (pInstance)
|
||||||
if (PointChange.dwVID == pInstance->GetVirtualID())
|
if (PointChange.dwVID == pInstance->GetVirtualID())
|
||||||
{
|
{
|
||||||
@ -1558,7 +1558,7 @@ bool CPythonNetworkStream::RecvDeadPacket()
|
|||||||
CInstanceBase* pkInstMain=rkChrMgr.GetMainInstancePtr();
|
CInstanceBase* pkInstMain=rkChrMgr.GetMainInstancePtr();
|
||||||
if (pkInstMain==pkChrInstSel)
|
if (pkInstMain==pkChrInstSel)
|
||||||
{
|
{
|
||||||
Tracenf("<EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD> <20><><EFBFBD><EFBFBD>");
|
Tracenf("<EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD> <20><><EFBFBD>");
|
||||||
if (false == pkInstMain->GetDuelMode())
|
if (false == pkInstMain->GetDuelMode())
|
||||||
{
|
{
|
||||||
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnGameOver", Py_BuildValue("()"));
|
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnGameOver", Py_BuildValue("()"));
|
||||||
@ -1953,12 +1953,19 @@ bool CPythonNetworkStream::RecvQuestInfoPacket()
|
|||||||
if (QUEST_PACKET_TYPE_END == byQuestPacketType)
|
if (QUEST_PACKET_TYPE_END == byQuestPacketType)
|
||||||
{
|
{
|
||||||
rkQuest.DeleteQuestInstance(QuestInfo.index);
|
rkQuest.DeleteQuestInstance(QuestInfo.index);
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "DeleteQuest", Py_BuildValue("(ii)", QuestInfo.type, QuestInfo.index));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (QUEST_PACKET_TYPE_UPDATE == byQuestPacketType)
|
else if (QUEST_PACKET_TYPE_UPDATE == byQuestPacketType)
|
||||||
{
|
{
|
||||||
if (!rkQuest.IsQuest(QuestInfo.index))
|
if (!rkQuest.IsQuest(QuestInfo.index))
|
||||||
{
|
{
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
rkQuest.MakeQuest(QuestInfo.index, QuestInfo.type, QuestInfo.is_confirmed);
|
||||||
|
#else
|
||||||
rkQuest.MakeQuest(QuestInfo.index);
|
rkQuest.MakeQuest(QuestInfo.index);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(szTitle) > 0)
|
if (strlen(szTitle) > 0)
|
||||||
@ -1974,6 +1981,9 @@ bool CPythonNetworkStream::RecvQuestInfoPacket()
|
|||||||
rkQuest.SetQuestClockValue(QuestInfo.index, iClockValue);
|
rkQuest.SetQuestClockValue(QuestInfo.index, iClockValue);
|
||||||
if (c_rFlag & QUEST_SEND_COUNTER_VALUE)
|
if (c_rFlag & QUEST_SEND_COUNTER_VALUE)
|
||||||
rkQuest.SetQuestCounterValue(QuestInfo.index, iCounterValue);
|
rkQuest.SetQuestCounterValue(QuestInfo.index, iCounterValue);
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
rkQuest.SetQuestIsConfirmed(QuestInfo.index, QuestInfo.is_confirmed);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if (QUEST_PACKET_TYPE_BEGIN == byQuestPacketType)
|
else if (QUEST_PACKET_TYPE_BEGIN == byQuestPacketType)
|
||||||
{
|
{
|
||||||
@ -1989,7 +1999,12 @@ bool CPythonNetworkStream::RecvQuestInfoPacket()
|
|||||||
}
|
}
|
||||||
// Process Start End
|
// Process Start End
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RefreshQuest", Py_BuildValue("(ii)", QuestInfo.type, QuestInfo.index));
|
||||||
|
#else
|
||||||
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RefreshQuest", Py_BuildValue("()"));
|
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RefreshQuest", Py_BuildValue("()"));
|
||||||
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2149,7 +2164,7 @@ bool CPythonNetworkStream::SendExchangeExitPacket()
|
|||||||
return SendSequence();
|
return SendSequence();
|
||||||
}
|
}
|
||||||
|
|
||||||
// PointReset <20><><EFBFBD>ӽ<EFBFBD>
|
// PointReset <20><><EFBFBD>ӽ<EFBFBD>
|
||||||
bool CPythonNetworkStream::SendPointResetPacket()
|
bool CPythonNetworkStream::SendPointResetPacket()
|
||||||
{
|
{
|
||||||
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "StartPointReset", Py_BuildValue("()"));
|
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "StartPointReset", Py_BuildValue("()"));
|
||||||
@ -2303,7 +2318,7 @@ bool CPythonNetworkStream::RecvSkillCoolTimeEnd()
|
|||||||
|
|
||||||
bool CPythonNetworkStream::RecvSkillLevel()
|
bool CPythonNetworkStream::RecvSkillLevel()
|
||||||
{
|
{
|
||||||
assert(!"CPythonNetworkStream::RecvSkillLevel - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20>Լ<EFBFBD>");
|
assert(!"CPythonNetworkStream::RecvSkillLevel - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20>Լ<EFBFBD>");
|
||||||
TPacketGCSkillLevel packet;
|
TPacketGCSkillLevel packet;
|
||||||
if (!Recv(sizeof(TPacketGCSkillLevel), &packet))
|
if (!Recv(sizeof(TPacketGCSkillLevel), &packet))
|
||||||
{
|
{
|
||||||
@ -2529,7 +2544,7 @@ bool CPythonNetworkStream::RecvAddFlyTargetingPacket()
|
|||||||
|
|
||||||
__GlobalPositionToLocalPosition(kPacket.lX, kPacket.lY);
|
__GlobalPositionToLocalPosition(kPacket.lX, kPacket.lY);
|
||||||
|
|
||||||
Tracef("VID [%d]<5D><> Ÿ<><C5B8><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD>\n",kPacket.dwShooterVID);
|
Tracef("VID [%d]<5D><> Ÿ<><C5B8><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD>\n",kPacket.dwShooterVID);
|
||||||
|
|
||||||
CPythonCharacterManager & rpcm = CPythonCharacterManager::Instance();
|
CPythonCharacterManager & rpcm = CPythonCharacterManager::Instance();
|
||||||
|
|
||||||
@ -2927,7 +2942,7 @@ bool CPythonNetworkStream::RecvPartyUpdate()
|
|||||||
|
|
||||||
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "UpdatePartyMemberInfo", Py_BuildValue("(i)", kPartyUpdatePacket.pid));
|
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "UpdatePartyMemberInfo", Py_BuildValue("(i)", kPartyUpdatePacket.pid));
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD>ٸ<EFBFBD>, TargetBoard <20><> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>Ѵ<EFBFBD>.
|
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD>ٸ<EFBFBD>, TargetBoard <20><> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>Ѵ<EFBFBD>.
|
||||||
DWORD dwVID;
|
DWORD dwVID;
|
||||||
if (CPythonPlayer::Instance().PartyMemberPIDToVID(kPartyUpdatePacket.pid, &dwVID))
|
if (CPythonPlayer::Instance().PartyMemberPIDToVID(kPartyUpdatePacket.pid, &dwVID))
|
||||||
if (byOldState != kPartyUpdatePacket.state)
|
if (byOldState != kPartyUpdatePacket.state)
|
||||||
@ -3291,7 +3306,7 @@ bool CPythonNetworkStream::RecvGuild()
|
|||||||
if (!Recv(sizeof(dwPID), &dwPID))
|
if (!Recv(sizeof(dwPID), &dwPID))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Main Player <20><> <20><><EFBFBD><EFBFBD> DeleteGuild
|
// Main Player <20><> <20><><EFBFBD> DeleteGuild
|
||||||
if (CPythonGuild::Instance().IsMainPlayer(dwPID))
|
if (CPythonGuild::Instance().IsMainPlayer(dwPID))
|
||||||
{
|
{
|
||||||
CPythonGuild::Instance().Destroy();
|
CPythonGuild::Instance().Destroy();
|
||||||
@ -4110,7 +4125,7 @@ bool CPythonNetworkStream::SendClientVersionPacket()
|
|||||||
TPacketCGClientVersion2 kVersionPacket;
|
TPacketCGClientVersion2 kVersionPacket;
|
||||||
kVersionPacket.header = HEADER_CG_CLIENT_VERSION2;
|
kVersionPacket.header = HEADER_CG_CLIENT_VERSION2;
|
||||||
strncpy(kVersionPacket.filename, filename.c_str(), sizeof(kVersionPacket.filename)-1);
|
strncpy(kVersionPacket.filename, filename.c_str(), sizeof(kVersionPacket.filename)-1);
|
||||||
strncpy(kVersionPacket.timestamp, "1215955205", sizeof(kVersionPacket.timestamp)-1); // # python time.time <20><><EFBFBD>ڸ<EFBFBD>
|
strncpy(kVersionPacket.timestamp, "1215955205", sizeof(kVersionPacket.timestamp)-1); // # python time.time <20><><EFBFBD>ڸ<EFBFBD>
|
||||||
//strncpy(kVersionPacket.timestamp, __TIMESTAMP__, sizeof(kVersionPacket.timestamp)-1); // old_string_ver
|
//strncpy(kVersionPacket.timestamp, __TIMESTAMP__, sizeof(kVersionPacket.timestamp)-1); // old_string_ver
|
||||||
//strncpy(kVersionPacket.timestamp, "1218055205", sizeof(kVersionPacket.timestamp)-1); // new_future
|
//strncpy(kVersionPacket.timestamp, "1218055205", sizeof(kVersionPacket.timestamp)-1); // new_future
|
||||||
//strncpy(kVersionPacket.timestamp, "1214055205", sizeof(kVersionPacket.timestamp)-1); // old_past
|
//strncpy(kVersionPacket.timestamp, "1214055205", sizeof(kVersionPacket.timestamp)-1); // old_past
|
||||||
@ -4251,7 +4266,7 @@ bool CPythonNetworkStream::RecvTargetCreatePacket()
|
|||||||
|
|
||||||
//#ifdef _DEBUG
|
//#ifdef _DEBUG
|
||||||
// char szBuf[256+1];
|
// char szBuf[256+1];
|
||||||
// _snprintf(szBuf, sizeof(szBuf), "Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD> [%d:%s]", kTargetCreate.lID, kTargetCreate.szTargetName);
|
// _snprintf(szBuf, sizeof(szBuf), "Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD> [%d:%s]", kTargetCreate.lID, kTargetCreate.szTargetName);
|
||||||
// CPythonChat::Instance().AppendChat(CHAT_TYPE_NOTICE, szBuf);
|
// CPythonChat::Instance().AppendChat(CHAT_TYPE_NOTICE, szBuf);
|
||||||
// Tracef(" >> RecvTargetCreatePacket %d : %s\n", kTargetCreate.lID, kTargetCreate.szTargetName);
|
// Tracef(" >> RecvTargetCreatePacket %d : %s\n", kTargetCreate.lID, kTargetCreate.szTargetName);
|
||||||
//#endif
|
//#endif
|
||||||
@ -4280,7 +4295,7 @@ bool CPythonNetworkStream::RecvTargetCreatePacketNew()
|
|||||||
|
|
||||||
//#ifdef _DEBUG
|
//#ifdef _DEBUG
|
||||||
// char szBuf[256+1];
|
// char szBuf[256+1];
|
||||||
// _snprintf(szBuf, sizeof(szBuf), "ij<><C4B3><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD> [%d:%s:%d]", kTargetCreate.lID, kTargetCreate.szTargetName, kTargetCreate.dwVID);
|
// _snprintf(szBuf, sizeof(szBuf), "ij<><C4B3><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD> [%d:%s:%d]", kTargetCreate.lID, kTargetCreate.szTargetName, kTargetCreate.dwVID);
|
||||||
// CPythonChat::Instance().AppendChat(CHAT_TYPE_NOTICE, szBuf);
|
// CPythonChat::Instance().AppendChat(CHAT_TYPE_NOTICE, szBuf);
|
||||||
// Tracef(" >> RecvTargetCreatePacketNew %d : %d/%d\n", kTargetCreate.lID, kTargetCreate.byType, kTargetCreate.dwVID);
|
// Tracef(" >> RecvTargetCreatePacketNew %d : %d/%d\n", kTargetCreate.lID, kTargetCreate.byType, kTargetCreate.dwVID);
|
||||||
//#endif
|
//#endif
|
||||||
@ -4303,7 +4318,7 @@ bool CPythonNetworkStream::RecvTargetUpdatePacket()
|
|||||||
|
|
||||||
//#ifdef _DEBUG
|
//#ifdef _DEBUG
|
||||||
// char szBuf[256+1];
|
// char szBuf[256+1];
|
||||||
// _snprintf(szBuf, sizeof(szBuf), "Ÿ<><C5B8><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD> [%d:%d/%d]", kTargetUpdate.lID, kTargetUpdate.lX, kTargetUpdate.lY);
|
// _snprintf(szBuf, sizeof(szBuf), "Ÿ<><C5B8><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD> [%d:%d/%d]", kTargetUpdate.lID, kTargetUpdate.lX, kTargetUpdate.lY);
|
||||||
// CPythonChat::Instance().AppendChat(CHAT_TYPE_NOTICE, szBuf);
|
// CPythonChat::Instance().AppendChat(CHAT_TYPE_NOTICE, szBuf);
|
||||||
// Tracef(" >> RecvTargetUpdatePacket %d : %d, %d\n", kTargetUpdate.lID, kTargetUpdate.lX, kTargetUpdate.lY);
|
// Tracef(" >> RecvTargetUpdatePacket %d : %d, %d\n", kTargetUpdate.lID, kTargetUpdate.lX, kTargetUpdate.lY);
|
||||||
//#endif
|
//#endif
|
||||||
@ -4382,7 +4397,7 @@ bool CPythonNetworkStream::RecvDigMotionPacket()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// <20><>ȥ<EFBFBD><C8A5> <20><>ȭ
|
// <20><>ȥ<EFBFBD><C8A5> <20><>ȭ
|
||||||
bool CPythonNetworkStream::SendDragonSoulRefinePacket(BYTE bRefineType, TItemPos* pos)
|
bool CPythonNetworkStream::SendDragonSoulRefinePacket(BYTE bRefineType, TItemPos* pos)
|
||||||
{
|
{
|
||||||
TPacketCGDragonSoulRefine pk;
|
TPacketCGDragonSoulRefine pk;
|
||||||
|
@ -37,7 +37,12 @@ bool CPythonQuest::IsQuest(DWORD dwIndex)
|
|||||||
return itor != m_QuestInstanceContainer.end();
|
return itor != m_QuestInstanceContainer.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPythonQuest::MakeQuest(DWORD dwIndex)
|
void CPythonQuest::MakeQuest(DWORD dwIndex
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
, BYTE bType
|
||||||
|
, bool bIsConfirmed
|
||||||
|
#endif
|
||||||
|
)
|
||||||
{
|
{
|
||||||
DeleteQuestInstance(dwIndex);
|
DeleteQuestInstance(dwIndex);
|
||||||
m_QuestInstanceContainer.push_back(SQuestInstance());
|
m_QuestInstanceContainer.push_back(SQuestInstance());
|
||||||
@ -47,6 +52,10 @@ void CPythonQuest::MakeQuest(DWORD dwIndex)
|
|||||||
SQuestInstance & rQuestInstance = *m_QuestInstanceContainer.rbegin();
|
SQuestInstance & rQuestInstance = *m_QuestInstanceContainer.rbegin();
|
||||||
rQuestInstance.dwIndex = dwIndex;
|
rQuestInstance.dwIndex = dwIndex;
|
||||||
rQuestInstance.iStartTime = int(CTimer::Instance().GetCurrentSecond());
|
rQuestInstance.iStartTime = int(CTimer::Instance().GetCurrentSecond());
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
rQuestInstance.bType = bType;
|
||||||
|
rQuestInstance.bIsConfirmed = bIsConfirmed;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPythonQuest::SetQuestTitle(DWORD dwIndex, const char * c_szTitle)
|
void CPythonQuest::SetQuestTitle(DWORD dwIndex, const char * c_szTitle)
|
||||||
@ -104,12 +113,51 @@ void CPythonQuest::SetQuestIconFileName(DWORD dwIndex, const char * c_szIconFile
|
|||||||
pQuestInstance->strIconFileName = c_szIconFileName;
|
pQuestInstance->strIconFileName = c_szIconFileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
void CPythonQuest::SetQuestIsConfirmed(DWORD dwIndex, bool bIsConfirmed)
|
||||||
|
{
|
||||||
|
SQuestInstance* pQuestInstance;
|
||||||
|
if (!__GetQuestInstancePtr(dwIndex, &pQuestInstance))
|
||||||
|
return;
|
||||||
|
|
||||||
|
pQuestInstance->bIsConfirmed = bIsConfirmed;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int CPythonQuest::GetQuestCount()
|
int CPythonQuest::GetQuestCount()
|
||||||
{
|
{
|
||||||
return m_QuestInstanceContainer.size();
|
return m_QuestInstanceContainer.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CPythonQuest::GetQuestInstancePtr(DWORD dwArrayIndex, SQuestInstance ** ppQuestInstance)
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
int CPythonQuest::GetQuestButtonNoticeCount(BYTE bQuestType)
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
for (TQuestInstanceContainer::iterator::value_type& it : m_QuestInstanceContainer)
|
||||||
|
{
|
||||||
|
if (bQuestType == QUEST_TYPE_MAX)
|
||||||
|
count += 1;
|
||||||
|
else
|
||||||
|
if (it.bType == bQuestType)
|
||||||
|
count += 1;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
bool CPythonQuest::GetQuestInstancePtr(DWORD dwQuestIndex, SQuestInstance** ppQuestInstance)
|
||||||
|
{
|
||||||
|
TQuestInstanceContainer::iterator itor = std::find_if(m_QuestInstanceContainer.begin(), m_QuestInstanceContainer.end(), FQuestInstanceCompare(dwQuestIndex));
|
||||||
|
if (itor == m_QuestInstanceContainer.end())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
const DWORD dwVectorIndex = std::distance(m_QuestInstanceContainer.begin(), itor);
|
||||||
|
*ppQuestInstance = &m_QuestInstanceContainer[dwVectorIndex];
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
bool CPythonQuest::GetQuestInstancePtr(DWORD dwArrayIndex, SQuestInstance** ppQuestInstance)
|
||||||
{
|
{
|
||||||
if (dwArrayIndex >= m_QuestInstanceContainer.size())
|
if (dwArrayIndex >= m_QuestInstanceContainer.size())
|
||||||
return false;
|
return false;
|
||||||
@ -118,6 +166,7 @@ bool CPythonQuest::GetQuestInstancePtr(DWORD dwArrayIndex, SQuestInstance ** ppQ
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool CPythonQuest::__GetQuestInstancePtr(DWORD dwQuestIndex, SQuestInstance ** ppQuestInstance)
|
bool CPythonQuest::__GetQuestInstancePtr(DWORD dwQuestIndex, SQuestInstance ** ppQuestInstance)
|
||||||
{
|
{
|
||||||
@ -140,8 +189,8 @@ void CPythonQuest::__Initialize()
|
|||||||
test.dwIndex = i;
|
test.dwIndex = i;
|
||||||
test.strIconFileName = "";
|
test.strIconFileName = "";
|
||||||
test.strTitle = _getf("test%d", i);
|
test.strTitle = _getf("test%d", i);
|
||||||
test.strClockName = "<22><><EFBFBD><EFBFBD> <20>ð<EFBFBD>";
|
test.strClockName = "<22><><EFBFBD><EFBFBD> <20>ð<EFBFBD>";
|
||||||
test.strCounterName = "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
test.strCounterName = "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
test.iClockValue = 1000;
|
test.iClockValue = 1000;
|
||||||
test.iCounterValue = 1000;
|
test.iCounterValue = 1000;
|
||||||
test.iStartTime = 0;
|
test.iStartTime = 0;
|
||||||
@ -196,16 +245,27 @@ PyObject * questGetQuestData(PyObject * poSelf, PyObject * poArgs)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD> <20>ִ´<D6B4>.
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD> <20>ִ´<D6B4>.
|
||||||
std::string strIconFileName = "season1/icon/scroll_open.tga";
|
std::string strIconFileName = "season1/icon/scroll_open.tga";
|
||||||
pImage = (CGraphicImage *)CResourceManager::Instance().GetResourcePointer(strIconFileName.c_str());
|
pImage = (CGraphicImage *)CResourceManager::Instance().GetResourcePointer(strIconFileName.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Py_BuildValue("sisi", pQuestInstance->strTitle.c_str(),
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
pImage,
|
return Py_BuildValue("ibsisi",
|
||||||
pQuestInstance->strCounterName.c_str(),
|
pQuestInstance->bType,
|
||||||
pQuestInstance->iCounterValue);
|
pQuestInstance->bIsConfirmed,
|
||||||
|
pQuestInstance->strTitle.c_str(),
|
||||||
|
pImage,
|
||||||
|
pQuestInstance->strCounterName.c_str(),
|
||||||
|
pQuestInstance->iCounterValue);
|
||||||
|
#else
|
||||||
|
return Py_BuildValue("sisi",
|
||||||
|
pQuestInstance->strTitle.c_str(),
|
||||||
|
pImage,
|
||||||
|
pQuestInstance->strCounterName.c_str(),
|
||||||
|
pQuestInstance->iCounterValue);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
PyObject * questGetQuestIndex(PyObject * poSelf, PyObject * poArgs)
|
PyObject * questGetQuestIndex(PyObject * poSelf, PyObject * poArgs)
|
||||||
@ -238,7 +298,7 @@ PyObject * questGetQuestLastTime(PyObject * poSelf, PyObject * poArgs)
|
|||||||
iLastTime = (pQuestInstance->iStartTime + pQuestInstance->iClockValue) - int(CTimer::Instance().GetCurrentSecond());
|
iLastTime = (pQuestInstance->iStartTime + pQuestInstance->iClockValue) - int(CTimer::Instance().GetCurrentSecond());
|
||||||
}
|
}
|
||||||
|
|
||||||
// <20>ð<EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3> <20>ڵ<EFBFBD>
|
// <20>ð<EFBFBD> <20><><EFBFBD><EFBFBD> ó<><C3B3> <20>ڵ<EFBFBD>
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// iLastTime = int(CTimer::Instance().GetCurrentSecond()) - pQuestInstance->iStartTime;
|
// iLastTime = int(CTimer::Instance().GetCurrentSecond()) - pQuestInstance->iStartTime;
|
||||||
@ -253,6 +313,18 @@ PyObject * questClear(PyObject * poSelf, PyObject * poArgs)
|
|||||||
return Py_BuildNone();
|
return Py_BuildNone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
PyObject* questGetQuestCounterData(PyObject* poSelf, PyObject* poArgs) { return Py_BuildNone(); }
|
||||||
|
PyObject* questGetQuestButtonNoticeCount(PyObject* poSelf, PyObject* poArgs)
|
||||||
|
{
|
||||||
|
BYTE bType;
|
||||||
|
if (!PyTuple_GetInteger(poArgs, 0, &bType))
|
||||||
|
return Py_BadArgument();
|
||||||
|
|
||||||
|
return Py_BuildValue("i", CPythonQuest::Instance().GetQuestButtonNoticeCount(bType));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void initquest()
|
void initquest()
|
||||||
{
|
{
|
||||||
static PyMethodDef s_methods[] =
|
static PyMethodDef s_methods[] =
|
||||||
@ -262,9 +334,29 @@ void initquest()
|
|||||||
{ "GetQuestIndex", questGetQuestIndex, METH_VARARGS },
|
{ "GetQuestIndex", questGetQuestIndex, METH_VARARGS },
|
||||||
{ "GetQuestLastTime", questGetQuestLastTime, METH_VARARGS },
|
{ "GetQuestLastTime", questGetQuestLastTime, METH_VARARGS },
|
||||||
{ "Clear", questClear, METH_VARARGS },
|
{ "Clear", questClear, METH_VARARGS },
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
{ "GetQuestCounterData", questGetQuestCounterData, METH_VARARGS },
|
||||||
|
{ "GetQuestButtonNoticeCount", questGetQuestButtonNoticeCount, METH_VARARGS },
|
||||||
|
#endif
|
||||||
{ NULL, NULL, NULL },
|
{ NULL, NULL, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
PyObject * poModule = Py_InitModule("quest", s_methods);
|
PyObject * poModule = Py_InitModule("quest", s_methods);
|
||||||
PyModule_AddIntConstant(poModule, "QUEST_MAX_NUM", 5);
|
PyModule_AddIntConstant(poModule, "QUEST_MAX_NUM", 5);
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_MAIN", CPythonQuest::QUEST_TYPE_MAIN);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_SUB", CPythonQuest::QUEST_TYPE_SUB);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_LEVELUP", CPythonQuest::QUEST_TYPE_LEVELUP);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_EVENT", CPythonQuest::QUEST_TYPE_EVENT);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_COLLECTION", CPythonQuest::QUEST_TYPE_COLLECTION);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_SYSTEM", CPythonQuest::QUEST_TYPE_SYSTEM);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_SCROLL", CPythonQuest::QUEST_TYPE_SCROLL);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_DAILY", CPythonQuest::QUEST_TYPE_DAILY);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_UNEXPOSED", CPythonQuest::QUEST_TYPE_UNEXPOSED);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_TYPE_MAX", CPythonQuest::QUEST_TYPE_MAX);
|
||||||
|
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_STRING_TYPE_NORMAL", CPythonQuest::QUEST_STRING_TYPE_NORMAL);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_STRING_TYPE_CLOCK", CPythonQuest::QUEST_STRING_TYPE_CLOCK);
|
||||||
|
PyModule_AddIntConstant(poModule, "QUEST_STRING_TYPE_COUNT", CPythonQuest::QUEST_STRING_TYPE_COUNT);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -25,9 +25,50 @@ class CPythonQuest : public CSingleton<CPythonQuest>
|
|||||||
int iCounterValue;
|
int iCounterValue;
|
||||||
|
|
||||||
int iStartTime;
|
int iStartTime;
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
BYTE bType;
|
||||||
|
bool bIsConfirmed;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
typedef std::vector<SQuestInstance> TQuestInstanceContainer;
|
typedef std::vector<SQuestInstance> TQuestInstanceContainer;
|
||||||
|
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
enum EQuestStringType
|
||||||
|
{
|
||||||
|
QUEST_STRING_TYPE_NORMAL,
|
||||||
|
QUEST_STRING_TYPE_CLOCK,
|
||||||
|
QUEST_STRING_TYPE_COUNT,
|
||||||
|
QUEST_STRING_TYPE_MAX
|
||||||
|
};
|
||||||
|
|
||||||
|
enum EQuestType
|
||||||
|
{
|
||||||
|
QUEST_TYPE_MAIN,
|
||||||
|
QUEST_TYPE_SUB,
|
||||||
|
QUEST_TYPE_LEVELUP,
|
||||||
|
QUEST_TYPE_EVENT,
|
||||||
|
QUEST_TYPE_COLLECTION,
|
||||||
|
QUEST_TYPE_SYSTEM,
|
||||||
|
QUEST_TYPE_SCROLL,
|
||||||
|
QUEST_TYPE_DAILY,
|
||||||
|
QUEST_TYPE_UNEXPOSED,
|
||||||
|
QUEST_TYPE_MAX
|
||||||
|
};
|
||||||
|
|
||||||
|
enum EQuestSkin
|
||||||
|
{
|
||||||
|
QUEST_SKIN_NOWINDOW,
|
||||||
|
QUEST_SKIN_NORMAL,
|
||||||
|
QUEST_SKIN_UNKOWN1,
|
||||||
|
QUEST_SKIN_UNKOWN2,
|
||||||
|
QUEST_SKIN_SCROLL,
|
||||||
|
QUEST_SKIN_CINEMATIC,
|
||||||
|
QUEST_SKIN_COUNT,
|
||||||
|
QUEST_SKIN_MAX
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CPythonQuest();
|
CPythonQuest();
|
||||||
virtual ~CPythonQuest();
|
virtual ~CPythonQuest();
|
||||||
@ -38,7 +79,12 @@ class CPythonQuest : public CSingleton<CPythonQuest>
|
|||||||
void DeleteQuestInstance(DWORD dwIndex);
|
void DeleteQuestInstance(DWORD dwIndex);
|
||||||
|
|
||||||
bool IsQuest(DWORD dwIndex);
|
bool IsQuest(DWORD dwIndex);
|
||||||
void MakeQuest(DWORD dwIndex);
|
void MakeQuest(DWORD dwIndex
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
, BYTE bIndex
|
||||||
|
, bool bIsConfirmed
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
|
||||||
void SetQuestTitle(DWORD dwIndex, const char * c_szTitle);
|
void SetQuestTitle(DWORD dwIndex, const char * c_szTitle);
|
||||||
void SetQuestClockName(DWORD dwIndex, const char * c_szClockName);
|
void SetQuestClockName(DWORD dwIndex, const char * c_szClockName);
|
||||||
@ -46,9 +92,17 @@ class CPythonQuest : public CSingleton<CPythonQuest>
|
|||||||
void SetQuestClockValue(DWORD dwIndex, int iClockValue);
|
void SetQuestClockValue(DWORD dwIndex, int iClockValue);
|
||||||
void SetQuestCounterValue(DWORD dwIndex, int iCounterValue);
|
void SetQuestCounterValue(DWORD dwIndex, int iCounterValue);
|
||||||
void SetQuestIconFileName(DWORD dwIndex, const char * c_szIconFileName);
|
void SetQuestIconFileName(DWORD dwIndex, const char * c_szIconFileName);
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
void SetQuestIsConfirmed(DWORD dwIndex, bool bIsConfirmed);
|
||||||
|
#endif
|
||||||
|
|
||||||
int GetQuestCount();
|
int GetQuestCount();
|
||||||
|
#if defined(ENABLE_QUEST_RENEWAL)
|
||||||
|
int GetQuestButtonNoticeCount(BYTE bQuestType);
|
||||||
|
bool GetQuestInstancePtr(DWORD dwQuestIndex, SQuestInstance ** ppQuestInstance);
|
||||||
|
#else
|
||||||
bool GetQuestInstancePtr(DWORD dwArrayIndex, SQuestInstance ** ppQuestInstance);
|
bool GetQuestInstancePtr(DWORD dwArrayIndex, SQuestInstance ** ppQuestInstance);
|
||||||
|
#endif
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void __Initialize();
|
void __Initialize();
|
||||||
|