ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ space engineers
ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ space engineers
ΠΡ Π²ΠΎΡ ΠΈ ΠΎΠ±Π΅ΡΠ°Π½Π½ΡΠΉ Π³Π°ΠΉΠ΄ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Ρ Π² Space Engineers. ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ Π³Π°ΠΉΠ΄Π° ΠΈ Π² Π½Π΅ΠΉ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
Π ΡΠ°ΠΊ, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Programmable block Π½Π° Π½Π°ΡΡ ΡΡΠ°Π½ΡΠΈΡ/ΠΊΠΎΡΠ°Π±Π»Ρ.ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° ΠΈ ΠΆΠΌΡΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «Edit». ΠΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²ΠΈΠ΄ΠΈΠΌ:
ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ Main Π² Π½Π°ΡΠ΅ΠΉ Π²Π½ΡΡΡΠΈΠΈΠ³ΡΠΎΠ²ΠΎΠΉ «ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅» Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.ΠΠ΅Π· Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ.
ΠΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠΎΠΊ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΠΠ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠΎΠ±ΠΎΡΠΊΠΈ < ΠΈ ΠΆΠΌΡΠΌ Enter.
ΠΠ±ΡΡΠ²ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ.Π§ΡΠΎ-Π±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² C# Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π·Π°ΡΡ Π΅Ρ ΡΠΈΠΏ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½ΠΎ Ρ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Ρ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅, Π° ΡΡΠΎ:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ one ΡΠΈΠΏΠ° int ΠΈ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 100, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΈΡΠ΅ΠΌ Π² ΠΊΠΎΠ΄Π΅ int one = 100
Π£ Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅ΡΡ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° int.
Π§ΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ?ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ «one» ΠΈ «two», Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ one = 100, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ two = 50, ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΅ΡΡ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ zn, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π²Π½ΡΠ΅ΡΡΡ ΡΠ°Π·Π½ΠΎΡΡΠΈ Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .Π’ΠΎ-Π΅ΡΡΡ 100-50, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ zn Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΡΡΡΡΡ 50.
Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»ΠΈΡΡ: /
Π£ΠΌΠ½ΠΎΠΆΠ°ΡΡ: *
Π‘ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ: +
ΠΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ. Π£ Π²Π°Ρ Π½Π΅ Π±ΠΎΠΌΠ±ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΠ±Π΅ΡΠ°Π½Π½ΡΡ
Π³Π°ΠΉΠ΄ΠΎΠ²? Π Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠΏΠ΅ΠΊΠ»ΠΎ.
//Π’Π°ΠΊ ΡΡΠΎ, Π²ΠΎΠ·ΡΠΌΡ Π½Π° ΡΠ΅Π±Ρ ΡΠΌΠ΅Π»ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π³Π°ΠΉΠ΄. Π’Π΅ΠΌΡ Π²ΠΎΠ·ΡΠΌΡΠΌ ΠΎΠ±Π΅ΡΠ°Π½Π½ΡΡ βΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΈΠΊΠ»Ρβ. ΠΠ°ΠΊ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ Π·Π°Π·Π½Π°ΠΉΠΊΠ΅, Ρ Π±ΡΠ΄Ρ ΡΠ»Π΅Π³ΠΊΠ° Π²ΡΠΏΠ΅Π½Π΄ΡΠΈΠ²Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅ΠΎΡΠΈΠΈ, Π½ΠΎ Π²ΡΡ ΠΆΠ΅
ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π΅Ρ Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ°.//
ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅.
//C# ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π½Π°ΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² SE, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π²ΠΈΠ΄Π΅ Π€Π―Π (ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ), Π° ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΠ‘Π (ΠΠ°Π·ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°). ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅. Π§ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅? ΠΡΠΎ ΡΠ²ΠΎΠ΅ΠΎΠ±ΡΠ°Π·Π½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
———————————————————————————————-β
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΡΠΉ Π·Π°ΠΌΠΎΠΊ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π½ΡΠΎΡΠ°. Π‘Π΅Π½ΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅ΠΉΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. (ΠΠΎΡΡΠ½ΡΡ, Ρ ΡΠ΅Π½ΡΠΎΡΠ° 6 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ) ΠΡΡ ΡΡΠΎ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π½Π°ΡΡ ΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π½ΡΠΎΡΠ° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ΄ΠΈΡΠ²ΠΎΠ°Π½ΠΈΡ (ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π½ΡΠΎΡΠ°-2,45 Π·Π° ΠΎΠ΄Π½ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 50, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ 1, Π·Π½Π°ΡΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ- 20. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΊΠΎΠ΄ ΠΈΠ· 3 ΡΡΠ΅Π΅ΠΊ, Ρ 20-Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ). ΠΠ΄Π½Π° ΠΈΠ· ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ². ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΌΠΌΠ° ΡΠΈΡΠ΅Π», ΠΈΡ
ΡΠ°Π·Π½ΠΎΡΡΡ ΠΈ Ρ.Π΄. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π».
ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ space engineers
void Main()
<
// varitables
IMyPistonBase DoorPiston = GridTerminalSystem.GetBlockWithName(«DoorPiston») as IMyPistonBase;
IMySensorBlock DoorSensor = GridTerminalSystem.GetBlockWithName(«DoorSensor») as IMySensorBlock;
IMySensorBlock CloseSensor = GridTerminalSystem.GetBlockWithName(«CloseSensor») as IMySensorBlock;
IMySoundBlock SoundMessage = GridTerminalSystem.GetBlockWithName(«SoundMessage») as IMySoundBlock;
IMyLargeInteriorTurret DoorTurret= GridTerminalSystem.GetBlockWithName(«DoorTurret») as IMyLargeInteriorTurret; //
IMyLargeInteriorTurret DoorTurret2= GridTerminalSystem.GetBlockWithName(«DoorTurret2») as IMyLargeInteriorTurret; //
if (DoorSensor.DetectOwner == true || CloseSensor.DetectOwner == true)
<
DoorPiston.GetActionWithName(«Reverse»).Apply(DoorPiston);
DoorTurret.GetActionWithName(«OnOff»).Apply(DoorTurret);
DoorTurret2.GetActionWithName(«OnOff»).Apply(DoorTurret2);
SoundMessage.GetActionWithName(«PlaySound»).Apply(SoundMessage);
>
>
ΠΠΎ Π²ΡΠ΅ ΠΏΠΎ ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ.
ΠΡΠΎΠ±ΠΎΠ²Π°Π» ΠΈ Π² ΡΠ°ΠΊΠΎΠΌ:
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΆΠ΅ΠΊΡΠΎΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈ Π½Π΅ Π²ΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅.
Π’.Π΅. Π·Π½Π°ΡΠ΅Π½ΠΈΡ true ΠΈ false Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ? Π ΠΏΠΎΡΠ΅ΠΌΡ? ΠΠ»ΠΈ ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΡΡΡΡ?
ΠΠΎΠ΄ΡΠΌΠ°Π» ΠΎ ΡΠ°ΠΊΠΎΠΉ Π²Π΅ΡΠΈ ΠΊΠ°ΠΊ Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ΅Π½ΡΠΎΡΠ°, Ρ.Π΅. ΠΊΠΎΠ΄ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΈΠ»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ°ΠΊ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Sensor.NotDetect
ΠΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π½Π°ΡΠ΅Π».
Π’.ΠΊ. Ρ Π΄Π°Π»Π΅ΠΊ ΠΎΡ Π·Π½Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΠΏΠΈΡΠ°ΡΡ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΆΠ΅ΠΊΡΠΎΡΠ° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ. ΠΡΡΡ Ρ ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΡΡΠ»ΠΈ?
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΊΠΎΡΠΎΡΠ΅.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π»ΠΎΠΊΠ° «ΠΠΎΡΡΠ½Ρ»
IMyPistonBase DoorPiston = GridTerminalSystem.GetBlockWithName(«DoorPiston») as IMyPistonBase
ΠΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ DoorPiston, Π³ΠΎΡΠΎΠ²Π°Ρ ΠΊ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ°Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π° Π½ΡΠΆΠ½ΡΠΉ Π±Π»ΠΎΠΊ. Π’Π°ΠΊ Π²ΠΎΡ ΡΡΡ Π΄Π°Π»Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈΠ΄ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²Π΅ΡΠ½ΠΎ
ΠΠ½ΡΡΡΠΈ Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠ°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠ»Π³Π°Ρ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π° Π·Π°ΠΏΠ°Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½), Π΄Π° ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ Π½Π΅Π»Π΅ΠΏΠΎΡΡΡ Ρ Π½Π΅Π½ΡΠΆΠ½ΡΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (Π²Π΅Π΄Ρ ΠΌΡ Π΅Π³ΠΎ Π·Π½Π°Π΅ΠΌ. Π·Π°ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΈΡΠΊΠ°ΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅?) ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ:
Π§ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊ: Π±Π»ΠΎΠΊ DoorPiston, ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Reverse.
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Π±Π»ΠΎΠΊΠ° (ΠΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·, Π½ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ). ΠΠ»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΠ½ΡΠΌ ΠΏΠΈΡΠ°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ΅:
IMyPistonBase DoorPiston = GridTerminalSystem.GetBlockWithName(«DoorPiston») as IMyPistonBase;
DoorPiston.Reverse();
//Π²ΠΌΠ΅ΡΡΠΎ DoorPiston.GetActionWithName(«Reverse»).Apply(DoorPiston);
IMyLargeInteriorTurret DoorTurret= GridTerminalSystem.GetBlockWithName(«DoorTurret») as IMyLargeInteriorTurret;
DoorTurret.OnOff();
//Π²ΠΌΠ΅ΡΡΠΎ DoorTurret.GetActionWithName(«OnOff»).Apply(DoorTurret);
IMySoundBlock SoundMessage = GridTerminalSystem.GetBlockWithName(«SoundMessage») as IMySoundBlock;
SoundMessage.PlaySound();
//Π²ΠΌΠ΅ΡΡΠΎ SoundMessage.GetActionWithName(«PlaySound»).Apply(SoundMessage);
. Π΄Π° ΠΈ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΊΡΠ΄Π° Π΄Π΅Π»ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ELSE ΠΈΠ»ΠΈ Π² Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΎΠ½ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ?
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ else Π² ΠΊΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΎΠ½ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊ:
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π½Ρ DoorPiston.
Π ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π±Π»ΠΎΠΊΠ°. ΠΠΎΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄Π»Ρ Π±Π»ΠΎΠΊΠ° «ΠΠΎΡΡΠ΅Π½Ρ»
Fields:
float Velocity
float MinLimit
float MaxLimit
Scripting
Contents
Layout
On first opening the code editor you will see 3 methods already in place:
Main() will hold most of the functionality for the script.
Block Types
To interact with a block, it has to be read into a local variable as an object. There are a number of classes used to represent various kinds of blocks, with different public methods and properties. All blocks are subclasses of the IMyTerminalBlock class. For example, a Refinery is represented by the IMyRefinery object which includes specialised functions like IsProducing() and NextItemInQueue(), but also inherits generic functions and properties like ‘CustomName’ from IMyTerminalBlock.
The main block classes worth mentioning are:
GridTerminalSystem
All interaction with in-game blocks has to take place through the GridTerminalSystem interface. It provides access to all blocks connected to the same in-game grid as the programmable block being used.
In order to start using a block, a local reference to the object must be intialised from the GridTerminalSystem. For example, to intialise an LCD Panel with the name ‘LCD Panel 1’:
Note that the value returned by GridTerminalSystem has to be cast into the relevant type (including IMyTerminalBlock).
Fetching block by name
Fetching blocks of type
Fetching blocks by group
Searching for blocks by name
Block Actions
This section is a work in progress
Using LCD Screens
This section is a work in progress
There are 2 types of LCD screens. IMyTextSurface (Normal LCD’s) and IMyTextSurfaceProvider (Any block with multiple screens, like a cockpit or a programmable block).
Using an LCD screen
Using Multi-Screen Blocks
Unlike the normal LCD, an IMyTextSurfaceProvider requires a number to indicate which screen to use. In the block terminal, you can see a list of screens (A programmable block has 2: Large Display and Keyboard). The topmost screen is 0, and the second screen is 1. In the cockpit, there are more, but the list always starts at 0.
Displaying Text
Using Both Types In The Same Variable
In order to use the 2 types of screens in the same variable, we will need to check which type of screen it is. The following code is an example of how to tackle this problem.
After this code, you can write anything to the screen using textSurface.WriteText(); Despite the different screen types.
More Actions
You can find more actions at Malware’s Development Kit for Space Engineers (Search IMyTextSurface and IMyTextSurfaceProvider)
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ
Contents
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
ΠΠΈΠΆΠ΅ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π·Π½Π°Π΅ΠΌ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ±Π·ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ
ΠΠ°Π½Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
Edit β ΠΎΡΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ/Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΡ Π½Π° Π΄ΠΈΡΠΊ.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΊΡΠΈΠΏΡΡ Π² «workshop» ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΠΊΡΠΈΠΏΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ.
Run β Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅. Π‘ΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΅Π΅ Ρ ΡΠ΅Π½ΡΠΎΡΠΎΠΌ, ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°.
Π Π΅Π΄Π°ΠΊΡΠΎΡ
Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΊΠΎΠ΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
Help β ΠΎΡΠΊΡΡΡΡ ΠΌΠ°Π½ΡΠ°Π» ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΈΠ³ΡΠ΅.
Check code β ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄.
Remember & Exit β ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π²Π°Ρ ΠΊΠΎΠ΄, Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠΊΡΠ°Π½ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
Remember code β ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡ ΡΠΊΡΠ°Π½ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΎΡΠΊΡΡΡΡΠΌ.
Browse Workshop β ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ/Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠΊΡΠΈΠΏΡΡ Π½Π° Π΄ΠΈΡΠΊ, Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠΊΡΠΈΠΏΡΡ Π² «workshop» ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ΅Π±Π΅ ΡΠΊΡΠΈΠΏΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ.
Line counter β ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅.
ΠΠΊΡΠ°Π½ «Workshop»
ΠΡΠΎΡ ΡΠΊΡΠ°Π½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠΊΡΠ°Π½Ρ Ρ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌΠΈ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
Ok β Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ Π·Π°ΠΊΡΠΎΠ΅Ρ ΡΠΊΡΠ°Π½.
Cancel β Π·Π°ΠΊΡΡΡΡ ΡΠΊΡΠ°Π½ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄ΡΡ Π²Π½Π΅ΡΠ΅Π½Ρ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ)
Details β ΠΎΡΠΊΡΡΡΡ ΡΠΊΡΠ°Π½ «Π΄Π΅ΡΠ°Π»ΠΈ», Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°.
Rename (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ²) β ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΈΠ³ΡΠ° ΠΏΠΎΠΏΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅.
Delete (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ²) β ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ.
Create from editor β ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Script_XX, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 0, ΠΈ Π΅ΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Ρ ΡΠΆΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΎ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΠ΅ΡΠ²ΡΠΌ Π±ΡΠ΄Π΅Ρ Script_0, Π΄Π°Π»Π΅Π΅ Script_1 ΠΈ Ρ.Π΄.
Replace from editor (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ²) β Π·Π°ΠΌΠ΅Π½ΠΈΡΡ (ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ) Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΠΊΡΠΈΠΏΡ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
Refresh Scripts β ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΡΠΊΡΠΈΠΏΡΡ Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ.
ΠΠ΅ΡΠ°Π»ΠΈ (Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ)
ΠΡΠΎΡ ΡΠΊΡΠ°Π½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π΅ΡΠ°Π»ΠΈ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
Rename β ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΈΠ³ΡΠ° ΠΏΠΎΠΏΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅.
Delete β ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ.
Publish β ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π² «workshop» ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΡΠ°Π½Π½ΠΈΡΡ Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ.
Browse Workshop β ΠΎΡΠΊΡΡΡΡ ΡΠΊΡΠ°Π½ «workshop» Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΡΠΊΡΠΈΠΏΡΡ.
Close β Π·Π°ΠΊΡΡΡΡ ΡΠΊΡΠ°Π½.
ΠΠ΅ΡΠ°Π»ΠΈ («workshop» ΡΠΊΡΠΈΠΏΡ)
ΠΡΠΎΡ ΡΠΊΡΠ°Π½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄Π΅ΡΠ°Π»ΠΈ Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ· «workshop» ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
Open in Workshop β ΠΎΡΠΊΡΡΡΡ «workshop» ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΊΡΠΈΠΏΡΠ°.
Close β Π·Π°ΠΊΡΡΡΡ ΡΠΊΡΠ°Π½.
ΠΠ°ΠΉΠ΄ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ
Π’ΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ³ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ. ΠΡΠ»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΡΠΊΡΠΎΠ΅Ρ Π·Π°Π½ΡΡΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΆΠ΅ ΠΎΡΠΊΡΡΡ.
ΠΠ΅ΡΠΎΠ΄ Main
ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ βCheck codeβ, ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ
ΡΡΠ°ΠΏΠΎΠ²:
-ΠΠΎ ΠΏΠ΅ΡΠ²ΡΡ
, ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²Π½ΡΡΡΠΈ ΡΠ·ΡΠΊΠ° C#
ΠΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½Π° ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠΌΠ΅ΡΡ «Π°Π°Π°» ΡΡΡΠΎΠΊΠ° Π±ΡΠ»Π° ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π° ΠΏΠ΅ΡΠ΅Π΄ Π³Π»Π°Π²Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ. ΠΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½Π°.
Π’Π°ΠΊΠΆΠ΅ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠΏΡΡΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
-ΠΠΎ-Π²ΡΠΎΡΡΡ
, ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ
ΠΈΠΌΠ΅Π½ ΠΈΠ»ΠΈ ΡΠΈΠΏΠΎΠ². ΠΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½Π° ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅:
Π ΠΏΡΠΈΠΌΠ΅ΡΡ System.IO.Directory Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΡΠΎ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ, ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅: βNot allowed type was used in scriptβ.
-ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅:
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ·ΡΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ «Run» ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ «Run» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π²ΡΡΡΠ½ΡΡ, Ρ.Π΅. ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ «Run» ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°.
Π‘ΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½ ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π²ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π±ΡΠ΄ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Ρ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½Π°, ΡΠΊΡΠΈΠΏΡ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈ Π½Π΅ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ.
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½, ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π»ΠΈΠΌΠΈΡ, Π·Π°ΠΏΡΡΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΊΡΠΈΠΏΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΠΈΠΌΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ «Π·Π°ΠΌΠΎΡΠΎΠ·ΠΊΠΈ» ΠΈΠ³ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² ΡΠΊΡΠΈΠΏΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈ, Π³Π΄Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠΉ Π±Π»ΠΎΠΊ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ GridTerminalSystem
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΊΡΠΎΠΌΠ΅ «Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
» ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ GridTerminalSystem.
ΠΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Π²Ρ
ΠΎΠ΄Π° Π²ΠΎ Π²ΡΡ ΡΠ΅ΡΡ ΠΊΠΎΡΠ°Π±Π»Ρ, ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
List Blocks
List BlockGroups
void GetBlocksOfType (List blocks, Func collect = null);
void SearchBlocksOfName(string name,List blocks, Func collect = null);
IMyTerminalBlock GetBlockWithName(string name);
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²ΡΠ΅ «ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠ΅» Π±Π»ΠΎΠΊΠΈ Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ.
IMyCubeBlock
IMyCubeBlock ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ «ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ» Π±Π»ΠΎΠΊΠ°. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ:
BOOL IsBeingHacked
BOOL IsFunctional
BOOL IsWorking
VRageMath.Vector3I Position
IMyTerminalBlock
IMyTerminalBlock ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ «ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ» Π±Π»ΠΎΠΊΠ°. ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ:
string CustomName
string CustomNameWithFaction
string DetailedInfo
bool HasLocalPlayerAccess()
bool HasPlayerAccess(long playerId)
void RequestShowOnHUD(bool enable)
void SetCustomName(string text)
void SetCustomName(StringBuilder text)
bool ShowOnHUD
void GetActions(List resultList, Func collect = null);
void SearchActionsOfName(string name,List resultList, Func collect = null);
Sandbox.ModAPI.Interfaces.ITerminalAction GetActionWithName(string name);
ITerminalAction
ITerminalAction ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ:
string Id < get; >
StringBuilder Name < get; >
void Apply(Sandbox.ModAPI.Ingame.IMyCubeBlock block);
IMyFunctionalBlock
ΠΠ»ΠΎΠΊΠΈ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΠΈΡΠΊΠ»Π΅ΠΉΠΌΠ΅Ρ
Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ
ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ (Π²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΈΠΌΠ΅ΡΡ «IMyTerminalBlock» ΠΊΠ°ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ), ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ ΡΠ²Π΅ΡΠ°, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «IMyLightningBlock», Π° Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊ Π»Π°ΠΌΡ, Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ «IMyInteriorLight».
ΠΠ°Π½Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· «IMyBeacon» Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ°Π΄ΠΈΡΡΠ°. Π ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΡΡΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ/ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π΄ΠΈΡΡ ΠΌΠ°ΡΠΊΠ°.
ΠΠ΅ΠΉΡΡΠ²ΠΈΡ
ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ Π±Π»ΠΎΠΊΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π°ΠΌ Π² ΡΠΊΡΠΈΠΏΡΠ΅, ΡΠ°ΠΊ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π΄ΠΈΡΡ Π²Π΅ΡΠ°Π½ΠΈΡ Π°Π½ΡΠ΅Π½Π½Ρ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ «DecreaseRadius» Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π»Ρ Π±Π»ΠΎΠΊΠ°.
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°
ΠΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΡΡΠ°Π²ΠΈΡΡ. ΠΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ»Π°Π²Π°ΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠ°Π΄ΠΈΡΡ Π°Π½ΡΠ΅Π½Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ GetValueFloat(String propertyName). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅. Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ SetValueFloat(String propertyName,float value).
ΠΡΠΈΠΌΠ΅Ρ: Π΄Π»Ρ Π°Π½ΡΠ΅Π½Π½Ρ GetValueFloat(βRadiusβ) Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π΄ΠΈΡΡ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π Π°Π΄ΠΈΡΡΠ° Π² Π°Π½ΡΠ΅Π½Π½Π΅) ΠΈ SetValueFloat(βRadiusβ,10) ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π΄ΠΈΡΡΠ° Π½Π° 10.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ void GetProperties(List resultList, Func collect = null) ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.
Π‘ΡΠ±ΡΠΈΠΏ
ΠΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Ρ
ΠΆΠ΅ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ «cubeblocks.sbc») ΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΡΡΠ±ΡΠΈΠΏΡ (ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ ).
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ.
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ°ΠΊΠΈΡ
Π±Π»ΠΎΠΊΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ Π³ΡΡΠ·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ: Π² ΠΈΠ³ΡΠ΅ Π΅ΡΡΡ ΡΡΠΈ ΡΠΈΠΏΠ° Π³ΡΡΠ·ΠΎΠ²ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²: ΠΌΠ°Π»ΡΠΉ, ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ. ΠΠ½ΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΡΡΠ±ΡΠΈΠΏΡ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠΈΠΏ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ «Id» Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
CargoContainer
LargeBlockLargeContainer
Π‘ΡΠ΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
CargoContainer
SmallBlockMediumContainer
ΠΠ°Π»ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ΅Π½Π΅Ρ:
CargoContainer
LargeBlockSmallContainer
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ «IMyCargoContainer» Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² Π³ΡΡΠ·ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
Π‘ΠΏΠΈΡΠΎΠΊ Π±Π»ΠΎΠΊΠΎΠ² ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
ΠΠ°Π»ΡΠΉ Π³ΡΡΠ·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
Π‘ΡΠ΅Π΄Π½ΠΈΠΉ Π³ΡΡΠ·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
ΠΠΎΠ»ΡΡΠΎΠΉ Π³ΡΡΠ·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ
Π‘ΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π³ΡΠ°Π²ΠΈΡΠ°ΡΠΈΠΈ
ΠΠΎΠ΄Π²Π΅ΡΠΊΠ° ΠΊΠΎΠ»Π΅Ρ 1×1
ΠΠΎΠ΄Π²Π΅ΡΠΊΠ° ΠΊΠΎΠ»Π΅Ρ 3×3
ΠΠΎΠ΄Π²Π΅ΡΠΊΠ° ΠΊΠΎΠ»Π΅Ρ 5×5
ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ space engineers
ΠΡ Π·Π΄Π΅ΡΡ
| ΠΠ³ΡΠΎΠ²ΡΠ΅ Π‘ΠΊΡΠΈΠΏΡΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠΎΡΡΠΌΠ° Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ², Π³Π΄Π΅ Π±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π΄Π΅Π»ΠΈΡΡΡΡ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠΌ. Π‘ΠΎΠ·Π΄Π°ΠΌ ΠΏΠΎΠΊΠ° ΡΠ°ΠΊΡΡ ΡΠ΅ΠΌΡ. ΠΡΠ΄Π΅ΠΌ ΡΡΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π·Π½Π°Π½ΠΈΡΠΌΠΈ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²Π²Π΅Π»ΠΈ «ΠΡΠΎΠ³ΡΠΌΠΌΠΈΡΡΠ΅ΠΌΡ ΠΠ»ΠΎΠΊ» Π² Π½Π΅ΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° Π‘# (Π‘ΠΈ-ΡΠ°ΡΠΏ).
AlisaraDemon
Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² SE Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ Speed, AngularVelocity ΠΈ AngularAcceleration ΠΎΠ±ΡΠ΅ΠΊΡΠ° Sandbox.Common.Components.MyPhysicsComponentBase. ΠΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΌΡ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IMyEntity Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΡΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΌΠΎΠ΄ΠΎΠΏΠΈΡΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ, ΠΊΠ°ΠΊ ΠΊ MyPhysicsCompomemtBase, ΡΠ°ΠΊ ΠΈ ΠΊ IMyEntity.
ΠΠ°ΡΡΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π² MyPhysicsComponentBase Π² ΠΏΠΎΠ»Π΅ Mass. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠ½Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΠΎΠΏΠΈΡΡΠ°ΠΌ.β
ΠΠ· Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ°-Π°Π²ΡΠΎΠΏΠΈΠ»ΠΎΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΊΠΎΡΠ°Π±Π»Π΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠ°Π±Π»Ρ Π³ΠΈΡΠΎΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΎΡΠ°ΠΌΠΈ.
ΠΠ½ΠΈΠΌΠ°ΡΠΈΡ: /workshop/3734
// Make a list for all GGs and fill it.
List blocks = new List ();
GridTerminalSystem.SearchBlocksOfName(gravityGeneratorNames, blocks, filterGGs);
// Check if we got enough blocks to go through
if(blocks.Count ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΡ ΡΡΠ΅ΠΏΠΊΠ° ΡΠΎΡΠΎΡΠ°: http://forums.keenswh.com/post/automatic-rotor-attach-like-in-the-good-o.
// ================================================================== //
// =====>>>>> Automatic rotor attach script
// This script is intended to restore the good old way of connecting
// rotors by simply moving base and head together, like in the good old days.
// Use this script with two self-trigger-now-repeating timers for best results.
// ============================================================= //
// temporary storage list of all blocks
List blocks = new List ();