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

Problem z teleportacją na mapy z indexem powyżej 9

Featured Replies

Opublikowano

Siemka. Mam problem z nowym Gui od teleportacji. Dzialaja tylko 10 map, jak chce na 11 albo na 15 sie przeniesc teleportuje mnie na mape druga. Pomoze ktos?

 

Tak to wygląda:

https://i.gyazo.com/9237c9835e3fef79af3793e2391ac6fe.mp4

 

Plik ui:

 

https://wklejamy.pl/GjO1mI50Nf

 

cmd_general:

 

https://wklejamy.pl/2QrpR4wUUu

 

syserr czysty

 

 

 

Rozwiązane przez Sevence

Opublikowano
  • Rozwiązanie

Problem polega na tym, że switch sprawdza jedynie pierwszy znak z arg1, więc każda liczba dwucyfrowa jest traktowana tylko na podstawie pierwszego znaku. Jeśli próbujesz przejść na mapę 11, kod wczytuje tylko 1. Wystarczy zmienić sposób, w jaki numer mapy jest odczytywany. Zamiast odczytywać tylko pierwszy znak, musisz zamienić cały numer na liczbę, aby poprawnie rozróżniać wszystkie numery map.

 

Zaktualizowałem dla ciebie ten kod, sprawdź teraz.

CKod został skopiowany
ACMD(do_teleport_map){	const char *teleport;	char arg1[256], arg2[256]; 	teleport = two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));	int map_number = atoi(arg1); 	switch (map_number)	{		case 0:			ch->WarpSet(409600 + 59700, 896000 + 68200, 1);			break; 		case 1:			ch->WarpSet(307200 + 45900, 819200 + 63700, 4);			break; 		case 2:			ch->WarpSet(921600 + 48000, 204800 + 73600, 3);			break; 		case 3:			ch->WarpSet(819200 + 44700, 204800 + 41200, 6);			break; 		case 4:			ch->WarpSet(0 + 55700, 102400 + 55500, 2);			break; 		case 5:			ch->WarpSet(102400 + 43100, 204800 + 35200, 5);			break; 		case 6:			ch->WarpSet(256000 + 76900, 665600 + 80000, 7);			break; 		case 7:			ch->WarpSet(204800 + 83200, 486400 + 53900, 13);			break; 		case 8:			ch->WarpSet(358400 + 76400, 153600 + 60600, 8);			break; 		case 9:			ch->WarpSet(51200 + 47800, 563200 + 7900, 21);			break; 		case 10:			ch->WarpSet(153600, 1203200, 23);			break; 		case 11:			ch->WarpSet(1301400, 3103800, 26);			break;	}}

 

Opublikowano
  • Autor
W dniu 27.05.2024 o 21:03, Sevence napisał(a):

Problem polega na tym, że switch sprawdza jedynie pierwszy znak z arg1, więc każda liczba dwucyfrowa jest traktowana tylko na podstawie pierwszego znaku. Jeśli próbujesz przejść na mapę 11, kod wczytuje tylko 1. Wystarczy zmienić sposób, w jaki numer mapy jest odczytywany. Zamiast odczytywać tylko pierwszy znak, musisz zamienić cały numer na liczbę, aby poprawnie rozróżniać wszystkie numery map.

 

Zaktualizowałem dla ciebie ten kod, sprawdź teraz.

CKod został skopiowany
ACMD(do_teleport_map){	const char *teleport;	char arg1[256], arg2[256]; 	teleport = two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));	int map_number = atoi(arg1); 	switch (map_number)	{		case 0:			ch->WarpSet(409600 + 59700, 896000 + 68200, 1);			break; 		case 1:			ch->WarpSet(307200 + 45900, 819200 + 63700, 4);			break; 		case 2:			ch->WarpSet(921600 + 48000, 204800 + 73600, 3);			break; 		case 3:			ch->WarpSet(819200 + 44700, 204800 + 41200, 6);			break; 		case 4:			ch->WarpSet(0 + 55700, 102400 + 55500, 2);			break; 		case 5:			ch->WarpSet(102400 + 43100, 204800 + 35200, 5);			break; 		case 6:			ch->WarpSet(256000 + 76900, 665600 + 80000, 7);			break; 		case 7:			ch->WarpSet(204800 + 83200, 486400 + 53900, 13);			break; 		case 8:			ch->WarpSet(358400 + 76400, 153600 + 60600, 8);			break; 		case 9:			ch->WarpSet(51200 + 47800, 563200 + 7900, 21);			break; 		case 10:			ch->WarpSet(153600, 1203200, 23);			break; 		case 11:			ch->WarpSet(1301400, 3103800, 26);			break;	}}

 

 

Jesteś świetny, męczę się nad tą teleportacja od 3 dni. Działa elegancko, mogę ruszyć dalej. 

 

Dziekuje Ci bardzo z całego serduszka

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.