Jump to content

JarkPomsky

Member
  • Posts

    122
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by JarkPomsky

  1. Rozumiem czyli problem jest z płynnymi osiami 😕
  2. Właśnie coś takiego chodzi mi po głowie. Tylko z ekranami i pełnym hudem na nich. Softwarowo jest to zrobienia już teraz. Program który wyłapuje wciśnięcia joysticka i zamienia je na przyciski klawiatury też zdaje się można napisać. We wcześniejszych postach pokazałem jak wyciągać dane z gry bez API żeby ożywić wskaźniki. (Pracuje nad nowym sposobem) Wszystko można zrobić, tylko trzeba mieć czas (i pieniądze hehe) ;)
  3. Mam jeszcze jeden pomysł, jak wyciągnąć dane z gry pomimo zmieniających się offsetów po aktualizacji gry. Na razie wyciągnę jedną wartość(o ile się uda) i będę czekał do kolejnej aktualizacji czy zostanie czy nie 🙂 W sumie to nie dziwię się twórcom, że olewają temat API, skoro to pewnie dla mniej niż 1% graczy. API pewnie będzie na samym końcu 😕
  4. No właśnie trochę naokoło, ale skoro motywuje, to czemu nie 🙂 Ja z kolei myślę nad pulpitem uniwersalnym, coś w stylu Dragona/Traxa z dwoma ekranami LINK i malinką. Nie repliką którejś, ale inspirowaną tymi lokomotywami. Nawet czat chciałbym wywalić na jeden z ekranów. A na ekranie komputera mieć czysty obraz jak za szybą: Jestem na etapie marzenia... 🙂
  5. Synchronizacja oświetlenia - na 90% tak. Podawanie sygnałów na fizycznej makiecie - na 99% nie. W chwili obecnej nie warto się w to bawić jeśli chodzi o dyżurki.
  6. Tak zawsze znika, dlatego musisz znaleźć bazowe przesunięcie (base offset), a nie sam adres, bo gra z każdym włączeniem przydziela inny adres. Przesunięcie bazowe zostaje zawsze takie samo, dlatego mój program działał nawet po restarcie gry. Tu masz poradnik jak to zrobić:
  7. Stało się to co podejrzewałem. Najnowszy hotfix pozmieniał strukturę pamięci - dane są teraz w innym miejscu pamięci, więc program jest ślepy. Jako że jest to zbyt czasochłonne żeby aktualizować i dość trudne projekt porzucam. Lepiej poczekać na API. Jeśli jednak ktoś by chciał poszukać na własną rękę to udostępniam kod gdzie można wprowadzić znalezione offsety i skompilować samemu: https://pastecode.io/s/r1zcis5s Wartości manometrów woltomierzów i amperomierzów są typem "float". Lampki typem "int". Trzeba o tym pamiętać i pozmieniać w kodzie odpowiednio. Wartości szuka się za pomocą Cheat Engine. Szukając lampek trzeba zaznaczyć "4 Bytes" i szukać odpowiedni 0 dla wyłączonej i 1 dla zapalonej. Szukając reszty trzeba zaznaczyć "float" oraz szukać wartości konkretnie wyświetlanej (pod f8).
  8. Najgorzej że każda grubsza aktualizacja gry może pozmieniać strukturę pamięci i trzeba będzie szukać wszystkiego na nowo 😄 oby nie 😄
  9. U mnie stan prac wygląda tak: Nie sądziłem że tak ciężko będzie znaleźć lampki w pamięci. Jedna uwaga. Manometry używają własnej skali - jedna duża kreska na tarczy to 1, 2,3 i tak dalej, a nie wartości prawdziwe. main.7z
  10. tak, w opcjach gry jest.
  11. Dzisiaj twórcy udostępnili LSFG w wersji 3.0. Będzie testowane 🙂
  12. Tylko odczyt. Próbowałem wstrzykiwać inne wartości do pamięci, ale gra je liczy ileś tam razy na sekundę i momentalnie zastępuje je prawidłowymi. Wszystkie mierniki / kontrolki / można odczytywać - w zasadzie wszystko co jest pod F8 (dzięki @Conrad za uświadomienie, że istnieje coś takiego :D)
  13. Jeśli chcesz spróbować pobawić się i podłączyć pulpit, to załączam program do odczytu pamięci Amperomierza WN2 w EU07. Wyciąga on dane i umieszcza w formacie JSON na adresie hosta. Możesz przetestować po uruchomieniu wbijając w przeglądarkę: http://192.168.0.13:5000/api/receive_data - zamień adres IP na swój adres lokalny - https://i.imgur.com/Xk7m3ML.jpeg Zarówna gra jak i ten program MUSZĄ być uruchomione z uprawnieniami administratora - bez tego program nie uzyska dostępu do pamięci. Kod programu znajduje się tutaj: https://pastecode.io/s/c602k1rq Po uruchomieniu powinieneś otrzymać coś takiego: https://i.imgur.com/gjOtTpK.jpeg Skan antiwirusowy - niektóre antywirusy zgłaszają wirusa, to dlatego że aplikacja pobiera dane z procesu innej aplikacji (w tym przypadku z naszej gry) : VirusTotal - File - b7dc95461c754ef9fbe6c051ae831749d52e60775568297a43d8fe846e5984f7 Jak to zadziała to pomyślimy dalej. Edit: Jak SimRail.exe nie jest włączony to program zamula kompa, za dużo razy szuka procesu 😄 ale już nie będę poprawiał teraz 😄 main.7z
  14. @Conrad@Maciej_ZG @pomiary.el1 Z ciekawosci. Czy Arduino /rasberry Pi które steruje waszymi pulpitami potrafi odczytywać wartości z tablic JSON po http?
  15. Używam, wszystkie detale na max, FPS cap na 30fps. Potem Generator klatek x4 120 fps i jazda 🙂 są artefakty ale to nic.
  16. Ogólnie to gra przechowuje w pamięci konkretną wartość np dotyczącą napięcia (np. 235), a dla np. SHP/CA jest 1 albo 0.
  17. Pierwszy raz widzę to okno... 😄 To jakiś tryb developerski? Nie wiem jak sie steruje silnikami krokowymi. Jeśli tak, że jakaś dana wartość przesuwa silniczek to tak, to możliwe. Wartości z amperomierzy zostały pobrane z pamięci Simrail.exe a konkretniej z biblioteki GameAssembly.dll i z określonym odpowiednim offsetem bazowym i offsetami wartości. Jest to problematyczne, bo adresy są dynamiczne i zmieniają się z każdym uruchomieniem gry. Ale znając offset bazowy można określić gdzie znajduje się szukana wartość - aczkolwiek raz na 5-10 razy to nie działa. Żeby to naprawić musiałbym wpisać logikę która korzysta np z zapasowego adresu (albo najlepiej 10 po kolei aż nie znajdzie działającego adresu). Program napisany w Phyton przy użyciu .pymem który wyciąga wartości z gry i .flask który tworzy serwer i w sieci lokalnej można wyświetlić wyniki za pomocą html JavaScript ajax np. na tablecie jak u na moim filmie. Jak za rok twórcy nie udostępnią API to będziemy pisać 😄
  18. Zawsze mi się marzyło skonstruowanie czegoś takiego albo własnej kierownicy DD do wyścigów, ale nie mam nerwów i wiedzy. Szacun. Spokojnie, właśnie sobie eksperymentowałem w kilka wolnych wieczorów. Wszystko da się zrobić nawet bez API, ale jest to bardzo żmudna praca (z przeszukiwaniem pamięci).
  19. Taka możliwość wyboru lokomotywy, za które przecież będziemy płacić jako DLC, powinna być w multi.
  20. Wczoraj stałem przed wjazdowym towarem, a z tyłu wjechał mi kibel w tyłek. Wykoleiłem pociąg przy 0km/h. Nie wyobrażam sobie żebym miał dostać bana, a nawet jakbym dostał to dlaczego ofiara miałaby się odwoływać i tłumaczyć ;/
  21. Potęga AI 😄
  22. Bo to automat im generuje, dlatego takie byle jakie. W pewnej odległości od torów nie ma w tym nic złego.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy