Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
CartRadio
Zamień wózek w radio dla całej drużyny! Odtwarzaj własne MP3, OGG i WAV, steruj muzyką klawiszem F6 przy wózku i słuchaj dźwięku przestrzennego. Wszyscy gracze potrzebują moda i tych samych plików muzycznych.
By kocismaczek
| Date uploaded | a day ago |
| Version | 1.0.0 |
| Download link | kocismaczek-CartRadio-1.0.0.zip |
| Downloads | 86 |
| Dependency string | kocismaczek-CartRadio-1.0.0 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
Cart Radio
Zamień wózek w przenośne radio dla całej drużyny.
Wrzuć ulubione nagrania do folderu Music, podejdź do wózka i naciśnij F6. Wybierz muzykę na kolejną wyprawę, zatrzymaj ją przed wejściem do nieznanego pomieszczenia albo przekaż sterowanie znajomemu stojącemu przy wózku.
Cart Radio odtwarza własne pliki MP3, OGG i WAV. Muzyka dochodzi z wózka: słychać jej kierunek, a głośność maleje, gdy się oddalasz. Host synchronizuje wybrany utwór oraz pozycję odtwarzania między graczami.
Co dodaje mod?
- Radio przy wózku — niewielki, przemysłowy odbiornik i panel otwierany klawiszem F6.
- Własną muzykę — obsługę plików MP3, OGG i WAV bez logowania do serwisów muzycznych.
- Wspólny odsłuch — synchronizację utworu, odtwarzania i pauzy przez hosta.
- Dźwięk przestrzenny — źródło muzyki porusza się razem z wózkiem, z zasięgiem około 22 metrów.
- Proste sterowanie — wybór nagrania, poprzedni/następny utwór, odtwarzanie, pauzę i stop.
- Dwie regulacje głośności — wspólną głośność radia i osobny poziom odsłuchu dla Ciebie.
Dla drużyny: każdy słuchacz potrzebuje tego moda oraz tych samych plików w folderze Music. Nagrania nie są przesyłane przez grę. Paczka zawiera oryginalny utwór demonstracyjny, więc możecie zacząć od wspólnego testu bez dodawania własnej muzyki.
Zgodność i status
Wersja moda 1.0.0, przygotowana dla R.E.P.O. Steam build 23363152, Unity 2022.3.67f2. Wymaga BepInEx 5.
Status wersji: skompilowano z bibliotekami wskazanej instalacji, bez błędów i ostrzeżeń. Przeszło 15 testów logiki czasu, komunikatów i rozpoznawania plików. Nie uruchomiono testu dźwięku w grze ani rzeczywistej sesji multiplayer. To pierwsza wersja do sprawdzenia w rozgrywce.
Instalacja — każdy gracz
- Wybierz profil R.E.P.O. z zainstalowanym BepInEx 5 / BepInExPack.
- W menedżerze Thunderstore/r2modman otwórz folder profilu.
- Skopiuj folder
plugins/CartRadioz paczki doBepInEx/pluginsw profilu. - Dodaj muzykę do
BepInEx/plugins/CartRadio/Music. - Rozdaj drużynie te same pliki muzyczne i tę samą wersję moda. Uruchom grę przez Start modded.
Przy ręcznej instalacji użyj analogicznego folderu REPO/BepInEx/plugins/CartRadio. Wymagana jest działająca instalacja BepInEx, z BepInEx/core/BepInEx.dll. REPOLib i konto Spotify nie są potrzebne.
Prawidłowa struktura:
BepInEx/
plugins/
CartRadio/
CartRadio.dll
Music/
Scrap Yard Loop.wav
Twoja piosenka.mp3
Dołączony Scrap Yard Loop.wav to krótki, oryginalny motyw syntetyczny przygotowany do sprawdzenia radia. Możesz go usunąć i zastąpić własną muzyką. Nie zawiera próbek z cudzych nagrań.
Sterowanie
- Podejdź do wózka na odległość do 3 metrów.
- Naciśnij F6. Pojawi się panel radia i kursor.
- Kliknij nazwę utworu, aby uruchomić go dla drużyny.
- Korzystaj z przycisków Odtwórz / Pauza, Poprzedni, Następny i Stop.
- Zamknij panel klawiszem F6 lub przyciskiem „Zamknij”. Oddalenie się od wózka też zamyka panel.
Przyciski głośności radia − / + zmieniają wspólne ustawienie. Suwak Twoja głośność wpływa tylko na Twój odsłuch; ustawienie 0 lokalnie wycisza radio.
Panel blokuje ruch, celowanie i chwytanie, aby kliknięcie przycisku nie wywołało akcji w grze. Rozgrywka drużyny trwa dalej. Radio jest słyszalne do około 22 metrów, z największą głośnością blisko wózka. Odtwarzanie nie przyciąga potworów i nie dodaje zużycia baterii.
W tej wersji działa jedno wspólne radio na drużynę. Sterowanie przy innym wózku przenosi do niego źródło dźwięku. Po końcu utworu host przechodzi do następnego; po końcu listy zaczyna od początku. Przy zmianie poziomu muzyka zostaje zatrzymana — uruchom ją ponownie przy wózku.
Wspólna biblioteka
Mod przesyła stan odtwarzania, nie pliki muzyczne. Każdy słuchacz musi mieć u siebie ten sam plik. Dopasowanie opiera się na skrócie SHA-256 zawartości, więc inna nazwa nie przeszkadza. Ponowne zakodowanie MP3 lub zmiana jego tagów tworzy inny plik i może uniemożliwić dopasowanie. Najprościej skopiować całej drużynie ten sam folder Music.
Jeśli brakuje utworu, radio lokalnie milczy i panel pokazuje brak pliku. Przy pustej bibliotece lista będzie pusta. Po dodaniu lub wymianie plików uruchom grę ponownie. Pliki są skanowane przy uruchomieniu, poza głównym wątkiem gry.
Obsługiwane są pliki bez DRM z rozszerzeniem .mp3, .ogg lub .wav, umieszczone bezpośrednio w Music. Podfoldery nie są skanowane. Limity: 64 różne pliki, do 20 MiB na plik i 256 MiB łącznie; długość utworu do 15 minut oraz limit pamięci zdekodowanego nagrania. Niektóre odmiany kodeków mogą wymagać konwersji do PCM WAV lub standardowego OGG Vorbis.
Synchronizacja i ograniczenia
- Sterować może żywy gracz znajdujący się przy wózku. Host sprawdza nadawcę i odległość przed wykonaniem polecenia.
- Muzyka jest odtwarzana lokalnie na każdym komputerze według zegara sieciowego. Po dołączeniu lub wczytaniu nagrania klient ustawia bieżącą pozycję; może przez to pominąć początek utworu podczas pierwszego ładowania.
- Korekta większych rozbieżności czasu odbywa się okresowo. Nie jest to gwarancja synchronizacji z dokładnością do pojedynczej próbki audio.
- Stan jest okresowo rozsyłany przez hosta. Uwzględniono zmianę hosta i dołączanie gracza w kodzie, ale te przypadki wymagają testu w żywej sesji.
- Wymagany mod u każdego słuchacza. Osoba bez moda nie usłyszy radia.
- Dźwięk ma tłumienie odległości i kierunek, ale nie ma dodatkowego tłumienia przez ściany.
Ustawienia i diagnoza
Po pierwszym uruchomieniu plik BepInEx/config/pl.cart.radio.cfg zawiera PersonalVolume i PanelKey (domyślnie F6). Przy konflikcie skrótu z innym modem zmień PanelKey przy wyłączonej grze, np. na F7.
W BepInEx/LogOutput.log szukaj wpisu Cart Radio loaded. Music folder:. Pokazuje on rzeczywisty folder muzyki. Błąd Audio decode failed oznacza problem z plikiem lub jego kodekiem. Gdy F6 nie działa, sprawdź, czy jesteś w rozgrywce, jesteś żywy, stoisz dostatecznie blisko wózka i masz zamknięte menu gry.
Zalecany pierwszy test: dwie osoby z identyczną paczką; wybierz dołączony WAV, sprawdź odtwarzanie, pauzę, następny utwór, głośność oraz oddalanie się od wózka. Sprawdź również dołączenie w trakcie odtwarzania i zmianę poziomu. Ten test nie został jeszcze wykonany przez autora paczki.
Kod źródłowy i testy
W folderze source znajduje się kompletny kod. Wymagany .NET SDK oraz własne biblioteki gry i BepInEx:
dotnet build .\source\CartRadio.csproj -c Release '-p:GameDir=C:\Program Files (x86)\Steam\steamapps\common\REPO' '-p:BepInExCore=C:\sciezka\do\profilu\BepInEx\core'
Testy samej logiki, bez uruchamiania Unity (wymagany .NET SDK 10):
dotnet run --project .\tests\CartRadio.Tests.csproj -c Release
Biblioteki gry nie są dołączone. Podstawy integracji: Photon RaiseEvent i Unity AudioSource.
CHANGELOG
1.0.0
- Opis strony Thunderstore i nowa ilustrowana ikona 256 × 256.
- Radio sterowane przy wózku przez panel F6.
- Wspólna lista odtwarzania z plików lokalnych i synchronizacja przez hosta.
- Wybór utworu, play/pause, stop, poprzedni/następny, wspólna i osobista głośność.
- Dźwięk przestrzenny oraz identyfikacja nagrań przez SHA-256.
- Kod, 15 testów logiki i oryginalny utwór demonstracyjny w paczce.
- Skompilowano pod Steam build 23363152. Brak testu rozgrywki i żywego multiplayera.