Zdravím všetkých,
robím môj prvý model osobného vozňa (ČSD WRab) a vpodstate všetko, čo som nevedel a potreboval sa naučiť, som na internete našiel (prevažne v oficiálnych dev docs), ale jedinú vec, ktorú som nikde nenašiel ako na to, je funkčnosť koncových svetiel. Pri rozoberaní ostatných modelov som len zistil, že je v tom použitý skript (dáva zmysel). Viem že na githube je súbor so vzorkami skriptov od JachyHm-a, ale bohužiaľ tam nemá konkrétne ten skript, čo používajú všetky cz/sk vozne. Ak by ma niekto vedel nasmerovať, kde o tomto viem nájsť viac informácii, prípadne mi to rovno vysvetliť, ako ten skript vytvoriť/použiť, bol by som veľmi vďačný.
Červené pozičky - Ako na to?
-
- Příspěvky: 116
- Registrován: úte 02. bře 2010 4:51:40
- Bydliště: Praha
Re: Červené pozičky - Ako na to?
Tohle by mohlo fungovat:
Kód: Vybrat vše
function OnConsistMessage ( msg, argument, direction )
-- send the message further down the consist
Call ( "SendConsistMessage", msg, argument, direction );
end
"Grau, teurer Freund, ist alle Theorie" J.W Goethe
Re: Červené pozičky - Ako na to?
Ďakujem, skúsim to.
Re: Červené pozičky - Ako na to?
Môj skript:
Tento skript funguje len s rušňami, ktoré majú ControlValue s názvom "Headlights" s hodnotami 0, 1 a 2, pričom musí byť pri nej vybratá možnosť "ApplyToConsist". Blueprint vozňa potom obsahuje rovnomennú ControlValue, s min. hodnotou 0 a max. hodnotou 2, ApplyToConsist je false. Táto ControlValue potom kopíruje nastavenie rušňa. Takto to majú všetky cz-sk rušne, preto by tento skript mal fungovať so všetkými cz-sk rušňami.
Kód: Vybrat vše
gLastInConsist = false;
gFirstInConsist = false;
function Initialise()
Call( "BeginUpdate" )
Call( "ActivateNode", "PozickaP1", 0 ); --PozickaXX su nodey v modeli vagona so svietiacou texturou
Call( "ActivateNode", "PozickaP2", 0 );
Call( "ActivateNode", "PozickaZ1", 0 );
Call( "ActivateNode", "PozickaZ2", 0 );
Call( "PozickaPredna1:Activate", 0); --tento vagon ma aj svetla pridane v blueprinte, ktore treba tiez ovladat
Call( "PozickaPredna2:Activate", 0);
Call( "PozickaZadna1:Activate", 0);
Call( "PozickaZadna2:Activate", 0);
end
function Update(time)
IsOnEdge(); --funkcia, ktora zistuje, ktory koniec vagonu nie je pripojeny na iny dalsi vagon
if Call("GetControlValue", "Headlights", 0) == 1 then --v blueprinte je pridana ControlValue s nazvom Headlights, ktora kopiruje
--hodnotu nastavenia lokomotivy, ktora ma tento ControlValue nastaveny v
--blueprinte ako "ApplyToConsist"
if gFirstInConsist then
Call( "ActivateNode", "PozickaP1", 1 );
Call( "ActivateNode", "PozickaP2", 1 );
Call( "PozickaPredna1:Activate", 1);
Call( "PozickaPredna2:Activate", 1);
else
Call( "ActivateNode", "PozickaP1", 0 );
Call( "ActivateNode", "PozickaP2", 0 );
Call( "PozickaPredna1:Activate", 0);
Call( "PozickaPredna2:Activate", 0);
end
if gLastInConsist then
Call( "ActivateNode", "PozickaZ1", 1 );
Call( "ActivateNode", "PozickaZ2", 1 );
Call( "PozickaZadna1:Activate", 1);
Call( "PozickaZadna2:Activate", 1);
else
Call( "ActivateNode", "PozickaZ1", 0 );
Call( "ActivateNode", "PozickaZ2", 0 );
Call( "PozickaZadna1:Activate", 0);
Call( "PozickaZadna2:Activate", 0);
end
elseif Call("GetControlValue", "Headlights", 0) == 0 or Call("GetControlValue", "Headlights", 0) == 2 then
--je potrebne zohladnit moznost, kedy nie su pozicky
Call( "ActivateNode", "PozickaP1", 0 ); --lokomotivy nastavene na predok (2 biele), teda
Call( "ActivateNode", "PozickaP2", 0 ); --vypnut koncove svetla vagonu v tomto pripade
Call( "ActivateNode", "PozickaZ1", 0 );
Call( "ActivateNode", "PozickaZ2", 0 );
Call( "PozickaPredna1:Activate", 0);
Call( "PozickaPredna2:Activate", 0);
Call( "PozickaZadna1:Activate", 0);
Call( "PozickaZadna2:Activate", 0);
end
end
function IsOnEdge()
if Call( "SendConsistMessage", 545366, 0, 0 ) == 1 then
gFirstInConsist = false;
else
gFirstInConsist = true;
end
if Call( "SendConsistMessage", 545366, 0, 1 ) == 1 then
gLastInConsist = false;
else
gLastInConsist = true;
end
end
Re: Červené pozičky - Ako na to?
Na samotnú obsluhu koncových svetiel u vozňov nie je skript vôbec potrebný, pokiaľ sa dodrží správne pomenovanie nodov v samotnom 3D modeli vozňa. Dá sa dohľadať na nete. Neviem, či všetci autori vozňov na CZ/SK scéne to majú tak, ale minimálne vozy od Jirku to tak majú. Funguje to bezchybne, a dokonca takým spôsobom, že stačí, ak sa v rušni ovládač Headlights nastaví na 1. Vyššia hodnota nie je potrebná, a u rušňov z CZ/SK produkcie sa ani nevyskytuje, pretože drvivá väčšina rušňov nastaví tento ovládač na 1 pri oboch rozsvietených pozičných svetlách. U mojich rušňov to tak mám od začiatku...
Braňo