[Pasek] Hermitowskie Obstawy

PabloCanaletto

Topornik
Wynik reakcji
264
Panie @hermitowski - bardzo prosimy o sprawienie, by skrypt działał. Od wczoraj nie nie da się wysyłać paczek i frontowcy muszą bronić się offami. Panie @hermitowski, proszę ratować fronty. Prosimy o przywrócenie skryptu do życia.

Hermitowski zgłosił już poprawkę do supp, bo nastąpiła omyłkowa zmiana w nazwie pliku ze skryptem na serwerze. Za niedługo dotychczasowe wpisy na paskach skrótów znów zaczną działać i nic nie trzeba będzie przeklejać.
 
Ostatnia edycja:

Mr.UP

Chłop
Wynik reakcji
24
Zgłosiłem poprawkę do supportu.

Obecnie, jeżeli się nie uda wysłać wsparcia (np. próba wysyłki wsparcia do wioski barbarzyńskiej) to wyświetli się następujący komunikat:
Obrazek 1


Ogólnie szczegóły co poszło nie tak powinny zostać wyświetlone w nowej karcie*, np:
Obrazek 2

* w zależności od ustawień użytkownika w przeglądarce, może to być nowe okno, karta, albo próba otwarcia okna może zostać zablokowana

Od zgłoszenia poprawki, są co jakiś czas błędy. Lepiej nie dotykać bo jeszcze coś popsują
 

Sniegoman

Chłop
Wynik reakcji
3
Większość plemion obecnie wymaga wysyłania obstaw w paczkach np 1 paczka = 50p/50m ALBO 50p/50ł ALBO 50p/10ck etc.
Przy obecnym kodzie skryptu jedyne co jesteśmy w stanie zapewnić to że w sumie wysłanych zostanie 100jednostek po jakimkolwiek tam chcemy przeliczniku, ale wybierane one będą zakładając minimalizację czasu rekrutacji/ilości dostępnych jednostek (w efekcie chcąc wysłać 200j często dostaniemy np 83piki, 67mieczy, 42łuczników, 2CK).

W większości przypadków więc chcąc wysłać np 2paczki (zakładając powyższe ograniczenia) jesteśmy w stanie zapewnić odpowiedni ich rozkład na 2 sposoby.
  1. Dość naiwny - mieć idealne ilości wyrekrutowanych jednostek. Czyli np dokładnie 5k pików i po 2,5k mieczy i łuków wtedy skrypt nam wybierze faktycznie 100p i po 50 ł/m
  2. bawić się modyfikatorami, najpierw wysłać 100j z przelicznikiem piki:1, pozostałe 0, a potem zmienić ustawienie na piki:0, pozostałe 1. Wtedy w najgorszym przypadku wyślemy 100p i np 30m i 70ł, co raczej będzie akceptowalne

Czy istniałaby opcja rozszerzenia skryptu o obsługę predefiniowanej paczki stałkowej i zamiast wysyłania konkretnej liczby jednostek(np 200j) to wysyłanie konkretnej liczby paczek (np 2)?
 

hermitowski

Miecznik
Wynik reakcji
63
> Większość plemion obecnie wymaga wysyłania obstaw w paczkach

Rok minął, może się coś tutaj zmieniło i funkcjonalność nie jest już potrzebna?
 

hermitowski

Miecznik
Wynik reakcji
63
Większość plemion obecnie wymaga wysyłania obstaw w paczkach np 1 paczka = 50p/50m ALBO 50p/50ł ALBO 50p/10ck etc.
Przy obecnym kodzie skryptu jedyne co jesteśmy w stanie zapewnić to że w sumie wysłanych zostanie 100jednostek po jakimkolwiek tam chcemy przeliczniku, ale wybierane one będą zakładając minimalizację czasu rekrutacji/ilości dostępnych jednostek (w efekcie chcąc wysłać 200j często dostaniemy np 83piki, 67mieczy, 42łuczników, 2CK).

W większości przypadków więc chcąc wysłać np 2paczki (zakładając powyższe ograniczenia) jesteśmy w stanie zapewnić odpowiedni ich rozkład na 2 sposoby.
  1. Dość naiwny - mieć idealne ilości wyrekrutowanych jednostek. Czyli np dokładnie 5k pików i po 2,5k mieczy i łuków wtedy skrypt nam wybierze faktycznie 100p i po 50 ł/m
  2. bawić się modyfikatorami, najpierw wysłać 100j z przelicznikiem piki:1, pozostałe 0, a potem zmienić ustawienie na piki:0, pozostałe 1. Wtedy w najgorszym przypadku wyślemy 100p i np 30m i 70ł, co raczej będzie akceptowalne

Czy istniałaby opcja rozszerzenia skryptu o obsługę predefiniowanej paczki stałkowej i zamiast wysyłania konkretnej liczby jednostek(np 200j) to wysyłanie konkretnej liczby paczek (np 2)?

@hermitowski da radę coś pomyśleć o tym co powyżej napisane ?


Nadal jest potrzebna. Można dodać jako strategię wybierania.

Myślałem trochę nad tym i wątpię, abym moje pojęcie jak to powinno działać spełni wszystkie wasze oczekiwania.

> 1 paczka = 50p/50m ALBO 50p/50ł ALBO 50p/10ck

Najprościej to można rozumieć, że użytkownik definiuje paczkę jako jedna kombinacja wyboru jednostek, czyli na raz może podać np 50p/50m.
Co można obecnie rozwiązać bawiąc się modyfikatorami i wysłać wojsko na dwie tury.

Ale pewnie chodzi o bardziej skomplikowaną konfigurację; zdefniowiowanie paczki jako listę szablonów i następnie wybranie takiej kombinacji szablonów z każdej wioski, aby docelowo spełnić zadaną liczbę paczek.

> bawić się modyfikatorami, najpierw wysłać 100j z przelicznikiem piki:1, pozostałe 0, a potem zmienić ustawienie na piki:0, pozostałe 1. Wtedy w najgorszym przypadku wyślemy 100p i np 30m i 70ł, co raczej będzie akceptowalne

To jest praktycznie to samo co byśmy zyskali przy mechanizmie paczek, tylko skrypt wybrałby niecałkowitą paczkę (przy zachowaniu proporcji danej paczki); np. 0.6 * 50p50m + 1.4 * 50p50ł = 100p30m70ł = 2 paczki

Dodając obserwację, że wszystkie przykłady paczek podałeś raczej proste - tylko 2 typy jednostek oraz jedna jednostka jest wspólna dla wszystkich szablonów.
To wystarczy rozbić to na dwie wysyłki tak jak wspomniałeś. Zakładając, że chcesz wysłać 100 paczek to następujące wysyłki są potrzebne:
- 5000 jednostek; 1 pikinier = 1; reszta 0
- 5000 jednostek; 1 miecz = 1; 1 łuk = 1; 1 ck = 5; reszta 0

Zastanawiam się jak bardziej skomplikowane szablony paczek powinny śmigać, np,
1 p = 50p50m
1 p = 60p15ck
1 p = 40p10m40l

Póki co nic mi do głowy nie przychodzi, aby tak zdefiniowane paczki przekonwertować na przeliczniki - co by raczej w miarę łatwo dostosować nową funkcjonalność do istniejących bebechów, niż pisać drugi sposób wybierania jednostek. Pytanie czy tego typu przypadki użycia są potrzebne; jak nie to, może wystarczy trochę uprościć przełączanie przełączników; np posiadanie dwóch instancji skryptu w pasku, każdy z innym setupem przeliniczków; mechanizm podobny do tego co jest w skrypcie do fejków; czyli jakieś var HermitowskieObstawy = {...}; $.ajax(.....
 
Wynik reakcji
3
Hej, nie wiem czy to było już poruszane ale jest mały problem z przedziałami i liczeniem czasu.
Najprościej na przykładzie
Wybieramy przedział powiedzmy od 23 i widzimy ze dojdzie tam piechota ale żeby zmieścić CK to musimy poczekać dajmy na to 2h.
W takim wypadku skrypt ignoruje CK mimo że wysyłając je razem z pikami (nie rozdzielając jednostek) dojdzie w tym samym czasie
 

hermitowski

Miecznik
Wynik reakcji
63
Hej, nie wiem czy to było już poruszane ale jest mały problem z przedziałami i liczeniem czasu.
Najprościej na przykładzie
Wybieramy przedział powiedzmy od 23 i widzimy ze dojdzie tam piechota ale żeby zmieścić CK to musimy poczekać dajmy na to 2h.
W takim wypadku skrypt ignoruje CK mimo że wysyłając je razem z pikami (nie rozdzielając jednostek) dojdzie w tym samym czasie
Tak. Jest to kwestia mojego lenistwa / prostoty skryptu. Skrypt licząc dostępne wojsko - sprawdza czas dotarcia dla każdego typu jednostki oddzielnie i jak jest poza / przed wybranym przedziałem to nie uwzględnia danego typu jednostki. O ile dla przypadku 'przed' to nie ma znaczenia czy wojska są sprawdzane razem czy oddzielnie. Dla przypadku 'po' faktycznie istnieje sztuczka w postaci opóźnienia całej paczki - natomiast można opóźniać za pomocą pików/łuków; mieczy; taranów/katapult; szlachciców (XD) - a skrypt póki co zna tylko jednostki defensywne :(.

Może w przyszłej wersji będzie takie usprawnienie, że skrypt do takich przypadków dobierze po 1 jednosce wolniejszego typu.
Ale pytanie czy warto coś takiego dodawać - skrypt nie służy do 'dogrywania' wsparcia. Skrypt powstał jako usprawnienie wyboru jednostek z zaplecza na obstawy - kiedyś trzeba było ręcznie każdy rozkaz potwierdzić, więc były pokrętła typu z ilu wiosek / ile minimalnie jednostek, aby nie tracić czasu wysyłając rozkazy po 5 pikinierów. Jedyny parameter czasu jaki skrypt optymalizował to potencjalny czas odbudowy deffa.
 
Wynik reakcji
3
pytanie czy warto coś takiego dodawać
Jak jest opcja wysłania "po" (a skoro jest to musiała być potrzebna) to dobrze by uwzględniał najwolniejszą jednostkę w paczce zamiast indywidualnie. Już nawet pomijając wstawianie maszyn trochę irytuje że nie wlicza CK kiedy widzisz że pik mieści się w czasie - to jest chyba największy problem
 

Germanek

Ciężki Kawalerzysta
Wynik reakcji
2.755
Tak. Jest to kwestia mojego lenistwa / prostoty skryptu. Skrypt licząc dostępne wojsko - sprawdza czas dotarcia dla każdego typu jednostki oddzielnie i jak jest poza / przed wybranym przedziałem to nie uwzględnia danego typu jednostki. O ile dla przypadku 'przed' to nie ma znaczenia czy wojska są sprawdzane razem czy oddzielnie. Dla przypadku 'po' faktycznie istnieje sztuczka w postaci opóźnienia całej paczki - natomiast można opóźniać za pomocą pików/łuków; mieczy; taranów/katapult; szlachciców (XD) - a skrypt póki co zna tylko jednostki defensywne :(.

Może w przyszłej wersji będzie takie usprawnienie, że skrypt do takich przypadków dobierze po 1 jednosce wolniejszego typu.
Ale pytanie czy warto coś takiego dodawać - skrypt nie służy do 'dogrywania' wsparcia. Skrypt powstał jako usprawnienie wyboru jednostek z zaplecza na obstawy - kiedyś trzeba było ręcznie każdy rozkaz potwierdzić, więc były pokrętła typu z ilu wiosek / ile minimalnie jednostek, aby nie tracić czasu wysyłając rozkazy po 5 pikinierów. Jedyny parameter czasu jaki skrypt optymalizował to potencjalny czas odbudowy deffa.

Super by było, gdybyś to dodał, bo ja właśnie sobie próbuję dograć do wioski, na którą będę wskakiwał, deffy (pikock) w przedziale 30 min i niestety nie łapie mi razem tych jednostek :pP
 
Do góry