Форум online MUD игры АРДА
22.10.18, 16:18:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости:
 
   Начало   Помощь Поиск Календарь Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как проверять заполненность контейнера?  (Прочитано 8513 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Карина
Завсегдатай
*

Карма: 2
Офлайн Офлайн

Сообщений: 77


Здравствуйте, я ваша тётя!


« : 09.06.07, 15:30:47 »

Допустим есть сундук. В сундуке изначально уже что-то лежит.
Его можно открыть, извлечь содержимое, заполнить любым другим содержимым.

Программе нужно принять решение:
если кол-во предметов в судуке = 0 (сундук пуст), то выполнить А
если же кол-во предметов в судуке >= 1 то выполнить Б.

Как мне узнать количество предметов в сундуке?  Roll Eyes
Записан

Ваша тётя
Maikroft
Братство Ронинов
Герой
****

Карма: -38
Офлайн Офлайн

Сообщений: 2063


He B Ce6e


« Ответ #1 : 09.06.07, 15:49:41 »

Бред какой-то. ;)
Записан

Jedem das Seine
Mel in ore, verba in lacis, fel in corde, fraus in fractis
Локхорн
Громогласный
******

Карма: 4
Офлайн Офлайн

Сообщений: 3422


Псевдомудрое и как бы мыслящее


WWW
« Ответ #2 : 09.06.07, 16:02:52 »

1) опустошить сундук.
2) набрать "жерт все"
3). посчитать количество строк.
Записан

bash: Помоему, у геймеров есть только один инстинкт - инстинкт автосохранения
Карина
Завсегдатай
*

Карма: 2
Офлайн Офлайн

Сообщений: 77


Здравствуйте, я ваша тётя!


« Ответ #3 : 09.06.07, 17:13:47 »

вы наверное не поняли.
с точки зрения билдера.
я вешаю тригг на комнату и отслеживаю события, которые происходят с контейнером.
я вижу как его открывают, закрывают, кладут туда предметы, извлекают.
но я не могу посчитать сколько там предметов.
Записан

Ваша тётя
Maikroft
Братство Ронинов
Герой
****

Карма: -38
Офлайн Офлайн

Сообщений: 2063


He B Ce6e


« Ответ #4 : 09.06.07, 17:21:52 »

Если с точки зрения builder'а: чего ты хочешь добиться в конечном итоге подсчетом предметов?
Записан

Jedem das Seine
Mel in ore, verba in lacis, fel in corde, fraus in fractis
Карина
Завсегдатай
*

Карма: 2
Офлайн Офлайн

Сообщений: 77


Здравствуйте, я ваша тётя!


« Ответ #5 : 09.06.07, 17:24:13 »

важен не столько подсчет предметов, сколько наличие их в контейнере.
если контейнер пуст, то программа выполняет некую операцию.
если контейнер чем-то заполнен, хоть одним предметом (можно и больше),
то программа выполняет некую другую операцию
Записан

Ваша тётя
Maikroft
Братство Ронинов
Герой
****

Карма: -38
Офлайн Офлайн

Сообщений: 2063


He B Ce6e


« Ответ #6 : 09.06.07, 17:37:39 »

Хм. Разве что:

Цитировать
if objtype($o) == 15
if objval0($o) > 10

P.S. Проверка на вместимость, не тестило.
Записан

Jedem das Seine
Mel in ore, verba in lacis, fel in corde, fraus in fractis
Карина
Завсегдатай
*

Карма: 2
Офлайн Офлайн

Сообщений: 77


Здравствуйте, я ваша тётя!


« Ответ #7 : 09.06.07, 17:58:57 »

objtype просто даст мне инфу о типе предмета
objval0 для контейнера содержит значение только общего объема и никогда не меняется
но как-то ведь smaug вычисляет сколько в контейнере места?!  Huh?
он же знает когда нужно сказать "больше не влезает"
Записан

Ваша тётя
Maikroft
Братство Ронинов
Герой
****

Карма: -38
Офлайн Офлайн

Сообщений: 2063


He B Ce6e


« Ответ #8 : 09.06.07, 18:15:42 »

Не спорю, objval0 - проверка на общую вместимость контейнера, я специально привело пример "if objval0($o) > 10".
Соответственно, в данной строке идет проверка "если вместимость более 10".

В код, пожалуй, не полезу.
Записан

Jedem das Seine
Mel in ore, verba in lacis, fel in corde, fraus in fractis
Barkett
Любимец Богов
***

Карма: -6
Офлайн Офлайн

Сообщений: 1318



« Ответ #9 : 09.06.07, 18:39:14 »

Допустим есть сундук. В сундуке изначально уже что-то лежит.
Его можно открыть, извлечь содержимое, заполнить любым другим содержимым.

Программе нужно принять решение:
если кол-во предметов в судуке = 0 (сундук пуст), то выполнить А
если же кол-во предметов в судуке >= 1 то выполнить Б.

Как мне узнать количество предметов в сундуке?  Roll Eyes

Я бы сделал следующее, насколько я помню возможности мобпрог (очень давно уже не смотрел в мобпроги Арды) - создал бы служебного моба с хп допустим 100 и поместил его в созданную заранее служебную комнату зоны, включил бы мобу wizinviz, заставил его перейти к контейнеру, взять контейнер,  перместиться в эту служебную комнату (хотя бы vnum 10 или созданную специально для этого в зоне, но в нее не должен попадать игрок в ходе своих перемещений по зоне), пожертвовал там все, высыпал предметы из сундука, получил бы их количество в комнате, записал в качестве переменной на моба в качестве хп, собрал все в контейнер, а дальше уже анализировать по желанию и действовать соответственно.

З.Ы. Условие вверху кстати не требует выяснения ТОЧНОГО кол-ва предметов в сундуке, достаточно знать что их больше одного Wink
Записан

если у вас совесть чиста, значит ваш друг - Бог. (с) Е.Ачилова

http://klanz.ru/ref/user_4535
Карина
Завсегдатай
*

Карма: 2
Офлайн Офлайн

Сообщений: 77


Здравствуйте, я ваша тётя!


« Ответ #10 : 09.06.07, 18:53:34 »

предметы из сундука, получил бы их количество в комнате, записал в качестве переменной на моба в качестве хп

как это делается, поточнее, если можно?  Roll Eyes
Записан

Ваша тётя
Barkett
Любимец Богов
***

Карма: -6
Офлайн Офлайн

Сообщений: 1318



« Ответ #11 : 09.06.07, 23:30:24 »

предметы из сундука, получил бы их количество в комнате, записал в качестве переменной на моба в качестве хп

как это делается, поточнее, если можно?  Roll Eyes

http://arda.pp.ru/build/bulletin.txt
Записан

если у вас совесть чиста, значит ваш друг - Бог. (с) Е.Ачилова

http://klanz.ru/ref/user_4535
Alanna
Бессмертные
Победитель нежити
*****

Карма: 5
Офлайн Офлайн

Сообщений: 614



« Ответ #12 : 10.06.07, 13:41:33 »

Никакого способа для непосредственной проверки такого условия в мобпрограммах сейчас нет. Никому раньше это не было нужно =о) Если это ДЕЙСТВИТЕЛЬНО будет нужно, можно сделать новую специальную проверку. Способы типа того, о котором говорит Barkett, иногда помогают в подобных случаях, хотя, конечно, специальная проверка лучше. Но нужна ли она?
Записан

Легконогая
НеРеВаР
Орден Теней
Путешественник
**

Карма: 2
Офлайн Офлайн

Пол: Мужской
Сообщений: 202



« Ответ #13 : 10.06.07, 22:43:58 »

Имхо нужна, потому что я сталкивался с такой проблемой:
в программе нужно было подгрузить предмет в контейнер с ограниченной вместимостью, и для этого пришлось вытаскивать оттуда все, что там лежало, и класть только нужные вещи обратно...
Записан

There Are A Lot Of People, Totally Opposed To VIOLENCE.
There Are All Dead... (с)
Карина
Завсегдатай
*

Карма: 2
Офлайн Офлайн

Сообщений: 77


Здравствуйте, я ваша тётя!


« Ответ #14 : 12.06.07, 18:38:07 »

Вот, и не только в таких случаях. Я, к примеру, хотела квест на этой проверке завязать. Не вышло...
Чем больше возможностей, тем больше идей. И наоборот, конечно...  Roll Eyes
Записан

Ваша тётя
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0.098 секунд. Запросов: 26.