Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Old-tut] Energia rendszer (LITE)
#1
Thumbs Up 
Szokványosan eltér a mostani GF-es official Energia rendszertől.

Ide leírom miket ad és hogyan működik.

20-75-ig azt hiszem minden fegyvert és vértet szét lehet szedni az alkimistánál.
Ő cserébe ad neked Energia-töredéket, amit úgy sorsol ki,
hogy minél nagyobb szintű a tárgy és minél nagyobb a +-olása,
annál több Energia-töredéket ad, maximum 1 tárgy ért 15-kaphatsz.

Egy Energia-kristály megvételéhez kell 1m yang és 30db Energia-töredék,
amit persze elronthat és akkor megint kell vinni neki 30db-ot.

Az Energia-kristály 2-órán keresztül adhat, Szörny elleni erőt, Félember elleni erőt, +életet,
kritet, áthatót, tp regenerálódást és +Támadó értéket 50-70 közt de, csak egyenként!!!





Kliens oldal!

Locale.eix/epk-t kibontod!

locale/hu/ui   ide berakod az energybar.py-t!
XML sort írj a locale_hu_pack.xml-be!


locale/hu

item list.txt-t megnyitod!
Végére írod ezt a sort:

Code:
51001    ETC icon/item/51001.tga
51002    ETC icon/item/51002.tga


Tovább!

Item_proto-t kibontod és megnyitod!

Ezzel a sorral bővítsd ki:
Code:
    <Item vnum="51001" hashName="Č°Ľ®" name="Energia-töredék" type="0" subtype="0" weight="0" size="1" antiflag="0" flag="4" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="0" refine_set="0" magic_pct="0" specular="0" socket_pct="0" />
    <Item vnum="51002" hashName="Ăć±âČŻ" name="Energia-kristály" type="0" subtype="0" weight="0" size="1" antiflag="0" flag="4" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="1" limitvalue0="20" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="0" refine_set="0" magic_pct="0" specular="0" socket_pct="0" />


Tovább!

itemdesc.txt-t megnyitod (Notepad++-al normális nézetet látsz)!
Végére írod ezt a sort:

Code:
51001    Energia-töredék    Ezt a tárgyat más tárgyak megsemmisítésével szerezheted meg az Alkimistánál.
51002    Energia-kristály    2 órán keresztül adhat: Félembert, Szörny ellenit, Erőt, Kritet, Áthatót és még további bónuszokat.


Tovább!

locale_game.txt-t megnyitod!
Végére beírod ezt a sort:

Code:
TOOLTIP_ENERGY    Energia %d    SA

Locale_hu.eix/epk kész is!

--------------------------------------------------------------

Root.eix/epk-t kibontod!

constinfo.py-t megnyitod!

Rákeresel erre a sorra:

Code:
PVPMODE_PROTECTED_LEVEL = 30

Aláírod ezt:

Code:
ENERGY = 0
ENERGY_END_TIME = 0
ENERGY_TYPE = 0
ENABLE_ENERGY_SYSTEM = 1

Így nézzen ki:

Code:
PVPMODE_ACCELKEY_DELAY = 0.5
PVPMODE_PROTECTED_LEVEL = 30

ENERGY = 0
ENERGY_END_TIME = 0
ENERGY_TYPE = 0
ENABLE_ENERGY_SYSTEM = 1

FOG_LEVEL0 = 4800.0
FOG_LEVEL1 = 9600.0
FOG_LEVEL2 = 12800.0


Tovább!

interfacemodule.py-t megnyitod!

Rákeresel erre:

Code:
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))

Ezt írod alá:

Code:
        self.wndEnergyBar = 0
        import constinfo
        if constinfo.ENABLE_ENERGY_SYSTEM == 1:
            wndEnergyBar = uiTaskBar.EnergyBar()
            wndEnergyBar.LoadWindow()
            self.wndEnergyBar = wndEnergyBar

Így nézzen ki:

Code:
        self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))
        self.wndEnergyBar = 0
        import constinfo
        if constinfo.ENABLE_ENERGY_SYSTEM == 1:
            wndEnergyBar = uiTaskBar.EnergyBar()
            wndEnergyBar.LoadWindow()
            self.wndEnergyBar = wndEnergyBar

    def __MakeParty(self):
        wndParty = uiParty.PartyWindow()


Káresel erre:

Code:
            self.wndTaskBar.Destroy()

Aláírod ezt:

Code:
        if self.wndEnergyBar:
            self.wndEnergyBar.Destroy()

Így nézzen ki:

Code:
        if self.wndTaskBar:
            self.wndTaskBar.Destroy()
            
        if self.wndEnergyBar:
            self.wndEnergyBar.Destroy()

        if self.wndCharacter:
            self.wndCharacter.Destroy()


Rákeresel erre:

Code:
        self.wndInventory.RefreshStatus()

Ezt írod alá:

Code:
        if self.wndEnergyBar:
            self.wndEnergyBar.RefreshStatus()

Így nézzen ki:

Code:
    def RefreshStatus(self):
        self.wndTaskBar.RefreshStatus()
        self.wndCharacter.RefreshStatus()
        self.wndInventory.RefreshStatus()
        if self.wndEnergyBar:
            self.wndEnergyBar.RefreshStatus()
        
    def RefreshStamina(self):
        self.wndTaskBar.RefreshStamina()


Rákeresel erre:

Code:
        self.wndMiniMap.ShowMiniMap()

Ezt írod alá:

Code:
        if self.wndEnergyBar:
            self.wndEnergyBar.Show()

Így nézzen ki:

Code:
    def ShowDefaultWindows(self):
        self.wndTaskBar.Show()
        self.wndMiniMap.Show()
        self.wndMiniMap.ShowMiniMap()
        if self.wndEnergyBar:
            self.wndEnergyBar.Show()

    def ShowAllWindows(self):
        self.wndTaskBar.Show()


Rákeresel erre (előző alatt van pár sorral):

Code:
        self.wndMiniMap.Show()

Ezt írod alá:

Code:
        if self.wndEnergyBar:
            self.wndEnergyBar.Show()

Így nézzen ki:

Code:
    def ShowAllWindows(self):
        self.wndTaskBar.Show()
        self.wndCharacter.Show()
        self.wndInventory.Show()
        self.wndChat.Show()
        self.wndMiniMap.Show()
        if self.wndEnergyBar:
            self.wndEnergyBar.Show()

    def HideAllWindows(self):
        if self.wndTaskBar:
            self.wndTaskBar.Hide()


Rákeresel erre:

Code:
    def HideAllWindows(self):


Így nézzen ki:

Code:
    def HideAllWindows(self):
        if self.wndTaskBar:
            self.wndTaskBar.Hide()
        
        if self.wndEnergyBar:
            self.wndEnergyBar.Hide()

        if self.wndCharacter:
            self.wndCharacter.Hide()

        if self.wndInventory:
            self.wndInventory.Hide()


Rákeresel erre:

Code:
                            self.wndGameButton,

Aláírod ezt:

Code:
        if self.wndEnergyBar:
            hideWindows +=     (self.wndEnergyBar,)

Így nézzen ki:

Code:
    def __HideWindows(self):
        hideWindows = self.wndTaskBar,\
                            self.wndCharacter,\
                            self.wndInventory,\
                            self.wndMiniMap,\
                            self.wndGuild,\
                            self.wndMessenger,\
                            self.wndChat,\
                            self.wndParty,\
                            self.wndGameButton,
                            
        if self.wndEnergyBar:
            hideWindows +=     (self.wndEnergyBar,)
        
        hideWindows = filter(lambda x:x.IsShow(), hideWindows)
        map(lambda x:x.Hide(), hideWindows)

Ez kész!!!!!

------------------------------------------

Uitaskbar.py-t megnyitod!

Rákeresel erre:

Code:
    MOUSE_SETTINGS[1] = int(tokens[1])

Ez írod alá:
Code:
class EnergyBar(ui.ScriptWindow):
    class TextToolTip(ui.Window):
        def __init__(self):
            ui.Window.__init__(self, "TOP_MOST")
            textLine = ui.TextLine()
            textLine.SetParent(self)
            textLine.SetHorizontalAlignCenter()
            textLine.SetOutline()
            textLine.Show()
            self.textLine = textLine

        def __del__(self):
            ui.Window.__del__(self)

        def SetText(self, text):
            self.textLine.SetText(text)

        def OnRender(self):
            (mouseX, mouseY) = wndMgr.GetMousePosition()
            self.textLine.SetPosition(mouseX, mouseY - 15)

    def __init__(self):
        #print "NEW TASKBAR  ----------------------------------------------------------------------------"
        ui.ScriptWindow.__init__(self)
        self.lastupdate = 0
        self.tooltipEnergy = self.TextToolTip()
        self.tooltipEnergy.Show()
        
    def __del__(self):
        #print "---------------------------------------------------------------------------- DELETE TASKBAR"
        ui.ScriptWindow.__del__(self)

    def LoadWindow(self):
        try:
            pyScrLoader = ui.PythonScriptLoader()
            pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "EnergyBar.py")
        except:
            import exception
            exception.Abort("EnergyBar.LoadWindow.LoadObject")

        self.energyEmpty = self.GetChild("EnergyGauge_Empty")
        self.energyHungry = self.GetChild("EnergyGauge_Hungry")
        self.energyFull = self.GetChild("EnergyGauge_Full")

        self.energyGaugeBoard = self.GetChild("EnergyGauge_Board")
        self.energyGaugeToolTip = self.GetChild("EnergyGauge_ToolTip")

        
    def Destroy(self):        
        self.energyEmpty = None
        self.energyHungry = None
        self.energyFull = None
        self.energyGaugeBoard = 0
        self.energyGaugeToolTip = 0
        self.tooltipEnergy = 0

    ## Gauge
    def RefreshStatus(self):
        self.SetEnergy (constinfo.ENERGY, constinfo.ENERGY_END_TIME - app.GetGlobalTimeStamp(), 7200)
    
    def FormatTime(self, time):
        m, s = divmod(time, 60)
        h, m = divmod(m, 60)
        return "%d:%02d:%02d" % (h, m, s)
    
    def SetEnergy (self, point, leftTime, maxTime):
        leftTime = max(leftTime, 0)
        maxTime = max(maxTime, 0)
            
        self.energyEmpty.Hide()
        self.energyHungry.Hide()
        self.energyFull.Hide()
    
        if leftTime == 0:
            point = 0
            self.energyEmpty.Show()
        elif ((leftTime * 100) / maxTime) < 15:
            self.energyHungry.Show()
        else:
            self.energyFull.Show()

        desc = ["","% Félember", "% Szörny elleni erő", "% Krit","% Átható"," TP"," MP","% TP Reg.","% TP Elszívás."," Támadó érték"," Támadó érték","","",""]
        label = "+" + str(point) + desc[constinfo.ENERGY_TYPE] + " (Maradék idő " + self.FormatTime(leftTime) + ")"
        abstand = ""
        for i in range(len(label)+4):
            abstand += " "
        
        if point > 0:
            self.tooltipEnergy.SetText("%s" % (abstand + label))
        else:
            self.tooltipEnergy.SetText("%s" % ("                  Nincs Energiád"))

    def OnUpdate(self):
        if (app.GetGlobalTimeStamp() > (self.lastupdate)):
            self.RefreshStatus()
            self.lastupdate = app.GetGlobalTimeStamp() + 2
        
        if TRUE == self.energyGaugeToolTip.IsIn():
            self.tooltipEnergy.Show()
        else:
            self.tooltipEnergy.Hide()

    

-------------------------------------------------------

Game.py-t megnyitod!


Rákeresel erre:

Code:
            "CloseSafebox"            : self.CommandCloseSafebox,

Ezt írd alá:

Code:
            "energysystem"            : self.__energysystem,

Így nézzen ki:

Code:
    def __ServerCommand_Build(self):
        serverCommandList={
            "ConsoleEnable"            : self.__Console_Enable,
            "DayMode"                : self.__DayMode_Update,
            "PRESERVE_DayMode"        : self.__PRESERVE_DayMode_Update,
            "CloseRestartWindow"    : self.__RestartDialog_Close,
            "OpenPrivateShop"        : self.__PrivateShop_Open,
            "PartyHealReady"        : self.PartyHealReady,
            "ShowMeSafeboxPassword"    : self.AskSafeboxPassword,
            "CloseSafebox"            : self.CommandCloseSafebox,
            "energysystem"            : self.__energysystem,


Rákeresel erre: (3. találat)

Code:
    # END_OF_WEDDING

Aláírod ezt:

Code:
    # Energy System
    
    def __energysystem(self, value):
        import constinfo
        constinfo.ENERGY_TYPE = int(value[:value.find("|")])
        constinfo.ENERGY = int(value[value.find("|") + 1:value.find("#")])
        constinfo.ENERGY_END_TIME = long((value[value.find("#") + 1:]))

    # Energy System End

Ennyi a root.eix/epk!

-----------------------------------------------

UItooltip.py-t megnyitod!

Rákeresel erre:
Code:
        item.APPLY_RESIST_SHAMAN : locale.TOOLTIP_APPLY_RESIST_SHAMAN,

Aláírod ezt:

Code:
        599 : locale.TOOLTIP_ENERGY,

Így nézzen ki:

Code:
        item.APPLY_RESIST_SURA : locale.TOOLTIP_APPLY_RESIST_SURA,
        item.APPLY_RESIST_SHAMAN : locale.TOOLTIP_APPLY_RESIST_SHAMAN,
        599 : locale.TOOLTIP_ENERGY,
    }

    ATTRIBUTE_NEED_WIDTH = {
        23 : 230,



-----------------------------------------------

Icon.eix/epk-t kibontod!

icon/item   ide bemásolod a 2 ikon fájlt!

XML sorokat megírod nekik!

-----------------------------------------------

ETC.eix/epk-t megnyitod!

ymir work/ui/pattern/energygauge   ide bemásolod a képfájlokat (4db)!

XML sorokat megírod hozzá!

Kész az energia rendszered, próbáldd ki! Smile


Attached Files
.zip   Energia rendszer LITE.zip (Size: 58.22 KB / Downloads: 2)
[Image: 1453876818-b8928becdb9a3058b7c9ff22ccc5caf6.jpeg]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)