| 
	
| Om det här är ditt första besök, se till att gå till vår FAQ (finns även länk till FAQ i navigeringsmenyn ovan). Du kan behöva att registrera dig innan du kan posta (finns även en länk till registrering i navigeringsmenyn ovan). För att titta på inlägg, välj det forum som du vill besöka från de som är listade nedan. | 
		
			
  | 
	|||||||
| 
		 | 
	Ämnesverktyg | Visningsalternativ | 
| 
			
			 | 
		#11 | |
| 
			
			 Medlem 
			
			
			
			Reg.datum: Jul 2010 
				Ort: Uppsala 
				
				
					Inlägg: 562
				 
				
				
				
				
				 | 
	
	
	
		
		
			
			 Citat: 
	
 2. Vad är det för animationer du har för ljuset i strålkastarna? Normalt brukar dessa bara vara oanimerade objekt i 3dsmax med materialet TrainEmissiveGlow(passar bäst för helljus) och/eller addTex(halvljus) som du gömmer/visar beroende på läget av ljusreglaget. Utan att ha koll på x2:ans alla strålkastarlägen så gör jag ett skriptexempel(ej komplett och troligtvis med en hel del fel eftersom jag inte har möjlighet att testa med trial/errror metoden) som kanske kan ge några ideer. Halvljus nedre med objekt 1_128_HLHalvNedre Helljus nedre med objekt 1_128_HLHelNedre Halvljus övre med objekt 1_128_HLHalvOvre Helljus övre med objekt 1_128_HLHelOvre Slutljus med objekt 1_128_Slutljus Eftersom slutljuset ska slås på i en helt annan vagn så kommer man att behöva skicka ett meddelande från lok->manövervagn och vice versa när dessa ska vara av/på. Kod: 
	--GLOBALS
animationTimer=0
animationONTime=0.9 --hur länge lampan lyser i animationcykeln(kan ej exakta värden)
animationOFFTime=1.1 --hur länge lampan är släckt i animationcykeln
animationON=false
slutljus_msg_id=1000
slutljusON=false
gInit=false
--END GLOBALS
function Initialise ()
  Call("BeginUpdate")
end
--Vissa saker går ej att göra i bas Initialse funktionen då tex child-objekt i blueprinten ofta inte är registrerade vid den tidpunkten när skriptet körs.
--Denna funktion körs första gången skriptet kör Update() och då kan man vara säker på att alla objekt/kontroller kan sättas som man vill
function safeInitialise()
  LightsOFF()
end
function LightsOFF()
  Call("*:ActivateNode","HLHalvNedre",0)
  Call("*:ActivateNode","HLHelNedre",0)
  Call("*:ActivateNode","HLHalvOvre",0)
  Call("*:ActivateNode","HLHelOvre",0)
  
  Call("*:ActivateNode","Slutljus",0)
  Call("*:SendConsistMessage",slutljus_msg_id,0,1) --skicka meddelande om slutljus av till manövervagnen
end
function LightsON(hlcontrolpos)
  LightsOFF() --Resetta alla lampor innan den nya konfigurationen slås på
  if hlcontrolpos==1 then
    --halvljus ovre/undre
    Call("*:ActivateNode","HLHalvNedre",1)
    Call("*:ActivateNode","HLHalvOvre",1)
    Call("*:SendConsistMessage",slutljus_msg_id,1,1)
  elseif hlcontrolpos==2 then
    --halvljus övre, helljus nedre
    Call("*:ActivateNode","HLHelNedre",1)
    Call("*:ActivateNode","HLHalvOvre",1)
    Call("*:SendConsistMessage",slutljus_msg_id,1,1)
  elseif hlControlpos==3 then
    --helljus övre, helljus nedre
    Call("*:ActivateNode","HLHelNedre",1)
    Call("*:ActivateNode","HLHelOvre",1)
    Call("*:SendConsistMessage",slutljus_msg_id,1,1)
  --elseif.....för eventuella andra lägen
  end
end
function SlutljusAnimate(dtime)
  if not slutljusON then
    if animationON then
      Call("*:ActivateNode","Slutljus",0)
      animationON=false
      animationTime=0
    end
    return
  end
  animationTimer=animationTimer+dtime
  if not animationON and animationTimer>animationOFFTime then
    Call("*:ActivateNode","Slutljus",1)
    animationON=true
    animationTime=0
  elseif animationON and animationTime>animationONTime then
    Call("*:ActivateNode","Slutljus",0)
    animationON=false
    animationTime=0
  end
end
function OnControlValueChange ( name, index, value)
  if Call( "*:ControlExists", name, index ) then
    if name=="LiveInjectorWater" then
      LightsON(value)
    end
  end
  Call( "*:SetControlValue", name, index, value)
end
function OnConsistMessage(msg,argument,direction)
  --Ta emot meddelande om slutljus i loket skickat från manövervagnen
  --Denna funktion måste även speglas i skriptet för manövervagnen så att slutljuset i tänds när man styr från loket
  if msg==slutljus_msg_id then
    if argument==0 then
      --slutljus av
      slutljusON=false
    else
      --slutljus på
      slutljusON=true
    end
  end
  Call("SendConsistMessage",msg,argument,direction ) --Skicka alla meddelanden vidare
end
function Update(dTime)
  if gInit==false then
    gInit=true
    safeInitialise()
  end
  SlutljusAnimate(dTime)
end
För att meddelanden ska kunna skickas genom tåget så måste även alla vagnar ett skript. Så i varje vagn behövs minst... Kod: 
	function OnConsistMessage(msg,argument,direction)
  Call("SendConsistMessage",msg,argument,direction ) --Skicka alla meddelanden vidare
end
P.S. X2:an ser helt grymt ut! Fantastiskt snyggt jobbat! D.S. 
				__________________ 
		
		
		
		
		
			Försöker bygga Älvsjö godsbangård men svär mest över UVW mappning. Senast redigerad av Mawkish den 2014-06-29 klockan 14:01.  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
		
			
		
		
		
	 |