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

[Pytanie] Opcje w kliencie


Rekomendowane odpowiedzi

Opublikowano

Witam.

Mam takie pytanie: Jak zrobić takie opcje typu np. zapamiętywanie hasła i wysuwana klawiatura takie jak są w kliencie by fast77 na swoim ?

Pozdrawiam

ZorQ

Poszukuje pluginu Gr2 do 3Ds max 2012.

haac.jpg

 

Jestem jaki jestem i tego NIE zmienię!

 

 

 

Moje Tut'y

 

Video tut jak dodać mapę na swój serwer:

http://www.mpcforum.pl/topic/416201-videotut-jak-dodac-mape-na-wlasny-serwer/page__gopid__2960589#entry2960589

Texture Mod:

http://www.mpcforum.pl/topic/406659-download-texture-mod/page__p__2892270__fromsearch__1#entry2892270

Znaczek GM:

http://www.mpcforum.pl/topic/367597-dl-znaczek-gm/page__p__2603024__fromsearch__1#entry2603024

Nowe Zbroje By Baso:

http://www.mpcforum.pl/topic/478940-dltutzbroje-by-baso/

 

Opublikowano
To leci tak: za to zapisywanie odpowiedzialne są dwa pliki: intrologin.py w root oraz loginwindow.py w locale (locale, taka ciekawostka: nie musi być pakowane). Uwaga: wcięcia w Pythonie mają znaczenie zasadnicze, trzeba wyrównać do sekcji w którą wklejamy. Zwykle są to dwa tabulatory. Inaczej wszystko się rozsypie. Proponuję zacząć od p 2.

1. w intrologin.py, (numery linii są dla pliku klienta z tego roku, z klawiaturą wirtualną) dodajecie:

- w sekcji importów, na początku pliku (dla porządku)

import linecache

 

- w linii ok: 501, odpowiadającej za przypisania obiektów z innego modułu do aktualnego, dopisać do istniejących przypisań

self.loginConfigBoard = GetObject("SaveLoginBoard")

self.loginSaveButton = GetObject("LoginSaveButton")

 

- dalej w sekcji obsługującej kliknięcia i przypisania button linia ok: 550

self.loginSaveButton.SetEvent(ui.__mem_func__(self.__OnClickSaveButton))

 

- potem sekcja linia ok: 1100 powinna wygladac jakoś tak

global SKIP_LOGIN_PHASE

if SKIP_LOGIN_PHASE:

if not self.loginInfo:

self.connectBoard.Hide()

login = linecache.getline("loginsetting.cfg", 1)

password = linecache.getline("loginsetting.cfg", 2)

self.idEditLine.SetText(login)

self.pwdEditLine.SetText(password)

id = self.idEditLine.GetText()

id = id.replace('\n', '')

self.idEditLine.SetText(id)

 

- i jeszcze tylko funkcja zapisu, pod koniec pliku ok linii 1250 , nie ma znaczenia za mocno gdzie się to znajdzie

def __OnClickSaveButton(self):

id = self.idEditLine.GetText()

pwd = self.pwdEditLine.GetText()

f = open("loginsetting.cfg", "w")

f.write (id +"\n")

f.write (pwd)

f.close()

self.PopupNotifyMessage("Dane konta zostały zapisane !")

 

 

Teraz jeszcze konfiguracja pokazywania/ukrywania elementów, powiązane to jest z kodem, wstawienie nie może być dowolne, ukrywanie sekcji z pliku z p. 2 :

- linie: 260, 827, 1052, 1089

self.LoginConfigBoard.Hide()

 

- pokazywanie, linia 1094, ta sama instrukcja if app.loggined: co linia 1089, tylko w sekcji else if, jest to jedyne miejsce gdzie definiuje się pokazywanie obszaru (boardu) zapisywania:

self.loginConfigBoard.Show()

 

- linia 311

self.loginConfigBoard = None

 

2. w loginwindow.py - plik odpowiada za to co widać podczas logowania: okienka, pozycja okienek, linie, tła itp. Tu definiuje się pola / buttony jak to ma wyglądać i gdzie.

- wystarczy skopiować jedną sekcję board najlepiej ## ConnectBoard (byle nie klawiatury numerycznej, bo długa jest), w dowolne miejsce, najlepiej pomiędzy ## tak żeby nie popsuć tego co już istnieje, zmienić nazwę sekcji (oczywiście nazwy sekcji z p. 1 i p. 2 muszą być zgodne) i współrzędne. Wewnątrz board wspólrzedne są względne, dlatego przesuwamy całą sekcję, ułatwia to pozycjonowanie. Proponuje zacząć o tego punktu, bo od razu widać efekty.

3. ostatnia rzecz to utworzyć plik loginsetting.cfg w katalogu tam gdzie exe klienta (choć prawdopodobnie sam się utworzy w momencie zapisu, ale łatwiej debuggować). Jest tu zapis 1 konta, ale można się bawić w dodawanie kolejnych buttonów i okienek.

 

Uwagi końcowe: jeśli zrobicie błąd syntaktyczny aplikacja wyrzuci błąd z numerem linii, jeśli błąd jest logiczny może nic nie wyrzucić i nie widać wtedy żadnych zmian. syserr.txt klienta pokaże wtedy coś więcej. Nie daję gotowca, żeby nie było zbyt łatwo, ale pewnie macie przykłady w modzie Kamera i kliencie CKranka, z którego ja korzystałem podczas nauki. Jak wiecie już co potrzeba to sobie sami znajdziecie. W zasadzie opisałem wszystko bardzo dokładnie.

Ale z drugiej strony niech stracę macie link http://www.megaupload.com/?d=71TZUCMM

 

 

To na zapisywanie passow.

 

 

1320412030-U418656.png

Opublikowano

Dobra już mam all ,dzięki Rumuniasty dostajesz +sika za pomoc :D

Temat do zamknięcia

Poszukuje pluginu Gr2 do 3Ds max 2012.

haac.jpg

 

Jestem jaki jestem i tego NIE zmienię!

 

 

 

Moje Tut'y

 

Video tut jak dodać mapę na swój serwer:

http://www.mpcforum.pl/topic/416201-videotut-jak-dodac-mape-na-wlasny-serwer/page__gopid__2960589#entry2960589

Texture Mod:

http://www.mpcforum.pl/topic/406659-download-texture-mod/page__p__2892270__fromsearch__1#entry2892270

Znaczek GM:

http://www.mpcforum.pl/topic/367597-dl-znaczek-gm/page__p__2603024__fromsearch__1#entry2603024

Nowe Zbroje By Baso:

http://www.mpcforum.pl/topic/478940-dltutzbroje-by-baso/

 

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...