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

Zaawansowany System Teleportacji (GUI)


Join

Rekomendowane odpowiedzi

Opublikowano

normalne tp:
6951114088445081005302.jpg
Zapisane pozycje:

8522614088445081005302.jpg

Jest to moja 1 praca w pythonie, także HEJT ON!

Dobra, przejdźmy do poradnika.

W game.py (root) pod linijką:

            "MyShopPriceList"        : self.__PrivateShop_PriceList,

Wklejamy:
 

            # START_OF_TP

            "mapnames"                    : self.MapNames,

            "TeleportQuest"            : self.TeleportQuest,
            # END_OF_TP

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

następnie pod:
 

    def BINARY_ServerCommand_Run(self, line):
        #dbg.TraceError(line)
        try:
            #print " BINARY_ServerCommand_Run", line
            return self.serverCommander.Run(line)
        except RuntimeError, msg:
            dbg.TraceError(msg)
            return 0

Wklejamy:
 

    def MapNames(self, data):
        constInfo.MAP_NAME = data
        import uiTp
        wndTp=uiTp.TeleportDialog()
        wndTp.UpdateMaps()

    def TeleportQuest(self, vid=0):
        constInfo.TP_QUEST = int(vid)

    def OpenTeleportWindow(self):
        import uiTp
        self.wndTeleport = uiTp.TeleportDialog()
        self.wndTeleport.Show()

    def GetInputStart(self):
        constInfo.INPUT_IGNORE = 1

    def GetInputStop(self):
        constInfo.INPUT_IGNORE = 0

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

następnie pod:
 

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

wklejamy:
 

        onPressKeyDict[app.DIK_X]    = lambda : self.OpenTeleportWindow()

Do pliku constinfo.py:
 

INPUT_IGNORE = 0
INPUT_DATA = ""

#teleport
TP_QUEST = 0
ZAPIS_DATA = 0
MAP_NAME="Brak|Brak|Brak|Brak|Brak|Brak|Brak|Brak"
#end teleport

Do rootów pakujemy te pliki:

Component.py

 

http://wklej.to/MsOGi

uiTp.py
 

http://wklej.to/LHsWo

uiZapis.py
 

http://wklej.to/cJfdk

Do uiscript pakujemy ten plik:

tpwindow.py
 

http://wklej.to/wzNQK

quest:
 

http://wklej.to/qKxCC

Teleporty otwieramy na X, moze zrobie wam na button, ale niech ktos zrobi mi grafike buttona, bo z grafa slabo :X


Do questliba:
 

function get_input(value)
    cmdchat("GetInputStart")
    local ret = input(cmdchat(value))
    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:
            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

Mam nadziję ,ze nie bedzie zadnego problemu z wgraniem... To moja 1 praca i jest w 100% sprawna i testowana u mnie :)
PAMIĘTAJCIE O TABACH, BO MPC ROZJEBAŁO!
Pozdrawiam
Join aka Adi

  • Odpowiedzi 165
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

ogolnie fajne, ale w pythonie jak masz plik 

http://wklej.to/LHsWo

To buttony lepiej dać w liste, nastepnie przekazać wartości przy kliknięciu i zrobić to przy pomocy jednej - dwoch fukncji a nie aż tylu, pokaże Ci jak wgram do siebie troche podrasuje to bo  pomysl fajny

aFMA3pg.png

Opublikowano

ogolnie fajne, ale w pythonie jak masz plik 

http://wklej.to/LHsWo

To buttony lepiej dać w liste, nastepnie przekazać wartości przy kliknięciu i zrobić to przy pomocy jednej - dwoch fukncji a nie aż tylu, pokaże Ci jak wgram do siebie troche podrasuje to bo  pomysl fajny

Jest to moja 1 praca w pythonie

@top

 

Dobre, działa bez żadnych błędów i to się liczy.

Opublikowano

ogolnie fajne, ale w pythonie jak masz plik 

http://wklej.to/LHsWo

To buttony lepiej dać w liste, nastepnie przekazać wartości przy kliknięciu i zrobić to przy pomocy jednej - dwoch fukncji a nie aż tylu, pokaże Ci jak wgram do siebie troche podrasuje to bo  pomysl fajny

okej, z checia sie czegos nowego naucze :p , ale jak wyzej wspomnialem jest to moja 1 praca w pythonie :)

Opublikowano
Jest to moja 1 praca w pythonie

@top

 

Dobre, działa bez żadnych błędów i to się liczy.

 

Wiem, dlatego mu dałem rade i powiedziałem że pokaże jak mozna lepiej ;x

aFMA3pg.png

Opublikowano

Wiem, dlatego mu dałem rade i powiedziałem że pokaże jak mozna lepiej ;x

swoją drogą w tp window mozesz wszystkie buttony przesunac o 1/2px w prawo, bo widze ze ten 1px za bardzo w lewo jest, taka drobna sugestia :P i tak te buttony ustawialem chyba z 1h lacznie :O caly czas klienta odpalac... mordega, wiesz moze czy da rade jakos inaczej dokladnie te x i y liczyc? Bo ja to robilem na slepo, metoda prob i bledow, az uzyskalem taki o to rowny efekt

Specjalista
Opublikowano

Jestes gownem.

Zrob wersje z paroma wolnymi slorami na tp. Moze ktos by chcial dodac swoje.

 

Jestes gownem

 

Od czego masz questa.

 

@Top,nic ciekawego było to już jakiś czas temu na epvp.

Lecz skoro mówisz że sam to robiłeś to dobrze.

Pozdrawiam.

Pomogłeś,pomogę kiedy tylko brachu mogę!

 

graphic.png

 

Opublikowano

Od czego masz questa.

 

@Top,nic ciekawego było to już jakiś czas temu na epvp.

Lecz skoro mówisz że sam to robiłeś to dobrze.

Pozdrawiam.

nie było nic takiego na epvp, jedyne co bylo to banalna rzecz bez zapisywania tp i byla wrecz ohydna, aczkolwiek dowiedzialem sie o tym dopiero po zrobieniu tego

Opublikowano

Od czego masz questa.

 

@Top,nic ciekawego było to już jakiś czas temu na epvp.

Lecz skoro mówisz że sam to robiłeś to dobrze.

Pozdrawiam.

Ja pie.rdo.le mowi to koles, ktory wstawil ikonki i jak sam przyznal z epvp.

I to z epvp nie moze sie rownac z tym okienkiem pod zadnym wzgledem i wygladu i kodu.

Takze pie.rdo.lnij sie i popatrz na swoje "tuty/dl'ki", ktore nigdy nie byly wykonane przez Ciebie. ;f

 

@topic

Pieknie, ladnie, cud, miod, malina.

Like juz wczesniej dalem. :)

Specjalista
Opublikowano

Ja pie.rdo.le mowi to koles, ktory wstawil ikonki i jak sam przyznal z epvp.

I to z epvp nie moze sie rownac z tym okienkiem pod zadnym wzgledem i wygladu i kodu.

Takze pie.rdo.lnij sie i popatrz na swoje "tuty/dl'ki", ktore nigdy nie byly wykonane przez Ciebie. ;f

 

@topic

Pieknie, ladnie, cud, miod, malina.

Like juz wczesniej dalem. :)

 

Napisałem tylko że było takie coś na epvp,a nie k***a że zajebał to z epvp,więc jak k***a nie wiesz o co mi chodzi to nie wpierdalaj się tam gdzie nie potrzeba.

A do moich tutów-dl to nie powinny Cię interesować,a swoich własnych rzeczy nie mam zamiaru wstawiać na jakiekolwiek forum.

 

nie było nic takiego na epvp, jedyne co bylo to banalna rzecz bez zapisywania tp i byla wrecz ohydna, aczkolwiek dowiedzialem sie o tym dopiero po zrobieniu tego

Masz racje nie było to takie wykonanie,tylko napisałem że było coś w tym stylu,nie zarzucam Ci nic.

 

Praca jest dobra. :)

Pomogłeś,pomogę kiedy tylko brachu mogę!

 

graphic.png

 

Opublikowano

Ja bym się tylko do questa przyczepil. Zamiast pisać tak cmdchaty można zrobić pętle. Daje nam to większe możliwości edycji.

Anyway, good job

ZcWbjGf.png


Serdecznie zapraszam :)

Opublikowano

swoją drogą w tp window mozesz wszystkie buttony przesunac o 1/2px w prawo, bo widze ze ten 1px za bardzo w lewo jest, taka drobna sugestia :P i tak te buttony ustawialem chyba z 1h lacznie :O caly czas klienta odpalac... mordega, wiesz moze czy da rade jakos inaczej dokladnie te x i y liczyc? Bo ja to robilem na slepo, metoda prob i bledow, az uzyskalem taki o to rowny efekt

http://pastebin.com/CvHNnSgr

Tak można by  było zrobić, jest o wiele szybciej, jak widzisz nie musisz tworzyc dwóch modułów( plików) wystarczy  że w jednym dodasz dwie klasy do tego np buttony ktore mają tą samą funkcje lecz przekazują inne wartosci, warto dać w liste, i zapętlić przypisanie funkcji. A ustawianie - też ustawiam na czuja może ktoś stąd ma inny sposób, lecz jak mam jakieś równoległe lub szeregowe rzeczy ustawić to robie tak że usatwiam jedną, patrze na grafike jakie ma wymiary ( albo x albo y) i robie coś takiego np : 

poczatkowa odległośc + jego_wymiar(x lub y )*który_elemt_z_kolei + odległośc pomiędzy elementami

przy czym  zmieniasz tylko wartośc " który_elemt_z_kolei" reszte dajesz stałą

aFMA3pg.png

Opublikowano
 

Ja bym się tylko do questa przyczepil. Zamiast pisać tak cmdchaty można zrobić pętle. Daje nam to większe możliwości edycji.

Anyway, good job

Akurat autorem questa jestem ja i pętla przy takim cmdchacie to w moim mniemaniu głupota, ale przy Tobie bym się wiele nie spodziewał.

Dodam jeszcze że nie wiem czemu przekształciłeś warunki z zapisywaniem na danym indexie, spokojnie table_is_in by się tutaj nadawało.

@The Naid

Nie wiem co miałeś na myśli (albo to prowo, nie wiem xD) ale to jego pierwsza praca w pythonie, wydaje mi się że i tak się postarał.

 

Opublikowano

@Tarien, nie rozumiem Twojego zbulwersowania. Napisałem, że można się do niego przyczepić, co nie oznacza, że mówię, że jest c*****y, etc.

Jeśli chodzi o tą pętlę to myślałem o dodawaniu kolejnych danych do string, oczywiście oddzielając je "|", tak jak jest to zrobione w quescie pod loterie (tombole).

Nie mam zamiaru z nikim się kłócić. Nie musisz uznawać, że jestem dobry, ale przynajmniej miej chociaż trochę szacunku i zachowaj swoją opinie o mnie dla siebie.

ZcWbjGf.png


Serdecznie zapraszam :)

Opublikowano

@Tarien, nie rozumiem Twojego zbulwersowania. Napisałem, że można się do niego przyczepić, co nie oznacza, że mówię, że jest c*****y, etc.

Jeśli chodzi o tą pętlę to myślałem o dodawaniu kolejnych danych do string, oczywiście oddzielając je "|", tak jak jest to zrobione w quescie pod loterie (tombole).

Nie mam zamiaru z nikim się kłócić. Nie musisz uznawać, że jestem dobry, ale przynajmniej miej chociaż trochę szacunku i zachowaj swoją opinie o mnie dla siebie.

 

Do Ciebie nie można mieć szacunku, jesteś nikim.

 

Opublikowano
http://pastebin.com/CvHNnSgr

Tak można by  było zrobić, jest o wiele szybciej, jak widzisz nie musisz tworzyc dwóch modułów( plików) wystarczy  że w jednym dodasz dwie klasy do tego np buttony ktore mają tą samą funkcje lecz przekazują inne wartosci, warto dać w liste, i zapętlić przypisanie funkcji. A ustawianie - też ustawiam na czuja może ktoś stąd ma inny sposób, lecz jak mam jakieś równoległe lub szeregowe rzeczy ustawić to robie tak że usatwiam jedną, patrze na grafike jakie ma wymiary ( albo x albo y) i robie coś takiego np : 

poczatkowa odległośc + jego_wymiar(x lub y )*który_elemt_z_kolei + odległośc pomiędzy elementami

przy czym  zmieniasz tylko wartośc " który_elemt_z_kolei" reszte dajesz stałą

 

                        self.teleport_list.append(self.GetChild("jinno"))
                        self.teleport_list.append(self.GetChild("shinsoo"))
                        self.teleport_list.append(self.GetChild("jinnom2"))
                        self.teleport_list.append(self.GetChild("shinsoom2"))
                        self.teleport_list.append(self.GetChild("exp1"))
                        self.teleport_list.append(self.GetChild("exp2"))
                        self.teleport_list.append(self.GetChild("exp3"))
                        self.teleport_list.append(self.GetChild("exp4"))
                        self.teleport_list.append(self.GetChild("exp5"))
                        self.teleport_list.append(self.GetChild("exp6"))
                        self.teleport_list.append(self.GetChild("exp7"))
                        self.teleport_list.append(self.GetChild("exp8"))
                        self.teleport_list.append(self.GetChild("zapis1"))
                        self.teleport_list.append(self.GetChild("zapis2"))
                        self.teleport_list.append(self.GetChild("zapis3"))
                        self.teleport_list.append(self.GetChild("zapis4"))
                        self.teleport_list.append(self.GetChild("zapis5"))
                        self.teleport_list.append(self.GetChild("zapis6"))
                        self.teleport_list.append(self.GetChild("zapis7"))
                        self.teleport_list.append(self.GetChild("zapis8"))    

Bardzo ładnie to zoptymalizowałeś, nie powiem.

Wcale nie możemy zastosować tu pętli.

 

Zresztą powinieneś dodać w Eventowaniu do i + 1, bo xrange rozpoczyna pętle od 0, a teleport zaczyna sie od 1.

Opublikowano
                        self.teleport_list.append(self.GetChild("jinno"))
                        self.teleport_list.append(self.GetChild("shinsoo"))
                        self.teleport_list.append(self.GetChild("jinnom2"))
                        self.teleport_list.append(self.GetChild("shinsoom2"))
                        self.teleport_list.append(self.GetChild("exp1"))
                        self.teleport_list.append(self.GetChild("exp2"))
                        self.teleport_list.append(self.GetChild("exp3"))
                        self.teleport_list.append(self.GetChild("exp4"))
                        self.teleport_list.append(self.GetChild("exp5"))
                        self.teleport_list.append(self.GetChild("exp6"))
                        self.teleport_list.append(self.GetChild("exp7"))
                        self.teleport_list.append(self.GetChild("exp8"))
                        self.teleport_list.append(self.GetChild("zapis1"))
                        self.teleport_list.append(self.GetChild("zapis2"))
                        self.teleport_list.append(self.GetChild("zapis3"))
                        self.teleport_list.append(self.GetChild("zapis4"))
                        self.teleport_list.append(self.GetChild("zapis5"))
                        self.teleport_list.append(self.GetChild("zapis6"))
                        self.teleport_list.append(self.GetChild("zapis7"))
                        self.teleport_list.append(self.GetChild("zapis8"))    

Bardzo ładnie to zoptymalizowałeś, nie powiem.

Wcale nie możemy zastosować tu pętli.

 

Zresztą powinieneś dodać w Eventowaniu do i + 1, bo xrange rozpoczyna pętle od 0, a teleport zaczyna sie od 1.

 

Powiedz mi po co tutaj dodawać pętle? xD, a z I + 1 to zauwazyelm ;3

aFMA3pg.png

Opublikowano

Powiedz mi po co tutaj dodawać pętle? xD, a z I + 1 to zauwazyelm ;3

 

Skoro już chcesz coś optymalizować to rób to do końca, bo potem wychodzą skrypty, które są bardzo złe dla moich oczu.

Opublikowano

Skoro już chcesz coś optymalizować to rób to do końca, bo potem wychodzą skrypty, które są bardzo złe dla moich oczu.

Widziałem większośc twoich skrypótw i  nawet się na ich temat nie wypowiadam, bo mi c**j opada jak je widze, oczywiscie nie wszystkie

aFMA3pg.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...