Obnovleno s v252 - Aprel' 2020 Avtor: Marcos Elias
Faza 2 sistemy modifikatsii kart Proton Bus pozvolyayet imet' passazhirov, trafik i drugiye veshchi v igre! Eto podnimayet yeyo na drugoy uroven', bukval'no mozhno razdelit' Proton do i posle etoy funktsii. Eto pochti kak novaya igra!
Preduprezhdeniye: Iz-za ogranicheniy po vremeni individual'naya podderzhka v protsesse konvertatsii i redaktirovaniya nevozmozhna. My rekomenduyem poprobovat' samostoyatel'no, posmotret', kak byli sdelany drugiye karty, i izuchit' strukturu faylov. Predpochtiitel'neye publikovat' voprosy i svyazannyye s nimi problemy v gruppakh igry na Facebook, tak chto resheniya pomogayut vsem, i drugiye sozdatelei modov takzhe mogut pomoch' vam.
Yesli vy yeshche ne podpisany, prishoyedinyaytes' k kanalu prodyusera: www.youtube.com/marquinhosxp. Tam publikuyutsya nekotoryye video i urok.
Ofitsial'naya stranitsa PBSU na Facebook: https://www.facebook.com/protonbusoficial I PBSR: https://www.facebook.com/protonbusrod.oficial/
Eksklyuzivnaya gruppa dlya sozdateley modov: https://www.facebook.com/groups/pbsmods/ Pozhaluysta, izbegayte prishoyedineniya k ney, yesli vy prosto igrok, chtoby ne zasoryat' yeyo postami ne po teme (kotoryye budut udaleny)!
Gruppy dlya pol'zovateley: V nikh svobodnyye publikatsii skrinshotov, sovetov, video, razlichnykh urokov i t.d., s tochki zreniya igrokov:
Sovet po khoroshemu saytu dlya polucheniya tekstur dlya modov: http://www.textures.com
Pered nachalom karty v Faze 2 neobkhodimo usvoit' proizvodstvo bazovogo urovnya dlya Fazy 1. Yesli vy yeshche ne znakomy, ne volnuytes', mozhno sledovat' etomu rukovodstvu vmeste s kartoy-primerom. Samoye bol'shoye trebovaniye - imet' bazovyye znaniya Blender, tak kak my budem ispol'zovat' yego dlya eksporta kart.
Staraya dokumentatsiya kasatel'no Fazy 1 nakhoditsya zdes', dlya kart: http://blog.protonbus.com.br/2019/09/experimental-mods-de-mapas-no-pbs.html
I dlya avtobusov: http://blog.protonbus.com.br/2018/09/primeira-fase-do-sistema-de-mods-de.html
Vsegda khorosho imet' poslednyuyu versiyu igry! Staryye bol'she ne podderzhivayutsya, beta postoyanno razvivayetsya, poetomu my vsegda rassmatrivayem poslednyuyu. Vy mozhete nayti posledniye sborki na http://pbsu.busmods.com dlya gorodskogo i http://pbsr.busmods.com dlya mezhdougorodnego.
V osnovnom my ispol'zuyem Blender 2.79 dlya sozdaniya stsenariya, eksportiruyem model' v formate 3ds i sozdayem strukturu papok i faylov dlya sistemy Proton Bus.
VAZHNO: ISPOL'ZUYTE BLENDER 2.79! Eksportyor, neobkhodimyy dlya tekushchego formata igry, ne rabotayet s Blender 2.8, povidimomu, on byl prekrashchen, i nikto na segodnyashniy den' yego ne obnovil. Kto znayet, mozhet v budushchem on snova zarabotayet, lyudi pytayutsya.
Vy mozhete skachat' Blender 2.79 zdes': https://download.blender.org/release/Blender2.79/ Poslednyaya versiya obychno ta, chto imeyet "b" v nazvanii. Platforma ne imeyet znacheniya, eto zavisit ot vashey sistemy (Windows, Linux ili Mac) i arkhitektury (32 ili 64 bit).
Yesli vy uzhe nachali kartu v 2.8, rekomendatsiya - eksportirovat' v kakoy-libo promezhutochnyy format, kotoryy mozhet otkryt' 2.79, a zatem eksportirovat' iz nego dlya igry.
VAZHNO: MODIFITSIRUYTE EKSPORTYOR 3DS DLYA PROTON! Standartnyy eksportyor 3ds v Blender obrezayet imena ob"yektov i tekstur do 12 simvolov. Obychno nam ponadobitsya bol'she, chtoby izbezhat' oshibok v imenakh nekotorykh detaley i/ili tekstur.
Skachat' modifitsirovannyy plagin Blender dlya eksporta (fayl dlya Blender 2.79): http://proton.viamep.com/coisas/export_3ds_protonbus_blender279.zip
UROK PO TOMU, KAK IZMENIT' PLAGIN: https://youtu.be/0EokFmSjGdA
Yesli predpochitayete, vmesto skachivaniya etogo, izmenite fayl export_3ds.py v papke scripts\addons\io_scene_3ds vashego Blender. Ishchite [:12] i zamenite 12 na gorazdo bol'sheye chislo, naprimer 999. Eto limit simvolov. Bez etogo eksport v igru mozhet neudat'.
SOVET: PRI SKACHIVANII BLENDER VY MOZHETE VYBRAT' "PORTABLE" ZIP-VERSII, CHTOBY KHRANIT' NESKOL'KO VERSIY ODNOVREMENNO.
Karta v Proton sostoit iz neskol'kikh txt faylov (chistyy tekst) i neskol'kikh papok. Osnovnaya pervichnaya struktura - eto txt opredeleniya karty i papka, oba nakhodyatsya v papke maps, kotoraya v svoyu ochered' nakhoditsya v papke modov igry.
Primer struktury na PK:

Txt opredeleniya karty dolzhen zakanchivat'sya na .map.txt (napr.: Estrada Longa.map.txt). Eto dolzhno byt' unikal'noye imya!
VAZHNO: NIKOGDA NE ISPOL'ZUYTE AKSENTY, SEDILI ILI SPETSIAL'NYYE SIMVOLY V IMENAKH FAYLOV MODOV!
Vnutri etogo txt u nas budet bazovaya struktura:
[map]
baseDir=Estrada Longe
; Bazovaya papka karty, kotoraya nakhoditsya v maps vmeste s .map.txt
modelsDir=Rota 1
; Papka modeley, kotoraya nakhoditsya vnutri papki tiles
textures=textures
; Papka tekstur
mapModVersion=2
; Ispol'zuyte nomer 2 v Faze 2!
preview=preview.png
; Izobrazheniye ekrana vybora (16:9, napr.: 640x360)
Vnutri bazovoy papki karty dolzhny sushchestvovat' drugiye papki:

dest: Khranit tablo i nomera.skins: Khranit skiny avtobusov karty (v skins/0/pbc).textures: Khranit tekstury. Izbegayte JPG, ispol'zuyte PNG!tiles: Obyazatel'no dolzhna imet' eto imya. Vnutri neyo nakhoditsya papka modeley (modelsDir).VAZHNO: MODY KART PROTON BUS ZAGRUZHAYUTSYA POLNOST'YU! ONI NE MOGUT BYT' SLISHKOM TYAZHELYMI. YESLI VY SOBIRAYETES' SDELAT' NESKOL'KO DLINNYKH LINIY, RAZDELITE IKH NA CHASTI.
Vnutri papki, opredelennoy v modelsDir, nakhodyatsya eksportirovannyye fayly .3ds i konfiguratsii:

Vnutrennyaya struktura papki modeley:

aipeople: Nastroyki peshekhodov.aitrains: Nastroyki poyezdov.aivehicles: Nastroyki trafika.busstops: Nastroyki avtobusnykh ostanovok.entrypoints.txt: Rasshirennyye nastroyki tochek vkhoda.entrypoints_list.txt: Prostoy spisok tochek vkhoda.VAZHNO: MODY NE ZASHCHISHCHENY! TEKHNICHESKI NI ODNA IGRA NE ZASHCHISHCHENA. YEDINSTVENNYY SPOSOB NE IMET' VASH MOD OTREDAKTIROVANNYM ILI SLITÝM - ETO NE VYPUSKAT' YEGO.
Tochki vkhoda opredelyayut, gde poyavlyayetsya avtobus pri zapuske igry. Oni dolzhny imet' unikal'nyye imena (napr.: 351F-10 TP, Garagem Central).
VAZHNO: NIKOGDA NE ISPOL'ZUYTE AKSENTY ILI SPETSIAL'NYYE SIMVOLY V ETID IMENAKH! TAKZHE NE ISPOL'ZUYTE SLESHI.
Prostoy spisok, odno imya na stroku.

Opredelyayet pozitsiyu i fizicheskoye vrashcheniye na karte.

Pomnite: V Blender Y - eto pered/zad, a Z - vysota. V Unity (igra), Y - eto vysota, a Z - pered/zad. Invertiruyte Y i Z pri kopirovanii koordinat!
Chtoby uznat' koordinaty, ispol'zuyte ob"yekt Empty v Blender:

V papke dest sozdavayte papki s TOCHNO takim zhe imenem, kak entrypoints, opredelennyye v txt.

Vnutri kazhdoy papki naznacheniya nakhodyatsya izobrazheniya:

VAZHNO: IZBEGAYTE IZOBRAZHENIY BOL'SHE 2048 PIKSELEY DLYA MOBIL'NYKH TELEFONOV!
Predlagayemyye imena faylov dlya tablo:
1.png, 2.png, 3.png (Elektronnyye tablo 1024x128)capelinhaDigital.png, capelinhaPVC.png (256x128)lonaDestino.png, lonaLinha.png (Rulonnyye tablo)placa1.png, placa2.png, placa3.png (Bokovyye i peredniye nomera)Kazhdaya ostanovka dolzhna imet' unikal'noye imya v 3D (napr.: zzPonto1).
Ostanovka sostoit iz:
imyaostanovki_trigger.imyaostanovki.000, imyaostanovki.001 i t.d.
SOVET: Ispol'zuyte prostyye ploskosti dlya passazhirov, chtoby sekonomit' poligony.
Pravil'nyy Trigger:

Primer khorosho raspolozhennogo triggera:

Primer plokho raspolozhennogo triggera (nel'zya!):

Nakladyvayushchiyesya (nel'zya!):

Pravil'no na protivopolozhnykh ostanovkakh:

Vizualizatsiya v Otladke (Debug):

Sozdayte txt v papke busstops s tem zhe imenem, chto i ostanovka.

[busstop]
name=Ostanovka Ploshchadi
isLeft=0
paxAmount=15
[from_3d]
readFrom3D=1
prefix=zzPonto1
maxPathsToCheck=30
defPaxRotY=90
prefix: Dolzhno v tochnosti sovpadat' s imenem, ispol'zuyemym v 3D (pered .000).defPaxRotY: Standartnoye vrashcheniye passazhirov (testiruyte 0, 90, 180, -90).Rabotayet analogichno ostanovkam: posledovatel'nost' ob"yektov, opredelyayushchikh put' (path).
Primer: xxCalcada1.000, xxCalcada1.001 i t.d.

Sozdayte txt v papke aipeople:

[automatic_setup]
enabled=1
loop=0
reverse=0
[defaults]
isSpawner=1
spawnInterval=5
allowBicycle=0
loop=1: Poslednyaya tochka soyedinyayetsya s pervoy (krugovoy).loop=0: Put' zakanchivayetsya v posledney tochke (lineynyy).Prosto tak zhe, kak i peshekhody! Papka aivehicles.

isBusSpawner=1: Chtoby poyavlyalis' avtobusy.spawnInterval: Uvelich'te dlya umen'sheniya trafika.speedMultiplier: Izmenite skorost' (napr.: 0.5 polovina, 2 dvoynaya).Pomestite skiny (PNG) v skins/0/pbc. Igra vybidayet sluchaynym obrazom.
Baza skina PBC: http://omsi.viamep.com/proton/base-skins-pbc-protonbussimulator.zip
Ta zhe logika, papka aitrains.
Rekomendatsiya: isSpawner=0 v defaults, i opredelite ruchnyye spawnery s intervalom.

randomTimeToWaitAtStart=1: Nachinayet v sluchaynoye vremya.spawnTimeInterval: Interval mezhdu poyezdami (napr.: 120 sekund).VAZHNO: POYEZDA NE OSTANAVLIVAYUTSYA! ONI DAVYAT VSYO. NE DELAYTE ZHELEZNODOROZHNYYE PERE YEZDY.
_transparent_ v imeni ob"yekta (napr.: grade_transparent_)._gencol_ dlya sozdaniya avtomaticheskogo kollaydera (ulitsy, trotuary). Ispol'zuyte umerenno!_gencol_invisible_ (napr.: barreira_gencol_invisible_)._emissive_ dlya vsegda vklyuchennykh ob"yektov._low_speed_zone_ dlya terminalov (izbegayet zhalob).
_force_exit_ ryadom s konechnoy ostanovkoy.
_det1.3ds (napr.: arvores_det1.3ds). Zagruzhayetsya tol'ko yesli pol'zovatel' aktiviruyet "Dopolnitel'nyye Detali".Chtoby izbezhat' mertsaniya tekstur (z-fighting/flickering) na polu, sozdavayte fayl .config.txt ryadom s teksturoy.
Napr.: asfalto.png.config.txt.


_gencol_ tol'ko na polu i glavnykh stenakh.Eto vsyo na dannyy moment! Khoroshego razvlecheniya!