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

[TuT] Zamrażanie widoku


Rekomendowane odpowiedzi

Opublikowano
W modzie kamera była kiedyś, nie wiem jak teraz, możliwość zablokowania, zamrożenia kamery. To jest, kamera pozostaje w miejscu, a my widzimy jak postać się przemieszcza. Dzisiaj chciałbym pokazać jak można uzyskać ten efekt. Może się to przydać np do kręcenia filmów. Dodajmy to może do game.py, pod F9.


Otwieramy game.py i szukamy linii:



onPressKeyDict[app.DIK_F4] = lambda : self.__PressQuickSlot(7)



Dajemy ENTER i zachowując tabulację dodajemy:



[TAB][TAB]onPressKeyDict[app.DIK_F9][TAB] = lambda : self.__FreezeCamera()



Następnie szukamy np:



def __SetQuickSlotMode(self):
self.pressNumber=ui.__mem_func__(self.__PressQuickSlot)



i dodajemy poniżej:



[TAB]def __FreezeCamera(self):
[TAB][TAB]x, y, z = player.GetMainCharacterPosition()
[TAB][TAB]app.SetCameraSetting(int(x), int(-y), int(z), 3000, 0, 30)



Właśnie dodaliśmy zamrażanie kamery - ale co, jeżeli chcemy aby można było bez zamykania klienta wrócić do normalnego widoku? Może nie do końca optymalnie, ale najprościej będzie dodać pod F8 powrót do standardowej kamery.


Aby to uzyskać wracamy do naszej linii:



onPressKeyDict[app.DIK_F9] = lambda : self.__FreezeCamera()



Dodajemy poniżej:



[TAB][TAB]onPressKeyDict[app.DIK_F8][TAB] = lambda : self.__NormalCamera()



Szukamy:



def __FreezeCamera(self):
x, y, z = player.GetMainCharacterPosition()
app.SetCameraSetting(int(x), int(-y), int(z), 3000, 0, 30)



i dodajemy poniżej:



[TAB]def __NormalCamera(self):
[TAB][TAB]app.SetDefaultCamera()



Zapisz, sprawdź. Jeżeli wszystko zrobiłeś dobrze, to F9 będzie zamrażało kamerę, a F8 odmrażało.





Dodam że ten kawałek kodu jest standardowo w rootach, w uiguild.



app.SetCameraSetting(int(x), int(-y), int(z), 3000, 0, 30)



Trafiłem na niego kiedy szukałem sposobu na to co kiedyś widziałem u Kamera.


Podgląd:


sygnatura2.png


Opublikowano

dobra przyda się do dobryc filmów o metin2

 

__________________▄▄▄▄▄
______________________▄....░..
_____________________▐░░░░░░░.
____________________▐░░░░░░░░▐
____________________▐░...▀...▐
_____________________▐░▀▀░░▀▀▐
_____________________▐░░■▀■░░▌
______________▄▀▀▀▀▄▌.▄░░░▄.▀▀▀▀▀▀▄
_____________▐____▐.▄▄.......▄▄._____▐
_____________▐_____▀▀__░░░░░░░..._____▐
____________▐_________░▀▀▄░░░░__.______▐
___________▐________░░░░▐░▄▀▀▀_________▐
____________▐______░░░░_.._____________▐
_____________▀▀.___.......__▄________▐
________________▐___...........▀▀▄▄.
________________▐___...........___▌
________________▐___...........___▐
_______________▐____..........▌____▐
_____________▄▀___▄▐.........._____▐
___________▄▀______▐.........▌______▐
__________.▄▄______▐.........._______.
_________▄...........▐...▐..________▐
______▄.....................________▐
____▄.......................________▐
___▄........................________.
___.........................______▄▀

 

 

 

Opublikowano

Możesz dodać jeszcze coś takiego jak wyłączenie interface, jest to domyślnie w konsoli klienta:

klient 2010+ ma ją zablokowaną jak ją odblokować

http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/1662006-howto-2011er-client-konsole.html
i polecenia

http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/366314-metin2-console-codes-commands.html
za tą funkcje odpowiada komemda showui

jak byś coś takiego zrobił tylko że pod przyciskiem

8910814572903361049127.png

Opublikowano

Ja mam z tym problem, gdyż pasek ładuje się do końca i nie dochodzi do zalogowania do gry. Pomoże ktoś?

 

@Ok już sobie poradziłem, w jednym miejscu dałem niechcący '.

Opublikowano


Możesz dodać jeszcze coś takiego jak wyłączenie interface, jest to domyślnie w konsoli klienta:

 

[TAB][TAB]onPressKeyDict[app.DIK_F10][TAB] = lambda : self.ShowUI()
[TAB][TAB]onPressKeyDict[app.DIK_F11][TAB] = lambda : self.HideUI()

 

[TAB]def ShowUI(self):
[TAB][TAB]self.CheckGameButton()
[TAB][TAB]self.interface.ShowDefaultWindows()
[TAB][TAB]self.interface.wndChat.Show()
 
[TAB]def HideUI(self):
[TAB][TAB]self.interface.HideAllWindows()
[TAB][TAB]self.interface.wndChat.Hide()


Konsola nie jest 'wspierana' od kilku lat, więc 1/2 poleceń z niej i tak nie działa.
Aczkolwiek efekty można ciekawe uzyskać.


eullnj.jpg




yauyxg.jpg

 

sygnatura2.png


Opublikowano

@up mi chodziło o ukrycie interface tak jak poprzez konsole tylko że pod klawiszem + twoje zamrożenie kamery i można śmiało kręcić filmiki z sewera :-) takie małe udogodnienie.

 

@edit źle przeczytałem twój post :-)

8910814572903361049127.png

Opublikowano

No to ja dałem wyżej kod na ukrycie interfejsu pod F11, pokazanie pod F10. W temacie jest mrożenie kamery pod F9 i odmrażanie pod F8, więc chyba tak miało być :P. Oczywiście powinienem zrobić pod jednym przyciskiem dezaktywowanie/aktywowanie, ale to już zrobię dla siebie. Jak ktoś się pobawi można jeszcze regulować odległość mgły, wybierać środowisko, sterować szybkością obrotu kamery.

sygnatura2.png


Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...