[Pasek] Modyfikacja mapy - niestandardowe granice

PabloCanaletto

Topornik
Wynik reakcji
264
Pomysł spoczo, tylko... ten obiekt globalny z ustawieniami to trzeba wyrzucić poza pobieraną część skryptu.

A tak w ogóle, to się wykrzacza
Kod:
Cannot find canvas, this is a bug, please report to

Uncaught TypeError: Cannot read property 'getContext' of undefined
    at Object.TWMap.mapHandler.spawnSector (Modyfikacja_mapy-niestandardowe_granice.js?_=1612189175062:165)
    at Object.onReceiveSectorInformation (map.js:8)
    at Object.success (map.js:8)
    at u (game.js:8)
    at Object.fireWith [as resolveWith] (game.js:8)
    at S (game.js:8)
    at XMLHttpRequest.<anonymous> (game.js:8)
Wyskakuje jak się mapę przesuwa. A same granice prawidłowo u mnie się tylko na mini mapie pojawiają, na głównej mapie tylko jakieś artefakty.
ICtHv3i.png

Dodatkowo przewijanie minimapy nie przewija mapy głównej (w drugą stronę już tak) i mapa główna ma problemy z doczytywaniem się.

Domyśle ustawienia w skrypcie, św. 159, mapa 21x21, mini mapa 121x121, własne oznaczenia na mapie.
 
Ostatnia edycja:

grabie2

Chłop
Wynik reakcji
3
Pomysł spoczo, tylko... ten obiekt globalny z ustawieniami to trzeba wyrzucić poza pobieraną część skryptu.
Owszem, kwestia niedogadania z supportem, już poprawione, tylko muszą jeszcze opublikować.
Edit: Już jest, wielkie dzięki dla jarq za bardzo szybką reakcję!

A tak w ogóle, to się wykrzacza [...]
Wyskakuje jak się mapę przesuwa. A same granice prawidłowo u mnie się tylko na mini mapie pojawiają, na głównej mapie tylko jakieś artefakty.
Dzięki! Wygląda na to, że muszą być włączone jedne z: zasięg kościoła, możliwy zasięg kościoła, mapa polityczna, zasięg wieży strażniczej.
Poprawię to na dniach.

Dodatkowo przewijanie minimapy nie przewija mapy głównej (w drugą stronę już tak) i mapa główna ma problemy z doczytywaniem się.
Tego nie udało mi się powtórzyć. Jakiej używasz przeglądarki i w jakiej wersji?
 
Ostatnia edycja:

grabie2

Chłop
Wynik reakcji
3
@PabloCanaletto
Niestety nie udaje mi się odtworzyć tego problemu z przewijaniem. Spróbuję jeszcze jutro na innych komputerach.
Czy na konsoli wyskakują jakieś błędy?

Wygląda na to, że muszą być włączone jedne z: zasięg kościoła, możliwy zasięg kościoła, mapa polityczna, zasięg wieży strażniczej.
Czy z włączonym którymkolwiek z tych ustawień ten problem z przewijaniem też występuje?
Ten błąd nie powinien wpływać na działanie mapy, ale nigdy nic nie wiadomo.

Pytanie kontrolne - czy przed włączeniem skryptu coś się psuje z mapą?

BTW. Już ten problem z renderowaniem poprawiłem, musi jeszcze przejść przez support.
EDIT: Już jest aktualizacja.
 
Ostatnia edycja:

grabie2

Chłop
Wynik reakcji
3
@bartes9

Musiałbyś trochę sprecyzować pytanie, wszystkie możliwości konfiguracji podane są w przykładzie. Poniżej wklejam go jeszcze raz z dodatkowymi komentarzami - mam nadzieję, że pomogą Ci one zrozumieć jak konfigurować skrypt.
JavaScript:
javascript:var gbBordersConfig = {
overrideMode: 'single',
borders: [
    /* Tutaj dodajesz wszystkie kreski, które skrypt ma narysować, pamiętaj o ',' na końcu każdej linii */
    /* Kreska poniżej - zaczyna się w punkcie 500|500 i ciągnie się w prawo 10 kratek (+10 kratek w osi X) */
{start: [500, 500], dir: 'X', length: 10, color: 'red', cap: 'round', width: 5, minimapWidth: 3},
    /* Kreska poniżej - zaczyna się w punkcie 500|500 i ciągnie się w górę 12 kratek (-12 kratek w osi Y) */
{start: [500, 500], dir: 'Y', length: -12, color: 'blue', cap: 'square', width: 10, minimapWidth: 3},
    /* Kreska poniżej - zaczyna się w punkcie 500|500 i kończy w punkcie 503|502 - idzie po skosie */
{start: [500, 500], end: [503, 502], color: 'yellow', cap: 'butt', width: 10, minimapWidth: 3},
    /* Wraz ze znakiem ']' kończy się lista kresek */
]
};
$.getScript("https://media.innogamescdn.com/com_DS_PL/skrypty/Modyfikacja_mapy-niestandardowe_granice.js");
void(0);

Tak, skrypt pozwala rysować kreski po skosie.
 

grabie2

Chłop
Wynik reakcji
3
@grabie2

czy planujesz dodanie okręgów o ile to możliwe?
Nie miałem tego w planach, ale nie powinno to być trudne. Tylko okręgi, czy wycinki okręgów też? Może elipsy? Jak to miałoby być zdefiniowane? (W sensie w jakie dane chcesz podać skryptowi, żeby narysował okrąg. Środek i promień? Trzy punkty?)
 

grabie2

Chłop
Wynik reakcji
3
@halek303 To trochę wychodzi poza zakres tego skryptu - on służy do wyświetlania statycznych granic, nie do dynamicznego wyświetlania zasięgu jednostek/budynków
 

grabie2

Chłop
Wynik reakcji
3
Za kilka dni do supportu trafi aktualizacja dodająca rysowanie okręgów i elips. Do tego czasu dla zainteresowanych wersja beta:
Kod:
var gbBordersConfig = {
overrideMode: 'single',
borders: [
{center: [500, 500], radius: 19/2, radiusY: 19/4, rotation: 45, startAngle: 90, endAngle: 270, counterClockwise: true, color: 'yellow', cap: 'round', width: 5, minimapWidth: 4},
]
};
$.getScript("https://plemiona.enbyted.ovh/Modyfikacja_mapy-niestandardowe_granice.js");

Oczywiście zwracam uwagę, że w tej postaci skryptu nie wolno używać (znajduje się na innym serwerze niż innogames), jednak jestem pewien, że na potrzeby sprawdzenia i podzielenia się uwagami support na nikogo się nie pogniewa. Uwagi mile widziane :D
 

PabloCanaletto

Topornik
Wynik reakcji
264
W sumie fajny jest ten skrypt, ale zauważyłem, że rysunki na mapie są przesunięte o 0,5 w górę i o 0,5 w lewo. Tzn jak podam koordynaty jakiejś wioski za koniec linii, to linia kończy się w lewym górnym rogu tej wioski, a lepiej by było oczywiście w jej środku.
 

grabie2

Chłop
Wynik reakcji
3
[...] zauważyłem, że rysunki na mapie są przesunięte o 0,5 w górę i o 0,5 w lewo. Tzn jak podam koordynaty jakiejś wioski za koniec linii, to linia kończy się w lewym górnym rogu tej wioski, a lepiej by było oczywiście w jej środku.
To jest celowe zachowanie, wyszedłem z założenia, że większość osób będzie chciała rysować granice odgradzające - żeby właśnie znajdowały się między wioskami, a nie na wioskach. Zawsze można dodać 0.5 do koordów i kreska będzie na środku wioski. Co by nie było, teraz już za późno na taką zmianę - zepsułoby to mapy ludzi, którzy już tego używają.
 
Do góry