Opublikowano 25 Lutego 20241 r Cześć 🖐️ W patchu 17.5 na oficjalnym serwerze wprowadzono zmiany do umiejętności buffujących. Szaman rzucając buff na siebie, automatycznie buffuje teraz wszystkich członków swojej drużyny. Ta modyfikacja dodaje nową flagę 'PARTY' dla umiejętności. Postanowiłem rozszerzyć tę funkcjonalność. Moje rozwiązanie Na globalnym serwerze umiejętności buffujące dla drużyny działają tylko w pobliżu. Moje rozszerzenie pozwala na rzucanie buffa dla graczy w grupie z dowolnego miejsca na mapie. To rozwiązanie jest opcjonalnie do włączenia na makro 'ENABLE_PARTY_SKILL_FULL_MAP'. Przedstawienie rozwiązania 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Implementacja 📁Lokalizacja pliku: 'common -> locale_inc.h' ➕ Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📁Lokalizacja pliku: 'game -> src -> skill.h' 🔎 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj (na końcu listy u ciebie może ostania być inna) 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📁Lokalizacja pliku: 'game -> src -> char_skill.cpp' 🔎 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ♻️Zamień 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔎 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔎 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔎 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📁Lokalizacja pliku: 'game -> src -> char.h' 🔎 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🛠️ Modyfikacja struktury tabeli - 'skill_proto' Prawym przyciskiem myszy -> skill_proto -> Design Table, Szukaj kolumny 'setFlag', W Values będziesz mieć wszystkie typy wyliczeniowe dostępnych flag, Na samym końcu dodajesz nową flagę o nazwie - PARTY Mała uwaga, wszystkie typy muszą być zgodne z typami w źródle kolejność i ilość musi się zgadzać jeśli nie masz jakiejś dodanej, musisz ją dodać! 🛠️ Modyfikacja rekordów w tabeli - 'skill_proto' 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📁Lokalizacja pliku: 'locale -> pl -> skill_desc.txt' ♻️Zamień (tylko rekordy dla tych umiejętności co podałem) 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się
Opublikowano 26 Lutego 20241 r Kurde, wczoraj śmigał system i dzisiaj również śmiga, lecz diametralnie nie działają mi inne skille, a wczoraj było okej bo nawet zabijałem postacie żeby buff gasł.
Opublikowano 27 Lutego 20241 r Autor 13 godzin temu, Drip-133 napisał(a): Kurde, wczoraj śmigał system i dzisiaj również śmiga, lecz diametralnie nie działają mi inne skille, a wczoraj było okej bo nawet zabijałem postacie żeby buff gasł. Proszę więcej informacji na ten temat. Jakie umiejętności nie działają, co się konkretnie dzieje? Log, który podesłałeś wynika z braku obsługi flagi PARTY w bince możesz pominąć etap z dodawaniem w item_desc.txt tej flagi, wystarczy dodać ją w tabeli 'skill_proto' w bazie danych. Postaram się zaimplementować PARTY do binki i zaktualizuje temat. Ja podczas testów nie zauważyłem żadnych problemów. Możesz nagrać jakiś krótki filmik z tych błędów w innych umiejętnościach? Jesteś pewny, że zaimplementowałeś poprawnie kod?
Opublikowano 27 Lutego 20241 r 4 godziny temu, Sevence napisał(a): Proszę więcej informacji na ten temat. Jakie umiejętności nie działają, co się konkretnie dzieje? Log, który podesłałeś wynika z braku obsługi flagi PARTY w bince możesz pominąć etap z dodawaniem w item_desc.txt tej flagi, wystarczy dodać ją w tabeli 'skill_proto' w bazie danych. Postaram się zaimplementować PARTY do binki i zaktualizuje temat. Ja podczas testów nie zauważyłem żadnych problemów. Możesz nagrać jakiś krótki filmik z tych błędów w innych umiejętnościach? Jesteś pewny, że zaimplementowałeś poprawnie kod? Nie działa każdy skill prócz buffujących Metin2 2024-02-27 12-49-44.mp4
Opublikowano 27 Lutego 20241 r Autor Z tego co mi wysłałeś na PW, źle dodałeś nie zmieniaj nic tylko dodaj jak w poradniku.
Opublikowano 24 Sierpnia 202424 Sie Błąd jak kolega wyżej 🙂 Dodałbyś poradnik jak dodać te PARTY do binki ?:)
Opublikowano 24 Sierpnia 202424 Sie Autor @Burdavsky Nie ma potrzeby dodawania PARTY w binarce, wystarczy na serwerze.
Opublikowano 24 Sierpnia 202424 Sie 10 minut temu, Sevence napisał(a): @Burdavsky Nie ma potrzeby dodawania PARTY w binarce, wystarczy na serwerze. fakt masz racje , zrobiłem porządek w setFlags w skill proto i działa jak trzeba pozdrawiam z rodzinką 😄
Opublikowano 31 Sierpnia 202431 Sie W dniu 24.08.2024 o 14:44, Burdavsky napisał(a): fakt masz racje , zrobiłem porządek w setFlags w skill proto i działa jak trzeba pozdrawiam z rodzinką 😄 Mógłbyś podpowiedzieć co zrobiłeś? Mam ten sam błąd 🙂
Opublikowano 31 Sierpnia 202431 Sie 9 godzin temu, Fenczu napisał(a): Mógłbyś podpowiedzieć co zrobiłeś? Mam ten sam błąd 🙂 Ale blad w sysser ? To nie dodawaj PARTY w skilldesc.txt a jeżeli chodzi ci o porządek w setflag to musisz sprawdzić czy w skillproto w setflag zgadza się z enum ESkillFlags , tak jak sevendejs napisał: Mała uwaga, wszystkie typy muszą być zgodne z typami w źródle kolejność i ilość musi się zgadzać jeśli nie masz jakiejś dodanej, musisz ją dodać! Edytowane 31 Sierpnia 202431 Sie przez Burdavsky
Opublikowano 1 Września 20241 Wrz Pytanie teraz bo po dodaniu tego nie mogę buffać bez pt osób 😄 jakieś rozwiązanie tutaj znajdę:D ## edit Poprawiłem działa ale czy poprawnie nie wiem , może ktoś kto bardziej ogarnia się wypowie. 😄 Szukamy : bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaster) else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY)) pkVictim = this; Zamieniamy na : if(GetParty()){ if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY)) pkVictim = this; } oraz szukamy tez w UseSkill : else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY)) ComputeSkillParty(dwVnum, this); Zamieniamy na : else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty()) ComputeSkillParty(dwVnum, this); Testowałem u siebie bez grupy i w grupie buffa i nadaję bonusy ;D Jakby @Sevence @KoYGeR @ARK rzucili okiem czy to ma prawo bytu to klasa ale ważne że działa 😄 Edytowane 2 Września 20242 Wrz przez Burdavsky
Opublikowano 3 Września 20243 Wrz Programista W dniu 1.09.2024 o 19:25, Burdavsky napisał(a): Pytanie teraz bo po dodaniu tego nie mogę buffać bez pt osób 😄 jakieś rozwiązanie tutaj znajdę:D ## edit Poprawiłem działa ale czy poprawnie nie wiem , może ktoś kto bardziej ogarnia się wypowie. 😄 Szukamy : bool CHARACTER::UseSkill(DWORD dwVnum, LPCHARACTER pkVictim, bool bUseGrandMaster) else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY)) pkVictim = this; Zamieniamy na : if(GetParty()){ if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY)) pkVictim = this; } oraz szukamy tez w UseSkill : else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY)) ComputeSkillParty(dwVnum, this); Zamieniamy na : else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty()) ComputeSkillParty(dwVnum, this); Testowałem u siebie bez grupy i w grupie buffa i nadaję bonusy ;D Jakby @Sevence @KoYGeR @ARK rzucili okiem czy to ma prawo bytu to klasa ale ważne że działa 😄
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.