[Pasek] Asystent zbieracza

Rok Szczura

Zwiadowca
Wynik reakcji
2.049
@kraszian Taki, że skraca się czas jednej misji zbieractwa. Te same wojska w tym samym czase możesz posłać kilka razy pod rząd, jeśli rodzielisz je na więcej poziomów zbieractwa. Ostatecznie będzie większy przychód sumarycznie.
@Rok Szczura Coś więcej info? Zasadzniczo jest to możliwe, jeżeli nastąpi zmiana w dostępnych wojskach (bitwa, powrót itp) w trakcie wysyłki na zbieractwo (między poziomami). No i nalezy pamiętać, aby słać poziomy we właściwej kolejności.

w jednej wiosce w przeciągu 2-3 dni rozjechały się poziomy zbieractwa i skrypt działa tak, że zaczynając od 4 poziomu każdy kolejny trwa po 5-10 minut dłużej gdzie ta różnica na 1 poziomie wynosi już koło 30-40 min i mimo, że skrypt nie ma ustawionych żadnych jednostek, żeby zostawiać we wsi to zostawia koło 1/4-1/2 toporników , w innych wioskach działa prawidłowo wszystko wojsko jest wykorzystywane i czasy są podobne
 

Vecay

Pikinier
Wynik reakcji
12
działa, tylko musisz włączyć w przeglądarce np. chrome i włączyć "wersja na komputer" żeby stronę wyświetliło jak na kompie i będzie działać
 

Hutnik

Chłop
Wynik reakcji
17
Skrypt usprawniony o przeniesienie na ekran zbieractwa jeżeli byliśmy gdzieś indziej.

javascript:
var settings = {
max_ressources: '99999',
archers: '0',
skip_level_1: '0'
};

var settings_spear = {
untouchable: '0',
max_unit_number: '9999',
conditional_safeguard: '0'
};

var settings_sword = {
untouchable: '0',
max_unit_number: '9999',
conditional_safeguard: '0'
};

var settings_axe = {
untouchable: '0',
max_unit_number: '9999',
conditional_safeguard: '0'
};

var settings_archer = {
untouchable: '0',
max_unit_number: '9999',
conditional_safeguard: '0'
};

var settings_light = {
untouchable: '0',
max_unit_number: '9999',
conditional_safeguard: '0'
};

var settings_marcher = {
untouchable: '0',
max_unit_number: '9999',
conditional_safeguard: '0'
};

var settings_heavy = {
untouchable: '0',
max_unit_number: '9999',
conditional_safeguard: '0'
};

if ((game_data.screen !== 'place' && game_data.mode !== 'scavenge' )) {
location = TribalWars.buildURL('GET', 'place', { mode: 'scavenge' });
throw 'Nie jeste\u{15B} na placu' + game_data.screen + " " + game_data.mode
}

$.getScript('https://media.innogamescdn.com/com_DS_PL/skrypty/Asystent_Zbieracza.js');
void(0);
 

CFANIAKxD

Chłop
Wynik reakcji
29
Czy jest możliwość dorzucenia również opcji:

skip_level_2
Tzn w przypadku skip_level_2 korzystamy tylko z dwóch prawych zbieractw ;)
 
Wynik reakcji
67
Czy jest możliwość dorzucenia również opcji:
skip_level_2
Tzn w przypadku skip_level_2 korzystamy tylko z dwóch prawych zbieractw ;)
Tak. Możesz dopisać i skip_level_3 xD

Pytają się mnie więc odsyłam ich tu i dopisuję od siebie:

max_ressources - dałem 6000 i zbieractwo trwa 6h
obniżyłem do 4000 i jest git xD

Ale ja mam pytanie:
max_unit_number
można ustawić ogólne? Np żeby na zbieractwo szło np max 1000 jednostek? Czy w każdym rodzaju wojska trza wpisywać?
xD
 
Ostatnia edycja:

Mount

Chłop
Wynik reakcji
9
max_unit_number - ograniczenie liczby jednostek danego rodzaju do posłania na wszystkie poziomy razem

Czyli to ma działać na takiej zasadzie, że jak wpisze 1500 przy pikach , to 1500 zostanie rozdzielone na 4 poziomy zbieraka? Jeśli tak to działa, to niestety nie działa. Wpisuję konkretną liczbę pik jaką chcę przeznaczyć na 4 poziomy zbieractwa a i tak skrypt bierze pod uwagę większą liczbę pik przy rozdzielaniu.
 
Ostatnia edycja:

BackToTheGame

Rycerz
Wynik reakcji
113
Czyli to ma działać na takiej zasadzie, że jak wpisze 1500 przy pikach , to 1500 zostanie rozdzielone na 4 poziomy zbieraka? Jeśli tak to działa, to niestety nie działa. Wpisuję konkretną liczbę pik jaką chcę przeznaczyć na 4 poziomy zbieractwa a i tak skrypt bierze pod uwagę większą liczbę pik przy rozdzielaniu.

U mnie też, wpisałem 1500 to rozjeżdża się o 2 godziny i 1500 pików bierze na 2 poziom xD
Wcześniej było git.
 

kamcio0036

Chłop
Wynik reakcji
2
@PabloCanaletto

W kodzie skryptu możesz zamienić linijkę nr 139 z postaci:
```
let available = Number(field[0].parentNode.children[1].innerText.match(/\d+/)[0]);
```

na taką:

```
let available = Number(field[0].parentNode.querySelector('.units-entry-all').innerText.match(/\d+/)[0]);
```

I skrypt będzie działał w wersji mobilnej i w aplikacji też. W wersji desktopowej tabela zbieractwa jest rozdzielona na header z ikonkami wojska i wiersze, gdzie input i liczba dostępnego wojska mają jednego parenta. Stąd children[1] pobiera liczbę dostępnego wojska. W aplikacji, jak i w wersji mobilnej strony, tabela zbieractwa nie ma osobnego headera i ikonki są wrzucone jako jeden z elementów wiersza. Tym samym children[1] odwołuje się do pustego inputu i rzuca wyjątek. Zmienić trzeba querySelector('.units-entry-all') - ta klasa jest przypisana do pola z informacją o dostępności wojska. Dlaczego nie children[2]? Bo wtedy przestanie działać na wersji desktopowej :) Wersja z querySelector jest uniwersalna.
 

Heylo

Chłop
Wynik reakcji
0
@PabloCanaletto

W kodzie skryptu możesz zamienić linijkę nr 139 z postaci:
```
let available = Number(field[0].parentNode.children[1].innerText.match(/\d+/)[0]);
```

na taką:

```
let available = Number(field[0].parentNode.querySelector('.units-entry-all').innerText.match(/\d+/)[0]);
```

I skrypt będzie działał w wersji mobilnej i w aplikacji też. W wersji desktopowej tabela zbieractwa jest rozdzielona na header z ikonkami wojska i wiersze, gdzie input i liczba dostępnego wojska mają jednego parenta. Stąd children[1] pobiera liczbę dostępnego wojska. W aplikacji, jak i w wersji mobilnej strony, tabela zbieractwa nie ma osobnego headera i ikonki są wrzucone jako jeden z elementów wiersza. Tym samym children[1] odwołuje się do pustego inputu i rzuca wyjątek. Zmienić trzeba querySelector('.units-entry-all') - ta klasa jest przypisana do pola z informacją o dostępności wojska. Dlaczego nie children[2]? Bo wtedy przestanie działać na wersji desktopowej :) Wersja z querySelector jest uniwersalna.
Na aplikacji IOS ta zmiana nic nie zmienia (skrypt nadal nie działa), ktoś coś o tym wie?
 
Do góry