https://linen.dev logo
ATSAssistModとスクリプトの連携について
# forum
u
ATSAssistModのAPIで電車がATC速度を取得するコードを書いているのですが、書き方がわからず、エラーでクラッシュするので、コードの書き方を教えてください。よろしくお願いします。
p
render
Copy code
javascript
importPackage(Packages.jp.kaiz.atsassistmod.api);

function render(entity){
  var TCC = TrainControllerClientManager.getTCC(entity);
  var ATCspeed = TCC.getATCSpeed();
}
u
ありがとうございます
早速実装してみます
p
サーバースクリプトでは ```javascript importPackage(Packages.jp.kaiz.atsassistmod.controller); function onUpdate(entity){ var TC = TrainControllerManager.getTrainController(entity); }```で色々できるらしいです
u
なるほど
電車置くとクラッシュしてしまいます
p
これTCCはNULLだったりしますので
そっちかな
u
if(entity != null){ var TCC = TrainControllerClientManager.getTCC(entity), ATC_speed = TCC.getATCSpeed(); }
p
if(TCC != null)的な
u
あーなるほど
ATC_Speed ==130のときに ATC130.render(renderer); と書いたけど動きませんね
ATCがintの時にaをrenderするときってどうすればいいですか?
p
NGTLog.debugとかで
変数の値を確認しながら
コードを見てみたら
解決しやすいかもしれません
u
なるほど
NGTLog.debugってどこにあるのでしょうか?
p
importPackage(Packages.jp.ngt.ngtlib.io);
NGTLog.debug(ATC_Speed)
ってしとくとログにATC_Speedの値がでます
u
ありがとうございます
NGTLog.debug見たらundefinedになっている
u
恐れ入りますATSAssist開発者です 一度現在のスクリプト全て貼っていただけると何かお手伝いできるかもしれないです
u
ひとまず張ります
function render_cab(entity) { if(TCC != null){ var TCC = TrainControllerClientManager.getTCC(entity); var ATC_speed = TCC.getATCSpeed(); } switch(ATC_speed){ case 1: ATC0.render(renderer);break; case 101: ATC0.render(renderer);break; case 102: ATC5.render(renderer);break; case 103: ATC10.render(renderer);break; case 104: ATC15.render(renderer);break; case 105: ATC20.render(renderer);break; case 106: ATC25.render(renderer);break; case 107: ATC30.render(renderer);break; case 108: ATC35.render(renderer);break; case 109: ATC40.render(renderer);break; case 110: ATC45.render(renderer);break; case 111: ATC50.render(renderer);break; case 112: ATC55.render(renderer);break; case 113: ATC60.render(renderer);break; case 114: ATC65.render(renderer);break; case 115: ATC70.render(renderer);break; case 116: ATC75.render(renderer);break; case 117: ATC80.render(renderer);break; case 118: ATC85.render(renderer);break; case 119: ATC90.render(renderer);break; case 120: ATC95.render(renderer);break; case 121: ATC100.render(renderer);break; case 122: ATC105.render(renderer);break; case 123: ATC110.render(renderer);break; case 124: ATC115.render(renderer);break; case 125: ATC120.render(renderer);break; case 126: ATC125.render(renderer);break; case 127: ATC130.render(renderer);break; } }
(signalで諦めてたので101~127になってるけど気にしないでください)
u
if(TCC != null)はTCC宣言前なので常にundefinedです
多分entityだと動きます
u
なるほど
無事表示されました!ありがとうございました!
2 Views