Re: [心得] 区域写作 MOB

楼主: eplis (Eplis)   2013-01-16 11:12:53
※ 引述《eplis (Eplis)》之铭言:
这篇来介绍mob怎么写,将非常的复杂..,按照惯例先来个完整例子
==========================================================================
#4097
elf warrior~
精灵族武士(elf warrior)~
全付武装, 严阵待敌的精灵族武士(warrior)
~
呵!Ep是个俊男!真是的...入村以来没有一个人
长得难看的!上天真是不公平...#@%&$
这位英俊的武士全身穿着浅绿色的铠甲, 严密注视
周遭的动静.
~
131072 8|32|8192 30 S
72 80 -75 23000d0+0 30d0+0
2000 60000
0 0 1
0 3 0 0 2 0 0 0 10 3 0 0 0 0 0
>rand_prog 100~
if rand(1)
say 可恶的兽人, 不断来侵扰我族; 真是烦不胜烦!
sigh
endif
~
>fight_prog 100~
if rand(10)
emote 冷笑....
say 邪恶的家伙! 精灵岂是你能撂得倒的???
wear all
disarm
say 我倒要瞧瞧你能怎么打?
break
endif
if rand(20)
emote 吼道 “ 让你尝尝我们精灵的厉害!!!”
wear all
disarm
slash heavily
blast multi
endif
~
|
==========================================================================
#4097
mob编号
elf warrior~
mob英文ID,记得用 ~ 结尾
精灵族武士(elf warrior)~
mob在叙述上的完整名称,用~结尾
全付武装, 严阵待敌的精灵族武士(warrior)
玩家输入look,在房间看到该mob的叙述
~
呵! 又是个俊男! 真是的...入村以来没有一个人
长得难看的! 上天真是不公平...#@%&$
这位英俊的武士全身穿着浅绿色的铠甲, 严密注视
周遭的动静.
~
look elf warrior 时显示的叙述,用两个~为起始和结束。
131072 8|32|8192 30 S
[act] [aff] [align]
[act]:动作属性,代表此mob会有啥动作,一样在这个属性内都用 | 隔开
:#define ACT_IS_NPC 1 /* 设定为mob */
硬性规定NPC一定要使用这个flag!!
:#define ACT_SENTINEL 2 /* 在原地不走动 */
:#define ACT_SCAVENGER 4 /* 会乱捡物品 */
:#define ACT_AGGRESSIVE 32 /* 自动攻击玩家 */
:#define ACT_STAY_AREA 64 /* 不离开这个区域 */
:#define ACT_WIMPY 128 /* 被打就马上跑 */
:#define ACT_PET 256 /* 设定为宠物 */
:#define ACT_TRAIN 512 /* 可以帮玩家train */
:#define ACT_PRACTICE 1024 /* 可以帮玩家practice */
:#define ACT_TRIP 2048 /* 会绊倒 */
:#define ACT_ALBERT 4096 /* 亚伯特旗标 */
:#define ACT_HALIYA 8192 /* 哈里亚旗标 */
:#define ACT_DOCTOR 16384 /* 医师 */
:#define ACT_FRIENDLY_NPC 32768
/* 挂 ACT_FRIENDLY_NPC 旗标的NPC, 玩家的广域魔法不会打到他.
但是其它 NPC的攻击会造成其伤害. 适于用在此 NPC 与玩家
同一战线时使用(在需要时再加此 flag, 写成special function)
法术写作者也请将此一旗标列入广域魔法的攻击判断中. */
#define ACT_FRANK 65536
#define ACT_HUNT 131072
#define ACT_REMEMBER_ENEMY 262144
#define ACT_NOREBORN 524288 /* mob 不会再生. */
#define ACT_SETATTRIB 1048576 /* mob 可以设定属性 */
[aff] mob目前身上的状态
#define AFF_BLIND 1
#define AFF_INVISIBLE 2
#define AFF_DETECT_EVIL 4
#define AFF_DETECT_INVIS 8
#define AFF_DETECT_MAGIC 16
#define AFF_DETECT_HIDDEN 32
#define AFF_RENT 64
#define AFF_SANCTUARY 128
#define AFF_FAERIE_FIRE 256
#define AFF_INFRARED 512
#define AFF_CURSE 1024
#define AFF_BURN 2048
#define AFF_POISON 4096
#define AFF_PROTECT 8192
#define AFF_PARALYSIS 16384 /* Unused */
#define AFF_SNEAK 32768
#define AFF_HIDE 65536
#define AFF_SLEEP 131072
#define AFF_CHARM 262144
#define AFF_FLYING 524288
#define AFF_PASS_DOOR 1048576
#define AFF_PA_RESIST 2097152 /* 不死生物旗标 Undead */
#define AFF_JAIL 4194304 /* 天牢旗标 */
#define AFF_NOSUMMON 8388608 /* 不能summon*/
#define AFF_NOMOVE 16777216 /* 龙王有时后会走动soOOXX*/
#define AFF_NO_TELL 33554432 /* 不能给他说话 by Coman */
#define AFF_NO_WHIPWIND 67108864 /* 不能卷武器 by Eplis */
#define AFF_NO_CALL 134217728 /* 不能Call by Eplis */
[align] mob的阵营,范围在 -1000 ~ 1000
最后用 S 结尾
72 80 -75 23000d0+0 30d0+0
[Lv] [hitroll] [ac] [hp]d[career]+[class_sort] [damroll]d0+0
1.要注意 ac 是 *5
2.damroll如果是一般练攻区域就设0,因为随着lv提升就会增加了
且目前技能伤害普遍提升,不用加太多玩家就会被打爆了
3.class_sort就先默认0
4.career如下
0 <
作者: dasskabusk (达斯卡)   2013-09-28 12:31:00
真是复杂... 懒得弄了 XDDD
作者: wake01 (醒来)   2013-09-28 13:56:00
以roc经验我觉得写prog比较好玩 基本设定太繁杂 area也是

Links booklink

Contact Us: admin [ a t ] ucptt.com