[Pasek] Hermitowskie Surki

Dyskusja w 'Skrypty do paska skrótów' rozpoczęta przez użytkownika jarq, 9. Sty 2019.

Poleć tę stronę

  1. jarq

    jarq Killer Plemiona Team Opiekun Projektu

    Dołączył:
    26. Wrz 2007
    Wiadomości:
    1.826
    Docenione treści:
    7
    Zapraszam do dyskusji
     
  2. Hermitowski

    Hermitowski Pomocna Dłoń Pomocna Dłoń

    Dołączył:
    5. Mar 2016
    Wiadomości:
    161
    Docenione treści:
    47
    Opis parametrów:
    Kod:
    var HermitowskieSurki = {
    nearTimeThreshold: 30,
    resourceThreshold: [100000, 100000, 100000],
    populationAvailableThreshold: 200,
    tradersSafeguard: 10,
    };
    * resourceThreshold - kolejne drewno, glina, żelazo, liczba, która mówi od jakiego progu wioska jest uznawana za dawcę lub biorcę. Jeżeli wioska ma więcej surowców niż podany próg, to jest dawcą (będzie z niej można wysłać konkretny typ surowca), w przeciwnym wypadku jest biorcą (potrzebuje ona tego typu surowców). 'Aktualna' wartość surowców w wiosce jest liczona za pomocą: aktualna wartość w spichlerze dodać przychodzące transporty, które dojdą za mniej niż *nearTimeThreshold* minut. Pozwoli to uniknąć sytuacji, że wioska dostaje nadmiar surowców. Przykładowo, jeżeli próg jest ustawiony na 100k, w wiosce jest 40k, do wioski przychodzą dwa transporty: 15k za 15 minut oraz 85k za 5h, do wioski zostanie wezwane 100k - 40k - 15k (45k) surowców. Biorca/dawca jest oddzielnie dla każdego typu surowców, czyli wioska może być biorcą drewna, dawcą gliny, dawcą żelaza.
    * nearTimeThreshold - czas w minutach, który pomaga przy liczeniu faktycznych surowców w wiosce
    * populationAvailableThreshold - jeżeli wioska ma mniej dostępnej ludności niż podana wartość to jest pomijana przy rozważaniu czy dla danego typu surowców wioska jest biorcą. Jeżeli przy progu 100k, wioska ma 85k drewna oraz dostępna ludność < populationAvailableThreshold to wioska nie będzie biorcą drewna. W zamyśle skrypt miał balansować surowce do rekrutacji, a wioski z brakiem ludności nie wymagają surowców do rekrutacji.
    * tradersSafeguard - ilość pozostawianych kupców w wiosce, powoduje to, że królestwo nie zostanie bez kupców. Jeżeli balansujecie na noc, to można do 0 ustawić. W dzień polecam zostawić po 10 kupców na wioskę, aby można było czasem wezwać surowce na monety/grube.

    Skrypt generalnie generuje listę transportów. Transporty są w miarę zoptymalizowane pod moje widzi misie. To jest: najpierw surowce są wysyłane do wiosek z mniejszą liczbą ogólnej populacji. Dodatkowo transporty są wykonywane w miarę lokalnie. Średni czas dostawy to zazwyczaj 30 minut, aczkolwiek dużo zależy od sytuacji gospodarczej. Jeżeli masz ogólnie braki, to skrypt nie wyczaruje ci surowców. Jeżeli jest średnio to transporty mogą iść długo (np z zaplecza większość, jeżeli na froncie masz biedę po klikaniu grubasów). Całkiem fajnie jak prawie wszędzie masz surowce (czyli przykładowo nie wybijasz monet do zera, nie rekrutujesz ciągle deffa).
    Tl;dr masz pomysł co by zrobić lepiej albo co według ciebie źle działa to napisz. Chętnie usłyszę twoją opinię.
     
  3. arctic-warrior

    arctic-warrior Topornik

    Dołączył:
    25. Mar 2009
    Wiadomości:
    162
    Docenione treści:
    8
    Fajny skrypt, ostatnio często z niego korzystam, ale zaczyna mnie męczyć z powodu wyskakujących błędów.
    Wciskam Skrypt. Wyskakuje okno z listą wiosek i wartościami surki do przesyłu. Wciskam wykonaj, potwierdź i pojawia się komunikat niewystarczająco surowców.
    Wchodzę w wioskę z której miał iść transport, robię wszystko od początku i surowce się wysyłają. Podobnie wygląda sprawa z ilością dostępnych kupców.
    Wygląda mi na to, że skrypt bierze pod uwagę ilości dostępne w danej wiosce, której obecnie jesteśmy, pomimo tego że chcemy przesłać z innej wioski.
    Nie wiem czy mnie rozumiesz? Może wrzucić jakieś screeny ?
     
  4. Hermitowski

    Hermitowski Pomocna Dłoń Pomocna Dłoń

    Dołączył:
    5. Mar 2016
    Wiadomości:
    161
    Docenione treści:
    47
    Problem znany mi jest od kilku miesięcy (kilku innych graczy też go zauważyło). Przyczyna w miarę skomplikowana do wytłumaczenia. Skrypt ten zgłosiłem do usunięcia jakieś dobre półtora miesiąca temu, ale Support ma ważniejsze sprawy na głowie, więc jest jak jest. Na miejsce tego skryptu planuję przywrócić zapełnianie spichlerza, które kiedyś usunąłem (własną implementację skryptu stivensa), ale kiedy wejdzie to nie mam pojęcia.

    Z uwagi na błędy w skrypcie i 'losowe' wysyłanie surowców, proszę o zaprzestanie korzystania z tego skryptu, gdyż surowce wysyła z innej wioski niż pokazuje, co może prowadzić do strat surowców.
     
  5. arctic-warrior

    arctic-warrior Topornik

    Dołączył:
    25. Mar 2009
    Wiadomości:
    162
    Docenione treści:
    8
    To nie do końca tak jest że wysyła 'losowo'
    Wszystko działa, dopóki w wiosce w której aktualnie jesteśmy jest na tyle surowców by zaakceptować transporty.
    Więc taK: mam 3 wioski A,B,C. Aktualnie przegląd z wioski A, odpalamy skrypt. Pokazuje nam transport z wioski B do C w ilości 10k drewna. I teraz, jeśli w wiosce A jest 10k drewna transport zostaje zaakceptowany, ale nie pobiera transportu z wioski A, tylko jak pokazał skrypt z wioski B. Jeśli natomiast w wiosce A nie ma 10k drewna to wtedy wyskakuje informacja o braku surowców (mimo tego że chcemy wysłać z wioski B, gdzie te surowce są )
     
  6. Hermitowski

    Hermitowski Pomocna Dłoń Pomocna Dłoń

    Dołączył:
    5. Mar 2016
    Wiadomości:
    161
    Docenione treści:
    47
    Komunikaty te są generowane przez serwer nie przez skrypt.
     
  7. arctic-warrior

    arctic-warrior Topornik

    Dołączył:
    25. Mar 2009
    Wiadomości:
    162
    Docenione treści:
    8
    Tak czy inaczej nie do końca działa jak powinno i czasem faktycznie wysyła z innej wioski. Szkoda, bo przydało by się coś takiego.
     
  8. Hermitowski

    Hermitowski Pomocna Dłoń Pomocna Dłoń

    Dołączył:
    5. Mar 2016
    Wiadomości:
    161
    Docenione treści:
    47
    Skrypt został zaktualizowany. Zostało przywrócenie działanie skryptu takie jak było opisane tutaj. Czyli po wejściu w rynek -> wezwij, skrypt uzupełni formularz dotyczący wzywani

    needs - Ile surowców ma być docelowo w wiosce
    clipToMaxStorage - Czy przyciąć liczbę surowców do pojemności spichlerza
    storagePercentageLimit - Zapotrzebowanie nie przekroczy podanych procentowych wartości pojemności spichlerza
    storageLimit - Zapotrzebowanie nie przekroczy podanych wartości
    idleTime - Od zapotrzebowania zostanie odjęta podana minutowa produkcja wioski docelowej
    resourcesSafeguard - Wioskom z których są brane surowce zostanie zostawione co najmniej tyle surowców
    tradersSafeguard - Wioskom z których są brane surowce zostanie zostawione co najmniej tyle kupców
    perfectTiming - Czy wziąć pod uwagę czas podróży. Jeżeli potrzeba przesłać jest 1000 surowców, a wioska sama produkuje 3k surowców na godzinę, a transport trwa więcej niż 20 minut (w tym czasie wioska sama wyprodukuje ten brak) to transport nie jest podejmowany.
    clipToTraderCapacity - Nie wysyłaj kupca, jeżeli w transporcie ma mniej niż traderCapacityClippingValue surowców
    delta - Dodatkowa liczba surowców, która ma zostać wezwana. Czyli zapotrzebowanie będzie wynosić koszty budowy + delta
    Kod:
    javascript:var HermitowskieSurki = {
      // needs
      needs: [50, 50, 50].map(x => x * 1000),
      delta: [0, 0, 0],
      clipToMaxStorage: true,
      storagePercentageLimit: [100,100,100],
      storageLimit: [50, 50, 50].map(x => x * 1000),
      idleTime: 15,
      // summoning
      resourcesSafeguard: [28, 30, 25].map(x => x * 1000),
      tradersSafeguard: 0,
      perfectTiming: false,
      clipToTraderCapacity: true,
      traderCapacityClippingValue: 500,
      // misc
      enableAllByDefault: true
    };
    $.getScript('https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskieSurki.js'); void(0);
     
    Last edited: 28. Maj 2019
  9. Hermitowski

    Hermitowski Pomocna Dłoń Pomocna Dłoń

    Dołączył:
    5. Mar 2016
    Wiadomości:
    161
    Docenione treści:
    47
    TypeError: checkbox is null

    misc@https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskieSurki.js?_=1568043372034:107:21
    init@https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskieSurki.js?_=1568043372034:24:18
    @https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskieSurki.js?_=1568043372034:238:35
    @https://media.innogamescdn.com/com_DS_PL/skrypty/HermitowskieSurki.js?_=1568043372034:244:3

    Someone?
     
  10. Miksa

    Miksa Lekki Kawalerzysta

    Dołączył:
    19. Wrz 2014
    Wiadomości:
    683
    Docenione treści:
    242
    Myśle ze za dużo tutaj kombinowania w tym skrypcie, lepsze byłoby coś prostszego.

    Żeby brało tylko surki w jakiś bardziej mądrzejszy sposób i tyle, bo kombinowanie teraz z parametrami dla głupich surowców to mało komu sie chce. wolą recznie kliknąć wezwij
     
  11. Hermitowski

    Hermitowski Pomocna Dłoń Pomocna Dłoń

    Dołączył:
    5. Mar 2016
    Wiadomości:
    161
    Docenione treści:
    47
    i tak nie działa, więc nie ma co kombinować