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 > N3V Trainz > Scenarios och scripts

Svara
 
Ämnesverktyg Visningsalternativ
Gammal 2017-01-29, 22:04   #1
leoj
Medlem
 
Reg.datum: Sep 2002
Ort: Stockholm, Sweden
Inlägg: 1 430
Question Scriptfundering

Vi kör direkt med en fråga:
Finns det en bra guide någonstans? - Den på http://online.ts2009.com hjälper föga.
Eller är helt enkelt det bästa att förstå sig på/sno från folk som skapat objekt?

Det jag vill åstadkomma är en trafikljus med lite utbytbara signaler på.

Stolpe {
## Val av textur på stolpen
## Val av pryl på stolpen (1-4 st) {
#### Val av textur prylen
#### Val av objekt på prylen {
###### // objektet fäster vid olika punkter beroende på vad det sitter för pryl
###### Rotation av objektet (fäst på en attachment point) - Om trainz klarar av detta?
###### Textur på objektet
}}}
Vet inte om min otroligt vackra trädstruktur hjälper eller stjälper.


I rutan på trainz:
Citat:
Texturval på stolpe

//I min värld hade det varit roligast med en 3x3 ruta för val av vilka prylar som ska visas - Annars får knapparna vara efter varandra
//Där ¤ är en kryssvalsknapp och # är ett tomrum (lika stort som en ¤) tänk en tabell i html
#¤#
¤#¤
#¤#

Position X: #Val av pryl# #Texurval# #objektsval# #Rotation på objekt# #textur på objekt#
//Där texten inom # är en länk till det val som texten handlar om
//Sen ska det visas en rad för varje aktivt kryssruta ovan. Resten vore bäst dolda om det gick

//eventuell extra rutor för diverse tillbehör (såsom refug)
Nu vet jag inte om jag lever i en drömvärld eller inte, men vore trevligt om detta gick att göra på mitt tänkta sätt..

Om någon kunde sparka mig i rätt riktning så vore jag tacksam =)
__________________
/Leoj
Jaudidamdamdubidamdam
leoj besöker inte forumet just nu  
Svara med citat
Gammal 2017-02-01, 23:25   #2
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 721
Standard

Någon bra guide, njae. Det är mest att kolla runt på sidorna på wikin om de grundläggande strukturerna i språket och mest att kolla på andras kod. Att kolla de inbyggda klasserna som du kan hitta i installationsmappen .../TANE/resources/scripts/ kan hjälpa en del. Mycket saker är ju native-implementerade, så där ser du inte koden, men det finns en del saker som är implementerade i scriptet självt som man kan kolla på.
Har du bra koll på ett objektsorienterat programmeringsspråk som Java eller C# (Eller C++) så är det inga problem att förstå sig på. Personligen tycker jag Trainz scriptspråk är ett av de trevligaste programmeringsspråken jag har hållit på med, en mix av alla de bästa delarna av de största programmeringsspråken.

Kolla runt lite på API:t till MeshObject, där finns de flesta av de metoder som du är intresserad av att använda för att till exempel byta textur eller för att visa/dölja mesher på ditt objekt. Rotation och translation av mesh finns där, har dock aldrig använt det själv.

Är inte helt med på hur du menar med det du beskriver att du vill göra i propertyrutan, men är nog möjligt. Det är ju egentligen en simpel html-rendreringsmotor, så alla basic html-taggar finns ju tillgängliga, däribland table/tr/th för tabeller, se till exempel Svenolovs propertyrutor till mastrarna som använder massor av sådana funktioner.
__________________
-k-
korvtiger besöker inte forumet just nu   Svara med citat
Gammal 2017-02-02, 17:56   #3
leoj
Medlem
 
Reg.datum: Sep 2002
Ort: Stockholm, Sweden
Inlägg: 1 430
Standard

En kort följdfråga för närvarande.
Är detta guiden du avser?
http://online.ts2009.com/mediaWiki/i...AnimationState

För jag hittar inget om rotation där?
__________________
/Leoj
Jaudidamdamdubidamdam
leoj besöker inte forumet just nu   Svara med citat
Gammal 2017-02-02, 18:22   #4
blomsson
Medlem
 
Reg.datum: Jul 2011
Ort: Vingåker
Inlägg: 346
Standard

Hej!
Nästan, problemet är att just det du efterfrågar inte står i wikin, bra va!!
Du får gå in och kolla i meshobject.gs, där korvtiger nämnde att scriptfilerna ligger.
I .gs filen så finns det SetMeshOrientation() som roterar ett objekt runt sina axlar och SetMeshTranslation() som ändrar positioneringen av objektet.

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

Senast redigerad av blomsson den 2017-02-02 klockan 18:23.
blomsson besöker forumet just nu   Svara med citat
Gammal 2017-02-07, 03:09   #5
leoj
Medlem
 
Reg.datum: Sep 2002
Ort: Stockholm, Sweden
Inlägg: 1 430
Angry

Det håller på att komma extremt många fina ord ur min mun här som inte riktigt passar sig skrivna
Man skulle kunna sammanfatta det med

Nåja, var väl inte riktigt ursprungsfrågans script jag håller på med nu..
Men kan ju lika gärna sammanfatta alla mina scriptproblem tillsammans..
Citat:
- Syntax error in script 'swestationinfo.gs' for asset <kuid2:63124:28102:1> "Hidden platform TEST 100x4x0,88m 1 track"
- TrainzBaseSpec::CacheScripts> ** GSC> swestationinfo.gs(406) : function GetAsset not declared, line 406.
- swestationinfo.gs(406) : function GetAsset not declared, line 406.
Kod:
Asset asset = GetAsset(); (rad 406)
StringTable strTableA = asset.GetStringTable(); (rad 408)
Kanske är så att man helt enkelt ska ge upp detta.. För hur jag än vrider och vänder på allt möjligt så hatar trainz mig..

Försökte mig exempelvis mig på att göra ett library.. Den bara fräste och spottade trotts att jag tyckte jag gjort liknande två andra personers script..

Om jag ska vara helt ärlig fattar jag inte ens vad det är som gör att rutan egentligen dyker upp..

För att sammanfatta vad jag försökt göra..
Jag tänkte först ge mig på att lägga till ett val på det normala stations scriptet.
När jag grottade ner mig i scripten insåg jag att jag ville egentligen skriva om lite andra funktioner också i scriptet som jag inte uppskattar..
Så jag löste det med att kopiera genericpassengerstation.gs och passengerstationinfo.gs och döpte om dessa helt enkelt.

Min önskan hade varit att inte ha med all kod utan bara att mina ersättningsfunktioner skulle slå ut orginalkoderna.. Men.. Ja..
Nu sitter jag och svär och fattar inte mig på hur trainz ens tänker i script.. I min mening finns det ingen logik i något just nu.. Eller ja, varför man inte har lyckats klämma ut en vettig guide som börjar på a och slutar på d och förklarar alla steg på vägen.

Jag tycker att om man läst Java på gymnasiet och en kurs i vardera Java/C på högskolan så BORDE jag förstå koden och se något sammanhang, men nej..
__________________
/Leoj
Jaudidamdamdubidamdam
leoj besöker inte forumet just nu   Svara med citat
Gammal 2017-02-07, 23:34   #6
korvtiger
Medlem
 
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 721
Standard

Låter uppenbarligen lite märkligt.

Vad kompilatorn klagar på är att den inte hittar någon metod med namnet "GetAsset". So far inga konstigheter. Sedan är det ju frågan varför den inte hittar någon sådan metod. Den ligger ju i TrainzGameObject, som alla script borde ärva ifrån. Jag har kontrollerat att Library ärver den. Kontrollera att ditt script faktiskt ärver Library-klassen, så att du inte missat det.

Kompilatorn kan vara lite märklig ibland, så det kan hända att detta är ett parsningsfel som ger sig till känna som ett syntaxfel. Alltså att det är felskrivet någonstans, så kontrollera att alla måsvingar {} och parenteser () är stängda korrekt. Om inget annat fungerar, gör en kopia på filen och ta sedan bort delar av koden tills den kompilerar. Därefter lägger du tillbaka saker från kopian tills det slutar fungera igen. På så sätt kan du kanske lokalisera vad felet är.
__________________
-k-
korvtiger 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 03:26.


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