[Pasek] Hermitowskie Obstawy

DeletedUser

Guest
Kod:
javascript:$.ajax('https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskieObstawy.js?_='+~~(Date.now()/9e6),{cache:1}); void (0);

Skrypt ma za zadanie ułatwić wysyłanie wojska na stałe obstawy. W porównaniu do wysyłania wojsk za pomocą szablonów skrypt ma przewagę, że sam rozkłada wojska na podstawie podanych parametrów. Wysyłanie wsparcia z większej liczby wiosek powoduje, że z poszczególnych wiosek idzie mniej jednostek, co przekłada się na krótszy czas rekrutacji jednostek, jeżeli dana obstawa padnie.

obstawa_1.png

Cel - Współrzędne wioski, do której chcemy wysłać wsparcie. Jeżeli współrzędne wioski należą do nas to skrypt przy wyborze jednostek pominie wybór potencjalnych wojsk ze wskazanej wioski.
Grupa - Z której grupy wiosek mają zostać wybrane jednostki.
Ilość deffa - Ile jednostek deffa wybrać.
Ilość zwiadu - Ile jednostek zwiadu dobrać.
Ilość wiosek - Na ile maksymalnie wiosek rozłożyć wybór wojsk.
Minimalna ilość deffa - Ile co najmniej jednostek deffa musi mieć dana wioska, aby była rozważona przy wyborze wojsk. Opcja ta ma na celu uniknięcia generowania rozkazów wysyłających po kilka jednostek.
Strategia wybierania - Jaką strategię wyboru jednostek zastosować.
Data dotarcia przed - Jeżeli zaznaczona jest opcja, to skrypt wybierze tylko te jednostki, które dotrą przed podaną datą.
Rozdziel jednostki - Jeżeli zaznaczona jest opcja, to skrypt rozdzieli wybrane jednostki z wioski w grupy o takich samych czasach przemarszu.

Po kliknięciu 'Generuj' skrypt na podstawie wcześniej wybranych parametrów wygeneruje listę rozkazów.
W nagłówku tabelki z rozkazami obok ikonek pokazane zostało ile skrypt wybrał jednostek na ile możliwych.
Kliknięcie w 'Wykonaj' spowoduje otwarcie placu z wypełnionymi jednostkami w obecnej karcie. Aby tego uniknąć należy przytrzymać Ctrl i następnie kliknąć rozkazy. Ewentualnie można użyć opcji 'Otwórz rozkazy', która otworzy podaną liczbę rozkazów w nowych kartach, a nam zostanie tylko wybór typu rozkazu (Atak/Pomoc) i zatwierdzenie rozkazu.

Po kliknięciu zębatki otworzą nam się ustawienia skryptu.

obstawa_2.png

Przeliczniki - na podstawie tej sekcji skrypt interpretuje dostępną liczbę jednostek deffa. Domyślnie każda jednostka zapewnia tyle jednostek deffa ile zajmuje ludności w zagrodzie. Niektórzy wolą ustawić ciężką kawalerię jako 4 jednostki deffa. To jest właśnie to miejsce, gdzie to skonfigurują. Wartość równa zeru powoduje całkowite ignorowanie danego typu jednostki przy wyborze wojsk. Wartość może być liczbą z kropką (z przecinkiem), np. 3.14.
Rezerwca - na podstawie tej sekcji skrypt przy wyborze wojsk pominie podane liczbę jednostek. Pomijana jest liczba jednostek, nie liczba jednostek deffa. Ustawienie przelicznika dla pikinierów na 2 oraz wpisanie w rezerwie 100 pikinierów, spowoduje pominięcie 100 pikinierów, a nie 50 piknierów.
Domyślne wartości - ta sekcja pozwala ustawić jakie wartości parametrów mają się ustawiać przy uruchomieniu skryptu.
Zmiany trzeba zatwierdzić klikając przycisk 'Zapisz'. Zmiany dotyczące przeliczników i rezerw nie wpływają na wygenerowaną już listę.

Jako, że głównym miejscem, gdzie są wypisane wioski do obstawy jest forum plemienne to powstała następująca funkcjonalność skryptu.
Parametry wejściowe można nadpisać podając parametry za pomocą URLa. Jeżeli w adresie URL są podane parametry, to wartości domyślne zostaną nadpisane przekazaną wartością.
Przekazać można następującego parametry:
target <- cel
deff_count <- ilość deffa
spy_count <- ilość zwiadu
minimal_deff_count <- minimalna ilość deffa
village_count <- ilość wiosek
arrival_data <- data dotarcia przed

Za pomocą tych parametrów na forum plemiennym można (na chwilę obecnie ręcznie) stworzyć następujący link:
<nazwa_linku>
Po kliknięciu w niego zostaniemy przekierowani na docelową wioskę, po uruchomieniu skryptu pole 'Ilość deffa' będzie zawierało wartość 40000.
Może na chwilę obecną jest to bardziej uciążliwe niż pomocne, ale do czasu...

1. Jeżeli chcesz, aby z każdej wioski zostało wybrane tyle samo jednostek deffa jest to możliwe, jeżeli ustawisz parametry następująco:
Ilość deffa: X * Y
Ilość wiosek: Y
Minimalna ilość deffa: X
gdzie X - ilość deffa, które ma zostać wybrane w każdej wiosce, [Y] - ilość wiosek
 
Ostatnio edytowane przez moderatora:

DeletedUser

Guest
Tak to jest jak się testuje na 10 pikomieczach :p zwiadu jeszcze się nie dorobiłem. Co do otwierania kart, to możliwe, że twoja kochana przeglądarka Cię blokuje przed złośliwymi skryptami.
W Firefoxie przy pierwszym uruchomieniu trzeba będzie zezwolić na otwierania dodatkowych kart:
upload_2019-9-17_19-52-47.png
W innych przeglądarkach nie pomogę, bo nie umiem.
 

Lord Miksa

Szlachcic
Wynik reakcji
3.595
Możliwe lecz aż tak bardzo tej opcji ja osobiście nie potrzebuje tylko chciałem zwrócić uwagę
 

DeletedUser

Guest
Po zmianie przeliczniku/rezerw zawsze wyskakuje błąd.Nawet jak wszędzie jakieś wartości dodatnie wpiszę, to dalej to jest. :(

TypeError: Cannot read property 'value' of null

TypeError: Cannot read property 'value' of null
at HTMLButtonElement.save_settings (eval at <anonymous> (https://dspl.innogamescdn.com/assets/pl137/712dc548c7e3483980ba9bdb05246719/merged/game.js:9:4904), <anonymous>:820:59)

Możesz sprawdzić w trybie incognito czy błąd występuje? Bo nie jestem w stanie u siebie tego odtworzyć.
 

DeletedUser38268

Guest
Kod:
TypeError: Object.fromEntries is not a function

TypeError: Object.fromEntries is not a function
    at get_world_info (https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskiePlikiMapy.js:240:19)
Jak zrozumialem ten komunikat, to brakuje mi drugiego skryptu do kompletu. Moze mi ktos podpowiedziec, gdzie go wrzucic, zeby to dzialalo?
 

DeletedUser

Guest
Kod:
TypeError: Object.fromEntries is not a function

TypeError: Object.fromEntries is not a function
    at get_world_info (https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskiePlikiMapy.js:240:19)
Jak zrozumialem ten komunikat, to brakuje mi drugiego skryptu do kompletu. Moze mi ktos podpowiedziec, gdzie go wrzucic, zeby to dzialalo?

Skrypt ten bazuje na innym skrypcie, ale jest on zaciągany automatycznie. To co przestało działać to jedna z funkcjonalności języka, z której ten skrypt skorzystał, aby nie wynajdować koła od nowa. Wspieranie ten funkcjonalności języka zależy od przeglądarki.

https://developer.mozilla.org/en-US...ects/Object/fromEntries#Browser_compatibility

wygląda na to że jesteś szczęśliwym użytkownikiem przeglądarek od m$
 

DeletedUser38268

Guest
Nie jestem.
Uzywam Vivaldi, ktory jest podobnie jak wiekszosc obecnie oparty o chromium.

W kazdym razie teraz wiem czego i gdzie szukac... i chyba problem w tym, ze mam za stara wersje. Czas na update... niestety...
 
Ostatnio edytowane przez moderatora:

DeletedUser38268

Guest
Kiedyś mi się uda znaleźć szczęśliwego użytkownika przeglądarek m$.
Mozesz uznac, ze pol uzytkownika znalazles :D. EDGE calkiem przyzwoicie sie sprawuje jako czytnik ebookow, jednak jesli idzie o internet, to juz znacznie gorzej.

Może po prostu wystarczy zaktualizować przeglądarkę.
Wlasnie o tym pisalem. Podana przez Ciebie tabela kompatybilnosci wymienia Chrome w wersji 70. Uzywana przeze mnie przegladarka uzywala 69. Aktualizacja zalatwila sprawe.
 

DeletedUser38268

Guest
Po zmianie przeliczniku/rezerw zawsze wyskakuje błąd.Nawet jak wszędzie jakieś wartości dodatnie wpiszę, to dalej to jest. :(

TypeError: Cannot read property 'value' of null

TypeError: Cannot read property 'value' of null
at HTMLButtonElement.save_settings (eval at <anonymous> (https://dspl.innogamescdn.com/assets/pl137/712dc548c7e3483980ba9bdb05246719/merged/game.js:9:4904), <anonymous>:820:59)

Możesz sprawdzić w trybie incognito czy błąd występuje? Bo nie jestem w stanie u siebie tego odtworzyć.

Vivaldi (Chrome/77.0.3865.7<cfaniak>. Przy kazdej probie uzycia przycisku "zapisz" wyskakuje blad:

------
TypeError: Cannot read property 'value' of null

TypeError: Cannot read property 'value' of null
at HTMLButtonElement.save_settings (eval at <anonymous> (https://dspl.innogamescdn.com/assets/pl142/041b8b1456b2877d6d83aaaa9b74d584/merged/game.js:9:4904), <anonymous>:814:59)
------

Wystepuje w trybie normalnym oraz incognito. Nie zalezy od ilosci i rodzaju wprowadzonych zmian w ustawieniach.
 

szelbi

Pikinier
Wynik reakcji
21
Kod:
TypeError: Cannot read property 'rows' of null

TypeError: Cannot read property 'rows' of null
    at Object.get_villages (eval at <anonymous> (https://dspl.innogamescdn.com/assets/pl141/cc5926fdfdbbe9fb7a16772d96c4469e/merged/game.js:9:4904), <anonymous>:749:45)
    at async Object.generate_commands (eval at <anonymous> (https://dspl.innogamescdn.com/assets/pl141/cc5926fdfdbbe9fb7a16772d96c4469e/merged/game.js:9:4904), <anonymous>:714:30)
    at async HTMLButtonElement.eval (eval at <anonymous> (https://dspl.innogamescdn.com/assets/pl141/cc5926fdfdbbe9fb7a16772d96c4469e/merged/game.js:9:4904), <anonymous>:513:23)

Taki błąd wywala przy wskazaniu pustej grupy wiosek zamiast, np. komunikatu o zmianie na inną, która nie jest pusta.
Będę wdzięczny za naprawę choć to raczej rzadka sytuacja :D
 

hermitowski

Miecznik
Wynik reakcji
57
Wrzuciłem nową wersję do akceptacji. Główna zmiana to wykorzystanie obecnie wspieranego mechanizmu wysyłania masowego wsparcia. Czyli zniknęły linki do placu per wioska, a w to miejsce pojawił się jeden przycisk per grupa. Jeżeli opcja 'Rozdziel jednostki' jest zaznaczona to grupa to jednostki o tym samym czasie przemarszu (piki + łuki, miecze, ck + zwiad); w przeciwnym wypadku jest jedna grupa - wszystkie jednostki.

1606439018051.png

nie wiem kiedy skrypt zostanie zaaktualizowany (i czy przejdzie)
w każdym razie najnowsza wersja jest dostępna na ulubionym hubie
 

Xerios

Chłop
Wynik reakcji
1
Wszystko było by spoko, tylko jeżeli mamy świat na którym można wojsko słać do kogo się chce to skrypt nie działa i pojawia się błąd że "Ustawienia świata nie pozwalają na wysyłanie wsparć do graczy innych plemion" mimo iż ustawienia danego świata na to pozwalają. I jak w poprzedniej wersji też pokazywało ten błąd, ale dalej wyświetlało się wszystko normalnie i wysyłałeś obstawy, tak teraz nie pokazuje nic poza błędem no i trzeba słać ręcznie. Da się ogarnąć?
 

75Adi

Chłop
Wynik reakcji
0
Witam, jakims dziwnym trafem szkag jastny caly skrypt trafil. Po uzupelnieniu wszystkiego klikam komende Wykonaj, wzystkie wioski z listy znikaja a wsparcie niestety nie zostalo wyslane.

We wczesniejszej wersjii skryptu nie klikalem wykonaj, wysylalem kazde wsparcie osobno otwierajac karte do ataku. Uzywam Najnowszego Chrome, any solutions ?
Zmiana przegladarki nic nie dalo.
 

zcapap

Chłop
Wynik reakcji
1
Ustawienia świata nie pozwalają na wysyłanie wsparć do graczy innych plemion

Taki komunikat wyskakuje na ś157 gdzie jest nieograniczone wysyłanie wsparć... ktoś wie czy jest szansa coś zdziałać, ew zamiennik jakiś?
 

hermitowski

Miecznik
Wynik reakcji
57
> Wszystko było by spoko, tylko jeżeli mamy świat na którym można wojsko słać do kogo się chce to skrypt nie działa i pojawia się błąd że "Ustawienia świata nie pozwalają na wysyłanie wsparć do graczy innych plemion" mimo iż ustawienia danego świata na to pozwalają.

Nie wziąłem tego pod uwagę. Poprawkę wrzuciłem i w sumie wystarczy czekać.

> Witam, jakims dziwnym trafem szkag jastny caly skrypt trafil. Po uzupelnieniu wszystkiego klikam komende Wykonaj, wzystkie wioski z listy znikaja a wsparcie niestety nie zostalo wyslane.

Obecnie zamiast linków jest generowany guzik do wysłania wsparć. Po kliknięciu guzika wojska powinny zostać wysłane, polecam sprawdzić z przeglądu rozkazów
 
Do góry