orman1 Admin
Mesaj Sayısı : 88 Kayıt tarihi : 04/04/10 Yaş : 27 Nerden : Kocaeli
Seviye Seviye: (1000/1000)
| Konu: Demircide + Basma %'desi eklemek Salı Nis. 06, 2010 7:58 pm | |
| DEMircide + basma yüzdesi eklemek için pack dosyasından rootu açınn ve uirefire.py dosyasını açın ve alltaki kodu ekleyin
import app import net import player import item import ui import uiToolTip import mouseModule import locale import uiCommon import constInfo
class RefineDialog(ui.ScriptWindow):
makeSocketSuccessPercentage = ( 100, 33, 20, 15, 10, 5, 0 ) upgradeStoneSuccessPercentage = ( 30, 29, 28, 27, 26, 25, 24, 23, 22 ) upgradeArmorSuccessPercentage = ( 99, 66, 33, 33, 33, 33, 33, 33, 33 ) upgradeAccessorySuccessPercentage = ( 99, 88, 77, 66, 33, 33, 33, 33, 33 ) upgradeSuccessPercentage = ( 99, 66, 33, 33, 33, 33, 33, 33, 33 )
def __init__(self): ui.ScriptWindow.__init__(self) self.__LoadScript()
self.scrollItemPos = 0 self.targetItemPos = 0
def __LoadScript(self):
self.__LoadQuestionDialog()
try: pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, "uiscript/refinedialog.py")
except: import exception exception.Abort("RefineDialog.__LoadScript.LoadObj ect")
try: self.board = self.GetChild("Board") self.titleBar = self.GetChild("TitleBar") self.successPercentage = self.GetChild("SuccessPercentage") self.GetChild("AcceptButton").SetEvent(self.OpenQu estionDialog) self.GetChild("CancelButton").SetEvent(self.Close) except: import exception exception.Abort("RefineDialog.__LoadScript.BindObj ect")
## 936 : °³· È·ü Ç¥½Ã ¾ÈÇÔ ##if 936 == app.GetDefaultCodePage():
toolTip = uiToolTip.ItemToolTip() toolTip.SetParent(self) toolTip.SetPosition(15, 38) toolTip.SetFollow(FALSE) toolTip.Show() self.toolTip = toolTip
self.titleBar.SetCloseEvent(ui.__mem_func__(self.C lose))
def __del__(self): ui.ScriptWindow.__del__(self)
def __LoadQuestionDialog(self): self.dlgQuestion = ui.ScriptWindow()
try: pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self.dlgQuestion, "uiscript/questiondialog2.py") except: import exception exception.Abort("RefineDialog.__LoadQuestionDialog .LoadScript")
try: GetObject=self.dlgQuestion.GetChild GetObject("message1").SetText(locale.REFINE_DESTRO Y_WARNING) GetObject("message2").SetText(locale.REFINE_WARNIN G2) GetObject("accept").SetEvent(ui.__mem_func__(self. Accept)) GetObject("cancel").SetEvent(ui.__mem_func__(self. dlgQuestion.Hide)) except: import exception exception.Abort("SelectCharacterWindow.__LoadQuest ionDialog.BindObject")
def Destroy(self): self.ClearDictionary() self.board = 0 self.successPercentage = 0 self.titleBar = 0 self.toolTip = 0 self.dlgQuestion = 0
def GetRefineSuccessPercentage(self, scrollSlotIndex, itemSlotIndex):
if -1 != scrollSlotIndex: if player.IsRefineGradeScroll(scrollSlotIndex): curGrade = player.GetItemGrade(itemSlotIndex) itemIndex = player.GetItemIndex(itemSlotIndex)
item.SelectItem(itemIndex) itemType = item.GetItemType() itemSubType = item.GetItemSubType()
if item.ITEM_TYPE_METIN == itemType:
if curGrade >= len(self.upgradeStoneSuccessPercentage): return 0 return self.upgradeStoneSuccessPercentage[curGrade]
elif item.ITEM_TYPE_ARMOR == itemType:
if item.ARMOR_BODY == itemSubType: if curGrade >= len(self.upgradeArmorSuccessPercentage): return 0 return self.upgradeArmorSuccessPercentage[curGrade] else: if curGrade >= len(self.upgradeAccessorySuccessPercentage): return 0 return self.upgradeAccessorySuccessPercentage[curGrade]
else:
if curGrade >= len(self.upgradeSuccessPercentage): return 0 return self.upgradeSuccessPercentage[curGrade]
for i in xrange(player.METIN_SOCKET_MAX_NUM+1): if 0 == player.GetItemMetinSocket(itemSlotIndex, i): break
return self.makeSocketSuccessPercentage[i]
def Open(self, scrollItemPos, targetItemPos): self.scrollItemPos = scrollItemPos self.targetItemPos = targetItemPos
percentage = self.GetRefineSuccessPercentage(scrollItemPos, targetItemPos) if 0 == percentage: return self.successPercentage.SetText(locale.REFINE_SUCCE SS_PROBALITY % (percentage))
itemIndex = player.GetItemIndex(targetItemPos) self.toolTip.ClearToolTip() metinSlot = [] for i in xrange(player.METIN_SOCKET_MAX_NUM): metinSlot.append(player.GetItemMetinSocket(targetI temPos, i)) self.toolTip.AddItemData(itemIndex, metinSlot)
self.UpdateDialog() self.SetTop() self.Show()
def UpdateDialog(self): newWidth = self.toolTip.GetWidth() + 30 newHeight = self.toolTip.GetHeight() + 98 self.board.SetSize(newWidth, newHeight) self.titleBar.SetWidth(newWidth-15) self.SetSize(newWidth, newHeight)
(x, y) = self.GetLocalPosition() self.SetPosition(x, y)
def OpenQuestionDialog(self): percentage = self.GetRefineSuccessPercentage(-1, self.targetItemPos) if 100 == percentage: self.Accept() return
self.dlgQuestion.SetTop() self.dlgQuestion.Show()
def Accept(self): net.SendItemUseToItemPacket(self.scrollItemPos, self.targetItemPos) self.Close()
def Close(self): self.dlgQuestion.Hide() self.Hide()
def OnPressEscapeKey(self): self.Close() return TRUE
class RefineDialogNew(ui.ScriptWindow):
def __init__(self): ui.ScriptWindow.__init__(self) self.__Initialize() self.isLoaded = FALSE
def __Initialize(self): self.dlgQuestion = None self.children = [] self.vnum = 0 self.targetItemPos = 0 self.dialogHeight = 0 self.cost = 0 self.percentage = 0 self.type = 0
def __LoadScript(self):
try: pyScrLoader = ui.PythonScriptLoader() pyScrLoader.LoadScriptFile(self, "uiscript/refinedialog.py")
except: import exception exception.Abort("RefineDialog.__LoadScript.LoadObj ect")
try: self.board = self.GetChild("Board") self.titleBar = self.GetChild("TitleBar") self.probText = self.GetChild("SuccessPercentage") self.costText = self.GetChild("Cost") self.successPercentage = self.GetChild("SuccessPercentage") self.GetChild("AcceptButton").SetEvent(self.OpenQu estionDialog) self.GetChild("CancelButton").SetEvent(self.Cancel Refine) except: import exception exception.Abort("RefineDialog.__LoadScript.BindObj ect")
## 936 : °³· È·ü Ç¥½Ã ¾ÈÇÔ ##if 936 == app.GetDefaultCodePage():
toolTip = uiToolTip.ItemToolTip() toolTip.SetParent(self) toolTip.SetFollow(FALSE) toolTip.SetPosition(15, 38) toolTip.Show() self.toolTip = toolTip
self.slotList = [] for i in xrange(3): slot = self.__MakeSlot() slot.SetParent(toolTip) slot.SetWindowVerticalAlignCenter() self.slotList.append(slot)
itemImage = self.__MakeItemImage() itemImage.SetParent(toolTip) itemImage.SetWindowVerticalAlignCenter() itemImage.SetPosition(-35, 0) self.itemImage = itemImage
self.titleBar.SetCloseEvent(ui.__mem_func__(self.C ancelRefine)) self.isLoaded = TRUE
def __del__(self): ui.ScriptWindow.__del__(self)
def __MakeSlot(self): slot = ui.ImageBox() slot.LoadImage("d:/ymir work/ui/public/slot_base.sub") slot.Show() self.children.append(slot) return slot
def __MakeItemImage(self): itemImage = ui.ImageBox() itemImage.Show() self.children.append(itemImage) return itemImage
def __MakeThinBoard(self): thinBoard = ui.ThinBoard() thinBoard.SetParent(self) thinBoard.Show() self.children.append(thinBoard) return thinBoard
def Destroy(self): self.ClearDictionary() self.dlgQuestion = None self.board = 0 self.probText = 0 self.costText = 0 self.titleBar = 0 self.toolTip = 0 self.successPercentage = None self.slotList = [] self.children = []
def Open(self, targetItemPos, nextGradeItemVnum, cost, prob, type):
if FALSE == self.isLoaded: self.__LoadScript()
self.__Initialize()
self.targetItemPos = targetItemPos self.vnum = nextGradeItemVnum self.cost = cost self.percentage = prob self.type = type
self.probText.SetText(locale.REFINE_SUCCESS_PROBAL ITY % (self.percentage)) self.costText.SetText(locale.REFINE_COST % (self.cost))
self.toolTip.ClearToolTip() metinSlot = [] for i in xrange(player.METIN_SOCKET_MAX_NUM): metinSlot.append(player.GetItemMetinSocket(targetI temPos, i))
attrSlot = [] for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM): attrSlot.append(player.GetItemAttribute(targetItem Pos, i)) self.toolTip.AddRefineItemData(nextGradeItemVnum, metinSlot, attrSlot)
item.SelectItem(nextGradeItemVnum) self.itemImage.LoadImage(item.GetIconImageFileName ()) xSlotCount, ySlotCount = item.GetItemSize() for slot in self.slotList: slot.Hide() for i in xrange(min(3, ySlotCount)): self.slotList[i].SetPosition(-35, i*32 - (ySlotCount-1)*16) self.slotList.Show()
self.dialogHeight = self.toolTip.GetHeight() + 46 self.UpdateDialog()
self.SetTop() self.Show()
def Close(self): self.dlgQuestion = None self.Hide()
def AppendMaterial(self, vnum, count): slot = self.__MakeSlot() slot.SetParent(self) slot.SetPosition(15, self.dialogHeight)
itemImage = self.__MakeItemImage() itemImage.SetParent(slot) item.SelectItem(vnum) itemImage.LoadImage(item.GetIconImageFileName())
thinBoard = self.__MakeThinBoard() thinBoard.SetPosition(50, self.dialogHeight) thinBoard.SetSize(191, 20)
textLine = ui.TextLine() textLine.SetParent(thinBoard) textLine.SetFontName(locale.UI_DEF_FONT) textLine.SetPackedFontColor(0xffdddddd) textLine.SetText("%s x %02d" % (item.GetItemName(), count)) textLine.SetOutline() textLine.SetFeather(FALSE) textLine.SetWindowVerticalAlignCenter() textLine.SetVerticalAlignCenter() textLine.SetPosition(15, 0) textLine.Show() self.children.append(textLine)
self.dialogHeight += 34 self.UpdateDialog()
def UpdateDialog(self): newWidth = self.toolTip.GetWidth() + 60 newHeight = self.dialogHeight + 69
## 936 : °³· È·ü Ç¥½Ã ¾ÈÇÔ ##if 936 == app.GetDefaultCodePage(): newHeight -= 8
self.board.SetSize(newWidth, newHeight) self.toolTip.SetPosition(15 + 35, 38) self.titleBar.SetWidth(newWidth-15) self.SetSize(newWidth, newHeight)
(x, y) = self.GetLocalPosition() self.SetPosition(x, y)
def OpenQuestionDialog(self):
if 100 == self.percentage: self.Accept() return
if 5 == self.type: ## ¹«½ÅÀÇ Ãູ¼(Sansürlü Kelime) self.Accept() return
dlgQuestion = uiCommon.QuestionDialog2() dlgQuestion.SetText2(locale.REFINE_WARNING2) dlgQuestion.SetAcceptEvent(ui.__mem_func__(self.Ac cept)) dlgQuestion.SetCancelEvent(ui.__mem_func__(dlgQues tion.Close))
if 3 == self.type: ## Çöö dlgQuestion.SetText1(locale.REFINE_DESTROY_WARNING _WITH_BONUS_PERCENT_1) dlgQuestion.SetText2(locale.REFINE_DESTROY_WARNING _WITH_BONUS_PERCENT_2) elif 2 == self.type: ## Ãູ¼(Sansürlü Kelime) dlgQuestion.SetText1(locale.REFINE_DOWN_GRADE_WARN ING) else: dlgQuestion.SetText1(locale.REFINE_DESTROY_WARNING )
dlgQuestion.Open() self.dlgQuestion = dlgQuestion
def Accept(self): net.SendRefinePacket(self.targetItemPos, self.type) self.Close()
def CancelRefine(self): net.SendRefinePacket(255, 255) self.Close()
def OnPressEscapeKey(self): self.CancelRefine() return TRUE | |
|
Lojman38 Üye
Mesaj Sayısı : 12 Kayıt tarihi : 18/04/10
| Konu: Geri: Demircide + Basma %'desi eklemek Paz Nis. 18, 2010 2:22 pm | |
| knk diyelimki +6 ya kadar %100 ve itemsiz +7 +8 +9 itemli ve dusuk oran nasıl olcak ? :/ | |
|