Trev999's freeware driver commands and other assets

@ G.M. - Disregarding the editing of the rule for the time being, do any other options of CJ3 driver command produce a list of junctions? Perhaps the route you are using has a large number of junctions and is failing for that reason.

@ Christopher - Does the command set work in your installation? Maybe it is something to do with TRS 19?

Thanks for the help so far.

Trevor
 
Hi Trevor, no my test route has only 50 junctions
I did manage to manually add 2 junctions
when I try to use the command in a driver command list, i can click it but it will not show an icon in the list as standard driver commands do

Also tried in TANE and it gives this error

click pic to make larger
 
Last edited:
@ G.M. - That tag was introduced in TANE build 4.5 and there was a warning if omitted.

I guess I need someone to help debug this command in TRS 19.

Thanks for persevering.

Trevor
 
Last edited:
Lost and weary soul

Hi Trev
I'm confused (often) however this time it's with your Control Junctions 3. I've added this to my list of driver commands but when I select it I get nothing listed or displayed. I've tried ControlJunction by atilabraut and tha works as expected. But what is even more confusing is I have some downloaded sessions created by others where CJ3, where included in Driver commands work fine but I cannot modify the command and have to use the other ControlJunction.
I do have CJ3 Startup enabled.
Can you shed any light on why

CJ3 V8
CJ3 start up V1
TRS22
 
Hi Tony - Sorry for the confusion. What you report is similar to what user G.M. observed. The command may not work in build levels greater than 4.5. Since I only have TANE I am unable to test in higher versions.

Have you enabled Show script exception notifications in Trainz Settings>Dev tab? (assuming it is the same as for TANE). This will cause a red bug indicator to show if there is a script error. I suspect that the script is failing in some way.

There was no response to my appeal for help in solving this problem and I have now stopped trying to support versions greater than TANE.

Best Regards - Trevor
 
Hi Trevor
Thanks for the advice, I wasn't aware of the Show Script Exception, I've enabled it and no error notifications shown. I suspected some form of compatibility error, the thing that confused most was that sessions created by others elsewhere using CJ3 seem to work OK but cannot be amended. Such is life there is an alternative rule I can use.

Thanks again for your response
Regards
 
My good friend Elstoko has offered to assist in debugging the asset in TRS 19. When we have some results I will post again.

@ Tony - I am interested to know which other routes/sessions use CJ3 commands. I am only aware of the sessions for Potteries Loop Line TRS 12 version. Could you state some names and kuid numbers, please?

Best Regards - Trevor
 
Hi Trevor
Thanks for looking into this. The sessions I know of are:
Potteries Loop Line​
IOW Ryde-Ventnor V1 & IOW Ryde Ventnor, Cowes V1 by 'coutesse6' (kuid:126643:100520 & kuid2:126643:100545:1) used in numerous sessions particularly IOW Simple Service but also several others.​

Good luck
 
Thanks for that info, Tony. I see that there are also some IOW Ryde routes version 4.8. Do they also use the CJ3 assets? They are incompatible for me.

Cheers - Trev
 
Hi Trev
Not sure about the 4.8's as these are someone else's reworking of the 3.7's and were not to my liking. So I have made my own local copies of the 3.7's using 5.2 if that makes any sense.
 
Calling Christopher 824

@ Christopher824 - Are you following this, buddy? Please send me an e-mail about any progress you have made with GlobalList.
 
Hello Trev,

I've been following this, and I have been working on updating the AA Multifunction Trigger. What I'm finding is all these older assets are in for a world of hurt. The now mandatory useage of non-obsolete functions is the cause going from TANE SP2 and forward. I have re-written the AA Multifunction Trigger 4 or 5 different ways now and found that you must use the GameObjectID as a reference instead of it's name for junctions and signals. I got it to where there are no errors now, but it does not function correctly.

So I'm stuck now with adding to the soup, then retrieving it. By adding these lines, the range no longer sets in the properties window. Looks like this;


Code:
        soup.SetNamedTag("junctionName",junctionName);
        soup.SetNamedTag("junctionNameID",junctionNameID);  // Added for TANE SP2 support - cjd
        soup.SetNamedTag("reversed",reversed);
        soup.SetNamedTag("junctionType",junctionType);
        soup.SetNamedTag("mainSignalName",mainSignalName);
        soup.SetNamedTag("mainSignalID",mainSignalID);  // Added for TANE SP2 support - cjd
        soup.SetNamedTag("sidingSignalName",sidingSignalName);
        soup.SetNamedTag("sidingSignalID",sidingSignalID);  // Added for TANE SP2 support - cjd
        soup.SetNamedTag("bSST",bSST);
        soup.SetNamedTag("debug",debug);



Code:
        junctionName = soup.GetNamedTag("junctionName");
        junctionNameID = soup.GetNamedTagAsGameObjectID("junctionNameID"); // Added for TANE SP2 support - cjd
        reversed = soup.GetNamedTagAsBool("reversed");
        junctionType = soup.GetNamedTagAsInt("junctionType");
        mainSignalName = soup.GetNamedTag("mainSignalName");
        mainSignalID = soup.GetNamedTagAsGameObjectID("mainSignalID"); // Added for TANE SP2 support - cjd
        sidingSignalName = soup.GetNamedTag("sidingSignalName");
        sidingSignalID = soup.GetNamedTagAsGameObjectID("sidingSignalID"); // Added for TANE SP2 support - cjd
        bSST = soup.GetNamedTagAsBool("bSST");
        debug = soup.GetNamedTagAsBool("debug");
 
hi Christopher, I know you work hard on repairing many older scripts


the original idea is to make Trainz faster and allow parts of a route to be loaded and others not
but the developers have overlooked, that for many functions/commands to work ALL info is needed


I see now you changed trev's script
-the cpu has to do more work getting all gameID's
-it looses functionality as it no longer works
-you waste precious time, you could make new things


Is satisfying the validation in CM more important than a good functioning script?
the answer should be NO.


Maybe it's better to have 2 versions?


For many script updates, n3v should get back to the drawing board
-Allow older functions, so people don't waste time repairing
-Instruct better how scripters can optimize
-do more in basic trainz scripts, catch older functions and translate to what you want now
-give more clear and WORKING examples in the wiki (not written by users)
-first repair your own driver commands EG: Wait for Trigger
-get rid of the unneeded time outs and limits, or add a setting
-seek optimizing Trainz elsewhere (less/smaller texture, better loading sequence, better lod)


greetings GM
 
Currently the asset will have to be a new kuid, otherwise it breaks the triggers that are already placed, changing the soup messes it up real bad, that could possibly be changed if I can get it to work. Using the soup the way the script works, it's only saving and calling 3 game objects, not searching, so there should be no real overhead in the game.

The lines I added don't seem to work

I can't find any documentationon this one; soup.GetNamedTagAsGameObjectID


For the <kuid2:647907:100952:1> CDE GlobalList
(Sorry, I guess I went off topic above, but it related)


Code:
    ! <kuid:647907:102963> : VE267: globallist.gs(229) : function GetSignalList is obsolete in object World.
    ! <kuid:647907:102963> : VE267: globallist.gs(256) : function GetTrackMarkList is obsolete in object World.
    ! <kuid:647907:102963> : VE267: globallist.gs(287) : function GetJunctionList is obsolete in object World.
    ! <kuid:647907:102963> : VE267: globallist.gs(308) : function GetIndustryList is obsolete in object World.
    ! <kuid:647907:102963> : VE267: globallist.gs(327) : function GetTriggerList is obsolete in object World.


I am unable to modify this asset unless a way is figured out how to obtain these lists now that the real cool easy to use functions are No Longer Available. An async search wont do it either, as it will not reliably return the expected results (async searches return partial results or nulls at times)

So if you have the current version, it may be what it is, unfixable
 
Back
Top