Изменения

нет описания правки
Строка 8: Строка 8:  
Например, если мы напишем:
 
Например, если мы напишем:
   −
obj
+
obj
 
     vasya
 
     vasya
   Строка 15: Строка 15:       −
obj
+
obj
 
                 cverkun
 
                 cverkun
 
                               luminosity = 0
 
                               luminosity = 0
Строка 28: Строка 28:  
Как же нам задействовать то, что мы написали? Вариантов много, например мы можем использовать конструктор New() в качестве команды, с которой начнет свое выполнение наш метод cverkun.
 
Как же нам задействовать то, что мы написали? Вариантов много, например мы можем использовать конструктор New() в качестве команды, с которой начнет свое выполнение наш метод cverkun.
   −
obj
+
obj
 
                 cverkun
 
                 cverkun
 
                               luminosity = 0
 
                               luminosity = 0
Строка 47: Строка 47:  
Есть много вариантов взаимодействия, начнем с кнопок. Кнопка, или verb позволяет пользователю взаимодействовать с миром бьенда через специальный интерфейс, который на космической станции, к примеру, расположен справа, вверху. verb’ы могут разделяться на вкладки, таким образом их можно расположить удобным для пользователя образом.  Покажем пример работы verb’a на примере:
 
Есть много вариантов взаимодействия, начнем с кнопок. Кнопка, или verb позволяет пользователю взаимодействовать с миром бьенда через специальный интерфейс, который на космической станции, к примеру, расположен справа, вверху. verb’ы могут разделяться на вкладки, таким образом их можно расположить удобным для пользователя образом.  Покажем пример работы verb’a на примере:
   −
/mob
+
/mob
 
     dog                       
 
     dog                       
 
         verb/gav_gav()
 
         verb/gav_gav()
Строка 66: Строка 66:       −
/mob
+
/mob
 
     Bump(var/atom/O)
 
     Bump(var/atom/O)
 
         if(istype(O, /turf/wall))
 
         if(istype(O, /turf/wall))
Строка 76: Строка 76:  
Важно помнить, что если мы пропишем
 
Важно помнить, что если мы пропишем
   −
/turf/wall
+
/turf/wall
 
     Bump(var/atom/O)
 
     Bump(var/atom/O)
 
         if(istype(O, /mob))
 
         if(istype(O, /mob))
Строка 88: Строка 88:  
Так как с этим работать? Легко. Допустим у нас есть тайл с лавой, мы хотим чтобы при попадании на него нас отправляло в вальгаллу. Достаточно сделать вот такой код:
 
Так как с этим работать? Легко. Допустим у нас есть тайл с лавой, мы хотим чтобы при попадании на него нас отправляло в вальгаллу. Достаточно сделать вот такой код:
   −
/turf/lava/Enter(var/mob/nash_mob) //фиксируем попадание на тайл с лавой
+
/turf/lava/Enter(var/mob/nash_mob) //фиксируем попадание на тайл с лавой
 
     nash_mob.Move(valhalla) //перемещаем моба в вальхаллу
 
     nash_mob.Move(valhalla) //перемещаем моба в вальхаллу
 
     return 1 //разрешаем мобу наступить на тайл
 
     return 1 //разрешаем мобу наступить на тайл
Строка 101: Строка 101:  
Click() — метод, переопределяя который мы можем привязать действие, к, собственно, клику.  Вот так оно работает:
 
Click() — метод, переопределяя который мы можем привязать действие, к, собственно, клику.  Вот так оно работает:
   −
obj/bomb //бомба
+
obj/bomb //бомба
 
                 Click() //клик
 
                 Click() //клик
   
                                   world << “boom!” //получили взрыв. Просто до безумия
 
                                   world << “boom!” //получили взрыв. Просто до безумия
   Строка 117: Строка 116:  
С задержками связано очень много, подробнее о применении с примерами и вероятными проблемами, я расскажу в следующей части. Спасибо за внимание.  
 
С задержками связано очень много, подробнее о применении с примерами и вероятными проблемами, я расскажу в следующей части. Спасибо за внимание.  
   −
/turf/valhalla /Exit (var/mob/nash_mob) //фиксируем попадание на тайл
+
/turf/valhalla /Exit (var/mob/nash_mob) //фиксируем попадание на тайл
 
     nash_mob << “Нельзя выйти отсюда” //выводим мобу сообщение
 
     nash_mob << “Нельзя выйти отсюда” //выводим мобу сообщение
   
         return 0 //не разрешаем мобу выйти с тайла
 
         return 0 //не разрешаем мобу выйти с тайла
    
Cross(). Работает почти абсолютно таким же образом как Enter, но отличие в том, что в данном случае фиксируется как раз наступание на объект, а не перемещение в него. То есть, мы должны  просто попасть на один тайл с объектом. И да, наступание тоже можно блокировать с помощью return 0.
 
Cross(). Работает почти абсолютно таким же образом как Enter, но отличие в том, что в данном случае фиксируется как раз наступание на объект, а не перемещение в него. То есть, мы должны  просто попасть на один тайл с объектом. И да, наступание тоже можно блокировать с помощью return 0.
   −
/mob/snek/Cross(var/mob/nash_mob) //фиксируем наступание на змею
+
/mob/snek/Cross(var/mob/nash_mob) //фиксируем наступание на змею
 
     nash_mob << “no step on snek ” //выводим мобу сообщение
 
     nash_mob << “no step on snek ” //выводим мобу сообщение
 
     return 0 //не разрешаем мобу наступить на snek
 
     return 0 //не разрешаем мобу наступить на snek
692

правки