рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ realtime рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП XML рдФрд░ JSON рдХреЗ рдмрдЬрд╛рдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди



рд╢реЙрд░реНрдЯрдХрдЯ: рдЧрд┐рдЯрд╣рдм , рдЯрд╛рдЗрд▓реНрд╕.рдЬреИ рдЯрд╛рдИрд▓реНрд╕.рдЧреНрд░реЛрд╡реА рдЯрд╛рдИрд▓реНрд╕.рдХреНрд░рдм

рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЦреЗрд▓реЛрдВ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдЙрдирдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрдбрд╝реЗ рдкрд░рд┐рдорд╛рдг рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реИред рдЬрдм рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реАрдзреЗ рдЬрд╛рд╡рд╛, рд╕реА ++ рдпрд╛ рд╕реА # рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЬрд▓реНрджреА рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдлрд┐рд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рддреЛ XML рдпрд╛ JSON рдХреЙрдиреНрдлрд┐рдЧрд░ рдореЗрдВред рдпрд╣ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХреЛрдб рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рди рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╡рд┐рд╖рдп рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ (рдЧреЗрдо рдХреЗ рд▓рд┐рдП, рдпреЗ рдЧреЗрдо рдбрд┐рдЬрд╛рдЗрдирд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдбрд┐рдЬрд╛рдЗрдирд░ рд╣реИрдВ)ред рдЬрдм рдПрдХ рдЯреАрдо рдмрдврд╝рддреА рд╣реИ рдпрд╛ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд░реЗрдЦрд╛ рдХреЛ рдкрд╛рд░ рдХрд░рддреА рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдВрдкрд╛рджрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ JSON-config рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЖрдЙрдЯрдкреБрдЯ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣рд╛рд░реНрдб-рд╕рдкреЛрд░реНрдЯреЗрдб рдореЙрдиреНрд╕реНрдЯрд░ рд╣реИред

рдпрджрд┐ рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдХрд┐рд░рд╛рдП рдкрд░ рдирд╣реАрдВ рд▓реЗ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдХреЛрдб рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЖрдк рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдбреЛрдореЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред

рдЖрдзрд╛рд░ / json / xml рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрдХ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ?

рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд╡рд┐рд╡рд░рдг рднрд╛рд╖рд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рджреГрд╢реНрдп рд╕рдВрдкрд╛рджрди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╕реЗ рдХреНрдпрд╛ рдордирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдЙрджреНрджреЗрд╢реНрдп: рдЗрди рд╕рднреА рдмрдиреНрд╕ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЖрдИрдбреА рдХреА рдмрд╛рдд рдХрд░рдирд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЖрдИрдбреА рдХреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдЬрдм рдЙрдирдореЗрдВ рд╕реЗ рджрд░реНрдЬрдиреЛрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреАред Minecraft рд╕рд░реНрд╡рд░ рдорд╛рд▓рд┐рдХреЛрдВ рдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЛрдб рд╕реЗ рдмреНрд▓реЙрдХ рдЖрдИрдбреА рдФрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдШрд░реНрд╖ рдХреЗ рдХрд╛рд░рдг рдЖрдБрд╕реВ рдХреА рдкреВрд░реА рдЭреАрд▓реЗрдВ рдмрд╣рд╛ рджреА рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдпрд╣ рд╕реВрдЪреА рдПрдХ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рддреЛ рдпрд╣ рднреА рдЦрд░рд╛рдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдЖрдк рдЗрд╕ рд╕реВрдЪреА рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реЗ рдРрдб-рдСрди рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрд╡рд╛рд╕реАрд░ рдорд┐рд▓реЗрдВрдЧреЗред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рдЧреЗрдо рд╣реИ рдФрд░ рдпреЗ рдЖрдИрдбреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ рд╡рд╛рдпрд░реНрдб рд╣реИрдВ, рддреЛ рдирд░рдХ рдореЗрдВ рдЬрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВред

рдкрд░рд┐рдгрд╛рдо: рдХреЛрдб рдЙрддреНрдкрд╛рджрди рд╕реЗ рдлрд╛рдбрд╝рд╛ рдЧрдпрд╛

рдЧрд┐рддреБрдм , рдЗрд╕рдореЗрдВ рдПрдХ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдЬрд╛рд╡рд╛ рдХреЛрдб рдФрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╣реИ рдЬреЛ рджреЛ рд▓рд┐рдкрд┐рдпреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ: рдЯрд╛рдЗрд▓реНрд╕ред рдЬреЗрдПрд╕ рдЯрд╛рдЗрд▓реНрд╕ред рдЧреНрд░реЛрд╡реА рдЯрд╛рдЗрд▓реНрд╕редрдЖрд░рдмреА

рд╡рд┐рдЪрд╛рд░ рдХреА рдЯреНрд░реЗрди

рдЯрд╛рдЗрд▓реНрд╕ рдХрд╛ рдПрдХ рдореЙрдбрд▓ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рд╣реИрдВ:

//  static final String[] BLOCK_NAMES = new String[] { "floor", "building", "arrow", "hideout", "abyss", "tunnel", "solid", "box"}; public class ScriptClass { int id = -1; String name; } public class Tile extends ScriptClass { int group = -1; //  int indexInGroup; //   int type = -1; //:        int image = -1; //   int background = -1; //  int subground = -1; //   ,     int onDamage = -1; //      int onBomb = -1; //     ? int onAtomic = -1; //  ? int direction = -1;// ,      } //      public class TileChange extends ScriptClass { public static class Variant { int p = 1; //   int item = -1; //ID     int effect = -1; //  -  int result = -1; //ID     ,   //  } int totalP = 0; //   List<Variant> variants; // } 


рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдкрд░ рдЯрд╛рдЗрд▓рд╕реЗрдЯ:



рдПрдХ рдХреЛрдб рднреА рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдСрдЯреЛрдореЗрдЯрди рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реЛ рдЕрдк рдХреА рдЬрдЧрд╣ рдХреМрди рд╕реА рдЯрд╛рдЗрд▓ рд▓рдЧрд╛рдИ рдЬрд╛рдП рдФрд░ рдХреМрди рд╕рд╛ рдкреНрд░рд╛рдЗрдЬ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

SQL рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде JSON рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдкрд╛рджрди рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛, рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪрд╛рд╣рд┐рдПред

рдЖрдЗрдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдХреЛрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрдВрдЧреЗ - рдХрд╣реАрдВ рдкрд░ рдПрдХ рдирдИ рдЯрд╛рдЗрд▓ рдШреЛрд╖рд┐рдд рдХреА рдЧрдИ рд╣реИ, рдХрд╣реАрдВ рдкрд░ рдПрдХ рдирдпрд╛ рд╕рдореВрд╣, рдФрд░ рдХрд╣реАрдВ рдкрд░ рдпрд╣ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рд╡рд┐рд╕реНрдлреЛрдЯ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЯрд╛рдЗрд▓ рдХреНрдпрд╛ рдмрдирддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
  1. рдкрд╛рд░реНрд╕рд░ рдкрд╛рда рд╕реЗ рдЗрд╕ рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
  2. рдЯреБрдХрдбрд╝рд╛ рдЬреЛ рдкреЗрдбрд╝ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрд░реВрдк рдПрдХ рд╡рд┐рдзрд┐ рдХрд╣рддрд╛ рд╣реИ рдЬреЛ рдореЙрдбрд▓ рдореЗрдВ рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ
  3. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдХрдиреНрд╡реЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рддрд░реНрдХ: рд╕рд╣рдордд рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдб рднрд░рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕рдореВрд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝реАрд▓реНрдб рд╕реЗ рдорд╛рди рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ

рдпрджрд┐ рдкрд╛рд░реНрд╕рд░ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - JSON, XML рддреЛ рдЖрдкрдХреЛ рдЦреБрдж рджреВрд╕рд░реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реИред рдпрд╛ рдирд╣реАрдВ? рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд░рд╣рд╕реНрдп рдирд┐рд╣рд┐рдд рд╣реИ: рдЖрдк рддреБрд░рдВрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдмрд╕ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдореЙрдбрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдмреБрд▓рд╛рдПред

рдкрд░рд┐рдгрд╛рдо рдПрдХ рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдбреЛрдореЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ред

рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЖрдо рдЯрд╛рдЗрд▓ рдХрд╛ рд╡рд░реНрдгрди рд╣реИ - рдПрдХ рдИрдВрдЯ рдХреА рджреАрд╡рд╛рд░, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреБрд░рд╕реНрдХрд╛рд░ рдЧрд┐рд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЧреНрд░реВрд╡реА рдпрд╛ рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдХрдо рдмреНрд░реИрдХреЗрдЯ рд╣реЛрдВрдЧреЗред

 newTile("brick", { type: "solid", image: 44, //         onDamage: newChange("prise_in_brick", { "variants": [ //    { p : 60, item : getSlot("bomb")}, { p : 40, item : getSlot("power")}, { p : 40, item : getSlot("scate")}, { p : 10, item : getSlot("kick")}, { p : 10, item : getItem("random")}, //      ,     -     { p : 10, item : newItem("surprise", {image: 11, effect: ITEM_EFFECT_SANTA_CANT_TAKE, variants: [ {p: 5, slot: getSlot("bomb") }, {p: 5, slot: getSlot("power") }, {p: 4, slot: getSlot("scate") }, {p: 4, slot: getSlot("kick") }, {p: 3, slot: getSlot("jelly") }, {p: 5, slot: getSlot("detonator") }, {p: 6, slot: getItem("ball") }, {p: 0, slot: getSlot("money"), count:20} ]}) }, { p : 10, item : getSlot("heart")}, { p : 430 } ], //        result: getChange("destroy_rocky") //   ,        }) }); newChange("destroy_rocky", {effect: BLOCK_EFFECT_DESTROY_BLOCK, variants: [ {p:2, result: getTile("grass")}, {p:1, result: getTile("grass2")}, {p:1, result: getTile("grass3")}, {p:1, result: getTile("rocky")} ]}); 


рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдЯрд╛рдЗрдк рдиреНрдпреВрдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕ рдФрд░ рдЧреЗрдЯрдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕ рдХреЗ рдлрдВрдХреНрд╢рди рдПрдХ рдЬреЛрдбрд╝реА (рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдИрдбреА, рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░) рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдХреЗ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред newXXX рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рднреА рдкреНрд░рдмрдВрдз рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╕реНрддреБ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реИрдВред рд╕рднреА рдЧреЗрдЯ-рдПрд╕ рдирд╛рдо рд╕реЗ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рднрд▓реЗ рд╣реА рд╡рд╣ рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реЛ - рдпрд╣ рдореЙрдбреНрдпреВрд▓рд░рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЧреЗрдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╣рд▓реБрдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдХреНрд░рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, ScriptClassTable рдЯреЗрдмрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдИрдбреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рдХреЗрд╡рд▓ рдЖрдИрдбреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдмрд┐рдирд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ, рдФрд░ рд╡реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рди рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╡рд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рджреЛрдиреЛрдВ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдкрд╣рд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬреЗрдПрд╕ рдХреЗ рддрд╣рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдиреЗ рд░рд╛рдЗрдиреЛ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред ScriptUtils рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрд╛рд░рдг рдЕрдореВрд░реНрддрддрд╛ рдмрд░рддреА рдЧрдИ, рдЬреЛ рдЧреЗрдо рдореЙрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ "рдСрдмреНрдЬреЗрдХреНрдЯ", "рд╕реНрдЯреНрд░рд┐рдВрдЧ", "рд╕реВрдЪреА" рдФрд░ "рд╕рдВрдЦреНрдпрд╛" рдХреЗ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмрд╛рдж рдореЗрдВ, рдореИрдВрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдЬрдмрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд▓рдЧрд╛ред рдЕрдм рдореИрдВ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдЧреНрд░реВрд╡реА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рди рдХреЗрд╡рд▓ рдЗрд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХреВрдВ, рдмрд▓реНрдХрд┐ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реЛрдЬрд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреВрдВред рдмреЗрд╢рдХ, рдореИрдВ рдЬреЗрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛ рдореЗрдВ рдЧреНрд░реВрд╡реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕рд░рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд╕реАрдзреЗ рдмрд╛рдЗрдирд░реА рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╣реИред рдЧреНрд░реВрд╡реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рднреА рдореАрдард╛ рд╣реЛрддрд╛ рд╣реИ, рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЛрд╖реНрдардХ рдЫреЛрдбрд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЙрдлреА рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред

рдЪреБрдиреЗ рд╣реБрдП рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рдХрд╛рд░рдг, рд░рд╛рдЗрдиреЛ рд╕реЗ рдЧреНрд░реВрд╡реА рдХреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдореЗрдВ 20 рдорд┐рдирдЯ рд▓рдЧреЗ: рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдЕрдкрд┐рд▓реНрд╕ рд╡рд░реНрдЧ рдХреЗ рдПрдХ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреБрдж рд╣реА рдмрд╣реБрдд рдмрджрд▓ рдЧрдИ рд╣реИ: рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╡рд░реНрдЧ рдореЗрдВ рдмрджрд▓ рдЧрдП рд╣реИрдВ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ред рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЗ рдмрд╛рдж, рдпрд╣ рддреБрд░рдВрдд рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ред

рд╕рд░реНрд╡рд░ рдкрд░ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк:
  1. рд╕рд░реНрд╡рд░ рдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд▓реЗрддрд╛ рд╣реИ
  2. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреА рд╣реИ, рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рддрд╛рд▓рд┐рдХрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВ
  3. рдПрдХ рдореИрдк рдЬрдирд░реЗрдЯрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣ рдЙрд╕ рдЯреЗрдмрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЯрд╛рдЗрд▓реНрд╕ рдХреЛ рдЙрдирдХреЗ рдирд╛рдо рд╕реЗ рдЪрд╛рд╣рд┐рдПред
  4. рдмрд╛рдХреА рдирд┐рдпрдВрддреНрд░рдХ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рд╣рд░ рдХреЛрдИ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╛рдж рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
  5. рдЦреЗрд▓ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ
  6. рдкреНрд░рддреНрдпреЗрдХ рд▓реЙрдЧ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЯреЗрдмрд▓ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЧреЗрдо рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЧреЗрдо рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рджреГрд╢реНрдп рдЙрдкрдХрд░рдг рдЕрднреА рднреА рдЧреЗрдо рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдорджрдж рд╕реЗ рдЕрднреА рддрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдХреБрдЫ рдСрдмреНрдЬреЗрдХреНрдЯ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ: рдпрджрд┐ "рдкреИрд╕рд╛" рд╕реНрд▓реЙрдЯ рд╣реИ, рддреЛ рдкреНрд░рддрд┐ рд░рд╛рдЙрдВрдб рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдЖрдЗрдЯрдо рдЬреЛ рдЗрд╕ "рдкреИрд╕реЗ" рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рдЗрд╕ рддрдереНрдп рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ "рдкреИрд╕рд╛" рдХреЙрд▓рдо рдореЗрдВ рдЖрдВрдХрдбрд╝реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЬрд╛рдПрдЧрд╛ред "ред

рд╕рдм рдХреБрдЫ рдкрд╕рдВрдж рд╣реИред

рдмреЗрд╢рдХ, рдпрд╣ рдбреАрдПрд╕рдПрд▓ рдЙрд╕ рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рд▓рдВрдм рдХрд╛ рд▓рд╛рдн рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╡рд╣ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рди рдХреЗрд╡рд▓ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдмрд▓реНрдХрд┐ рдХреЛрдб рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдХреЗ, рдЙрд╕ рдкрд░ рдирдХреНрд╢реЗ рдФрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдкреАрдврд╝реА рдХрд╛ рднреА рд╡рд░реНрдгрди рдХрд░реЗрдВред рд╕рд╛рде рд╣реА, BLOCK_XXX рдФрд░ EFFECT_XXX рдЬреИрд╕реЗ рдХреБрдЫ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬреЛ рд▓реЛрдЧ рдЕрдЪреНрдЫреЗ рд╕рд╡рд╛рд▓ рдкреВрдЫрддреЗ рд╣реИрдВ, рд╡реЗ рдЦреЗрд▓ рдореЗрдВ рдЦрд╛рд▓ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗ, рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рд▓реЙрдЧрд┐рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ :) рдФрд░ рдЖрд▓реЛрдЪрдирд╛ рдореЗрдВ рд╢рд░реНрдорд┐рдВрджрд╛ рди рд╣реЛрдВред

PS рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рдореБрдЭреЗ рдЯреЙрдкрдХреЛрдбрд░ рдУрдкрди рдСрдирд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛

PS рдереИрдВрдХреНрд╕ рдПрдЦрди , рдЕрдм JRuby рднреА рд╣реИ

Source: https://habr.com/ru/post/In182632/


All Articles