FORUM PTT -  Strona Główna
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy RejestracjaRejestracja  ZalogujZaloguj

Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Poprzedni temat :: Następny temat
Zamknięty przez: ryszard
11-12-2018, 11:40
Pomoc ze skryptem
Autor Wiadomość
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 21-11-2018, 17:16   Pomoc ze skryptem

Witam,

Jestem Maciej i razem z moimi 2 kolegami zaczęliśmy od niedawna tworzyć dodatki do Trainz 12. Zaczynaliśmy od małych dodatków scenery lecz po czasie pomyśleliśmy że stworzymy coś bardziej rozbudowanego. Zauważyliśmy, że paczka SSP stworzona przez UAZa i Traxxa95 nie posiada kilku sygnalizatorów, dzwonów itd. więc pomyśleliśmy, że sami je stworzymy. Na początku szło znakomicie. Tworzyliśmy modele, teksturowaliśmy itd. aż przyszedł czas na skrypt. I tu się zaczął problem ponieważ nie mamy pojęcia jak działa system "łączności" kontrolera a wyposażenia przejazdu przez co uniemożliwia nam to dalsze rozwijanie projektu :-( . Skrypt mamy napisany w ten sposób, że wystarczy nam kawałek kodu, który odpowiada za łączność kontrolera z wyposażeniem przejazdu.


Nie prosimy o gotowy skrypt tylko o podpowiedzi, dzięki którym poznamy funkcjonalność tego systemu i napiszemy odpowiedni skrypt aby wszystko zaczęło działać.

Wielkie dzięki za odpowiedzi :-D
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 308 razy
Wiek: 49
Dołączył: 26 Lut 2008
Posty: 4514
Skąd: Gościcino Centralne
Wysłany: 22-11-2018, 16:03   Re: Pomoc ze skryptem

MaciugMaQ napisał/a:

Nie prosimy o gotowy skrypt tylko o podpowiedzi, dzięki którym poznamy funkcjonalność tego systemu i napiszemy odpowiedni skrypt aby wszystko zaczęło działać.


Elementy przejazdowe muszą reagować na dwa message:
1. "gate_high", "nazwa-sterownika" na podniesienie rogatek;
2. "gate_low", "nazwa-sterownika" na opuszczenie.

That's all.
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 22-11-2018, 16:35   

To wszystko? Naprawdę?
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 308 razy
Wiek: 49
Dołączył: 26 Lut 2008
Posty: 4514
Skąd: Gościcino Centralne
Wysłany: 22-11-2018, 16:38   

MaciugMaQ napisał/a:
To wszystko? Naprawdę?


Tak. Chciałeś znać zasadę komunikacji - oto ona. A samo oskryptowanie dodatków, funkcjonalności, menu itd - to już po stronie programisty - skrypciarza. Jak zrobisz, tak będzie :-)
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 22-11-2018, 16:40   

Dzięki wielkie za pomoc :mrgreen: Teraz muszę ogarnąć jak ten skrypt napisać :->
 
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 22-11-2018, 17:12   

A dałoby radę otrzymać trochę więcej podpowiedzi? Nie mogę jakoś tego napisać :-/

Edit: Dalej próbuje napisać ten skrypt i utknąłem na Sniff() :-( Pomoże ktoś?
Ostatnio zmieniony przez MaciugMaQ 22-11-2018, 18:03, w całości zmieniany 2 razy  
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 308 razy
Wiek: 49
Dołączył: 26 Lut 2008
Posty: 4514
Skąd: Gościcino Centralne
Wysłany: 22-11-2018, 20:13   

Napisałeś, że skrypt już sobie napiszesz sam :-)
Do napisania obsługi pierdół przejazdowych potrzebujesz tylko odebrać messages według powyższego. Poczytaj o AddHandler() i obsłudze przychodzących messages.
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 22-11-2018, 21:45   

Widocznie się przeliczyłem co do napisania tego skryptu :-P Nie mam pojęcia jak to napisać. Trudzę się już 3 godziny. Spróbuje jutro pokombinować ale myślę że nie przyniesie to efektów :-/
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 308 razy
Wiek: 49
Dołączył: 26 Lut 2008
Posty: 4514
Skąd: Gościcino Centralne
Wysłany: 23-11-2018, 01:39   

Trzy godziny? Wow. Sygnalizację v5 pisałem trzy miesiące. Z poprawkami dobre pół roku... Skryptu nie da się napisać w godzinkę, chyba że adaptujesz gotowca, ewentualnie piszesz trzy linijki kodu do obsługi tablicy hektometrowej 😁😁😁
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 23-11-2018, 09:27   

Jak wykryć kontroler? Próbuje cały czas napisać kod, który wykryje message lecz nic to nie daje :-|
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 308 razy
Wiek: 49
Dołączył: 26 Lut 2008
Posty: 4514
Skąd: Gościcino Centralne
Wysłany: 23-11-2018, 13:34   

MaciugMaQ napisał/a:
Jak wykryć kontroler?


Kontrolera nie wykrywasz. Odbierasz tylko message. Po msg.major rozpoznajesz, czy jest to otwieranie czy zamykanie (gate_low albo gate_high), po msg.minor - który kontroler to nadał. Jako msg.minor idzie nazwa kontrolera. W najprostszym przypadku trzeba tylko napisać obsługę tych dwóch messages. Reszta to kosmetyka - menu, dodatkowe opcje itd. Sama komunikacja jest banalna, jak opisywałem wyżej.
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
Ostatnio zmieniony przez RBach 23-11-2018, 13:38, w całości zmieniany 1 raz  
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 23-11-2018, 14:33   

Dzięki za podpowiedzi :-o . Możesz jeszcze powiedzieć czy funkcja Sniff() jest dobrze? Jestem dopiero początkujący.

Sniff(me, "gate_low", name, true);
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 308 razy
Wiek: 49
Dołączył: 26 Lut 2008
Posty: 4514
Skąd: Gościcino Centralne
Wysłany: 23-11-2018, 14:41   

Nie wiem, nigdy nie robiłem obsługi poprzez sniff(). Zawsze przez AddHandler i odpowiednie metody obsługi message.
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 23-11-2018, 15:44   

Próbuje używać AddHandler lecz dalej nie działa. Co ja robie źle?

AddHandler(me, "gate_low", name, "MessageHandler");
Ostatnio zmieniony przez MaciugMaQ 23-11-2018, 17:09, w całości zmieniany 1 raz  
 
 
 
RBach 
Administrator
Toromistrz


Pomógł: 308 razy
Wiek: 49
Dołączył: 26 Lut 2008
Posty: 4514
Skąd: Gościcino Centralne
Wysłany: 23-11-2018, 18:15   

Co to jest to name w wywołaniu AddHandler? Domyślam się, że to jakaś zmienna, ale jakiego typu i co zawiera w momencie wywołania metody?
_________________
Moje dodatki
Instrukcje kolejowe
KUID:263713
Aktualny release skryptów sygnalizacji:
v5.6:26.12.2025
Ostatnio zmieniony przez RBach 23-11-2018, 18:21, w całości zmieniany 1 raz  
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 23-11-2018, 18:41   

name = GetName();

zmienna aktualizuje sie co 1 sekunde
 
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 25-11-2018, 08:46   

Udało mi się napisać ten skrypt i działa jak należy :mrgreen: Mam jeszcze jedno pytanie. Jak zrobić pole do wpisania numeru w HTMLWindow?
Będe wdzięczny za odpowiedź :->
_________________
Dodatki moje i kolegów: http://kolejowelk207.cba.pl/trainz.html
 
 
 
MaciugMaQ 
nowy



Wiek: 23
Dołączył: 21 Lis 2018
Posty: 31
Skąd: Warszawa
Wysłany: 11-12-2018, 11:31   

Już sobie poradziłem :-D Wielkie dzięki wszystkim za pomoc. Temat do zamknięcia
_________________
Dodatki moje i kolegów: http://kolejowelk207.cba.pl/trainz.html
 
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group