安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题






It come when I record Floor.
Is this because I ave two elevator in the same grid ?
(but I name group piston with 1 and 2 number)
System.NullReferenceException:
Object reference not set to an
instance of an object
at Program.Ding(StringdroupName, String Suffix, String floorName, String action, list'1doorWaitList0
at Program.Main(String argument, UpdateTypeupdateSource)
no idea what to do
-Pistons must be in the elevator piston group
-To save a floor, set the pistons at your floor height, then run the programmable block with the argument to save a floor with the floor name right after the argument (I don't remember the argument) (Example: <theargument> [floor1])
-To go to a floor, run the PB with your floor name, no argument required other than the floor name.
The timer bug is still there tho.
I named my "common" arrival timer block "Timer Block (elevator)". However I tried something : when I add all floors names to the "common" timer block's name, it work with every floors and open the floor doors when you arrive (It's not ideal but at least it work)
It seems the script is able to open the doors only if it detect the floor tag in any timer block's name. (even if the timer block is toggled off and have no action setup), and have trouble finding the "common" timer block if there is no floor tag.
Having a single timer block is still better than having one timer block per floor (or 2 before today's update when using hangar doors)
Thinking about it, the only suggestions I have now are not really usefull or could be achieved in other ways.
About the timers though, you should be able to have a common arrival timer. It's designed to look for a separate one for each floor, but if you just have a group with one timer in it, it will search by proximity and find the only one there is. *Unless*, possibly, you name your floor "2" and your timer is "Timer 2" . Personally, I use "1F", "2F" etc. Otherwise it might be good idea to take the numbers out of the timer name, unless that's actually what floor they go on.
Anyway let me know how it goes.
However, i found a few bugs with the new door mechanics.
While testing the new version, I found out that it will only open the door if there is a timer block set up with the floors names, even if the timer blocks has no action setup and are toggled off on arrival.
Also, if you have only one common arrival timer blocks, it seems to only work with the last floors, not the first floors.
In my mind, the purpose of having the elevator to only start once the doors are closed was to use it with hangar doors. However, it seems I can only use one door per floor. May be I havn't set it up properly.
Sorry to bring bad news :/
The new arrow display is nice tho.
All suggestion I would have now would be considered as polishing, and not a big deal (Examples: being able to auto open/close doors without the uses of timer block as well as moving the elevator once all the floor's doors are closed, better LCD display (example: arrow facing up when it goes up, floor name displayed in the midle top of the LCD)) I do not consider it mandatory.
Thanks for the update.
Still, it's the best elevator script I found.
I'm using timer blocks triggered by the script to open doors at each floor providing access to the elevator. Working on a good method to close the doors as the elevator leaves a floor. Is that something the script could trigger? Only other idea I have is to use sensors .
So, I got around the issue.
Instead of calling the BP hosting your script from my script, my script calls a timer block which calls your script.
My OCD is freaking out, but it works.
When next you update your script, please include this change so your script can be called directly from another script (if in fact that is the issue).
Thank you sir.
I can execute the [Floor Name] command against the BP hosting your script from a button control to cause the elevator to move to the recorded floor.
I can execute the [Floor Name] command from the BP hosting your script itself.
However, when i run the following psydo code on a separate BP ...
var bp = GridTerminalSystem.GetPB(...);
var result = pb.TryRun([Floor Name]);
... the elevator does not move.
The result IS true.
I know bp IS a reference to the BP hosting your script.
I KNOW I own both blocks.
Should this work and I'm missing something?
Or does your code currently not handle the UpdateType.Script enum?
And if the latter, can you update your code to do so ... please?
BACKGROUND (If you care)
I REALLY love your script.
I am trying to run your script on one BP and have a second 'Controller' BP control a menu displayed on an LCD and the position of the elevator by calling your script when a menu item (the floor) is selected.
Thank you sir.
There's no LCD options at the moment, but what information would you like to see? I'll consider it a feature request, along with the opposed pistons. I'll see about adding something to list out the floors.
p p
p p
|| p
|| p
|| p
|| p
----
I hope this makes sense, there is one extended piston facing down connected to 3 facing up
When the extended one retracts and the retracted ones extend, it gives 40 meters of extension