Foruma hoş geldin 👋, Ziyaretçi

Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️

SignUp Now!
  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner

+Basarken Yükseltme Oranını Gösterme (1 Görüntüleyici)

kadir25tr

Resim Yükle
0
Rank
Katılım
13 Nis 2025
Mesajlar
57
forumagel.com +Basarken Yükseltme Oranını Gösterme


root/uirefine.py
import app
import net
import player
import item
import ui
import uiToolTip
import mouseModule
import localeInfo
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.LoadObject")

try:
self.board = self.GetChild("Board")
self.titleBar = self.GetChild("TitleBar")
self.successPercentage = self.GetChild("SuccessPercentage")
self.GetChild("AcceptButton").SetEvent(self.OpenQuestionDialog)
self.GetChild("CancelButton").SetEvent(self.Close)
except:
import exception
exception.Abort("RefineDialog.__LoadScript.BindObject")

## 936 : 개량 확률 표시 안함
##if 936 == app.GetDefaultCodePage():
self.successPercentage.Show()

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.Close))

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(localeInfo.REFINE_DESTROY_WARNING)
GetObject("message2").SetText(localeInfo.REFINE_WARNING2)
GetObject("accept").SetEvent(ui.__mem_func__(self.Accept))
GetObject("cancel").SetEvent(ui.__mem_func__(self.dlgQuestion.Hide))
except:
import exception
exception.Abort("SelectCharacterWindow.__LoadQuestionDialog.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

def Open(self, scrollItemPos, targetItemPos):
self.scrollItemPos = scrollItemPos
self.targetItemPos = targetItemPos

percentage = self.GetRefineSuccessPercentage(scrollItemPos, targetItemPos)
if 0 == percentage:
return
self.successPercentage.SetText(localeInfo.REFINE_SUCCESS_PROBALITY % (percentage))

itemIndex = player.GetItemIndex(targetItemPos)
self.toolTip.ClearToolTip()
metinSlot = []
for i in xrange(player.METIN_SOCKET_MAX_NUM):
metinSlot.append(player.GetItemMetinSocket(targetItemPos, 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.LoadObject")

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.OpenQuestionDialog)
self.GetChild("CancelButton").SetEvent(self.CancelRefine)
except:
import exception
exception.Abort("RefineDialog.__LoadScript.BindObject")

## 936 : 개량 확률 표시 안함
##if 936 == app.GetDefaultCodePage():
self.successPercentage.Show()

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.CancelRefine))
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(localeInfo.REFINE_SUCCESS_PROBALITY % (self.percentage))
self.costText.SetText(localeInfo.REFINE_COST % (self.cost))

self.toolTip.ClearToolTip()
metinSlot = []
for i in xrange(player.METIN_SOCKET_MAX_NUM):
metinSlot.append(player.GetItemMetinSocket(targetItemPos, i))

attrSlot = []
for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
attrSlot.append(player.GetItemAttribute(targetItemPos, 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.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(localeInfo.UI_DEF_FONT)
textLine.SetPackedFontColor(0xffdddddd)
textLine.SetText("%s x %02d" % (item.GetItemName(), count))
textLine.SetOutline()
textLine.SetFeather(FALSE)
textLine.SetWindowVerticalAlignCenter()
textLine.SetVerticalAlignCenter()

if localeInfo.IsARABIC():
(x,y) = textLine.GetTextSize()
textLine.SetPosition(x, 0)
else:
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

if localeInfo.IsARABIC():
self.board.SetPosition( newWidth, 0 )

(x, y) = self.titleBar.GetLocalPosition()
self.titleBar.SetPosition( newWidth - 15, y )

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: ## 무신의 축복서
self.Accept()
return

dlgQuestion = uiCommon.QuestionDialog2()
dlgQuestion.SetText2(localeInfo.REFINE_WARNING2)
dlgQuestion.SetAcceptEvent(ui.__mem_func__(self.Accept))
dlgQuestion.SetCancelEvent(ui.__mem_func__(dlgQuestion.Close))

if 3 == self.type: ## 현철
dlgQuestion.SetText1(localeInfo.REFINE_DESTROY_WARNING_WITH_BONUS_PERCENT_1)
dlgQuestion.SetText2(localeInfo.REFINE_DESTROY_WARNING_WITH_BONUS_PERCENT_2)
elif 2 == self.type: ## 축복서
dlgQuestion.SetText1(localeInfo.REFINE_DOWN_GRADE_WARNING)
else:
dlgQuestion.SetText1(localeInfo.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

uiscript/refine.py
import uiScriptLocale

window = {
"name" : "RefineDialog",
"style" : ("movable", "float",),

"x" : SCREEN_WIDTH - 400,
"y" : 70 * 800 / SCREEN_HEIGHT,

"width" : 0,
"height" : 0 + 31,

"children" :
(
{
"name" : "Board",
"type" : "board",
"style" : ("attach",),

"x" : 0,
"y" : 0,

"width" : 0,
"height" : 0 + 31,

"children" :
(
{
"name" : "TitleBar",
"type" : "titlebar",
"style" : ("attach",),

"x" : 8,
"y" : 8,

"width" : 0,
"color" : "red",

"children" :
(
{
"name" : "TitleName",
"type" : "text",
"text" : uiScriptLocale.REFINE_TTILE,
"horizontal_align" : "center",
"text_horizontal_align" : "center",
"x" : 0,
"y" : 3,
},
),
},
{
"name" : "SuccessPercentage",
"type" : "text",
"text" : uiScriptLocale.REFINE_INFO,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"text_horizontal_align" : "center",
"x" : 0,
"y" : 60,
},
{
"name" : "Cost",
"type" : "text",
"text" : uiScriptLocale.REFINE_COST,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"text_horizontal_align" : "center",
"x" : 0,
"y" : 47,
},
{
"name" : "AcceptButton",
"type" : "button",

"x" : -35,
"y" : 30,

# "text" : uiScriptLocale.OK,
"horizontal_align" : "center",
"vertical_align" : "bottom",

"default_image" : "d:/ymir work/ui/new/ok1.sub",
"over_image" : "d:/ymir work/ui/new/ok2.sub",
"down_image" : "d:/ymir work/ui/new/ok3.sub",
},
{
"name" : "CancelButton",
"type" : "button",

"x" : 35,
"y" : 30,

# "text" : uiScriptLocale.CANCEL,
"horizontal_align" : "center",
"vertical_align" : "bottom",

"default_image" : "d:/ymir work/ui/new/no1.sub",
"over_image" : "d:/ymir work/ui/new/no2.sub",
"down_image" : "d:/ymir work/ui/new/no3.sub",
},
),
},
),
}
 

Şu an konuyu görüntüleyenler

Geri
Üst