Строка 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