18-10-2016, 16:56
(18-10-2016, 12:38)McZapkie napisał(a): Dlaczego nie? Zacytowałeś kod gry, ale nie ma znaczenia jak gra to przyporządkowuje, mi chodziło o to,Miałem nadzieję że przeczytasz ten kawałek.
aby skrypt przyporządkowywał dokładnie tak, jak gra to robi, a nie po swojemu.
Wkleiłem kod metody GSTile.GetTownAuthority, bo zaproponowałeś żeby użyć jej zamiast wyszukiwania w nazwie, która wyszukuje najbliższe miasto w promieniu _settings_game.economy.dist_local_authority. Czyli nie ma to nic do przypisywania przedsiębiorstw.
(18-10-2016, 12:38)McZapkie napisał(a): Tak przy okazji, obecnie w skrypcie w PushIndustry jest używane GSTile.IsWithinTownInfluence, co jest chyba bez sensu, bo ta funkcja jest do sprawdzania, czy kampania reklamowa w mieście ma wpływ na stację, a nie czy przemysł jest przypisany do miasta:Pewnie masz rację że to nie ma sensu, bo musiałyby być ogromne miasta mające w promiemiu ponad 60 kratek żeby to miało znaczenie, ale w działaniu znowu coś ci się pomyliło.
http://nogo.openttd.org/api/1.6.1/classG...224ed7f22c
Kod:
/* static */ bool ScriptTown::IsWithinTownInfluence(TownID town_id, TileIndex tile)
{
if (!IsValidTown(town_id)) return false;
const Town *t = ::Town::Get(town_id);
return ((uint32)GetDistanceSquareToTile(town_id, tile) <= t->cache.squared_town_zone_radius[0]);
}![OpenTTD #Polska - Polskie forum gry OpenTTD [ARCHIWUM] OpenTTD #Polska - Polskie forum gry OpenTTD [ARCHIWUM]](https://forum.openttd.pl/images/logo.png)
