Изменения

Материал из Chaotic Onyx
Перейти к навигацииПерейти к поиску
Перевод кусочка оригинального гайда по DM "Возможные настройки доступа". Не претендую на полную точность.
Строка 129: Строка 129:  
Абракадабра!
 
Абракадабра!
   −
=== Possible Access Settings ===
+
=== Возможные настройки доступа ===
   −
There are a limited number of possible settings for a verb's source access list. They are compiled in figure 4.7.
+
Существует ограниченное количество возможных настроек для списка доступа к источнику глагола. Они приведены на рисунке 4.7.
   −
Figure 4.7: Possible Source Access Settings
+
Рисунок 4.7: Возможные настройки доступа к источнику
   −
usr
+
  usr
usr.loc
+
  usr.loc
usr.contents
+
  usr.contents
usr.group
+
  usr.group
view()
+
  view()
oview()
+
  oview()
Two of these (namely, usr and usr.loc) are not lists of objects but instead refer to an individual item. For that reason, they behave a little differently when used in an assignment versus an in clause. Don't let that confuse you--it's really quite simple. When used in an assignment, they are treated as a single object. When used with in they represent the list of objects that they contain.
     −
The rest of the src access settings are all lists. The view instruction has already been mentioned, but it requires a little more description so that you can understand the related oview instruction.
+
Два из них (а именно ''usr'' и ''usr.loc'') не являются списками объектов, а ссылаются на отдельный элемент. По этой причине они ведут себя немного по-другому, когда используются в присваивании и в операторе ''in''. Пусть вас это не смущает - на самом деле все очень просто. При использовании в присваивании они рассматриваются как один объект. При использовании с ''in'' они представляют собой список объектов, которые они содержат.
   −
The view() list contains all objects seen by the user up to a specified distance. The list starts with objects in the user's inventory, followed by the user herself, objects at her feet, then in neighboring squares, and so forth proceeding radially outward. A distance of 0 therefore includes the turf (and area) the user is standing on and its contents. A distance of 1 adds the neighboring eight squares and their contents. The maximum distance is 5, since that includes the entire visible map on the player's screen. (You will see how to change the map viewport size in chapter 14.) Because this is often the desired range, it is the default when no range is specified. The special range of -1 includes only the user and contents.
+
Остальные параметры доступа к ''src'' представляют собой списки. Инструкция ''view'' уже упоминалась, но она требует более подробного описания, чтобы вы могли понять связанную с ней инструкцию ''oview''.
   −
The related instruction oview() stands for `other' or `outside' view. It is identical to view() except it doesn't include the usr or the usr's contents. In other words, it excludes objects in view(-1), the so-called private or personal range.
+
Список ''view()'' содержит все объекты, видимые пользователем на заданном расстоянии. Список начинается с объектов в инвентаре пользователя, затем идет сам пользователь, объекты у его ног, затем в соседних квадратах и так далее по радиусу наружу. Расстояние 0, таким образом, включает в себя постройки(turf) (и область(area)), на котором стоит пользователь, и его содержимое. Расстояние 1 добавляет соседние восемь квадратов и их содержимое. Максимальное расстояние - 5, так как оно включает в себя всю видимую карту на экране игрока. (Как изменить размер области просмотра карты, вы узнаете в главе 14.) Поскольку этот диапазон часто является желаемым, он используется по умолчанию, когда диапазон не указан. Специальный диапазон -1 включает только пользователя и содержимое.
   −
As an example of using usr and usr.loc, consider a pair of verbs to allow picking up and dropping objects.
+
Связанная с ней инструкция ''oview()'' означает "другой" или "внешний" вид. Она идентична ''view()'', за исключением того, что не включает в себя ''usr'' или содержимое ''usr''. Другими словами, она исключает объекты в ''view(-1)'', так называемый приватный или личный диапазон.
 +
 
 +
В качестве примера использования ''usr'' и ''usr.loc'' рассмотрим пару ''verb'', позволяющих поднимать и опускать предметы.
    
  obj/verb
 
  obj/verb
Строка 159: Строка 160:  
       loc = usr.loc
 
       loc = usr.loc
   −
To see how oview() might come in handy, suppose there was a magical torch that one could summon from a greater distance than provided by the standard get verb.
+
Чтобы увидеть, как может пригодиться ''oview()'', предположим, что существует магический факел, который можно призвать с большего расстояния, чем позволяет стандартный ''verb/get''.
    
  obj/torch/verb/summon()
 
  obj/torch/verb/summon()
Строка 165: Строка 166:  
     loc = usr  //presto!
 
     loc = usr  //presto!
   −
Making use of the default range, torches can be summoned from anywhere in the player's view. If we had used view() instead of oview(), objects already inside the user's inventory could be summoned, which wouldn't make much sense.
+
Используя диапазон по умолчанию, факелы можно призвать из любого места в поле зрения игрока. Если бы мы использовали ''view()'' вместо ''oview()'', можно было бы вызывать объекты, уже находящиеся в инвентаре пользователя, что не имело бы особого смысла.
 
      
== Overriding Verbs ==
 
== Overriding Verbs ==
33

правки

Навигация