Mob creation example
Пример создания моба
Объекты делаются аналогично.
Не рекомендуется новичкам делать зоны "с нуля". Попросите внести вас
в список строителей какой-нибудь тестовой зоны, или сделать заготовку
новой зоны.
Прежде всего - посмотрим, какие мобы уже есть. Список мобов (и предметов)
можно вывести командами MLIST (и OLIST), находясь в редакторе комнат REDIT.
Можно вывести всех мобов или только некоторых.
Test Area 10000 > redit
Test Area 10000 10000> mlist all
[10000] Моб [10001] Мирный эльф [10002] Аватра Влада
[10003] Чудовище [10004] Привратник ада [10005] (no short descri
[10010] Цербер [10011] (no short descri [10020] Голодный кадавр
[10030] Мама [10031] (no short descri
Создать нового моба - подкоманда CREATE. Для редактирования
уже существующего просто указываем номер.
Test Area 10000 10000> medit create 10032
Mobile Created.
По команде SHOW (или просто нажав Enter) выводится все параметры - сейчас
они все практически пустые.
Test Area 10000 10032>
Name: [no name]
Area: [ 63] Test Area
Act: [npc]
Vnum: [10032] Sex: [neutral] Race: [human]
Level: [ 0] Align: [ 0] Hitroll: [ 0] Dam Type: [none]
Hit dice: [ 0d0 + 0] Damage dice: [ 0d0 + 0] Mana dice: [ 0d0 + 0]
Affected by: [none]
Armor: [pierce: 0 bash: 0 slash: 0 magic: 0]
Form: [none]
Parts: [none]
Imm: [none]
Res: [none]
Vuln: [none]
Off: [none]
Size: [medium]
Material: [unknown]
Start pos. [standing]
Default pos [standing]
Wealth: [ 0]
Short descr: (no short description)
Long descr:
(no long description)
Description:
Вводим имена, описания и прочие...
Test Area 10000 10032> name мальчик маленький boy small
Name set.
Имя рекомендуется писать первым русское, существительное
Test Area 10000 10032> short маленький мальчик
Short description set.
Это то словосочетание, которое используется
в действиях, например,
Ты даешь маленькому мальчику яблоко.
Test Area 10000 10032> long Маленький мальчик играет тут.
Long description set.
Test Area 10000 10032> race human
Race set.
Test Area 10000 10032> level 5
Level set.
Если не хочется забиваь себе голову параметрами жизни, маны и проч. -
делаем AUTOSET. Есть еще AUTOEASY и AUTOHARD
Test Area 10000 10032> autoset
AC Values set.
Manadice set.
Damdice set.
Hitdice set.
Hitroll set.
Test Area 10000 10032>
Name: [мальчик маленький boy small]
Area: [ 63] Test Area
Act: [npc]
Vnum: [10032] Sex: [neutral] Race: [human]
Level: [ 5] Align: [ 0] Hitroll: [ 5] Dam Type: [none]
Hit dice: [11d2 + 51] Damage dice: [ 1d5 + 7] Mana dice: [ 5d10 + 85]
Affected by: [none]
Armor: [pierce: 59 bash: 59 slash: 59 magic: 70]
Form: [edible sentient biped mammal]
Parts: [head arms legs heart brains guts hands feet fingers ear eye]
Imm: [none]
Res: [none]
Vuln: [none]
Off: [none]
Size: [medium]
Material: [unknown]
Start pos. [standing]
Default pos [standing]
Wealth: [ 0]
Short descr: маленький мальчик
Long descr:
Маленький мальчик играет тут.
Description:
Test Area 10000 10032> sex male
Sex set.
Test Area 10000 10032> wealt 20
Wealth set.
Не забудем поставить ему ACT.
Test Area 10000 10032> act stay_area wimpy
Act flag toggled.
Теперь попробуем разнообразия - аффектов и поведения.
Test Area 10000 10032> aff
Syntax: affect [flag]
Type '? affect' for a list of flags.
Test Area 10000 10032> ? affe
blind invisible detect_evil detect_invis
detect_magic detect_hidden detect_good sanctuary
faerie_fire infrared curse poison
protect_evil protect_good sneak hide
sleep charm flying pass_door
haste calm plague weaken
dark_vision berserk swim regeneration
slow camouflage
Test Area 10000 10032> aff haste
Affect flag toggled.
Test Area 10000 10032> off
Syntax: off [flags]
Type '? off' for a list of flags.
Test Area 10000 10032> ? off
area_attack backstab bash berserk
disarm dodge fade fast
kick dirt_kick parry rescue
tail trip crush assist_all
assist_align assist_race assist_players assist_guard
assist_vnum
Test Area 10000 10032> off trip
Offensive behaviour toggled.
Test Area 10000 10032>
Name: [мальчик маленький boy small]
Area: [ 63] Test Area
Act: [npc stay_area wimpy]
Vnum: [10032] Sex: [male ] Race: [human]
Level: [ 5] Align: [ 0] Hitroll: [ 5] Dam Type: [none]
Hit dice: [11d2 + 51] Damage dice: [ 1d5 + 7] Mana dice: [ 5d10 + 85]
Affected by: [haste]
Armor: [pierce: 59 bash: 59 slash: 59 magic: 70]
Form: [edible sentient biped mammal]
Parts: [head arms legs heart brains guts hands feet fingers ear eye]
Imm: [none]
Res: [none]
Vuln: [none]
Off: [trip]
Size: [medium]
Material: [unknown]
Start pos. [standing]
Default pos [standing]
Wealth: [ 20]
Short descr: маленький мальчик
Long descr:
Маленький мальчик играет тут.
Description:
Забыли описание - то что будет выдаваться при команде СМОТРЕТЬ.
Test Area 10000 10032> desc
-=======- Entering APPEND Mode -========-
Набери .h с новой строки для подсказки
Закончить - ~ или @ на новой строке.
-=======================================-
> На вид ему лет 7-8.
> @
Для придания ему MobProg лучше всего сначала посмотреть аналогичные
у других мобов. К сожалению, сейчас еще нет выдачи списка номеров.
Рекомендуется назначать номера программ, совпадающие с номерами мобов.
Итак, подсмотрим у моба 10000
Test Area 10000 10032> medit 10000
.........
MOBPrograms for [10000]:
Number Vnum Trigger Phrase
------ ---- ------- ------
[ 0] 10000 GREET 100
[ 1] 10021 DELAY 1
Test Area 10000 10000> mpedit 10000
Test Area 10000 10000>
Vnum: [10000]
Code:
if isgood $n
say You are good !
endif
if isevil $n
say You are EVIL
endif
if isneutral $n
say you are Neutral
endif
Test Area 10000 10032> medit 10032
Test Area 10000 10032> addmp
Test Area 10000 10032> addmp
Syntax: addmprog [vnum] [trigger] [phrase]
Test Area 10000 10032> addmp 10000 GREET 100
Mprog Added.
Test Area 10000 10032>
MOBPrograms for [10032]:
Number Vnum Trigger Phrase
------ ---- ------- ------
[ 0] 10000 GREET 100
На первых порах пока хватит. Заканчиваем с редактированием моба.
Test Area 10000 10032> done
Неплохо бы его поставить тут. Это называется RESET.
Вот список того, что здесь в этой комнате появляется.
Test Area 10000 > reset
Resets: M = mobile, R = room, O = object, P = pet, S = shopkeeper
No. Loads Description Location Vnum Mx Mn Description
==== ======== ============= =================== ======== ===== ===========
[ 1] M[10000] моб in room R[10000] 2- 1 Первая тестовая
[ 2] O[10001] вкусный окоро held in the hands M[10000] моб
[ 3] O[10000] камешек in room R[10000] Первая тестовая
Test Area 10000 > reset 4 mob 10032 1 1
Reset added.
Test Area 10000 > reset
Resets: M = mobile, R = room, O = object, P = pet, S = shopkeeper
No. Loads Description Location Vnum Mx Mn Description
==== ======== ============= =================== ======== ===== ===========
[ 1] M[10000] моб in room R[10000] 2- 1 Первая тестовая
[ 2] O[10001] вкусный окоро held in the hands M[10000] моб
[ 3] O[10000] камешек in room R[10000] Первая тестовая
[ 4] M[10032] маленький мал in room R[10000] 1- 1 Первая тестовая
Test Area 10000 > reset 5 obj 10000 hold
Reset added.
Test Area 10000 > reset 6 obj 10001 none
Reset added.
Test Area 10000 > reset
Resets: M = mobile, R = room, O = object, P = pet, S = shopkeeper
No. Loads Description Location Vnum Mx Mn Description
==== ======== ============= =================== ======== ===== ===========
[ 1] M[10000] моб in room R[10000] 2- 1 Первая тестовая
[ 2] O[10001] вкусный окоро held in the hands M[10000] моб
[ 3] O[10000] камешек in room R[10000] Первая тестовая
[ 4] M[10032] маленький мал in room R[10000] 1- 1 Первая тестовая
[ 5] O[10000] камешек held in the hands M[10032] Первая
[ 6] O[10001] вкусный окоро in the inventory M[10032] Первая
Теперь все это хорошо бы сохранить !
Test Area 10000 > asave
Syntax:
asave - saves a particular area
asave list - saves the area.lst file
asave area - saves the area being edited
asave changed - saves all changed zones
asave world - saves the world! (db dump)
Test Area 10000 > asave area
Saved zones:
Test Area - 'testarea.are'
Никогда не используйте ASAVE WORLD !!!
А теперь надо бы этого моба заставить появиться тут.
Test Area 10000 > redit reset
Room reset.
На этом первый урок позвольте закончить