Online MUD игра АРДА
Общедоступные => Ошибки игры => Тема начата: Deyar от 06.04.06, 04:59:29
-
Коридор в 'Гарцующем пони'.
Этот коридор ведет из общего зала к номерам постоЯльцев. Вы можете пройти отсюда
в северный и южный флигелЯ гостиницы, а также попасть на второй и третий этажи.
Впрочем, вы должны отдавать себе отчет, что хорошие номера стоЯт денег, и вам
придетсЯ раскошелитьсЯ, чтобы снЯть себе номер. В южном флигеле, через
распахнутую дверь одного из номеров, вы видите сидЯщего в комнате человека.
Выходы: север юг запад вверх.
(Одиночка) *** Ужас мобов спит глубоким сном.
У *** громко бурчит в животе.
*** хочет пить.
РастЯнувшись на земле, *** заснул.
Так наш таинственный герой все-таки спал или нет?
PS Всякое совпадение с реальными людьми является случайным и непреднамеренным.
PPS Для Инферно: "***" это не оскорбления в чей-либо адрес, не мат и не ругательство итд итп. Вообщем, правил я не нарушал :)
-
Спал, но проснулся от голода-жажды. В чем глюк я так и не понял.
Хотя конечно могли бы это текстом выводить, что мол проснулся и т.д. Кстати, когда просыпаешься кажется оказываешься на ногах. Хотя было бы логичнее просто просыпаться.
-
На самом деле все очень просто. Когда персонаж доведен до состояния что хочет пить или есть, на нем срабатывает вызов повреждений (здоровье падает). В модуле повреждений всегда позиция сразу устанавливается в "стоит".
Естественно никаких сообщений в комнату что игрок проснулся не выдается.
Можно фиксить, фиксить тут:
update.c
void gain_condition( CHAR_DATA *ch, int iCond, int value )
...
if ( ch->pcdata->condition[iCond] == 0 )
...
вставить в строку 420:
act( AT_PLAINE, "$n проснул$z(ся:ась:ось)!", ch, NULL, NULL, TO_ROOM);
перед
retcode = damage(ch, ch, 2, TYPE_UNDEFINED);
аналогично смотреть в 430, 440.
-
Спасибо aldaril