Svenska 3D-Tåg - Forum  
 

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.

Gå tillbaka   Svenska 3D-Tåg - Forum > DTG - Train Simulator > 3D-design - DTG - Train Simulator

Svara
 
Ämnesverktyg Visningsalternativ
Gammal 2022-01-17, 03:09   #1
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Efter mycket misslyckande försök så valde ajg att skapa en ny Signal state, STATE_SLOWER.

Vid DefaultSetLights() (rad 96-126) så lade jag till raderna för signalbilden STATE_SLOWER:
HTML-kod:
-- Swedish home signals SetLights
-- Switch the appropriate lights on and off based on our new state
function DefaultSetLights()
--	DebugPrint("DefaultSetLights()")
	if (gSignalState == STATE_GO) then
		SwitchLight( LIGHT_NODE_GREEN,		1 )
		SwitchLight( LIGHT_NODE_RED,		0 )
		SwitchLight( LIGHT_NODE_GREEN2,		0 )
		SwitchLight( LIGHT_NODE_WHITE, 		0 )
		SwitchLight( LIGHT_NODE_GREEN3, 	0 )

	elseif (gSignalState == STATE_SLOW) then
		SwitchLight( LIGHT_NODE_GREEN,		1 )
		SwitchLight( LIGHT_NODE_RED,		0 )
		SwitchLight( LIGHT_NODE_GREEN2,		1 )
		SwitchLight( LIGHT_NODE_WHITE, 		0 )
		SwitchLight( LIGHT_NODE_GREEN3, 	0 )

	elseif (gSignalState == STATE_SLOWER) then
		SwitchLight( LIGHT_NODE_GREEN,		1 )
		SwitchLight( LIGHT_NODE_RED,		0 )
		SwitchLight( LIGHT_NODE_GREEN2,		1 )
		SwitchLight( LIGHT_NODE_WHITE, 		0 )
		SwitchLight( LIGHT_NODE_GREEN3, 	1 )

	else	-- stop or blocked
		SwitchLight( LIGHT_NODE_GREEN,		0 )
		SwitchLight( LIGHT_NODE_RED,		1 )
		SwitchLight( LIGHT_NODE_GREEN2,		0 )
		SwitchLight( LIGHT_NODE_WHITE, 		0 )
		SwitchLight( LIGHT_NODE_GREEN3, 	0 )
	end
end
Vid globals states (rad 137) ska följande rad läggs till efter STATE_BLOCKED:
HTML-kod:
STATE_SLOWER									= 4
vid SetSignalState() (rad 411) så har jag gjort så här istället:
HTML-kod:
	elseif Call("GetLinkFeatherChar", gConnectedLink) == 51 then
		if Call ( "GetLinkApproachControl", gConnectedLink ) ~= 0 then
			-- Check if next signal is at red, show a slow signal if that is the case.
			if (gExpectState == STATE_GO) or (gExpectState == STATE_SLOW) then
				newSignalState = STATE_GO
			else
				newSignalState = STATE_SLOWER
			end
		elseif Call ( "GetLinkLimitedToYellow", gConnectedLink ) ~= 0 then
			-- diverging route, signal slow
			newSignalState = STATE_SLOWER
		end
	elseif Call ( "GetLinkApproachControl", gConnectedLink ) ~= 0 then
		-- Check if next signal is at red, show a slow signal if that is the case.
		if (gExpectState == STATE_GO) or (gExpectState == STATE_SLOW) then
			newSignalState = STATE_GO
		else
			newSignalState = STATE_SLOW
		end
	elseif Call ( "GetLinkLimitedToYellow", gConnectedLink ) ~= 0 then
		-- diverging route, signal slow
		newSignalState = STATE_SLOW
	end
GetLinkFeatherChar är alltså rutan där du kan skriva in en siffra eller bokstav. Denna gång så valde jag att inte konvertera den, men skriver du siffran 3 (ASCII-kod 51) och sedan har någon av checkboxarna intill bockade så kommer signalen att visa 3 Gröna, STATE_SLOWER. Har du inte siffran 3 ifyllt men någon av boxarna iboxade så kommer 2 gröna, STATE_SLOW att visas i vanlig ordning.

Nedanför denna kodsnutt (rad 454) så lade jag in denna del:
HTML-kod:
	if newSignalState ~= gSignalState then
		DebugPrint("SetSignalState() - signal state changed from " .. gSignalState .. " to " .. newSignalState .. " - sending message" )
		gSignalState = newSignalState
		SetLights()
		if gSignalState >= STATE_STOP then
			Call( "Set2DMapSignalState", STATE_STOP)
		else
			if gSignalState == STATE_SLOWER then
				Call( "Set2DMapSignalState", STATE_SLOW)
			else
				Call( "Set2DMapSignalState", gSignalState)
			end
		end
		if gSignalState == STATE_BLOCKED and not gBlockSignal then
			Call( "SendSignalMessage", SIGNAL_STOP, "BLOCKED", -1, 1, 0 )
		else
			if gSignalState == STATE_SLOWER then
				Call( "SendSignalMessage", SIGNAL_GO + STATE_SLOW, "", -1, 1, 0 )
			else
				Call( "SendSignalMessage", SIGNAL_GO + gSignalState, "", -1, 1, 0 )
			end
		end
	end
Detta för att bibehålla kompatibiliteten med alla de andra signalerna genom att skicka iväg meddelandet STATE_SLOW, vilket får föregående signal att visa VÄNTA KÖR40. skulle föregående signal få STATE_SLOWER så skulle den inte uppfatta signalbilden och orsaka fel istället.

Dock lyckas jag inte lura kartan. Den visar en röd prick istället för gul. Men det får nog vara så, antar jag.

Filen finns på Github om någon vill testa.
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.

Senast redigerad av ADDE den 2022-01-17 klockan 03:13.
ADDE besöker inte forumet just nu  
Svara med citat
Gammal 2022-01-17, 16:38   #2
kevpa00
Medlem
 
Reg.datum: Dec 2015
Ort: Åtvidaberg, Östergötland
Inlägg: 215
Standard

Spännande Adde. Jag tittar på koden och börjar förstå lite iallafall. Kul att du håller på. Stort tack!
__________________
Glad 19 åring med mycket energi som älskar att bygga modeller och fota allt som passerar framför kameran
Hjälper även Arvid (Germundal) med sin rutt!
Project Södra stambanan

Bygger och försöker importera X61 till Railworks!
X61-Tråden
kevpa00 besöker inte forumet just nu   Svara med citat
Gammal 2022-01-19, 06:06   #3
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Fortsatte lite idag med. Lade in det sista egenskaperna:

-Lade till så att skriver du "1" på sifferrutan så visar signalen stop när nästa signal visar stop.
-Lade till stöd för att generera en GAME OVER om tåget kör mot rött i ett standard scenario eller career scenario.

Återstår: Call-on-funktionen. Dvs. möjligheten att du kan be om att få köra mot rött. Får jag det att fungera så är jag nöjd sedan.

Den uppdaterade kodsnuttet finns på github.
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.
ADDE besöker inte forumet just nu   Svara med citat
Gammal 2022-01-23, 21:32   #4
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Jag är snart färdig men har en ganska märklig bugg som har uppstått. Signalen kontrollerar inte nästa huvudsignals status inledningsvis och visar VÄNTA KÖR oavsett nästa signal signalbild. Annars har jag fått med alla de egenskaper jag velat ha med i denna signal. FÅr jag problemet löst så lägger jag upp en betaversion som folk kan ladda ner på github och testa.

Senaste koden finns på github och jag frågar just nu på UKTS och hoppas få svar av AndiS.
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.
ADDE besöker inte forumet just nu   Svara med citat
Gammal 2022-01-24, 10:17   #5
Totte
Hedersmedlem
 
Reg.datum: Mar 2002
Ort: Trollhättan
Inlägg: 9 858
Standard

Citat:
Ursprungligen postat av ADDE Visa inlägg
Jag är snart färdig men har en ganska märklig bugg som har uppstått. Signalen kontrollerar inte nästa huvudsignals status inledningsvis och visar VÄNTA KÖR oavsett nästa signal signalbild. Annars har jag fått med alla de egenskaper jag velat ha med i denna signal. FÅr jag problemet löst så lägger jag upp en betaversion som folk kan ladda ner på github och testa.

Senaste koden finns på github och jag frågar just nu på UKTS och hoppas få svar av AndiS.
Ofta ligger växlar och spårkorsning i mellan som hindrar signalernas kontroll.

Senast redigerad av Totte den 2022-01-24 klockan 10:18.
Totte besöker inte forumet just nu   Svara med citat
Gammal 2022-02-01, 03:17   #6
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Hej! Jag har nu löst problemet och det verkar nu funka som det ska. Det uppdaterade koden finns nu på Github om någon vill testa testsignalen i olika miljöer.

Jag har nu börjat arbeta med en kombo av Huvudsignal + Dvärgsignal genom att bygga vidare på koden. Dvärgsignalen gör just nu följande.

Om huvudsignalen visar stopp så visar dvärgsignalen 2 lodräta vita.
Om huvudsignalen visar Kör, Kör40 eller Kör40, kort tågväg så visar dvärgsignalen 2 vågräta vita.
Om huvudsignalen visar stopp men du trycker på TAB och får meddelandet "Requesting to pass signal at danger accepted" så händer följande:
-om tåg finns på blocksträckan så visar dvärgsignalen snett vänster.
-om det är tomt på blocksträckan så visar dvärgsginalen lodrätt.

-Snett höger används inte just nu. Jag kollar om andra signalkombinationer är aktuella? Hur är det med huvud+dvärg-kombo som övervakar bangårdsinfarter, manuella växlar och specialfall eller udda besked?
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.
ADDE besöker inte forumet just nu   Svara med citat
Gammal 2022-02-09, 03:46   #7
ADDE
Medlem
 
Reg.datum: Feb 2012
Inlägg: 1 378
Standard

Hej! Signalscriptet är i stort färdigt och jag söker efter betatestare. Gå in i mitt github och ladda ner signalpaketet. i TS så bocka i SummerADDE>SESignalsTest. Placera sedan ut SE SignalV2 H5 DV4 2L.

Signalen ska kunna ha med följande egenskaper:
i A-fältet så kan man skriva in siffror som ger signalen olika funktioner.
  • Skriver du in 1 så visar signalen stopp om nästa signal visar stopp.
  • Skriver du in 2 så är den länken endast växlingsväg. Huvudsignalen visar alltid rött men dvärgsignalen visar kör.
  • -Här undrar jag om AI-tåg passerar signalen som tänkt?
  • -Skriver du in 2 samt bockar i "Limited aspect" för den länken så är sträckan bortom helt obevakad och dvärgsignalen visar "Kontrollera växlar" för den tågvägen oavsett tågplacering och växellägen.
  • Skriver du in 3 så visar H5-signalen 3 gröna vid Kör 40.
  • Bockar du in "Limited aspect" så visar signalen alltid kör 40 istället för kör i denna tågväg.
  • Bockar du in "Approach control" så visar signalen kör 40 istället för kör om nästa signal visar stopp.

Ta gärna och testa och ge mig sedan feedback. Jag ska se om jag har tid och testa ordentligt själv med en testrutt och packa ihop en testversion för download, men man kan komma åt filerna på github direkt redan nu.

Testa också TAB-funktionen i olika lägen och se om du kan köra mot rött efteråt samt om dvärgsignalen visar "kör" eller "Hinder finns". samt skapa en scenario och kör mot rött och se om du får game over vid olika lägen.
__________________
Mvh SummerADDE

Alla mina projekt till Train Simulator Classic är nedlagda. Jag kommer härmed fokusera på att skapa rutter och innehåll till Train Sim World i fortsättningen.

Alla mina downloads på Google Drive kommer att tas bort permament den 31:a agusuti 2024.

Senast redigerad av ADDE den 2022-02-09 klockan 03:48.
ADDE besöker inte forumet just nu   Svara med citat
Svara

Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av
Forumhopp



Alla tider är GMT +2. Klockan är nu 22:26.


Powered by vBulletin® Version 3.7.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
© Svenska 3D-Tåg 2001-2009