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

System Bankowości (Gui)


Unncal

Rekomendowane odpowiedzi

Opublikowano

Witam.
Dzisiaj chciałbym wam udostępnić system bankowości.

5zapts.jpg

Dlaczego to udostępniam?
Zalega mi, chujowo się sprzedaje, a dodatkowo mamy święta.

Dobra, przejdźmy do poradnika.

W game.py (root) pod linijką:

            "MyShopPriceList"        : self.__PrivateShop_PriceList,

Wklejamy te linijki:

            # BANK_SYSTEM
            "BankQuest"                : self.BankQuest,
            "BankData"                : self.BankData,
            # END_OF_BANK_SYSTEM

            # INPUT
            "GetInputStart"            : self.GetInputStart,
            "GetInputStop"            : self.GetInputStop,
            "GetInput"                : self.GetInput,
            # END_OF_INPUT

Pod:

    # PRIVATE_SHOP_PRICE_LIST
    def __PrivateShop_PriceList(self, itemVNum, itemPrice):
        uiPrivateShopBuilder.SetPrivateShopItemPrice(itemVNum, itemPrice)
    # END_OF_PRIVATE_SHOP_PRICE_LIST

Wklejamy:

    def BankQuest(self, vid=0):
        constInfo.BANK_QUEST = int(vid)

    def BankData(self, yang = 0, last_login = "Brak", last_operation = "Brak"):
        constInfo.YANG_BANK = int(yang)
        constInfo.LAST_LOGIN = str(last_login)
        constInfo.LAST_OPERATION = str(last_operation)

    def OpenBankWindow(self):
        import uiBank
        self.wndBank = uiBank.BankDialog()
        self.wndBank.Show()

    def GetInputStart(self):
        constInfo.INPUT_IGNORE = 1

    def GetInputStop(self):
        constInfo.INPUT_IGNORE = 0

    def GetInput(self):
        net.SendQuestInputStringPacket(str(constInfo.INPUT_DATA))

Pod:

        onClickKeyDict[app.DIK_LSHIFT] = lambda: self.__SetQuickSlotMode()

Wklejamy:

        onClickKeyDict[app.DIK_X] = lambda: self.OpenBankWindow()

Do pliku constInfo.py wklejamy:

INPUT_IGNORE = 0
INPUT_DATA = ""
YANG_BANK = 0
LAST_LOGIN = "Brak"
LAST_OPERATION = "Brak"
SEND_YANG = 0
SENDING_TYPE = 0
BANK_QUEST = 0

Do rootów pakujemy te pliki:

Component.py

http://wklej.to/MsOGi

uiBank.py

http://wklej.to/1SM4l

uiOperation.py

http://wklej.to/BeZld

Do uiscript pakujemy ten plik:

bankwindow.py

http://wklej.to/FXeUU

Ok, ostatnia rzecz to quest:

http://wklej.to/4MaTB

Bank otwieramy przyciskiem "X".
Pozdrawiam, Teodor.

(Pomysł na bank: Tarien)

 

@Edit

 

Zapomniałem o funkcji get_input.

 

Do questlib:

function get_input(par)
	cmdchat("GetInputStart")
	local ret = input(cmdchat(par))
	cmdchat("GetInputStop")
	return ret
end

Do quest_functions:

get_input

W interfacemodule.py podmieniamy funkcję:

def OpenQuestWindow(self, skin, idx):

I zamieniamy ją na:

	def OpenQuestWindow(self, skin, idx):
		if int(constInfo.INPUT_IGNORE) == 0: # PODZIĘKOWANIA DLA EVORA, ZAPRASZAM NA NOSTIDLA.PL /TEODOR 
			wnds = ()
			q = uiQuest.QuestDialog(skin, idx)
			q.SetWindowName("QuestWindow" + str(idx))
			q.Show()
			#else:
			#    pass
			if skin:
				q.Lock()
				wnds = self.__HideWindows()

				# UNKNOWN_UPDATE
				q.SetOnDoneEvent(lambda tmp_self, args=wnds: self.__ShowWindows(args))
				# END_OF_UNKNOWN_UPDATE

			if skin:
				q.AddOnCloseEvent(q.Unlock)
			q.AddOnCloseEvent(lambda s = self, qw = q: s.__dict__.__getitem__("wndQuestWindow").remove(qw))

			# UNKNOWN_UPDATE
			self.wndQuestWindow.append(q)
		else:
			pass

Na początku interfacemodule.py dopisujemy jeszcze:

import constInfo

  • Odpowiedzi 90
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Hah, 1 :D

Teodor, dajesz za darmo "sposób na nudę"? :D

 

Gratulacje, dostajesz wycieraczki.

 

wycieraczki%20-%20bolec.png

 

Tak udostępniam, jak mówiłem, chujowo się sprzedaje i mamy święta.

 

@Down

 

Wystarczy dopisać ją do quest_functions.

Opublikowano

teodor , mógłbyś zrobić taki mini-tut jak zrobić aby po wciśnięciu X , wpisywała się komenda /open safebox

konto usuniete

Opublikowano

teodor , mógłbyś zrobić taki mini-tut jak zrobić aby po wciśnięciu X , wpisywała się komenda /open safebox

do game.py pod:

 

        onClickKeyDict[app.DIK_LSHIFT] = lambda: self.__SetQuickSlotMode()

 

dopisujesz:

 

        onClickKeyDict[app.DIK_X] = lambda: self.__WyslijKomende()

 

i gdzieś na końcu dopisz:

 

def __WyslijKomende(self):
[TAB]net.SendChatPacket("/open safebox")

8910814572903361049127.png

Opublikowano

 

Zamiast:

onClickKeyDict[app.DIK_X] = lambda: self.__OpenBankWindow()

Wpisz:

onClickKeyDict[app.DIK_X] = lambda: self.OpenBankWindow()

Nic nie dało :x

1225 14:11:33631 ::   File "game.py", line 1252, in OnKeyUp

1225 14:11:33631 ::   File "game.py", line 472, in <lambda>

1225 14:11:33631 ::   File "game.py", line 2529, in OpenBankWindow

1225 14:11:33631 ::   File "system.py", line 130, in __pack_import

1225 14:11:33631 ::   File "
1225 14:11:33631 :: <string>
1225 14:11:33631 :: ", line 
1225 14:11:33631 :: 82
1225 14:11:33631 :: 

1225 14:11:33631 ::     
1225 14:11:33631 :: self.Close()
1225 14:11:33631 :: 

1225 14:11:33631 ::     
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 ::  
1225 14:11:33631 :: ^

1225 14:11:33631 :: SyntaxError
1225 14:11:33631 :: : 
1225 14:11:33631 :: invalid syntax
1225 14:11:33631 :: 
Opublikowano

 

1225 14:19:17147 :: Traceback (most recent call last):
 
1225 14:19:17147 ::   File "networkModule.py", line 235, in SetGamePhase
 
1225 14:19:17147 ::   File "system.py", line 130, in __pack_import
 
1225 14:19:17147 ::   File "
1225 14:19:17147 :: <string>
1225 14:19:17147 :: ", line 
1225 14:19:17147 :: 1900
1225 14:19:17147 :: 
 
1225 14:19:17147 ::     
1225 14:19:17147 :: constInfo.INPUT_IGNORE = 0
 
1225 14:19:17147 ::     
1225 14:19:17147 ::  
1225 14:19:17147 ::  
1225 14:19:17147 ::  
1225 14:19:17147 ::  
1225 14:19:17147 ::  
1225 14:19:17147 ::  
1225 14:19:17147 ::  
1225 14:19:17147 ::  
1225 14:19:17147 :: ^
 
1225 14:19:17147 :: IndentationError
1225 14:19:17147 :: : 
1225 14:19:17147 :: expected an indented block
1225 14:19:17147 ::
:D

ZcWbjGf.png


Serdecznie zapraszam :)

Opublikowano

Daj swoje game.py bo Jesionek05 ma inne

http://wklej.to/AVR5i
1225 14:21:35076 ::   File "game.py", line 1198, in OnKeyUp


1225 14:21:35076 ::   File "game.py", line 418, in <lambda>


1225 14:21:35077 ::   File "game.py", line 2032, in OpenBankWindow


1225 14:21:35077 ::   File "system.py", line 130, in __pack_import


1225 14:21:35077 ::   File "
1225 14:21:35077 :: <string>
1225 14:21:35077 :: ", line 
1225 14:21:35077 :: 82
1225 14:21:35077 :: 


1225 14:21:35077 ::     
1225 14:21:35077 :: self.Close()
1225 14:21:35077 :: 


1225 14:21:35077 ::     
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 ::  
1225 14:21:35077 :: ^


1225 14:21:35077 :: SyntaxError
1225 14:21:35077 :: : 
1225 14:21:35077 :: invalid syntax
1225 14:21:35077 :: 
Opublikowano

 

Pomysł może nie, ale wykonanie jak najbardziej.

 

Do wszystkich @UP mających problem z game.py.

 

Dodajcie na końcu game.py pustą linijkę (nie może mieć nawet tab'a).

Mam na końcu pustą linijkę ;x

Opublikowano

Mam na końcu pustą linijkę ;x

 

Musisz prawidłowo powstawiać taby...

Opublikowano

A gdzie nie są prawidłowo postawione ?

Kurcze, nie wiem co jest jest nie tak.

Zauważyłem tylko ten błąd że jak kliknie się "X" to chce wywołać "def'a" który nie istnieje.

8910814572903361049127.png

Opublikowano

:D 3 minuty testowania i już zbugowałem. ;x

Ogólnie słabe, po tym krótkim "testowaniu" zauważyłem, że nie dałeś blokady na wpłacanie do banku, iż po wpłaceniu więcej niż 2kkk do banku jest napisane '0', lecz nadal da się wpłacać, a wypłacać nie.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...