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

Dodanie animacji czekania do zbroi


sube

Rekomendowane odpowiedzi

Opublikowano

Witam, chciałbym dodać osobną animację czekania (wait) dla zbroi na serwerze, lecz nie wiem jak to zrobić.

 

Na start chciałbym zrobić to tylko dla woja. Wiem, że animacje (pliki .gr2 - nie wiem czy to animacja, tak nazywam :) ) znajdują się w plikach pc/pc2 (dla woja m - pc)

 

 

713931420042536783883.png

 

 

761751420042536783883.png

 

 

 

 

Gdy podmieniam pliki wait na nowe, wszystko działa bez problemu, lecz działa dla każdej zbroi czy też bez zbroi, dla wszystkiego (general - bez broni, onehand_sword i twohand_sword dla broni). Lecz ja celuję wyżej oraz chciałbym zrobić to tylko dla 1 zbroi na serwerze, żeby miała swoją własną unikalną animację postoju.

 

Szukałem w rootach i znalazłem w pliku playersettingmodule.py coś na ten temat

 

 

 

561091420042537783883.png

 

 

 

oczywiście było to bez tego ifa :) Próbowałem to tak lamersko zrobić, lecz client wywala przy wlączaniu gry(oczywiscie dodalem do .xml pliczki ktore dodalem czyli wait2), próbowałem probrać funkcją GetItemIndex id zbroi ze slota (nr 90 - z tego co sie dowiedzialem jest to slot zbroi) i porównać z moją zbroją (tj. 45169). Niestety moja znajomość pythona oraz clienta nei jest jeszcze wystarczająco dobra dla lepszych pomysłów.

 

Jest jakiś sposób na osiągnięcie tego co chciałbym zrobić ? Daję wszystkie lajki dla osoby która mi pomoże ;)

 

@na ostatnim zdjęciu widac w ifach oraz elsach te same pliki tj wait, ponieważ robiłem ten plik 2 raz  na potrzeby tego tematu i się pomyliłem, pierwotnie miałem tam w ifie wait2.msa, oraz w elsie wait.msa (gdyby ktoś się przyczepił)

Opublikowano

Co ma do tego wpis smokingu ? ;d czy masz na myśli moją zbroję o id 45169 ?


jest to wpis z clientowego item proto ^:

<Item vnum="45169" name="45169" gb2312name="Jakas zbroja +9" type="2" subtype="0" weight="0" size="2" antiflag="312" flag="1" wearflag="1" immuneflag="0" gold="120000" buy_price="515000" limittype0="1" limitvalue0="105" limittype1="0" limitvalue1="0" applytype0="8" applyvalue0="0" applytype1="37" applyvalue1="25" applytype2="69" applyvalue2="10" value0="0" value1="120" value2="0" value3="53" value4="0" value5="100" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="0" refine_set="0" magic_pct="10" specular="100" socket_pct="3" />
Opublikowano

Najpierw zobacz składnię warunku if'a z else i to co sam napisałeś. Masz tam błąd składni, dlatego ci się sypie client. Całość powinna wyglądać mniej więcej tak:
 

        if player.GetItemIndex(90) == 45169:
                chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT,                          "wait_new.msa", 50)
                chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT,                          "wait_1_new.msa", 50)
        else:
                chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT,                          "wait.msa", 50)
                chrmgr.RegisterCacheMotionData(chr.MOTION_MODE_ONEHAND_SWORD, chr.MOTION_WAIT,                          "wait_1.msa", 50)
Opublikowano

Faktycznie miałem błąd, teraz ładnie odpala client i mogę wejść do gry. Natomiast problem w tym, że program cały czas wykonuje to co jest w elsie :) Nie bierze wgl pod uwagę założonej zbroi - czyli musi być coś z nią. Slot zbroi to na pewno 90 ? A może istnieje inna funkcja która bardziej się do tego nada ?

Opublikowano

Owszem, bo nie wziąłeś po uwagę, że:

- ten kod nie jest stale odświeżany

- taki warunek sprawdza jaki item masz założony Ty na slocie zbroi, a nie gracz przy tobie. Jeśli warunek byłby spełniony na twojej postaci, to podmieniłbyś animację wszystkim wokół Ciebie (ty byś to widział).

Opublikowano

Masz rację, przeoczyłem tak ważny element jakim jest client, który nie bierze pod uwagę ustawień innych graczy, czyli nawet jeżeli w jakiś sposób kod by się regularnie odświeżał, to i tak nie działało by to zgodnie z naszym zamiarem. Jest możliwość zrobienia czegoś takiego od strony serwera ? Na przykład przy pomocy questa. W sumie.. nawet jeżeli quest by działał, to wciąż chyba dla tej jednej osoby ( która go uaktywniła) oraz wciąż musiałby ingerować w clienta, czyli mogę śmiało stwierdzić, że jest to wręcz niemożliwe do wykonania ?

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...