Aggiornato con la v252 - Aprile 2020 Di Marcos Elias
La Fase 2 del sistema di mod mappe di Proton Bus permette di avere passeggeri, traffico e altro nel gioco! Questo lo porta a un altro livello, letteralmente si può separare Proton prima e dopo questa funzionalità. È quasi come un nuovo gioco!
Avviso: Per motivi di tempo, non è possibile fornire supporto individuale nel processo di conversione e modifica. Consigliamo di provare da soli, vedendo come sono state fatte le altre mappe ed esplorando le strutture dei file. Preferite postare dubbi e problemi correlati nei gruppi del gioco su Facebook, così le soluzioni servono a tutti, e anche altri produttori di mod possono aiutarvi.
Se non sei ancora iscritto, unisciti al canale del produttore: www.youtube.com/marquinhosxp. Alcuni video e tutorial vengono pubblicati lì.
Pagina ufficiale PBSU su Facebook: https://www.facebook.com/protonbusoficial E di PBSR: https://www.facebook.com/protonbusrod.oficial/
Gruppo esclusivo per creatori di mod: https://www.facebook.com/groups/pbsmods/ Per favore, evita di entrare in questo se sei solo un giocatore, per non intasare con post fuori tema (che verranno eliminati)!
Gruppi per utenti: In questi sì, post liberi di screenshot, consigli, video, tutorial vari, ecc., dal punto di vista dei giocatori:
Consiglio su un buon sito da cui ottenere texture per le mod: http://www.textures.com
Prima di iniziare una mappa nella Fase 2, è necessario aver padroneggiato la produzione del livello base per la Fase 1. Se non hai ancora familiarità, non preoccuparti, è possibile seguire questa guida accompagnando la mappa di esempio. Il requisito più grande è avere conoscenze base di Blender, poiché lo useremo per esportare le mappe.
La vecchia documentazione riguardante la Fase 1 è qui, per le mappe: http://blog.protonbus.com.br/2019/09/experimental-mods-de-mapas-no-pbs.html
E per gli autobus: http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html
È sempre bene avere la versione più recente del gioco! Le vecchie non sono più supportate, la beta è in costante evoluzione, quindi consideriamo sempre la più recente. Puoi trovare le build più recenti su http://pbsu.busmods.com per l'urbano e http://pbsr.busmods.com per lo stradale.
Fondamentalmente usiamo Blender 2.79 per produrre lo scenario, esportiamo il modello in formato 3ds e creiamo la struttura di cartelle e file per il sistema di Proton Bus.
IMPORTANTE: USA BLENDER 2.79! L'esportatore necessario per il formato attuale del gioco non funziona con Blender 2.8, apparentemente è stato interrotto e nessuno ad oggi lo ha aggiornato. Chissà se in futuro tornerà a funzionare, c'è gente che ci sta provando.
Puoi scaricare Blender 2.79 qui: https://download.blender.org/release/Blender2.79/ La versione più recente di solito è quella che ha una "b" nel nome. La piattaforma è indifferente, dipenderà dal tuo sistema (Windows, Linux o Mac) e architettura (32 o 64 bit).
Se hai già iniziato la mappa nella 2.8, la raccomandazione sarebbe di esportare in qualche formato intermedio che la 2.79 possa aprire e quindi esportare da lì per il gioco.
IMPORTANTE: MODIFICA L'ESPORTATORE DI 3DS PER PROTON! L'esportatore predefinito di 3ds di Blender tronca i nomi degli oggetti e delle texture a 12 caratteri. Normalmente avremo bisogno di più di questo per evitare errori nei nomi di alcune parti e/o nelle texture.
Download del plugin di Blender modificato per esportare (file per Blender 2.79): http://proton.viamep.com/coisas/export_3ds_protonbus_blender279.zip
TUTORIAL SU COME CAMBIARE IL PLUGIN: https://youtu.be/0EokFmSjGdA
Se preferisci, invece di scaricare questo, modifica il file export_3ds.py della cartella scripts\addons\io_scene_3ds del tuo Blender. Cerca [:12] e cambia il 12 in un numero molto più grande, come 999. È il limite di caratteri. Senza questo l'esportazione per il gioco potrebbe fallire.
CONSIGLIO: SCARICANDO BLENDER PUOI OPTARE PER LE VERSIONI "PORTABLE" IN ZIP, PER MANTENERE VARIE VERSIONI ALLO STESSO TEMPO.
La mappa in Proton è composta da vari file txt (di puro testo), e alcune cartelle. La struttura primaria essenziale è un txt di definizione della mappa e una cartella, entrambi si trovano dentro la cartella maps, che a sua volta si trova nella cartella delle mod del gioco.
Esempio di struttura su PC:

Il txt di definizione della mappa deve finire in .map.txt (es: Estrada Longa.map.txt). Deve essere un nome unico!
IMPORTANTE: NON USARE MAI ACCENTI, CEDIGLIE O CARATTERI SPECIALI NEI NOMI DEI FILE DELLE MOD!
Dentro questo txt avremo la struttura base:
[map]
baseDir=Estrada Longe
; La cartella base della mappa, che si trova in maps insieme al .map.txt
modelsDir=Rota 1
; La cartella dei modelli, che si trova dentro la cartella tiles
textures=textures
; La cartella delle texture
mapModVersion=2
; Usa il numero 2 nella Fase 2!
preview=preview.png
; Immagine della schermata di selezione (16:9, es: 640x360)
Dentro la cartella base della mappa devono esistere altre cartelle:

dest: Memorizza insegne e targhe.skins: Memorizza le livree degli autobus della mappa (dentro skins/0/pbc).textures: Memorizza le texture. Evita JPG, usa PNG!tiles: Deve avere questo nome obbligatoriamente. Dentro di essa si trova la cartella dei modelli (modelsDir).IMPORTANTE: LE MOD MAPPE DI PROTON BUS VENGONO CARICATE INTERAMENTE! NON POSSONO ESSERE TROPPO PESANTI. SE HAI INTENZIONE DI FARE VARIE LINEE LUNGHE, DIVIDILE IN PARTI.
Dentro la cartella definita in modelsDir, si trovano i file esportati .3ds e le configurazioni:

Struttura interna della cartella dei modelli:

aipeople: Configurazioni dei pedoni.aitrains: Configurazioni dei treni.aivehicles: Configurazioni del traffico.busstops: Configurazioni delle fermate dell'autobus.entrypoints.txt: Configurazioni avanzate dei punti di ingresso.entrypoints_list.txt: Lista semplice dei punti di ingresso.IMPORTANTE: LE MOD NON SONO PROTETTE! TECNICAMENTE NESSUN GIOCO LO È. L'UNICO MODO PER NON AVERE LA TUA MOD MODIFICATA O TRAPELATA È NON RILASCIARLA.
I punti di ingresso definiscono dove appare l'autobus all'avvio del gioco. Devono avere nomi unici (es: 351F-10 TP, Garagem Central).
IMPORTANTE: NON USARE MAI ACCENTI O CARATTERI SPECIALI IN QUESTI NOMI! NON USARE NEMMENO BARRE.
Lista semplice, un nome per riga.

Definisce la posizione e rotazione fisica sulla mappa.

Ricorda: In Blender Y è fronte/retro e Z è altezza. In Unity (gioco), Y è altezza e Z è fronte/retro. Inverti Y e Z quando copi le coordinate!
Per scoprire le coordinate, usa un oggetto Empty in Blender:

Nella cartella dest, crea cartelle con ESATTAMENTE lo stesso nome degli entrypoints definiti nel txt.

Dentro ogni cartella di destinazione si trovano le immagini:

IMPORTANTE: EVITA IMMAGINI PIÙ GRANDI DI 2048 PIXEL PER I CELLULARI!
Nomi di file suggeriti per le insegne:
1.png, 2.png, 3.png (Insegne elettroniche 1024x128)capelinhaDigital.png, capelinhaPVC.png (256x128)lonaDestino.png, lonaLinha.png (Insegne a rullo)placa1.png, placa2.png, placa3.png (Targhe laterali e frontali)Ogni fermata deve avere un nome unico nel 3D (es: zzPonto1).
La fermata consiste in:
nomefermata_trigger.nomefermata.000, nomefermata.001, ecc.
CONSIGLIO: Usa piani semplici per i passeggeri per risparmiare poligoni.
Trigger corretto:

Esempio di trigger ben posizionato:

Esempio di trigger mal posizionato (non si può!):

Sovrapposti (non si può!):

Corretto in fermate opposte:

Visualizzazione nel Debug:

Crea un txt nella cartella busstops con lo stesso nome della fermata.

[busstop]
name=Fermata della Piazza
isLeft=0
paxAmount=15
[from_3d]
readFrom3D=1
prefix=zzPonto1
maxPathsToCheck=30
defPaxRotY=90
prefix: Deve corrispondere esattamente al nome usato nel 3D (prima del .000).defPaxRotY: Rotazione predefinita dei passeggeri (testa 0, 90, 180, -90).Funziona in modo simile alle fermate: una sequenza di oggetti che definiscono un percorso (path).
Esempio: xxCalcada1.000, xxCalcada1.001, ecc.

Crea un txt nella cartella aipeople:

[automatic_setup]
enabled=1
loop=0
reverse=0
[defaults]
isSpawner=1
spawnInterval=5
allowBicycle=0
loop=1: L'ultimo punto si collega al primo (circolare).loop=0: Il percorso termina nell'ultimo punto (lineare).Semplicemente uguale ai pedoni! Cartella aivehicles.

isBusSpawner=1: Per far apparire autobus.spawnInterval: Aumenta per ridurre il traffico.speedMultiplier: Cambia la velocità (es: 0.5 metà, 2 doppio).Metti le skin (PNG) in skins/0/pbc. Il gioco sceglie casualmente.
Base skin del PBC: http://omsi.viamep.com/proton/base-skins-pbc-protonbussimulator.zip
Stessa logica, cartella aitrains.
Raccomandazione: isSpawner=0 in defaults, e definisci spawner manuali distanziati.

randomTimeToWaitAtStart=1: Inizia in tempo casuale.spawnTimeInterval: Intervallo tra i treni (es: 120 secondi).IMPORTANTE: I TRENI NON SI FERMANO! INVESTONO TUTTO. NON FARE PASSAGGI A LIVELLO.
_transparent_ nel nome dell'oggetto (es: grade_transparent_)._gencol_ per generare collider automatico (strade, marciapiedi). Usa con moderazione!_gencol_invisible_ (es: barreira_gencol_invisible_)._emissive_ per oggetti sempre accesi._low_speed_zone_ per terminal (evita reclami).
_force_exit_ vicino alla fermata finale.
_det1.3ds (es: arvores_det1.3ds). Carica solo se l'utente attiva "Dettagli Extra".Per evitare texture lampeggianti (z-fighting/flickering) sul pavimento, crea un file .config.txt accanto alla texture.
Es: asfalto.png.config.txt.


_gencol_ solo sul pavimento e pareti principali.Questo è tutto per ora! Buon divertimento!