Skocz do zawartości

Dołącz do społeczności Sharegon

Odkryj świat technologii, gier i programowania w Sharegon.pl 🚀

Czy jesteś pasjonatem nowych technologii, zapalonym graczem, czy aspirującym programistą? Nasza społeczność jest miejscem dla Ciebie! Tutaj możesz dzielić się swoimi pomysłami, uczestniczyć w ekscytujących dyskusjach i uczyć się od ekspertów w dziedzinie. Zdobywaj osiągnięcia, buduj swoją reputację i rywalizuj z innymi entuzjastami.

Twoja wiedza i umiejętności mogą wzbogacić naszą społeczność. Stań się częścią Sharegon! 🧩🌐

header

Rekomendowane odpowiedzi

bugfix.webp.0a739ad15af71c44f5367650b6c9e164.webp

 

Witajcie,

 

Chciałbym podzielić się z Wami pewnym aspektem mechaniki listy znajomych, który wymagał poprawy. Dotychczas, kiedy jeden z graczy usuwał innego z listy znajomych, efekt tej decyzji był widoczny jedynie dla osoby dokonującej tej zmiany. Osoba, której dotyczyło to działanie, nie otrzymywała żadnej informacji i nie dostrzegała różnicy na swojej liście. Uważam, że jest to niekorzystne dla obu stron. Osoba usunięta z listy nie ma możliwości dowiedzieć się o tym, a osoba dokonująca usunięcia nie ma pewności, czy jej decyzja została przyjęta. Dlatego postanowiłem wprowadzić stosowną modyfikację. Dzięki mojej poprawce, każda interakcja z listą znajomych będzie teraz odzwierciedlona i widoczna dla obu stron. Co więcej, osoba usunięta z listy otrzyma powiadomienie o tej decyzji.

 

Mam nadzieję, że to uaktualnienie przyczyni się do jeszcze lepszej jakości interakcji między graczami na naszych serwerach.

Czekam z niecierpliwością na Wasze opinie oraz ewentualne sugestie dotyczące tej zmiany!

 

Przedstawienie błędu:

Prezentacja rozwiązania:

 

Wymagane wdrożenie:

 

Implementacja:

📁 Lokalizacja pliku: 'game -> messenger_manager.cpp'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

 

 Dodaj

🔐 Ukryta Treść 🔐

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

 

📁 Lokalizacja pliku: 'game -> packet.h'

 

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 Dodaj

🔐 Ukryta Treść 🔐

 

Teraz po MESSENGER_SUBHEADER_GC_MOBILE dodaj przecinek!

 

 

📁 Lokalizacja pliku: 'UserInterface -> PythonMessenger.cpp'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

 

📁 Lokalizacja pliku: 'UserInterface -> PythonNetworkStreamPhaseGame.cpp'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 Dodaj

🔐 Ukryta Treść 🔐

 

 

📁 Lokalizacja pliku: 'UserInterface -> packet.h'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 Dodaj

🔐 Ukryta Treść 🔐

 

Teraz po MESSENGER_SUBHEADER_GC_MOBILE dodaj przecinek!

 

 

📁 Lokalizacja pliku: 'locale -> pl -> locale_string.txt'

 

 Dodaj

🔐 Ukryta Treść 🔐

 

Jeśli nie korzystasz z locale string czytanego z klienta gry musisz zmienić pakiet chatu. 

 

  • Lubię 6
  • Dzięki 1
  • Serce 2
  • Lubię 6
  • Dzięki 1
  • Serce 2
Odnośnik do komentarza
https://sharegon.pl/topic/214-naprawa-niesp%C3%B3jno%C5%9Bci-w-systemie-znajomych/
Udostępnij na innych stronach

@ExoCarossa Skąd taki pomysł, że miałby dostać perm bana? 😄 Szczerze mówiąc nie brałem pod uwagę takiej sytuacji, sprawdź to.

 

Aktualizacja

Sprawdziłem, podczas zmiany nazwy postaci automatycznie jest usuwana z listy znajomych.

 

Test

image.gif.3dabd02c657e2c7160feb409292795be.gif

 

Podsumowując wszystko działa poprawnie. Po zmianie nazwy postać jest usuwana z listy znajomych kliknięcie usuń gdy już nie ma co usuwać nie wykonuje żadnej akcji. 

Postać na której zmieniałem nick została wylogowana po zmianie nazwy w ten sposób są wprowadzane zmiany to nie żaden błąd jak coś. 🙂

 

 

  • Lubię 1
  • Lubię 1
Odnośnik do komentarza
https://sharegon.pl/topic/214-naprawa-niesp%C3%B3jno%C5%9Bci-w-systemie-znajomych/#findComment-539
Udostępnij na innych stronach

@GTW Rozważę taką funkcję. Jednak, jest to temat związany z wcześniej opisaną poprawką, więc nie odbiegajmy od głównego tematu.

  • Lubię 2
  • Lubię 2
Odnośnik do komentarza
https://sharegon.pl/topic/214-naprawa-niesp%C3%B3jno%C5%9Bci-w-systemie-znajomych/#findComment-541
Udostępnij na innych stronach

Cytat

messenger_manager.cpp:247:137: error: use of undeclared identifier '__account'; did you mean 'account'?
        DBManager::Instance().Query("DELETE FROM messenger_list WHERE (account='%s' AND companion='%s') OR (account='%s' AND companion='%s')", __account, __companion, __companion, __account);

Odnośnik do komentarza
https://sharegon.pl/topic/214-naprawa-niesp%C3%B3jno%C5%9Bci-w-systemie-znajomych/#findComment-1615
Udostępnij na innych stronach

@ExoCarossa Musisz mieć wgrane zabezpieczenie przed sql injector ponieważ robiłem te zmiany na poprawionej funkcji tu masz rozwiązanie. 

 

 

Odnośnik do komentarza
https://sharegon.pl/topic/214-naprawa-niesp%C3%B3jno%C5%9Bci-w-systemie-znajomych/#findComment-1616
Udostępnij na innych stronach

📁 Lokalizacja pliku: 'locale -> pl -> locale_string.txt'

 

 Dodaj

267	[Przyjaciele] Gracz %s usunął Cię z listy znajomych.

Że w ten sposób?

Cytat

ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Gracz %s usunal Cie z listy znajomych.")), account.c_str();

Jak dodałem w ten sposób to przy usunięciu kogoś ze znaj tylko my dostaniemy informacje a tamta osoba już nie.

image.png.054fdcdc316eceeca202b36236a1bb93.png

Odnośnik do komentarza
https://sharegon.pl/topic/214-naprawa-niesp%C3%B3jno%C5%9Bci-w-systemie-znajomych/#findComment-1621
Udostępnij na innych stronach

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ą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...