Tutorial: Give enemie's Set Items
Nov 20, 2021 10:36:43 GMT 10
BJ669, heatboy077, and 1 more like this
Post by scoovyhd on Nov 20, 2021 10:36:43 GMT 10
Hello everyone
in this tutorial i will be showing you on how to give enemies Items (another pretty easy process)
first of all like all the other tutorials for items
i will be editing s1207soft which is the mercs rooftop mission map
so first you want to extract one of the s????soft.arc file (? for the room number)
after you extracted the file you should see two file's called
"s1207_em??.lot.xml"
and
s1207_it??.lot.xml
(The ? is for whatever EM or IT file you are editing)
the first process is finding what enemy entrie we want to use
in the em File we will see multiple enemie entries
but the values we will need are these 2
"<s16 name="mTargetLayoutNo0" value="??"/>"
"<s16 name="mTargetLayoutNo1" value="??"/>"
now you might be wondering what these 2 entries are
to put it simply
"<s16 name="mTargetLayoutNo0" value="??"/>" is for the em File
while on the other hand
"<s16 name="mTargetLayoutNo1" value="??"/>" is for the entry ID
next step
while knowing what em File you are editing is easy the entry ID is a bit different we will need to find this Value
"<s32 name="mID" value="0"/>" (this value goes up each entry)
so lets say an enemie entry is this
"<s16 name="mTargetLayoutNo0" value="1"/>" (EM File)
"<s16 name="mTargetLayoutNo1" value="2"/>" (EM Entry)
we will need to use this in the Item File which is also the next Step
so open your item file and you should see as before multiple entries like this one
<?xml version="1.0" encoding="utf-8"?>
<class name="XFS" type="355479284">
<u32 name="mQuality" value="2"/>
<array name="mSetInfos" type="classref" count="9">
<classref type="1637199632">
<s32 name="mID" value="1"/>
<string name="mInfoClass" value="cSetInfoItem"/>
<string name="mUnitClass" value="uItem"/>
<classref name="mpInfo" type="381867577">
<string name="mName" value="uIt0300"/>
<u32 name="mOrder" value="4"/>
<vector3 name="mPosition" x="1127.7453613281" y="12144.7949218750" z="2257.2031250000"/>
<vector3 name="mAngle" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<vector3 name="mScale" x="1.0000000000" y="1.0000000000" z="1.0000000000"/>
<class name="mFSM" type="732046243">
<class name="mData" type="1897090369">
<bool name="mAutoDelete" value="false"/>
<classref name="mpArray"/>
</class>
</class>
<vector3 name="mUserPos"/>
<array name="mUserS32" type="s32" count="4">
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
</array>
<array name="mSetInfoFreeS32" type="s32" count="4">
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
</array>
<array name="mSetInfoFreeF32" type="f32" count="4">
<f32 value="0.0000000000"/>
<f32 value="0.0000000000"/>
<f32 value="0.0000000000"/>
<f32 value="0.0000000000"/>
</array>
<bool name="mSetEmStatus" value="false"/>
<u32 name="mEmStatus" value="0"/>
<bool name="MotionCalcOff" value="false"/>
<class name="mCreateInfo" type="970569006">
<vector3 name="mPos" x="1127.7453613281" y="12144.7949218750" z="2257.2031250000"/>
<vector3 name="mAng" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<u32 name="mParentNo" value="255"/>
<u32 name="mSetAttr" value="0"/>
<u32 name="mHitAttr" value="0"/>
<vector3 name="mOffsetPos" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<vector3 name="mOffsetAng" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<classref name="Shape" type="1531104150">
<string name="Name" value=""/>
<f32 name="CheckAngle" value="0.0000000000"/>
<f32 name="CheckRange" value="0.0000000000"/>
<f32 name="CheckToward" value="0.0000000000"/>
<bool name="AngleFlag" value="false"/>
<bool name="TowardFlag" value="false"/>
<classref name="mpZone" type="407683536">
<bool name="mIsNativeData" value="false"/>
<f32 name="mDecay" value="1.0000000000"/>
<vector3 name="mPos" x="0.0000000000" y="-180.0000000000" z="0.0000000000"/>
<f32 name="mHeight" value="270.0000000000"/>
<f32 name="mTopRadius" value="220.0000000000"/>
<f32 name="mBottomRadius" value="20.0000000000"/>
</classref>
</classref>
<s16 name="mItemFlagNo" value="-1"/>
<u16 name="mItemId" value="769"/>
<s32 name="mItemNum" value="-1"/>
<s32 name="mItemBulletId" value="0"/>
<u16 name="mSetType" value="0"/>
<s16 name="mTargetLayoutNo0" value="-1"/>
<s16 name="mTargetLayoutNo1" value="-1"/>
<u8 name="mEffType" value="0"/>
<vector3 name="mEffOffset" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<u8 name="mLevelPower" value="0"/>
<u8 name="mLevelFireSpeed" value="0"/>
<u8 name="mLevelReloadSpeed" value="0"/>
<u8 name="mLevelBulletMax" value="0"/>
<u8 name="mLevelBulrRate" value="0"/>
<u8 name="mLevelCritical" value="0"/>
<u8 name="mLevelThrough" value="0"/>
<u8 name="mLevelRange" value="0"/>
<u8 name="mLevelScope" value="0"/>
we will need to edit these Values
<u16 name="mSetType" value="0"/>
<s16 name="mTargetLayoutNo0" value="-1"/>
<s16 name="mTargetLayoutNo1" value="-1"/>
the first step is to change "mSetType" to 1 not 0 (0 disables set enemie drops while 1 enables them)
then for
<s16 name="mTargetLayoutNo0" value="-1"/> (we need to change this to the enemie File we are editing
so if our enemie is in "s????_em01.lot.xml" we put 1
and for <s16 name="mTargetLayoutNo1" value="-1"/> now for the this Value
we will need to see what enemie Entry we are gonna use so as i wrote we can find what enemie ID we are using by looking at
<s32 name="mID" value="??"/>
if our enemie is the second or third entry (depends on how you look at is as in this it goes by "0123" not "123"
we will put in
<s16 name="mTargetLayoutNo1" value="2"/>
thats pretty much it now edit the Item ID with the item list from previous posts and your all set
now once you saved and repacked the File test it in game
if it Worked then you are Done!
Extra Note: we can give enemies weapons and normal items
if you want to disable the set item drop then you can use this
<u16 name="mSetType" value="0"/>
<s16 name="mTargetLayoutNo0" value="-1"/>
<s16 name="mTargetLayoutNo1" value="-1"/>
giving enemies items is the hardest part for Item editing
any other questions? ask me them here
Best of luck Modding!
in this tutorial i will be showing you on how to give enemies Items (another pretty easy process)
first of all like all the other tutorials for items
i will be editing s1207soft which is the mercs rooftop mission map
so first you want to extract one of the s????soft.arc file (? for the room number)
after you extracted the file you should see two file's called
"s1207_em??.lot.xml"
and
s1207_it??.lot.xml
(The ? is for whatever EM or IT file you are editing)
the first process is finding what enemy entrie we want to use
in the em File we will see multiple enemie entries
but the values we will need are these 2
"<s16 name="mTargetLayoutNo0" value="??"/>"
"<s16 name="mTargetLayoutNo1" value="??"/>"
now you might be wondering what these 2 entries are
to put it simply
"<s16 name="mTargetLayoutNo0" value="??"/>" is for the em File
while on the other hand
"<s16 name="mTargetLayoutNo1" value="??"/>" is for the entry ID
next step
while knowing what em File you are editing is easy the entry ID is a bit different we will need to find this Value
"<s32 name="mID" value="0"/>" (this value goes up each entry)
so lets say an enemie entry is this
"<s16 name="mTargetLayoutNo0" value="1"/>" (EM File)
"<s16 name="mTargetLayoutNo1" value="2"/>" (EM Entry)
we will need to use this in the Item File which is also the next Step
so open your item file and you should see as before multiple entries like this one
<?xml version="1.0" encoding="utf-8"?>
<class name="XFS" type="355479284">
<u32 name="mQuality" value="2"/>
<array name="mSetInfos" type="classref" count="9">
<classref type="1637199632">
<s32 name="mID" value="1"/>
<string name="mInfoClass" value="cSetInfoItem"/>
<string name="mUnitClass" value="uItem"/>
<classref name="mpInfo" type="381867577">
<string name="mName" value="uIt0300"/>
<u32 name="mOrder" value="4"/>
<vector3 name="mPosition" x="1127.7453613281" y="12144.7949218750" z="2257.2031250000"/>
<vector3 name="mAngle" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<vector3 name="mScale" x="1.0000000000" y="1.0000000000" z="1.0000000000"/>
<class name="mFSM" type="732046243">
<class name="mData" type="1897090369">
<bool name="mAutoDelete" value="false"/>
<classref name="mpArray"/>
</class>
</class>
<vector3 name="mUserPos"/>
<array name="mUserS32" type="s32" count="4">
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
</array>
<array name="mSetInfoFreeS32" type="s32" count="4">
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
<s32 value="0"/>
</array>
<array name="mSetInfoFreeF32" type="f32" count="4">
<f32 value="0.0000000000"/>
<f32 value="0.0000000000"/>
<f32 value="0.0000000000"/>
<f32 value="0.0000000000"/>
</array>
<bool name="mSetEmStatus" value="false"/>
<u32 name="mEmStatus" value="0"/>
<bool name="MotionCalcOff" value="false"/>
<class name="mCreateInfo" type="970569006">
<vector3 name="mPos" x="1127.7453613281" y="12144.7949218750" z="2257.2031250000"/>
<vector3 name="mAng" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<u32 name="mParentNo" value="255"/>
<u32 name="mSetAttr" value="0"/>
<u32 name="mHitAttr" value="0"/>
<vector3 name="mOffsetPos" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<vector3 name="mOffsetAng" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<classref name="Shape" type="1531104150">
<string name="Name" value=""/>
<f32 name="CheckAngle" value="0.0000000000"/>
<f32 name="CheckRange" value="0.0000000000"/>
<f32 name="CheckToward" value="0.0000000000"/>
<bool name="AngleFlag" value="false"/>
<bool name="TowardFlag" value="false"/>
<classref name="mpZone" type="407683536">
<bool name="mIsNativeData" value="false"/>
<f32 name="mDecay" value="1.0000000000"/>
<vector3 name="mPos" x="0.0000000000" y="-180.0000000000" z="0.0000000000"/>
<f32 name="mHeight" value="270.0000000000"/>
<f32 name="mTopRadius" value="220.0000000000"/>
<f32 name="mBottomRadius" value="20.0000000000"/>
</classref>
</classref>
<s16 name="mItemFlagNo" value="-1"/>
<u16 name="mItemId" value="769"/>
<s32 name="mItemNum" value="-1"/>
<s32 name="mItemBulletId" value="0"/>
<u16 name="mSetType" value="0"/>
<s16 name="mTargetLayoutNo0" value="-1"/>
<s16 name="mTargetLayoutNo1" value="-1"/>
<u8 name="mEffType" value="0"/>
<vector3 name="mEffOffset" x="0.0000000000" y="0.0000000000" z="0.0000000000"/>
<u8 name="mLevelPower" value="0"/>
<u8 name="mLevelFireSpeed" value="0"/>
<u8 name="mLevelReloadSpeed" value="0"/>
<u8 name="mLevelBulletMax" value="0"/>
<u8 name="mLevelBulrRate" value="0"/>
<u8 name="mLevelCritical" value="0"/>
<u8 name="mLevelThrough" value="0"/>
<u8 name="mLevelRange" value="0"/>
<u8 name="mLevelScope" value="0"/>
we will need to edit these Values
<u16 name="mSetType" value="0"/>
<s16 name="mTargetLayoutNo0" value="-1"/>
<s16 name="mTargetLayoutNo1" value="-1"/>
the first step is to change "mSetType" to 1 not 0 (0 disables set enemie drops while 1 enables them)
then for
<s16 name="mTargetLayoutNo0" value="-1"/> (we need to change this to the enemie File we are editing
so if our enemie is in "s????_em01.lot.xml" we put 1
and for <s16 name="mTargetLayoutNo1" value="-1"/> now for the this Value
we will need to see what enemie Entry we are gonna use so as i wrote we can find what enemie ID we are using by looking at
<s32 name="mID" value="??"/>
if our enemie is the second or third entry (depends on how you look at is as in this it goes by "0123" not "123"
we will put in
<s16 name="mTargetLayoutNo1" value="2"/>
thats pretty much it now edit the Item ID with the item list from previous posts and your all set
now once you saved and repacked the File test it in game
if it Worked then you are Done!
Extra Note: we can give enemies weapons and normal items
if you want to disable the set item drop then you can use this
<u16 name="mSetType" value="0"/>
<s16 name="mTargetLayoutNo0" value="-1"/>
<s16 name="mTargetLayoutNo1" value="-1"/>
giving enemies items is the hardest part for Item editing
any other questions? ask me them here
Best of luck Modding!