![]() |
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 |
|
![]() |
#1 |
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
|
![]()
Har kikat och provat flera lösningar på att få bort felen, men har inte lyckats komma så mycket närmare en lösning. Har försökt med olika typer av fördröjningar, men antingen så kommer felen bara att dyka upp senare, eller så slutar signalerna att fungera helt.
Problemet är att alla signaler vid start skickar ett uppdateringsmeddelande till alla andra signaler, ungefär samtidigt som att alla växlar framför en signal läggs om två gånger. Detta tillsammans innebär att det blir för många meddelanden att hantera för Trainz, som begränsar antalet meddelanden per objekt till 1024 stycken. För mig så fungerar det i alla fall att köra på banan efter att alla fel dykt upp, så det är går ju fortfarande att köra även om det är lite tråkigt att saker måste krascha först. Har dock hittat att växlar läggs om av scriptet som MegaCreator trodde. Dock verkar det inte ha något att göra med udda/jämt utan med linjeplatssignaler, vilket jag inte riktigt förstår vad det är. Funderade på om det hade med Bemannade/Obemannade stationer att göra, men jag kan inte se några sådana kopplingar. Man skulle kanske kunna plocka bort denna del av scriptet, men jag är väldigt osäker på vad som skulle hända och vad för funktionalitet som eventuellt skulle kunna försvinna.
__________________
-k- |
![]() |
![]() |
![]() |
#2 |
Medlem
Reg.datum: Mar 2006
Ort: Ljungby, Kronoberg, Sverige
Inlägg: 23
|
![]()
OBS Utan att veta någonting om script så måste jag fråga om signalerna måste vara så avancerat programmerade.
Jag vill gärna själv välja signalbild och STH beroende på kommande signal. Och det är klart att en signal måste veta om det är fritt till nästa signal och vad den signalen visar. Men om man läser er tråd så verkar alla signaler skicka små meddelanden till alla andra. Är det möjligen så att Svenolovs script är för avancerat för spelet? Kan man kanske göra ett nytt enkelt script? Bara undrar, för programmering är ingenting jag kan. |
![]() |
![]() |
![]() |
#3 | |
Medlem
Reg.datum: Jul 2011
Ort: Vingåker
Inlägg: 350
|
![]() Citat:
Däremot så kan du ju välja vilka signalbilder som signalen kan visa till vilket objekt. Dock är det inget beteende som jag tycker om, eftersom det går att kringgå signalens inbyggda säkerhetssystem. Och man måste göra mycket jobb som istället borde hanteras i scriptet av programmeraren. Jag håller på och försöker att programmera ett modernt signalsystem baserat på reglerna och föreskrifterna i Säo (numera TTJ). Om det finns ett intresse för detta kan jag starta en ny tråd och tala om mina tankar och ideér och få lite input utifrån! mvh Håkan
__________________
Fd. signalreparatör på Banverket. Sjukpensionär bla pga Aspergers syndrom. Använder numera T:ANE på en iMac (Retina, 27", -15), 24GB, OSX Sierra 10.12.6 (25/9-17) Hemsida för nedladdning av mina objekt: https://blomsson4073.se/index.html |
|
![]() |
![]() |
![]() |
#4 | |||
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
|
![]() Citat:
Att alla signaler skickar meddelanden när de slår om är inget man kan göra något åt, det är en del av den underliggande koden i Trainz som sköter. Varje gång man ställer om en signal så kommer den att tala om för alla som lyssnar att den har slagits om. Detta måste den ju göra för att föregående signal ska kunna märka att nästa signal slagits om och att den därför bör utvärdera om den skall slå om till annan signalbild också. Så teoretiskt sett borde man få samma problem med message overflows med andra signaler än de som har Svenolovs script, bara man har tillräckligt många av dem på sin bana. Svenolovs script fungerar ganska bra skulle jag vilja säga, särskilt för den äldre principen. Problemet är att Trainz begränsar antal meddelanden vilket skiter sig vid uppstart. Men när signalerna väl är igång så är det ju inga problem, då skickas bara enstaka meddelanden när en signal slås om. Det borde teoretiskt sett gå att lösa så att meddelandeköerna inte överflödas om man hittar rätt i hur signalerna initialiseras, så man kan fördröja den första uppdateringen, det är ju vad jag försöker att göra. Gäller bara att hitta hur allt sitter ihop. Jag jobbar vidare på det! ![]() För att sökningar följer hur växlar ligger vad det verkar. Så för att kolla båda spåren i en växel så måste man först söka på det spåret växeln ligger på, sedan lägga om den en gång för att söka längs det andra spåret och till sist lägga tillbaka växeln för att den ska ha rätt läge vid sessionens start. Citat:
Citat:
Gör det!
__________________
-k- |
|||
![]() |
![]() |
![]() |
#5 |
Medlem
Reg.datum: Mar 2006
Ort: Ljungby, Kronoberg, Sverige
Inlägg: 23
|
![]()
Tack för svaret och tack för ditt engagemang.
|
![]() |
![]() |
![]() |
#6 |
Medlem
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
|
![]()
Följer diskussionen med intresse och stannade till lite vid linjeplatssignaler.
Jag har en linjeplatssignal på min bana och gjorde ett enkelt experiment. Först öppnade jag sessionen i Surveyor med linjeplatssignalen på sin plats. Resultat: timeout på rad 185 185.jpg Därefter plockade jag bort signalen och öppnade sessionen igen i Surveyor. Resultat: timeout på rad 104 104.jpg Är ::FindApproachingTrains() ny i detta sammanhang? Slutsats? Tja, det är skillnad med och utan linjeplatssignal. Kanske någon annan kan komma fram till något djupare?! /Magnus |
![]() |
![]() |
![]() |
#7 | |
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
|
![]() Citat:
__________________
-k- |
|
![]() |
![]() |
![]() |
#8 |
Medlem
Reg.datum: May 2011
Ort: Linköping
Inlägg: 32
|
![]()
Ok, ingen egentlig skillnad således.
Jag sökte också på Trainz forum och hittade följande inlägg: About timeout in scripts Det bekräftar det som korvtiger skrev i inlägg #29 i denna tråd: att man har begränsat den tid scriptet får köra innan det blir timeout och att man kortat ned denna tid i TANE jämfört med tidigare versioner av spelet. Avsikten tycks vara att förmå script- programmerarna att byta ut ineffektiva rutiner mot effektiva. Problemet med detta är att vissa uppgifter tar lång tid inte för att scriptet är dåligt programmerat eller använder ineffektiva rutiner, utan för att uppgiften i sig är komplex och kräver många beräkningar. Är det någon som vet om scriptet kan "pausa" på något sätt för att, så att säga, köpa sig ny tid innan det blir timeout? /Magnus |
![]() |
![]() |
![]() |
#9 | |
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 728
|
![]() Citat:
Men då kan vi konstatera med säkerhet (vilket jag redan gjort efter egna tester) att timeout och message overflow inte är kopplade till varandra. Vi vet också varför vi har timeoutbuggen, vilket är ett steg framåt. Ska fråga på Trainz-forum om vad man bör göra när man faktiskt har script som behöver kanske flera sekunder att initialiseras. Men det borde gå att lösa på ett eller annat sätt att "köpa sig tid" som du säger. Antingen genom att lägga in ett par Sleep(0.001); så att scriptet sover/lämnar över CPU:n till andra trådar om det fungerar. I andra fall så har flera idéer som måste fungera, annars hade vi fått fel på vart och vartannat script. Är nästan säker på att det går att lösa i vilket fall, frågan är bara hur lätt det är att anpassa Svenolovs script utan att ha sönder något.
__________________
-k- |
|
![]() |
![]() |
![]() |
#10 | |||
Medlem
Reg.datum: Jul 2011
Ort: Vingåker
Inlägg: 350
|
![]() Citat:
Citat:
Citat:
Min bana har dock inga sådana inställningar i signalerna så verkar konstigt om det skulle påverka funktionen. Bör inte ha något med stations funktionen att göra, eftersom det sker på linjen, dock skulle det kunna ha med linjeblocket att göra som ju inte fungerar! mvh Håkan
__________________
Fd. signalreparatör på Banverket. Sjukpensionär bla pga Aspergers syndrom. Använder numera T:ANE på en iMac (Retina, 27", -15), 24GB, OSX Sierra 10.12.6 (25/9-17) Hemsida för nedladdning av mina objekt: https://blomsson4073.se/index.html |
|||
![]() |
![]() |