1instead_version "1.6.3" 2require "proxymenu" 3require "hideinv" 4 5game.forcedsc = true 6 7minv = obj_menu('С СОБОЙ', 'exam', false, true); 8mlook = obj_menu('ОСМОТРЕТЬ', 'exam', true); 9mtake = obj_menu('ВЗЯТЬ', 'take', true); 10mdrop = obj_menu('БРОСИТЬ', 'drop', false, true); 11meat = obj_menu('ЕСТЬ', 'eat', true, true); 12mpush = obj_menu('ТОЛКАТЬ', 'push', true); 13muse = use_menu('ИСПОЛЬЗОВАТЬ', 'useon', 'used', 'useit', true, true); 14mgive = use_menu('ОТДАТЬ', 'give', 'accept', false, true, true, true); 15mwalk = obj_menu('ИДТИ', 'walk', false, false, true); 16 17game.useit = 'Не помогло.' 18game.use = 'Не сработает.' 19game.give = 'Отдать? Ни за что!' 20game.eat = 'Не буду это есть.' 21game.drop = 'Еще пригодится.' 22game.exam = 'Ничего необычного.' 23game.take = 'Стоит ли это брать?' 24game.push = 'Ничего не произошло.' 25 26game.after_take = function(s, w) 27 take(w) 28end 29 30game.after_drop = function(s, w) 31 drop(w) 32end 33 34put(minv, me()) 35put(mlook, me()) 36put(mtake, me()) 37put(mdrop, me()) 38put(meat, me()) 39put(mpush, me()) 40put(muse, me()) 41put(mgive, me()) 42-- put(mwalk, me()) 43 44status = stat { 45 _Turns = 0, 46 life = function(s) 47 s._Turns = s._Turns + 1; 48 end; 49 nam = function(s) 50 return 'Статус игрока: '..s._Turns..'^'; 51 end 52}; 53lifeon 'status' 54 55put(status, me()); 56 57knife = obj { 58 nam = 'ножик', 59 dsc = 'На полу валяется ножик.', 60 exam = 'Бесполезный перочинный ножик.', 61} 62 63main = room { 64 nam = 'intro', 65 hideinv = "true", 66 dsc = 'Введение', 67 exit = function(s) 68 inv():add('knife'); 69 end, 70 obj = { vway('next','{Дальше}.', 'r1') } 71} 72 73cube = obj { 74 nam = 'куб', 75 dsc = 'В центре комнаты находится куб.', 76 take = 'Вы взяли куб', 77 exam = 'Мультифункциональный куб -- написано на кубе.', 78 drop = 'Вы положили куб.', 79 useit = 'Как можно использовать куб?', 80 talk = 'Вы поговорили с кубом.', 81 eat = function(s) 82 return 'Вы не можете разгрызть куб.', false; 83 end, 84 open = 'Вы открыли куб.', 85 close = 'Вы закрыли куб.', 86 push = 'Вы толкаете куб.', 87 give = function(s, w) 88 return 'Вы пытаетесь отдать куб объекту: '..deref(w)..'.', false 89 end, 90 useon = function(s, w) 91 return 'Вы пытаетесь юзать куб на объект: '..deref(w)..'. Получилось!' 92 end, 93 used = 'Куб поюзан.', 94}; 95 96sphere = obj { 97 nam = 'сфера', 98 dsc = 'В центре комнаты находится сфера.', 99 take = 'Вы взяли сферу', 100 exam = 'Мультифункциональная сфера -- написано на сфере.', 101 drop = 'Вы положили сферу.', 102 useit = 'Как можно использовать сферу?', 103 talk = 'Вы поговорили с сферой.', 104 eat = function(s) 105 return 'Вы не можете разгрызть сферу.', false; 106 end, 107 open = 'Вы открыли сферу.', 108 close = 'Вы закрыли сферу.', 109 push = 'Вы толкаете сферу.', 110 give = function(s, w) 111 return 'Вы пытаетесь отдать сферу объекту: '..nameof(w)..'.', false 112 end, 113 useon = function(s, w) 114 return 'Вы пытаетесь юзать сферу на объект: '..nameof(w)..'. Получилось!' 115 end, 116 used = 'Сфера поюзана.', 117}; 118 119r1 = room { 120 nam = 'комната', 121 dsc = 'Вы в комнате', 122 obj = { cube, sphere }, 123} 124