关于备忘录:
这里主要是自己记录一些CE3(Cryengine3)的常用方法,包括代码编写以及API功能,如果有什么问题感谢指出,这是我的邮箱albstein2@gmail.com
这里介绍在CE3中子弹弹头的创建及使用。
首先CE3中的弹头的创建一般基于抛射物,即继承自CProjectile,当然根据需要有时会用到多重继承调用其他的资源,不过这里作为基本的介绍所以不予考虑。
这里的环境为windows7 x64下的VS2012
这里我们以一个可以为目标物体造成固定伤害的弹头为例子介绍:
首先在VS的资源管理器中的/CryGameSDK/Item Files/Weapon Files/Projectiles目录下创建文件HitBullet.h和HitBullet.cpp
###打开HitBullet.h编辑如下:
|
|
###保存后打开HitBullet.cpp
|
|
上述内容完成后,我们武器本体代码就完成了,接下来我们将新建的弹头加入到武器系统中
打开/CryGameSDK/Item Files/Weapon Files下的WeaponSystem.cpp
|
|
之后在CE3目录下的GameSDK\Scripts\Entities\Items\XML\Ammo中新建文件HitBullet.xml
打开后拷贝该目录下的RifleBullet.xml中的内容
<ammo name="HitBullet" class="HitBullet">
<!--将第一行改为这样-->
...<!--略-->
接着新建一种使用该弹头的武器,我们一Rifle为模板改动
在GameSDK\Scripts\Entities\Items\XML\Weapons中新建文件HitBullet.xml
打开后拷贝该目录下的Rifle.xml中的内容
<item name="HitBullet" class="HitBullet" category="secondary" priority="13" weaponParams="1">
<params>
<param name="display_name" value="@mp_eHitBullet" />
...<!--略-->
</params>
...<!--略-->
<ammos>
<ammo name="HitBullet" extra="1" amount="1" minAmmo="1" capacity="0" GAME="SP" /><!--改动-->
<ammo name="HitBullet" extra="45" amount="9" capacity="45" GAME="MP" /><!--改动-->
<firemodes>
<firemode type="default">
<fire>
<param name="hit_type" value="RifleBullet" />
<param name="ammo_type" value="HitBullet" /><!--改动-->
...<!--略-->
</fire>
...<!--略-->
之后编译运行就可以在边栏看到武器了,添加后即可使用。