Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Błąd z Cube(Crafting) - 34k


Rekomendowane odpowiedzi

Opublikowano

1. SS z gry + Sysser

 

 

193431411647828770658.png

 

 

 

2. To co wskazuje sysser

 

 

269851411647828770658.png

598841411647828770658.png

 

 

 

Pythona nie ogarniam w żadnym stopniu, nie wiem czego to może być problem.

 

Oczywiscie chodzi o brak itemów które można craftować i ich składników.

Opublikowano

w cube.txt ustawiasz co ma sie z czego przerabiac a za wyglad w tym oknie odpowiada quest:)

 

Przeczytaj co napisałem wyżej.

 

Ale dla świetego spokoju łap

 

cube.txt

7oiQFY7.png

 

 

i Quest

 

 

quest cube begin
    state start begin
        when 20018.chat."Badacz Ziół " with pc.level >= 15 begin
            say_title("Baek-Go:")
            say("Cześć, jak się masz? ")
            say("Czy jesteś zainteresowany tworzeniem")
            say("mikstur, które mogą Cię wzmocnić lub ")
            say("uleczyć? Ostatnio, podczas rutynowych badań ")
            say("odkryłem kilka sposobów na pozyskanie")
            say("pewnych mikstur. To jak, jesteś zainteresowany?")
            say("Chciałbyś spróbować? ")
            say("")
            wait()
            setskin(NOWINDOW)
            command("cube_open")
        end
        when 20017.chat."Badacz Ziół " with pc.level >= 30 begin
             say_title("Yu-Hwan:")
            say("Aktualnie zielarstwo jest znane prawie wszedzie. ")
            say("Próbowałeś już? Myślę, że mogę pokazać Ci kilka ")
            say("moich receptur. Znając je, będziesz w stanie")
            say("tworzyć lepsze mikstury. ")
            say("")
            wait()
            setskin(NOWINDOW)
            command("cube_open")
        end
        when 20022.chat."Tajny przepis" with pc.level >=45 begin
             say_title("Huahn-So:")
            say("Hah! Znalazłem rodzinną tajemnicę! ")
            say("Korzystając z niej, będziesz prawie")
            say("niezniszczalny! Hahaha.")
            say("Prawdopodobnie jestem jedyną osobą, która zna ")
            say("ten sposób. Z takimi miksturami prawie nic nie")
            say("może Ci się stać. ")
            say("Czy chcesz spróbować?! ")
            say("")
            wait()
            setskin(NOWINDOW)
            command("cube_open")
        end
    end
end
Opublikowano

Skąd brałeś to cube? Bo z tego co pamiętam były różne wersje tego na inne game niż 40k, i nwm z którym ty akurat masz błąd

 

Prosto z plików terenzo.

Opublikowano

Prosto z plików terenzo.

To w sumie nwm, nie pobierałem clienta terenzo od bardzo dawna i nie wiedzialem nawet ze tam nowe cube jest a z moim netem nie dam rady teraz pobrać, możesz ewentualnie użyć cube z epvp ale tam będziesz musiał w queście ustawiać itemy + w cube.txt

sygna1.png

Opublikowano

Mam dokładnie to samo quest działa normalnie wywołuje /cube open. cube.txt wypełniony tyle że w craftingu icon itemów nie widać ale crafting przerabia wstawione itemy normalnie.

Opublikowano


function cube_open(vnum)

cube_results = {}

cube_needs = {}

 

 

-- Generator URL: http://ap0-stuff.de/cubegen.php

-- PASTE GENERATED DATA BELOW THIS --

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

 

--[[ Example

cube_results[20018] = "50801,1/50802,1/50803,100/50804,100"

cube_needs[20018] = "50721,1@50722,1@50723,1@50724,1" --]]

 

 

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

-- GENERATED DATA END --

 

 

 

cmdchat("cube_npc_id "..vnum.."")

cmdchat("cs_result "..cube_results[vnum].."")

cmdchat("cs_need "..cube_needs[vnum].."")

command("cube open")

 

return

end

Opublikowano
function cube_open(vnum)
			cube_results = {}
			cube_needs = {}
			
			
			-- Generator URL: http://ap0-stuff.de/cubegen.php
			-- PASTE GENERATED DATA BELOW THIS --
			-------------------------------------

			--[[ Example
			cube_results[20018] = "50801,1/50802,1/50803,100/50804,100"
			cube_needs[20018] = "50721,1@50722,1@50723,1@50724,1" --]]
			

			-------------------------------------
			-- GENERATED DATA END --
			
			
			
			cmdchat("cube_npc_id "..vnum.."")
			cmdchat("cs_result "..cube_results[vnum].."")
			cmdchat("cs_need "..cube_needs[vnum].."")
			command("cube open")
			
			return
end

 

1. Nie działa

2. Z tego co się dowiedziałem, to trzeba w game.py edytować chyba, w sensie poustawiać.

Opublikowano

daj tutaj cała zawartość #cube w formacie tekstowym, wrzuć np. na wklej.to, chodzi mi dokładnie o funkcję z game.py

 

 

 

 

 

# CUBE
    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()

    # 제AU?! ??鄂N ??, ?1상되는 ?I1o품A?VNUM과 ?1?정o?update
    def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count):
        self.interface.UpdateCubeInfo(gold, itemVnum, count)
        
    def BINARY_Cube_Succeed(self, itemVnum, count):
        print "AYoe 제AU 1o?"
        self.interface.SucceedCubeWork(itemVnum, count)
        pass

    def BINARY_Cube_Failed(self):
        print "AYoe 제AU 1??"
        self.interface.FailedCubeWork()
        pass

    def BINARY_Cube_ResultList(self):
        # ResultList Text Format : 72723,1/72725,1/72730.1/50001,5  AI런1?막?"/" 1A米?구o?? 리1oA를 줌
        #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(itemVnum, itemCount)
            
            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" % (i * requestCount, requestCount))
                
            if 0 < modCount:
                #print("/cube r_info %d %d" % (splitCount * requestCount, modCount))                
                net.SendChatPacket("/cube r_info %d %d" % (splitCount * requestCount, modCount))

        except RuntimeError, msg:
            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 3 > 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 1 < len(splitResult):
                    gold = int(splitResult[1])
                    
                #print "splitResult : ", splitResult
                eachMaterialList = splitResult[0].split("&")
                
                i = 0
                for eachMaterialText in eachMaterialList:
                    complicatedList = eachMaterialText.split("|")
                    
                    if 0 < len(complicatedList):
                        for complicatedText in complicatedList:
                            (itemVnum, itemCount) = complicatedText.split(",")
                            itemVnum = int(itemVnum)
                            itemCount = int(itemCount)
                            self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
                            
                            materialList[i].append((itemVnum, itemCount))
                            
                    else:
                        itemVnum, itemCount = eachMaterialText.split(",")
                        itemVnum = int(itemVnum)
                        itemCount = int(itemCount)
                        self.interface.wndCube.AddMaterialInfo(itemIndex + startIndex, i, itemVnum, itemCount)
                        
                        materialList[i].append((itemVnum, itemCount))
                        
                    i = i + 1
                    
                itemIndex = itemIndex + 1
                
            self.interface.wndCube.Refresh()
            
            self.interface.wndCube.SetScrollStep(itemIndex)
            
        except RuntimeError, msg:
            dbg.TraceError(msg)
            return 0
            
        pass

    # END_OF_CUBE

 

 

 

Naid coś pisał o wypełnieniu tablicy, z tego co wiem to własnie chodzi o tą w tej funkcji, tylko za cholere nie wiem jak się za to zabrać.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...