Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Jak przenieść postać na inną lokację przez edycję bazy danych?

Nieaktywny

Featured Replies

Opublikowano

Cześć

Skasowałem mapy: trzy miasta m1, trzy miasta m2.

Dodałem nową:

ScriptType	MapSetting

CellScale	200
HeightScale	0.500000

ViewRadius	128

MapSize		2	2
BasePosition	51200 51200
TextureSet	textureset\map_city.txt
Environment	map_city.msenv

Po stronie clienta jak i servera.

Nie przemyślałem tego ruchu i teraz postacie są zbugowane na starych lokalizacjach.

W bazie danych zmieniałem lokalizacje postaci na: 51200 51200 lecz dalej ten sam problem.

Czy mogę przenieść postać na nową mapę?

Rozwiązane przez Thorek

Przejdź do rozwiązania
Opublikowano

Tak, możesz przenieść postać na inną mapę edytując wpis w bazie. Aby to zrobić najpierw wyłącz serwer, następnie w bazie danych w tabeli player zmień wartości w kolumnach:

  • x, y, map_index

  • exit_x, exit_y, exit_map_index

Na nowe koordynaty dla istniejącej mapy oraz jej index, a po włączeniu postać powinna być na tej mapie. Swoją drogą, dlaczego postanowiłeś usunąć całkowicie stare mapy zamiast po prostu podmienić je na nowe?

Opublikowano
  • Programista
  • Rozwiązanie

Postacie zawsze będą próbowały respić się w M1, nawet jak pykniesz wszystkie wartości na 0 w tych kolumnach w player.

Oczywiście można to zmienić edytując któryś z plików start_position w kodzie serwera (nie pamiętam który, bo ja zrobiłem po prostu jeden nagłówkowy, a chyba były dwa).

Zmienne będą wyglądać mniej więcej w ten sposób:

inline int32_t g_start_map[4] = { 0, 1, 21, 41 };

inline uint32_t g_start_position[4][2] = { { 0, 0 },
                                           { 469300, 964200 },
                                           { 55700, 157900 },
                                           { 969600, 278400 } };

inline uint32_t g_create_position[4][2] = { { 0, 0 },
                                            { 459800, 953900 },
                                            { 52070, 166600 },
                                            { 957300, 255200 } };

W pierwszej ustawiasz indeksy nowych map, na które postacie mają być przenoszone (TEGO 0 NIE RUSZASZ), a kolejne zmienne to X i Y indeksów względem g_start_map.

Edytowane przez Thorek

Opublikowano
  • Autor
10 godzin temu, Sevence napisał(a):

Myślę, że chodziło mu o to, że standardowe mapy miast mają rozmiar 4x5, a on chciał zmienić je np. na 6x6 i nie był pewien, czy może wykorzystać ten sam zakres koordynatów przy zmianie wielkości mapy. (Tak to zrozumiałem)

Dokładnie tak

10 godzin temu, Thorek napisał(a):

Postacie zawsze będą próbowały respić się w M1, nawet jak pykniesz wszystkie wartości na 0 w tych kolumnach w player.

Oczywiście można to zmienić edytując któryś z plików start_position w kodzie serwera (nie pamiętam który, bo ja zrobiłem po prostu jeden nagłówkowy, a chyba były dwa).

Zmienne będą wyglądać mniej więcej w ten sposób:

inline int32_t g_start_map[4] = { 0, 1, 21, 41 };

inline uint32_t g_start_position[4][2] = { { 0, 0 },
                                           { 469300, 964200 },
                                           { 55700, 157900 },
                                           { 969600, 278400 } };

inline uint32_t g_create_position[4][2] = { { 0, 0 },
                                            { 459800, 953900 },
                                            { 52070, 166600 },
                                            { 957300, 255200 } };

W pierwszej ustawiasz indeksy nowych map, na które postacie mają być przenoszone (TEGO 0 NIE RUSZASZ), a kolejne zmienne to X i Y indeksów względem g_start_map.

Moja nowa mapa ma index 1, czyli musze zrobić coś takiego:

inline int32_t g_start_map[4] = { 0, 1, 1, 1 };
inline uint32_t g_start_position[4][2] = { { 0, 0 },
                                           { 55700, 157900 },
                                           { 55700, 157900 },
                                           { 55700, 157900 } };
inline uint32_t g_create_position[4][2] = { { 0, 0 },
                                            { 55700, 157900 },
                                            { 55700, 157900 },
                                            { 55700, 157900 } };

Dobrze zrozumiałem?

Opublikowano
  • Autor

Dzięki wielkie, już prawie wszystko wiem, jeszcze tylko dopytam, jeżeli ustawiam w Setting:

BasePosition	51200 51200

To później tak będzie prawidłowo?

inline int32_t g_start_map[4] = { 0, 1, 1, 1 };
inline uint32_t g_start_position[4][2] = { { 0, 0 },
                                           { 50000, 51200 },
                                           { 50000, 51200 },
                                           { 50000, 51200 } };
inline uint32_t g_create_position[4][2] = { { 0, 0 },
                                            { 50000, 51200 },
                                            { 50000, 51200 },
                                            { 50000, 51200 } };
Opublikowano
  • Autor
2 godziny temu, Sevence napisał(a):

Wejdź do gry na tą mapę

Mam jeszcze takie pytanie, tak jak wyżej pisałem, skasowałem mapę na której jest postać oraz została skasowana mapa tworzenia postaci ( wszystkie królestwa ) czy bez konieczności wgrywania na serwer spowrotem mapy, teleportne gracza jeżeli nie znamy wgl współrzędnych nowej mapy? Po samym indexie mapy jest taka możliwość?

Edytowane przez benio101

Opublikowano
  • Autor
Godzinę temu, Sevence napisał(a):

Nie jest to możliwe po samym indexie wtedy podaj po prostu koordynaty z settings.

Teraz jestem na etapie " w skale " , krok do przodu jestem na nowej mapie

Opublikowano
5 godzin temu, Sevence napisał(a):

Prawdopodobnie nie będzie to właściwa pozycja. Wejdź do gry na tą mapę w miejsce gdzie chcesz, aby była pozycja startowa i wtedy wpisz /warp nick i na czacie powinny się pojawić koordynaty na które się przenosisz i te wartości wpisz.

Pisałem Ci przecież o tym, tu masz rozwiązanie.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.