...dwudziesty drugi, dwudziesty trzeci, dwudziesty czwarty... — Rewident Taboru Janusz |
/sp <semafor> n:4,Eaos
/sp <semafor> Eaos;Eaos;Eaos;Eaos
/sp <semafor> n:14,PKPCs |
/sp <semafor> n:24,pkpcn_eaos:coal_01 |
/sp <semafor> n:30,eaos_pkpc |
/sp <semafor> n:4,111_ic;n:2,112_IC;n:3,111a_PKPn;n:2,110_ic |
n:14, eaosotrzymam 14 węglarek, ale każda może być inna czy raz jest losowany model dla całej 14tki?
jak rozumiem wpisującCytujn:14, eaosotrzymam 14 węglarek, ale każda może być inna czy raz jest losowany model dla całej 14tki?
Na przykład znana wam z wcześniejszego artykułu komenda, uzupełniona o liczbę wagonów:Kod: [Zaznacz]/sp <semafor> n:4,Eaos
zostanie przez generator zinterpretowana jak:Kod: [Zaznacz]/sp <semafor> Eaos;Eaos;Eaos;Eaos
i stworzy nam cztery losowe węglarki.
i stworzy nam cztery losowe węglarki.;)
Dla tych co nie wiedza/nie pamietaja:
Komenda /sp ma warunek :x odsuwajacy powstający skład o x metrów od pktu spawnów.
Czyli: /sp:25 <semafor> n:4,Eaos
Zrespi nam 4 losowe węglarki w odległości 25m od semafora.
Bardzo przydatne do urealnienia dekoracyjnych składów bez cudowania z zakopanymi Tm itd.
Komenda /sp ma warunek :x odsuwajacy powstający skład o x metrów od pktu spawnów.
Czyli: /sp:25 <semafor> n:4,Eaos
Nie działa to to shafter coś :D.
/sp <semafor>:<odległość> n:<liczba wagonów>,<nazwa>
/sp D:25 n:4,eaos
Ares miałem na myśli zupełnie inną rzecz: losowanie ilości wagonów, które się pojawią.
/sp E6 n:10,37,ea:coal_01;dałby skład od 10ciu do 37dmiu absolutnie losowych węglarek. Chodzi o dodanie zakresu w miejscu liczby. Biorąc po uwagę, że losowanych jest sporo zmiennych to dodanie jednej chyba nie położy sprawy.
//(uwaga: zmienne zapisane takie jakie sobie wymyśliłem, nie mam dostępu do kodu więc trzeba to przepisać z innymi deklaracjami itd.)
list sklad = new List<>(); // lista wagonow
int dlugosc = 0; // dlugosc dotychczasowa skladu
int docelowaDlugosc = 400; // docelowa dlugosc skladu (nie mozna jej przekroczyc, ale "upychamy" jak najwiecej)
while dlugosc < docelowaDlugosc { // petla wykonuje sie dopoki nie przekroczymy docelowej dlugosci skladu
string wagon = losujWagon("Ea"); // losujemy dowolny wagon (dane losowania: np. "Ea" - węglarka)
int dlugoscWagonu = bibliotekaSkladow.dlugoscWagonu(wagon); // dlugosc wagonu wyprowadzamy do zmiennej (metoda wzieta z dupy, jak tam jest - nie wiem)
dlugosc += dlugoscWagonu; // dodajemy dlugosc wagonu do lacznej dlugosci skladu
sklad.Add(wagon); // dodajemy wagon do skladu
}
sklad.Pop(); // na koniec usuwamy ostatni wagon ktory juz nie zmiescil sie w 400 m
zespawnujSklad(sklad); // i spawnujemy sklad
Będzie to zaimplementowane również w generatorze składów z symulatorze? Aby łączyć się ze scenerią już z gotowym losowym składem.
Nowy format generatora zostanie zastosowany nie tylko podczas spawnowania wagonów przez DR, ale także w nowym edytorze dla mechaników, o którym przeczytacie już w następnej części DevBloga!
Ares co z tym losowaniem długości? Będzie czy nie ma co sobie robić nadziei?
Wymaga za duzo liczenia ze strony i nakladu pracy w stosunku do korzysci. Musialbys brac pod uwage dlugosc toru i dlugosc poszczegolnych wagonow. I po co, skoro mozesz sobie sam wybrac liczbe losowo w glowie? :P
Mi przyszło takie coś do mego (pustego) łebka:
Na semaforze była by możliwość wybrania maks. długość składu, ale bez opcji sprawny. W komendzie wpisywałoby się zakres np. Od 500 do 750m, i jeśli semafor wykryje próbę spawnu składu dłuższego niż ma wpisaną maks. dł., to wyświetli stosowny komunikat. Oczywiście pod tym semaforem gracze nie mieliby możliwości spawnu, bo semafor ma tylko wpisaną maks. długość.
Z poważaniem.