// Решение: Выкладывание ненужных вещей в диалоге с Дензилом. // // На карте должны присутствовать: // Дилан = action object id=1000, layer 0 // ведро = item id=100, opaque, layer 4 // красное ведро = item id=101, opaque, layer 4 // листик = item id=102, disabled, opaque, layer 4 // ///////////////////////////////////////////////////////////////////////////////// // Общение с персонажем ///////////////////////////////////////////////////////////////////////////////// func UseObject_1000( idx ) { // проверяем, соответствует ли id предмета 101 if(idx==ObjFind(101)) { Message2(3,8,"MY RED BUCKET!\nTHANKS DIZZY!"); MessagePop(); InventorySub(idx); // удалить предмет из корзины Message2(4,9,"HERE IS SOMETHING\nFOR YOU TOO!"); MessagePop(); ObjSet(ObjFind(102),O_DISABLE,0); ObjSet(ObjFind(1000),O_STATUS,2); // задача решена } else if(idx==ObjFind(100) && ObjGet(ObjFind(1000),O_STATUS)!=2) { // белое ведро, и задача не решена Message2(3,8,"NO DIZZY,\nTHIS IS NOT MY BUCKET!\nMINE WAS RED."); MessagePop(); } else { // выложить предмет ничего не говоря DropObject(idx); } } func ActionObject_1000( idx ) { if(ObjGet(ObjFind(1000),O_STATUS)==0) // первое сообщение { Message2(3,8,"DIZZY, I'VE LOST\nMY BUCKET!"); MessagePop(); ObjSet(ObjFind(1000),O_STATUS,1); // изменить статус диалога } else // next time { // открыть корзину, чтобы игрок выбрал предмет idx = OpenDialogInventory(); if(idx!=-1) { // если предмет выбран, то вызвать // функцию обработки UseObject для данного предмета UseObject(idx); } } } /////////////////////////////////////////////////////////////////////////////////