włamywacze...
#16
To w kantońskim napisane prawda?
Ok, a ten network_server.cpp gdzie można znaleźć i jak otworzyć? Ja tam i tak raczej nie będę niczego zmieniał. Po prostu nie bardzo wiem, co tak naprawdę modyfikuje ten kod i nie mam odniesienia, a wątpliwości jednak jakieś mam.

1.Co na pewno, to samoloty powinny mieć wartość = 1 - przypuszczam, że one najmniej obciążają pathfindera. Statki też chyba powinny mieć mniejszy mnożnik (może 3? sprawdzę później). To jednak łatwo skorygować.

2.Pytanie, czy przypadkiem to...:
if (!Company::IsValidID(vc->owner) || !vc->IsPrimaryVehicle()) continue;
if (vc->type == VEH_ROAD)
vehicles += 1;
else if (vc->type == VEH_TRAIN)
vehicles += 3;
else if (vc->type == VEH_SHIP)
vehicles += 10;
else if (vc->type == VEH_AIRCRAFT)
vehicles += 10;

...nie będzie odczytywane np. wprost jako "limit" pojazdów dla firmy. Powinno być mnożnikiem dla obliczenia łącznej ilości wszystkich pojazdów, wszystkich obecnych firm w grze.

Dla przykładu:
Są 2 firmy: A, B
ilość w grze ; odczyt dla warunku
Firma A
pojazdy: 10; 10
pociągi: 200; 600
statki: 0; 0
samoloty: 0; 0
----------------------------------------------------------
Firma B
pojazdy: 300; 300
pociągi: 0; 0
statki: 30; 90
samoloty: 10; 10
----------------------------------------------------------
Łączna ilość pojazdów w grze: 550
Odczyt dla warunku uwzględniający wpływ na obciążenie gry: 1010

Ale z takim prostym warunkowaniem pojawia pewien istotny problem: np. wystarczy, że po x godzinach ktoś kupi ileś pojazdów i przekroczy limit - wtedy w jednym momencie może paść kilka firm.

Ewentualnie możnaby tak zrobić, aby czas nieobecności był naliczany dopiero po przekroczeniu jednego z limitów - to oczywiście wymaga odpowiedniego skrócenia czasu ochrony.

Ale, te wszystkie efekty, o których napisałem wcześniej najlepiej by było osiągnąć nie poprzez blokadę usuwania, ale modulację szybkości naliczania czasu nieobecności. Brzmi nieco zawile i być może nie jest zbyt proste, ale mogę się mylić.

Dla przykładu w pliku konfiguracyjnym tak by mniej więcej wyglądały nowe opcje (warto by było dać możliwość zmian):
--------------obecne-----------------------
autoclean_company = true
autoclean_protected = 960 (ta wartość powinna mieć znacznie wyższy limit niż 240, najlepiej bez ograniczeń)
autoclean_unprotected = 1
---------------nowe-------------------------
progressive_speed_ac = true
fastest_autoclean = 24
min_company_for_quicker_ac = 10
company_for_fastest_ac = 15
min_veh_for_quicker_ac = 1000
veh_for_fastest_ac = 2000
ac_mod_road_vehicles = 1
ac_mod_trains = 3
ac_mod_ships = 3
ac_mod_airplanes = 1
quicker_ac_young_company = true
young_company_maxage = 60
ac_young_company = 3

-----------------------------------------------
Jak to rozumieć? Jak by to działało?
Jeśli w grze jest mniej niż 10 firm i mniej niż 1000 pojazdów (mnożniki ac_mod), czas nieobecności jest naliczany powoli, bez zmian - w tym przypadku byłoby to 960 miesięcy.
Jeśli w grze jest więcej niż 10 firm lub więcej niż 1000 pojazdów, naliczanie czasu nieobecności ulega stopniowemu przyśpieszeniu. Brany pod uwagę byłby mocniej przekroczony limit.
Jeśli w grze pojawi się maksymalna wyznaczona w ustawieniach liczba firm lub pojazdów, naliczanie czasu osiąga maksymalną szybkość - w tym przypadku firmy bez graczy usuwane byłyby po 24 miesiącach nieobecności - czas naliczania nieobecności uległby przyśpieszeniu x960/24 = x40
Dodatkowo nowe firmy - tutaj poniżej 5 lat - miałyby znacznie skrócony okres ochronny do zaledwie 3 miesięcy. Można by też zastosować mnożnik czasu ochrony określany przez zyski jakie osiąga firma względem średniej wartości obecnych firm.


Wiadomości w tym wątku
włamywacze... - przez pocztex - 02-01-2016, 15:17
RE: włamywacze... - przez pAter - 02-01-2016, 15:22
RE: włamywacze... - przez pocztex - 02-01-2016, 15:26
RE: włamywacze... - przez PAZIKONIK - 02-01-2016, 15:34
RE: włamywacze... - przez pocztex - 02-01-2016, 16:08
RE: włamywacze... - przez pAter - 02-01-2016, 16:16
RE: włamywacze... - przez KJ(KeyJey)[PL] - 02-01-2016, 16:22
RE: włamywacze... - przez LaChupacabra - 02-01-2016, 19:17
RE: włamywacze... - przez Milek7 - 27-01-2016, 20:27
RE: włamywacze... - przez LaChupacabra - 28-01-2016, 18:13
RE: włamywacze... - przez Milek7 - 28-01-2016, 18:38
RE: włamywacze... - przez Petr CZ - 06-01-2016, 02:03
RE: włamywacze... - przez KJ(KeyJey)[PL] - 27-01-2016, 23:43
RE: włamywacze... - przez Sander - 28-01-2016, 09:12
RE: włamywacze... - przez KJ(KeyJey)[PL] - 29-01-2016, 02:07
RE: włamywacze... - przez LaChupacabra - 29-01-2016, 18:57

Skocz do:

[-]
Zamknięcie forum OpenTTD Polska
Forum OpenTTD Polska zostało wyłączone. Obecnie znajduje się tu archiwum dyskusji o dodatkach tworzonych przez naszą społeczność.
Po aktualne treści i dyskusje zapraszamy na nasz discord! :)

[-]
Discord