2013-10-30 关于服务器端对象的属性

我认为每一个服务器端NPC对象,可以具有以下三类属性:

1. 身体方面的特性,我是用一个vdb速查表来描述:
    名称
    行动类型(水栖/陆栖/空栖/空陆双栖/水陆双栖)
    动物的陆地行走模式,用作客户端在动物行走时调整其身体姿态用.
    对象的载具类型
    对象的脚步声类型
    对象的脚印类型
    对象脚印的尺寸比例
    动物的天敌ID(在魔兽里面有没有看到狼吃鸡?)

2. 行为处理方面的特性,我是用一个类似C++的类描述文本来定义:
    ;------------------------------------------------------------  类定义:
    ; 可使用/打开/拾取的物体类
    class
    {
         id = 1000
         name = "UsableObject"
         mUse = "@use"
         mIsCanUsing = "@IsCanUsing"
    }
;------------------------------------------
    ; 原地停留的敌对NPC
    class
    {
        id = 1001
        name = "StayingNPC"
        OnlyCreature = TRUE
        svAttach = 100
        svDefense = 100
        svHealth = 100
        svMagic = 100
        svCampToPlayer = ENEMY
        dvItemSlot1 = 0  ; 物品ID为0表示无物品
        dvItemSlot2 = 0
        dvItemSlot3 = 0
        dvItemSlot4 = 0
        dvItemSlot5 = 0
        dvItemSlot6 = 0
        dvSkillSlot1 = 0  ; 技能ID为0表示无技能
        dvSkillSlot2 = 0
        dvSkillSlot3 = 0
        dvSkillSlot4 = 0
dvSkillSlot5 = 0
        dvSkillSlot6 = 0
        smIdle
        {
            manager = "@sm_stay"
        }
        smFighting
        {
            manager = "@sm_fight"
        }
        smOutOfControl
        {
            manager = "@sm_OutOfControl"
        }
        mDeadLost = "@DeadLost"
        mIsEnterFighting = "@IsEnterFighting"
    }
    ;------------------------------------------
    ; 四处游荡的敌对NPC
    class
    {
        id = 1002
        name = "WanderingNPC"
        BaseClass = "StayingNPC"  ; 从该类继承其它成员
        smIdle
        {
            manager = "@sm_wander"
        }
    }
    ;------------------------------------------
    ; 按路线巡逻的敌对NPC
    class
    {
        id = 1003
        name = "PatrollingNPC"
        BaseClass = "StayingNPC"  ; 从该类继承其它成员
        smIdle
        {
            manager = "@sm_patrol"
        }
    }
 

3. 其它散乱没有共性的行动方面的特性,如:
    NPC等级
    NPC精英等级
  
经过以上分类处理后,可以很轻松地实现相关的designer附加和服务器端处理程序.
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值