Register for your free account! | Forgot your password?

You last visited: Today at 17:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RLS]Craftingsystem *Lite*

Discussion on [RLS]Craftingsystem *Lite* within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Closed Thread
 
Old   #1
 
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
[RLS]Craftingsystem *Lite*

Jaja nur Lite weil kein bock mehr weiter zuentwickeln mit cube.txt auslesen ._.

How to:

ui.py

unter def SetPos(self, pos)

PHP Code:
def SetScrollStep(selfstep):
         
self.scrollStep step 

in der Klasse ScrollBar die Methode SetScrollEvent so ändern;
PHP Code:
def SetScrollEvent(selfevent):
        
self.eventScroll event
        self
.eventScrollUp event
        self
.eventScrollDown event 
und direkt drunter das einfügen;

PHP Code:
def SetUpEvent(selfevent):
        
self.eventScrollUp event
    
    def SetDownEvent
(selfevent):
        
self.eventScrollDown event 



im Destroy und im init unter self.eventScroll = lambda *arg: None jeweils
PHP Code:
self.eventScrollUp lambda *argNone
        self
.eventScrollDown lambda *argNone 
einfügen..



dann SetPos(self, pos) mit der hier ersetzen;
PHP Code:
def SetPos(selfposevent=TRUE):
        
pos max(0.0pos)
        
pos min(1.0pos)

        
newPos float(self.pageSize) * pos
        self
.middleBar.SetPosition(self.MIDDLE_BAR_POSint(newPos) + self.SCROLLBAR_BUTTON_HEIGHT self.MIDDLE_BAR_UPPER_PLACE)
        
self.OnMove(event
über OnMove das hier einfügen;

PHP Code:
def OnUp(self):
        
self.SetPos(self.curPos-self.scrollStepFALSE)
        
self.eventScrollUp()

    
def OnDown(self):
        
self.SetPos(self.curPos+self.scrollStepFALSE)
        
self.eventScrollDown() 

und onMove mit der hier ersetzen;

PHP Code:
def OnMove(selfevent=TRUE):

        if 
self.lockFlag:
            return

        if 
== self.pageSize:
            return

        (
xLocalyLocal) = self.middleBar.GetLocalPosition()
        
self.curPos float(yLocal self.SCROLLBAR_BUTTON_HEIGHT self.MIDDLE_BAR_UPPER_PLACE) / float(self.pageSize)
        if 
event == TRUE:
            
self.eventScroll() 
uiscriptlocale.py

unter def LoadLocaleFile:

PHP Code:
localeDict["CUBE_INFO_TITLE"] = "Recipe"
    
localeDict["CUBE_REQUIRE_MATERIAL"] = "Requirements"
    
localeDict["CUBE_REQUIRE_MATERIAL_OR"] = "oder" 

constinfo.py
ganz oben

PHP Code:
# Craftingsystem by xGr33n & Apo
CRAFTING_NPC_ID 0
CRAFTING_NPC_ID_OLD 
0
CRAFTING_RESULT 
0
CRAFTING_NEED 

game.py
unter # END_OF_START_GAME_ERROR_EXIT

PHP Code:
self.cubeInformation = {}
    
self.currentCubeNPC 
den alten # CUBE mit meinem ersetzen:
PHP Code:
# CUBE by xGr33n & Apo
    
def BINARY_Cube_Open(self):
        
self.interface.OpenCubeWindow()
        
self.BINARY_Cube_ResultList()
        
self.BINARY_Cube_MaterialInfo()
        
self.interface.wndCube.Refresh()

    
def BINARY_Cube_Close(self):
        
self.interface.CloseCubeWindow()

    
# Á¦ÀÛ¿¡ ÇÊ¿äÇÑ °ñµå, ¿¹»óµÇ´Â ¿Ï¼ºÇ°ÀÇ VNUM°ú °³¼ö Á¤º¸ update
    
def BINARY_Cube_UpdateInfo(selfgolditemVnumcount):
        
self.interface.UpdateCubeInfo(golditemVnumcount)
        
    
def BINARY_Cube_Succeed(selfitemVnumcount):
        print 
"Å¥ºê Á¦ÀÛ ¼º°ø"
        
self.interface.SucceedCubeWork(itemVnumcount)
        
pass

    def BINARY_Cube_Failed
(self):
        print 
"Å¥ºê Á¦ÀÛ ½ÇÆÐ"
        
self.interface.FailedCubeWork()
        
pass

    def BINARY_Cube_ResultList
(self):
        
# ResultList Text Format : 72723,1/72725,1/72730.1/50001,5  ÀÌ·±½ÄÀ¸·Î "/" ¹®ÀڷΠ±¸ºÐµÈ ¸®½ºÆ®¸¦ ÁÜ
        #print listText
        
listText constInfo.CRAFTING_RESULT
        self
.cubeInformation[constInfo.CRAFTING_NPC_ID] = []
        
        try:
            for 
eachInfoText in listText.split("/"):
                
eachInfo eachInfoText.split(",")
                
itemVnum    int(eachInfo[0])
                
itemCount    int(eachInfo[1])

                
self.cubeInformation[constInfo.CRAFTING_NPC_ID].append({"vnum"itemVnum"count"itemCount})
                
self.interface.wndCube.AddCubeResultItem(itemVnumitemCount)
            
            
resultCount len(self.cubeInformation[constInfo.CRAFTING_NPC_ID])
            
requestCount 7
            modCount 
resultCount requestCount
            splitCount 
resultCount requestCount
            
for i in xrange(splitCount):
                
#print("/cube r_info %d %d" % (i * requestCount, requestCount))
                
net.SendChatPacket("/cube r_info %d %d" % (requestCountrequestCount))
                
            if 
modCount:
                
#print("/cube r_info %d %d" % (splitCount * requestCount, modCount))                
                
net.SendChatPacket("/cube r_info %d %d" % (splitCount requestCountmodCount))

        
except RuntimeErrormsg:
            
dbg.TraceError(msg)
            return 
0
            
        pass
        
    def BINARY_Cube_MaterialInfo
(self):
        
# Material Text Format : 125,1|126,2|127,2|123,5&555,5&555,4/120000
        
try:
            
#print listText
            
listText constInfo.CRAFTING_NEED
            startIndex 
0
            
if len(listText):
                
dbg.TraceError("Wrong Cube Material Infomation")
                return 
0

            
            
            eachResultList 
listText.split("@")

            
            
cubeInfo self.cubeInformation[constInfo.CRAFTING_NPC_ID]            
            
            
itemIndex 0
            
for eachResultText in eachResultList:
                
cubeInfo[startIndex itemIndex]["materialList"] = [[], [], [], [], []]
                
materialList cubeInfo[startIndex itemIndex]["materialList"]
                
                
gold 0
                splitResult 
eachResultText.split("/")
                if 
len(splitResult):
                    
gold int(splitResult[1])
                    
                
#print "splitResult : ", splitResult
                
eachMaterialList splitResult[0].split("&")
                
                
0
                
for eachMaterialText in eachMaterialList:
                    
complicatedList eachMaterialText.split("|")
                    
                    if 
len(complicatedList):
                        for 
complicatedText in complicatedList:
                            (
itemVnumitemCount) = complicatedText.split(",")
                            
itemVnum int(itemVnum)
                            
itemCount int(itemCount)
                            
self.interface.wndCube.AddMaterialInfo(itemIndex startIndexiitemVnumitemCount)
                            
                            
materialList[i].append((itemVnumitemCount))
                            
                    else:
                        
itemVnumitemCount eachMaterialText.split(",")
                        
itemVnum int(itemVnum)
                        
itemCount int(itemCount)
                        
self.interface.wndCube.AddMaterialInfo(itemIndex startIndexiitemVnumitemCount)
                        
                        
materialList[i].append((itemVnumitemCount))
                        
                    
1
                    
                    
                    
                itemIndex 
itemIndex 1
                
            
#self.interface.wndCube.Refresh()
            
            
self.interface.wndCube.SetScrollStep(itemIndex)
        
except RuntimeErrormsg:
            
dbg.TraceError(msg)
            return 
0
            
        pass
    
    
# END_OF_CUBE 
unter
serverCommandList={

PHP Code:
            # Craftingsystem by xGr33n & Apo
            
"cube_npc_id"                        self.CraftingCube1,
            
"cs_result"                            self.CraftingResult,
            
"cs_need"                            self.CraftingNeed,
            
# Craftingsystem Ende 
ganz unten

PHP Code:
# Craftingsystem von xGr33n & Apo
    
def CraftingCube1(selfnpcVNUM):
        
constInfo.CRAFTING_NPC_ID int(npcVNUM)
    
def CraftingResult(self, list):
        
constInfo.CRAFTING_RESULT str(list)
    
def CraftingNeed(self, list):
        
constInfo.CRAFTING_NEED str(list)
    
# Craftingsystem Ende 
uitooltip.py

unter
def __del__(self):


PHP Code:
def SetCannotUseItemForceSetDisableColor(selfenable):
        
self.bCannotUseItemForceSetDisableColor enable

    def AppendTextLine
(selftextcolor FONT_COLORcenterAlign TRUE):
        if 
not self.CanEquip() and self.bCannotUseItemForceSetDisableColor:
            
color self.DISABLE_COLOR

        
return ToolTip.AppendTextLine(selftextcolorcenterAlign

Bin mir nicht sicher obs alles ist, mir auch egal bin jetzt raus hier. uicube.py sowie die windows sind im Anhang

PS: Questliberweiterung ausm anhang ziehen und einbauen, cube in den Quests dann mit cube_open(npcvnum) öffnen

Beispiel: cube.cube_open(20022)

cube.txt zu cube.lua:
Das muss dann in die lua rein!

Wenns nicht geht sagt mir in Skype bescheid dann kann ich nochmal schauen!

PS: Ich weis nicht übersichtlich aber dieses Forum ist mir nun gleichgültig!

PHP Code:
--------------------------------info----------------------------------
--
-- 
Zeichenbeschreibung beim Result:
--    , = 
Mengenwechsel (item zu count)
--    
id,count|id,count alternativ item (eins wird benötigt)
--    & = 
nächstes item im rezept
--    @ = Rezeptwechsel
---------------------------------------------------------------------- 
danke an Ap0kalyps3
Attached Files
File Type: rar Crafting_BB.rar (143.9 KB, 1785 views)
xGr33n is offline  
Thanks
52 Users
Old 06/26/2013, 21:48   #2


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
Viel zu umständlich gemacht

Immer diese Abschlusssätze von Wegen: "kack forum, blablabla unso" - Interessiert doch sowieso keinen.
#SoNiice is offline  
Thanks
7 Users
Old 06/26/2013, 21:49   #3
 
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Wayne ob umständlich es funktioniert ._.!
xGr33n is offline  
Old 06/26/2013, 21:49   #4


 
.Marcel''s Avatar
 
elite*gold: 100
Join Date: Sep 2009
Posts: 8,136
Received Thanks: 2,760
Quote:
Originally Posted by SoNiice View Post
Viel zu umständlich gemacht

Immer diese Abschlusssätze von Wegen: "kack forum, blablabla unso" - Interessiert doch sowieso keinen.
Und trotzdem trollen sie ihr Leben lang hier rum. Scheint momentan Trend zu sein.
.Marcel' is offline  
Thanks
4 Users
Old 06/26/2013, 21:52   #5
 
Stαgє6's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 2,018
Received Thanks: 1,471
Joa ganz gut aber wie schon gesagt geht einfacher aber jo hauptsache ist es geht ohne probleme und dies tut es ja also danke.
Stαgє6 is offline  
Old 06/26/2013, 22:01   #6
 
CoTzRaiZ-PaiNx's Avatar
 
elite*gold: 30
Join Date: Oct 2012
Posts: 1,388
Received Thanks: 243
Quote:
# Craftingsystem von xGr33n & Apo
Ihr tut immer so als hättet ihr's erfunden.
CoTzRaiZ-PaiNx is offline  
Thanks
4 Users
Old 06/26/2013, 22:07   #7
 
elite*gold: 0
Join Date: Nov 2010
Posts: 2,997
Received Thanks: 3,390
Quote:
Originally Posted by ╠Parkwaydrive╣ View Post
Ihr tut immer so als hättet ihr's erfunden.
Wenn man es alles selbst nach Gecodet hat, hat man einen Recht drauf by XXXX hinzuschreiben oder wie sieht du denn das bitte?
CrystalPrime is offline  
Thanks
5 Users
Old 06/26/2013, 22:17   #8
 
.PolluX's Avatar
 
elite*gold: 81
Join Date: Nov 2012
Posts: 975
Received Thanks: 531
Nich heulen, bedanken!
.PolluX is offline  
Thanks
4 Users
Old 06/26/2013, 22:25   #9
 
.PolluX's Avatar
 
elite*gold: 81
Join Date: Nov 2012
Posts: 975
Received Thanks: 531
Quote:
Originally Posted by ωᴀʀιø View Post
wofür?
Das er uns beleidigt?
macht doch eh jeder zweite der meint die section verlassen zu müssen, also wayne^^

und egal ob er das macht oder nicht kann man aus dankbarkeit für die getane arbeit auch mal ein THX dalassen.
.PolluX is offline  
Old 06/26/2013, 23:03   #10
 
dstyl's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 428
Received Thanks: 192
Das immer i-wer flamen muss regt ALLE tierisch auf.
Nur wegen diesen tollen Leuten die sich für was besseres halten verlassen die guten Leute dieses Forum und behalten ihr Zeug für sich, welches sie eig. mit uns teilen wollten und wo man eig. froh drüber sein kann..
Naja, mal schauen wies wird wenn hier i-wann GAR NICHTS mehr releast wird, weil jeder nur noch rum heult das ihm i-was nicht passt.

B2T: Danke xGr33n für das Craftingsystem.
Bist halt nen Guter.
dstyl is offline  
Old 06/26/2013, 23:09   #11
 
elite*gold: 0
Join Date: Aug 2010
Posts: 10
Received Thanks: 1
Quote:
Originally Posted by CrystalPrime View Post
Wenn man es alles selbst nach Gecodet hat, hat man einen Recht drauf by XXXX hinzuschreiben oder wie sieht du denn das bitte?
Alles?

Grundcode + Images + UI by YMIR.

Noch ein Kommentar?
Ghettox3 is offline  
Old 06/27/2013, 00:43   #12
 
elite*gold: 0
Join Date: May 2011
Posts: 213
Received Thanks: 29
0627 01:31:22968 :: Traceback (most recent call last):

0627 01:31:22968 :: File "networkModule.py", line 233, in SetGamePhase

0627 01:31:22968 :: File "game.py", line 100, in __init__

0627 01:31:22968 :: File "interfaceModule.py", line 257, in MakeInterface

0627 01:31:22968 :: File "interfaceModule.py", line 108, in __MakeChatWindow

0627 01:31:22968 :: File "uiChat.py", line 614, in __init__

0627 01:31:22968 :: File "ui.py", line 1990, in __init__

0627 01:31:22969 :: File "ui.py", line 2003, in CreateScrollBar

0627 01:31:22969 :: AttributeError
0627 01:31:22969 :: :
0627 01:31:22969 :: 'ScrollBar' object has no attribute 'OnMove'
0627 01:31:22969 ::

i have this
yarka0000 is offline  
Old 06/27/2013, 01:28   #13


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
Quote:
Originally Posted by yarka0000 View Post
0627 01:31:22968 :: Traceback (most recent call last):

0627 01:31:22968 :: File "networkModule.py", line 233, in SetGamePhase

0627 01:31:22968 :: File "game.py", line 100, in __init__

0627 01:31:22968 :: File "interfaceModule.py", line 257, in MakeInterface

0627 01:31:22968 :: File "interfaceModule.py", line 108, in __MakeChatWindow

0627 01:31:22968 :: File "uiChat.py", line 614, in __init__

0627 01:31:22968 :: File "ui.py", line 1990, in __init__

0627 01:31:22969 :: File "ui.py", line 2003, in CreateScrollBar

0627 01:31:22969 :: AttributeError
0627 01:31:22969 :: :
0627 01:31:22969 :: 'ScrollBar' object has no attribute 'OnMove'
0627 01:31:22969 ::

i have this
Update your "ui.py"
#SoNiice is offline  
Thanks
1 User
Old 06/27/2013, 14:47   #14
 
elite*gold: 0
Join Date: Oct 2007
Posts: 131
Received Thanks: 10
don't work the binary don't habe

BINARY_Cube_ResultList

and 2 more things onry on the r37.. binary's
FCPorto15 is offline  
Old 06/27/2013, 14:48   #15
 
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
Gib den ganzen Fehler ._.!
xGr33n is offline  
Closed Thread


Similar Threads Similar Threads
[VK]Nintedo DS Lite und eine PSP Slime&Lite
09/11/2011 - Consoles - 5 Replies
Der Nintendo Ds Lite ist Rot und in guten Zustand mit allen Kabeln und Zubehöhr Die PSP ebensfalls in sehr guten Zustand wenig benutz, dabei ist der Orginal Kartong und alle Kabel, außerdem das Spiel Final Fantasy 13 Zahlung per Überweisung oder PSC Angebote bitte unten Posten oder mich anschreiben
[Tausche] PSP Slim & Lite vs. NDS Lite
06/07/2008 - Consoles - 0 Replies
Also das Angebot besteht aus : - PSP Slim & Light mit Custom Firmware (Sicherheitskopien oder Homebrew können vom Memory Stick abgespielt werden) - Harte Schutztasche von BigBen - 2 GB Memory Stick Pro Duo - Netzstecker (Ladekabel) - USB-Kabel - UMD-Video Alien - Grand Theft Auto : Vice City - Komplette Verpackung



All times are GMT +2. The time now is 17:37.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.