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