-
Notifications
You must be signed in to change notification settings - Fork 15
Admin: Local testing FAQ
Вопросы, которые часто возникают при локальном тестировании изменений в коде. Напомним, в локальной версии есть персонаж Кадм, с правами имплементора, а также доступом к Фене и OLC. Можно пользоваться всем этим для тестирования.
Есть несколько удобных иммортальских команд для операций с предметами и мобами (список всех команд можно посмотреть через wizhelp
).
Загрузить моб или предмет по vnum:
load obj 3000
load mob 3001
Выяснить vnum моба или предмета по имени:
vnum obj пиво
vnum mob булочник
Выяснить vnum всех предметов данного типа:
vnum type gem
vnum type scroll
Вывести свойства предмета, моба или комнаты (также доступно через выпадающее меню в веб-клиенте):
stat obj имя
stat mob имя
stat room
stat room 3001
В базовую сборку добавлена феневая "корка" (база данных) с несколькими сценариями, в том числе и со сценарием Архивариуса, ответственным за создание новых персонажей. Для этого надо зайти на порт 9000, вместо 9001.
Пусть профайлы нового персонажа называются gosha.player и gosha.xml:
cd /home/dreamland/runtime
cp gosha.player var/db/oldstyle/backup
cp gosha.xml var/db/backup
Изнутри мира восстановим профайл и проверим, правильно ли создался персонаж:
profile recover gosha
finger gosha
Установить профессию Кадму и выставить все умения на 100%:
eval profession=.Profession("warlock")
set skill kadm all 100
Установить профессию кому-то еще (из-под Кадма):
eval get_char_world("gosha").profession=.Profession("ninja")
set skill gosha all 100
Список всех профессий смотреть в: dreamland_world/professions или /home/dreamland/runtime/share/DL/professions
Себе, через феню (при этом здоровье и прочее пересчитываться не будет):
eval level=99
Будучи кодером на локальном мире:
advance self 100
advance gosha 100
Параметры пересчитываются, но как-то криво, особенно при уменьшении уровня.
Аналогично, себе или кому-то:
eval hometown=.Hometown("solace")
eval get_char_world("gosha").hometown=.Hometown("midgaard_neutral")
Список всех городов смотреть в: dreamland_world/hometowns или /home/dreamland/runtime/share/DL/hometowns
Аналогично, себе или кому-то:
eval race=.Race("satyr")
eval get_char_world("gosha").race=.Race("human")
Список всех рас: dreamland_world/races или /home/dreamland/runtime/share/DL/races, искать файлы с типом DefaultPCRace в корневой ноде XML.
Есть божественная команда set, можно получить краткую справку по ее подкомандам:
set char
set obj
Помимо этого, многие поля можно изменить из Фени, однако не каждое поле будет доступно для записи. Список полей и методов для разных сущностей можно быстро посмотреть, вызвав метод api() и отпечатав его игроку (ptc означает print to char):
eval ptc(api()) # игрок (this, т.к. Кадм)
eval ptc(get_char_world("valkyr").api()) # моб, в данном случае Валькирия
eval ptc(.get_mob_index(3000).api()) # прототип моба
eval ptc(get_obj_world("barrel").api()) # предмет, в данном случае какой-то бочонок
eval ptc(.get_obj_index(3000).api()) # прототип предмета
eval ptc("some string".api()) # строка
eval ptc(.api()) # корневой объект
Также удобно пользоваться таблицами полей и методов в Феневом API на сайте.
Можно воспользоваться божественной командой force или же Феней:
force valkyr smile
eval get_char_room("valkyr").interpret("smile")
Божественные команды с краткой подсказкой:
wizhelp
Все игровые команды, умения и заклинания (для текущей профессии):
commands hints
skills skill
skills spell
Например, для команды look:
command show look
команды показ смотреть
Из-под Кадма запустите команду gq
и прочтите синтаксис:
gquest start <id> [<min_level> <max_level>] [<time>] [<arg>] [<playerCnt>]
- запуск глобала:
- <id> имя глобала, список см. по gquest list
- <levels> указывают диапазн уровней для квестов типа gangsters
- <time> указывает длительность в минутах, по умолчанию 30
- <arg> указывает имя сценария, если они поддерживаются квестом
- <playerCnt> имитирует запуск квеста как будто онлайн такое кол-во игроков
Примеры:
- Запуск бандитов на 29 минут для уровней 5-10:
gq start gangsters 5 10 29
- Запуск радуги/грехов на 30 минут, как будто в мире 5 человек онлайн
gq start rainbow 30 rainbow 5
gq start rainbow 30 sins 5
- Запуск нашествия, как будто в мире 7 человек онлайн
gq start invasion 30 locust 7
- Остановка запущенного квеста:
gq stop gangsters
- Посмотреть, что сейчас запущено (квесты типа радуги выдают стартовое сообщение только через 1 минуту)
gq list