Строка 7: |
Строка 7: |
| {{Заготовка}} | | {{Заготовка}} |
| | | |
− | = Глава 4: Verbs = | + | = Глава 4: Действия Verb = |
| | | |
| ''It might be only a dream after all, part and parcel of this magic house of dreams.'' -- L.M. Montgomery, Anne's House of Dreams | | ''It might be only a dream after all, part and parcel of this magic house of dreams.'' -- L.M. Montgomery, Anne's House of Dreams |
| | | |
− | Players have several ways to interact with their world. They can move around with the arrow keys, select objects with the mouse, and type commands (or select them from a menu). In DM, the commands you define for players to use are called verbs. They form a sort of player language.
| + | У игроков есть несколько способов взаимодействовать с окружающим миром: они могут передвигаться с помощью стрелок на клавиатуре, выбирать объекты с помощью мыши и вводить команды (или выбирать их в меню). В DM команда, которую вы создаете для использования игроками, называется ''verb'' (''действие''). Они составляют язык общения игроков с сервером. |
| | | |
− | == Defining a Verb == | + | == Создание действия == |
| | | |
− | Verbs are always attached to some object. This is done by putting the verb inside the object definition. This object is called the source of the verb. The simplest case, is a verb attached to the player's mob.
| + | Действия всегда задаются для объектов путем определения этого действия внутри описания объекта. Такой объект называют ''источником действия'' (''source''). Примитивный случай: действие, привязанное к существу игрока. |
| | | |
| mob | | mob |
Строка 22: |
Строка 22: |
| density = 0 //now we can walk through walls! | | density = 0 //now we can walk through walls! |
| | | |
− | This example defines a verb called intangible. A player who has executed this command can walk through other dense objects like walls.
| + | Этот пример описывает действие ''"нематериальный"'' (''intangible''). Игрок, который использует его, получает возможность передвигаться сквозь материальные объекты, вроде стен. |
| | | |
− | As you can see, the definition goes inside a node called verb and is followed by parentheses. The name of the verb itself (like any node) follows the same rules as an object type name. It is case sensitive, consists of letters, digits, and underscores, and must not start with a digit.
| + | Как вы, наверное, заметили, определение записывается под узлом ''verb'' и сопровождается круглыми скобками. Само название действия, как и любой другой узел в вашей программе, должно удовлетворять некоторым условиям: оно чувствительно к регистру, может состоять из букв, цифр и подчеркиваний, а также не должно начинаться с цифры. |
| | | |
− | == Setting Verb Properties == | + | == Свойства описания действия == |
| | | |
− | Just as with object types, you can override the actual name of the verb (as seen by the user) to overcome the limitations of the node name. This is done with the set command. Example:
| + | Также, как и с объектами, вы можете задать новое имя для действия (видимое пользователем), чтобы обойти ограничения для названий узлов. Это можно сделать с помощью специальной команды: |
| | | |
| obj/lamp/verb/Break() | | obj/lamp/verb/Break() |
Строка 34: |
Строка 34: |
| luminosity = 0 | | luminosity = 0 |
| | | |
− | The reason the verb node could not be directly specified in lowercase is that there is a reserved word break that prevents this. Capitalization is a simple way to avoid conflicts with reserved words because they never begin with a capital letter. (If you are curious about the meaning of break hang on until chapter 6.)
| + | Причина того, что этот узел не может быть задан в нижнем регистре, лежит в том, что слово ''break'' зарезервировано. Озаглавливание - простой способ избежать конфликта с зарезервированным словом, поскольку они никогда не начинаются с большой буквы. ''Если вас озадачило значение ''break'', дождитесь 6 главы.'' |
| | | |
− | Notice the condensed style using slashes in place of stair-step indentation. The use of the set command distinguishes between an assignment of the object's name and an assignment of the verb's name. Also note that the name assignment is said to take place at compile-time rather than run-time. Otherwise, like the assignment of luminosity, it would not happen until the verb was executed by the player.
| + | Обратите внимание на использование множества слешей, заместо разделения отступами. Команда ''set'' по-разному используется для присвоения имен объектов и действий. Также заметьте, что присвоение имени происходит скорее во время компиляции, чем во время работы программы, хотя оно и не должно происходить до тех пор, пока игрок не вызовет действие, как и изменение переменной освещения, например. |
| | | |
− | There are other properties of a verb that can be configured using the set command. They are presented in the following list.
| + | Также существуют и другие свойства действий, описанные в следующем списке: |
| | | |
| * name | | * name |
− | As you have already seen, this is the name of the verb as seen by the user. It defaults to the node name with any underscores replaced by spaces.
| + | Как вы уже поняли, это имя действия, видимое пользователем. По умолчанию, оно соответствует названию узла действия, с заменой нижних подчеркиваний на пробелы. |
| | | |
| * desc | | * desc |
− | A description of the verb. Players can see this by typing the verb name and pressing F1. Another way is to hold the mouse over it in the verb panel. The syntax is described for you, by default, but if you wish to override the way individual arguments appear, you can do so inside parentheses at the beginning of the text. See page [4.5.1] for an example.
| + | Описание действия. Игроки могут увидеть его, если введут название действия и нажмут F1 или просто наведут указатель мыши на это действие в меню. Синтаксис описания стандартный, но если вы захотите изменить способ появления новых аргументов, то вы можете сделать это в скобочках в начале текста. Смотри страницу [4.5.1] для примера. |
| | | |
| * category | | * category |
− | Verbs can be grouped by assigning a category name of your choosing. They will show up accordingly in the verb panels.
| + | Действия могут группироваться по категориям, имена для которых вы задаете этим свойством. Категории появляются на панели действий. |
| | | |
| * hidden | | * hidden |
− | This is 1 or 0 to indicate if the verb is secret. A hidden verb will not appear in the panels and will not be expanded on the command line. As a slight variation of this, verbs beginning with a dot are like hidden verbs except they expand once at least the dot has been typed. You might, for example, have a large number of social commands that you don't want cluttering up the normal verb menus. In that case you would probably want to use the dot prefix to hide them.
| + | Может принимать значения 1 или 0, чтобы определить скрытые действия. Такие действия не появляются на панели или в меню. Как вариант облегченной версии спрятанных действий, вы можете начать их название с точки. Тогда они будут работать как скрытые, но появятся в меню, если ввести точку. Вы можете, например, использовать их, чтобы задать кучу социальных действий, которыми вы не хотели бы захламлять меню. |
| | | |
| * src | | * src |
− | This is where you define the relationship between the user and the source of the verb. The effect is to control who has access to the verb. See the explanation in the next section.
| + | Описывает, где вы определяете отношения между пользователем и источником действия. Влияет на то, кто имеет контроль к действию. Смотри объяснение в следующей секции. |
| | | |
| | | |