Online MUD игра АРДА

Общедоступные => Ошибки игры => Тема начата: aldaril от 21.04.05, 18:29:47

Название: освещенность комнаты
Отправлено: aldaril от 21.04.05, 18:29:47
=====================
то Игрокам:

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

пользуемся ;)
=====================

то иммам:
ошибка Смауга лечится так:
смотрим load_char_obj
находим вхождение
               if ( save_equipment
  • )
                   {
                       equip_char( ch, save_equipment
    • , i );
                         save_equipment
      • = NULL;
                       }

        добавляем строкой ниже после equip_char
                           if ( get_eq_light(ch) && ch->in_room && ch->in_room->light > 0 )
                              --ch->in_room->light;

        В: что такое get_eq_light(ch) ?
        О: выявляет наличие освещения у чара (мне было проще вывести отдельной функцией)

        В: в чем был глюк ?
        О: при загрузке игрока в мад происходит дубляж увеличения показателя ->light для комнаты
        первый раз в equip_char
        второй раз в char_to_room

        исправляем ;)
        =====================

Название: освещенность комнаты
Отправлено: Nanni от 21.04.05, 18:53:46
*обалдела*

мдя... если даже после такого разбора багу не исправят...
Название: освещенность комнаты
Отправлено: Alanna от 24.02.07, 17:54:16
Спасибо, Алдарил, верное замечание.
Только правится это куда проще: в equip_char вставить проверку
if (ch != loading_char).
Исправлено, вскоре подключим.