d/ Thêm các loại vũ khí từ nguồn bên ngoài
Cũng tương tự như trong phần vật cưỡi ở trên, để thêm vào các loại vũ khí từ nguồn bên ngoài, ta làm như sau:
- Copy nguồn ảnh từ các mod khác. Vũ khí có 3 nguồn ảnh, 1 trong \Shape\BFObj\BFWeapon để biểu diễn hành động của vũ khí và 1 trong \Shape\Thing để khai báo item vũ khí và 1 trong /Shape/BF/WeaponLight/ để biểu diễn "vũ khí phát sáng"
- Rename thư mục đã copy trong \Shape\BFObj\BFWeapon, ví dụ hiện tại bản SG chuẩn có 240 loại vũ khí, ta rename lại thư mục copy là 241. Sau đó đặt thư mục 241 đó vào \Shape\BFObj\BFWeapon của ta.
- Mở file BFWeapon.obd trong \Setting\OBD\ và copy đoạn mã của vũ khí 241 trên. Lại mở BFWeapon.obd trong \Setting\OBD\ của ta và dán đoạn mã đã copy đó vào.
Ví dụ:
[spoil]
[OBJECT]
Name = Weapon
Sequence = 62241
Space = 0, 100, 0
Process = BF_CLASS_BFWeapon
Directory = \BFObj\BFWeapon\241
Sprite = Wait, W0001, #12, W0002, W0003, W0004, W0004, W0003, W0002, W0001
Sprite = Wait1, W0005, #12, W0006, W0007, W0008, W0008, W0007, W0006, W0005
Sprite = Wait2, W0009, #12, W0010, W0011, W0012, W0012, W0011, W0010, W0009
Sprite = Wait3, W0013, #12, W0014, W0015, W0016, W0016, W0015, W0014, W0013
Sprite = Walk, R10001, #5, R10002, R10003, R10004, R10005, R10006, R10007, R10008, R10009, R10010
Sprite = Atk01, A0001, #5, A0002, A0003,#7, A0004,#5, A0005, A0006, @SP_EVENT_ACT_ATTACK, A0007, A0007
Sprite = Atk02, A0009, #5, A0010, A0011, #7, A0012, #5, A0013, @SP_EVENT_ACT_ATTACK, A0014, A0015, A0015
Sprite = Atk03, A0017, #5, A0018, A0019, #7, A0020, #5, A0021, @SP_EVENT_ACT_ATTACK, A0022, A0023, A0023
Sprite = Atk04, A0025, #5, A0026, A0027, #7, A0028, #5, A0029, A0030, @SP_EVENT_ACT_ATTACK, A0031, A0031
Sprite = Atk05, A0033, #5, A0034, A0035, #7, A0036, #5, A0037, A0038, @SP_EVENT_ACT_ATTACK, A0039, A0039
Sprite = Atk06, A0041, #5, A0042, A0043, A0044, A0045, @SP_EVENT_ACT_ATTACK, A0046, A0047, A0047
Sprite = Atk07, A0049, #5, A0050, A0051, A0052, A0053, A0054, #7, @SP_EVENT_ACT_ATTACK, A0055, #5, A0055
Sprite = Atk08, A0057, #5, A0058, A0059, #7, A0060, #5, A0061, @SP_EVENT_ACT_ATTACK, A0062, A0063, A0063
Sprite = Atk09, A0065, #4, A0066, A0067, A0068, A0069, A0070, #12, @SP_EVENT_ACT_ATTACK, A0071, #4, A0071
Sprite = Atk10, A0073, #5, A0074, A0075, A0076, A0077, @SP_EVENT_ACT_ATTACK, A0078, A0079, A0079
Sprite = Atk11, A0081, #3, A0082, A0083, A0084, #12, @SP_EVENT_ACT_ATTACK, A0085, #5, A0086, A0087, A0087
Sprite = Atk12, A0089, #5, A0090, A0091, #7, A0092, #5, A0093, A0094, @SP_EVENT_ACT_ATTACK, A0095, A0095
Sprite = Atk13, A0097, #5, A0098, A0099, A0100, #7, A0101, #5, @SP_EVENT_ACT_ATTACK, A0102, A0103, A0103
Sprite = Atk14, A0105, #5, A0106, A0107, #7, A0108, #5, A0109, @SP_EVENT_ACT_ATTACK, A0110, A0011, A0011
Sprite = Atk15, A0113, #5, A0114, A0115, #7, A0116, #5, A0117, @SP_EVENT_ACT_ATTACK, A0118, A0119, A0119
Sprite = Atk16, A0121, #5, A0122, A0123, #7, A0124, #5, A0125, A0126, #7, @SP_EVENT_ACT_ATTACK, A0127, #5, A0127
; ㄤ笆
Sprite = Perform, A0128, #4, A0129, A0130, A0131, #8, A0132, #2, A0133, A0134, #4, A0135, W0001
Sprite = Point1, A0128, #4, A0129, A0130, A0131, #8, A0132, #2, A0133, A0134, #4, A0135, W0001
Sprite = Point2, A0136, #4, A0137, A0138, A0139, #8, A0140, #2, A0141, A0142, #4, A0143, A0144, W0001
Sprite = Defend, W0018, #30, W0017, #6, W0001
Sprite = Hurt, W0022, #30, W0021, #6, W0001
Sprite = Die1, F0001, #12, F0002, F0003, F0004, F0005, #90, @SP_EVENT_ACT_FADEOUT
Sprite = Die2, F0006, #12, F0007, F0008, #60, F0009, F0010, #90, @SP_EVENT_ACT_FADEOUT
; ゲ炳м猌盢笆
; 硈
Sprite = SAtk01, A0025, #2, A0026, A0027, #4, A0028, #2, A0029, A0030, @SP_EVENT_ACT_CHECK, A0031, A0031, @SP_EVENT_ACT_FINISHED
; 辟臟
Sprite = SAtk02, A0033, #5, A0034, A0035, #7, A0036, @SP_EVENT_ACT_CHECK, #5, A0037, A0038, A0039, A0039, @SP_EVENT_ACT_FINISHED
; 纒辈
Sprite = SAtk03, A0033, #4, A0034, A0035, A0036, @SP_EVENT_ACT_CHECK, A0037, A0038, #15, A0037, #4, A0036, @SP_EVENT_ACT_CHECK, A0035, A0034, A0033, A0033, @SP_EVENT_ACT_FINISHED
; 癵活
Sprite = SAtk04, A0033, #5, A0034, A0035, #7, A0036, #5, A0037, @SP_EVENT_ACT_CHECK, A0038, A0039, A0039, @SP_EVENT_ACT_FINISHED
;╈
Sprite = SAtk05, A0057, #5, A0058, A0059, #7, A0060, #5, A0061, @SP_EVENT_ACT_CHECK, A0062, A0063, A0063, @SP_EVENT_ACT_FINISHED
;珼辟
Sprite = SAtk0601, A0056, #6, A0057, A0058, A0059, A0060, A0061, A0061, @SP_EVENT_ACT_FINISHED
Sprite = SAtk0602, A0019, #6, A0020, A0021, A0022, A0023, A0023, @SP_EVENT_ACT_FINISHED
; 臂腻
Sprite = SAtk07, A0073, #2, A0074, #3, A0075, A0076, A0077, A0078, @SP_EVENT_ACT_CHECK, A0074, A0075, A0076, A0077, A0078, A0079, A0079, @SP_EVENT_ACT_FINISHED
; 花疨
Sprite = SAtk08, A0113, #5, A0114, #7, A0115, A0116, A0117, @SP_EVENT_ACT_CHECK, A0044, A0043, A0041, A0041, @SP_EVENT_ACT_FINISHED
; ゲ炳м 砮ら
Sprite = SAtk09, A0097, #5, A0098, A0099, #65, A0100, @SP_EVENT_ACT_CHECK, #5, A0101, A0102, A0103, A0103, @SP_EVENT_ACT_FINISHED
; ゲ炳м ﹀羖
Sprite = SAtk10, A0097, #5, A0098, A0099, #90, A0100, @SP_EVENT_ACT_CHECK, #5, A0101, A0102, A0103, A0103, @SP_EVENT_ACT_FINISHED
; 耻
Sprite = SAtk11, A0065, #4, A0066, A0067, A0068, A0069, A0070, #12, @SP_EVENT_ACT_CHECK, A0071, #4, A0071, @SP_EVENT_ACT_FINISHED
; 睹籖
Sprite = SAtk1201, A0113, #4, A0114, A0115, A0116, @SP_EVENT_ACT_CHECK, #6, A0117, #4, A0118, A0119, A0119, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1202, A0049, #4, A0050, A0051, A0052, A0053, @SP_EVENT_ACT_CHECK, A0054, #6, A0055, #4, A0055, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1203, A0033, #4, A0034, A0035, A0036, #6, A0037, @SP_EVENT_ACT_CHECK, A0038, #4, A0039, A0039, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1204, A0009, #4, A0010, A0011, A0012, @SP_EVENT_ACT_CHECK, A0013, A0014, A0015, A0015, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1205, A0041, #4, A0042, A0043, A0044, @SP_EVENT_ACT_CHECK, A0045, A0046, A0047, A0047, @SP_EVENT_ACT_FINISHED
; ゲ炳м 臦ぇ
Sprite = SAtk1301, A0088, #6, A0089, A0090, A0091, A0092, A0093, A0094, A0095, A0088, A0088, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1302, A0064, #6, A0065, A0066, A0067, A0068, A0069, A0070, A0071, @SP_EVENT_ACT_FINISHED
; ゲ炳м ぇ
Sprite = SAtk1401, A0032, #6, A0033, A0034, A0035, A0036, A0037, A0038, A0039, A0039, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1402, A0048, #6, A0049, A0050, A0051, A0052, A0053, A0054, A0055, A0139, #60, A0139, @SP_EVENT_ACT_FINISHED
Sprite = Drop, F0001, #3, F0002, F0003, F0004, F0005, F0006, F0007, F0008, F0009, F0010, F0011, F0012, F0013, F0014, F0015, F0016
;ゲ炳м 忌獴
Sprite = S6Atk1201, A0073, #2, A0074, #3, A0075, A0076, A0077, A0078, A0074, A0075, A0076, A0077, A0078, A0074, A0075, A0076, A0077, A0078, A0074, A0075, A0076, A0077, A0078, A0079, A0079, @SP_EVENT_ACT_FINISHED
[/spoil]
Cũng nhớ là Sequence = 62241
Tức là số thứ tự có đuôi 241 trùng với thư mục 241.
Và name của vũ khí cũng phải giống như trong setting\thing.ini
Ví dụ: Name =狂神霸刀(861)
- Để cho “vũ khí phát sáng” thì phải copy luôn thư mục biểu diễn vũ khí phát sáng trong Shape/BF/WeaponLight của mod vào Shape/BF/WeaponLight của ta. Ví dụ như bên dưới là thư mục 205 chứa “phát sáng vũ khí”
- Kế đó lại mở file BFWLight.obd trong /Setting/OBD/ để khai báo “vũ khí phát sáng”
Ví dụ:
[spoil]
[OBJECT]
Name = 剑光205
Sequence = 64205
Space = 0, 0, 0
Flags = SP_ATTRIB_WHITELIGHT
Process = BF_CLASS_BFMagic
Directory = \BF\WeaponLight\205
Sprite = Wait, W0001, #12, W0002, W0003, W0004, W0004, W0003, W0002, W0001
Sprite = Wait1, W0005, #12, W0006, W0007, W0008, W0008, W0007, W0006, W0005
Sprite = Wait2, W0009, #12, W0010, W0011, W0012, W0012, W0011, W0010, W0009
Sprite = Wait3, W0013, #12, W0014, W0015, W0016, W0016, W0015, W0014, W0013
Sprite = Walk, R10001, #5, R10002, R10003, R10004, R10005, R10006, R10007, R10008, R10009, R10010
Sprite = Atk01, A0001, #5, A0002, A0003,#7, A0004,#5, A0005, A0006, @SP_EVENT_ACT_ATTACK, A0007, A0007
Sprite = Atk02, A0009, #5, A0010, A0011, #7, A0012, #5, A0013, @SP_EVENT_ACT_ATTACK, A0014, A0015, A0015
Sprite = Atk03, A0017, #5, A0018, A0019, #7, A0020, #5, A0021, @SP_EVENT_ACT_ATTACK, A0022, A0023, A0023
Sprite = Atk04, A0025, #5, A0026, A0027, #7, A0028, #5, A0029, A0030, @SP_EVENT_ACT_ATTACK, A0031, A0031
Sprite = Atk05, A0033, #5, A0034, A0035, #7, A0036, #5, A0037, A0038, @SP_EVENT_ACT_ATTACK, A0039, A0039
Sprite = Atk06, A0041, #5, A0042, A0043, A0044, A0045, @SP_EVENT_ACT_ATTACK, A0046, A0047, A0047
Sprite = Atk07, A0049, #5, A0050, A0051, A0052, A0053, A0054, #7, @SP_EVENT_ACT_ATTACK, A0055, #5, A0055
Sprite = Atk08, A0057, #5, A0058, A0059, #7, A0060, #5, A0061, @SP_EVENT_ACT_ATTACK, A0062, A0063, A0063
Sprite = Atk09, A0065, #4, A0066, A0067, A0068, A0069, A0070, #12, @SP_EVENT_ACT_ATTACK, A0071, #4, A0071
Sprite = Atk10, A0073, #5, A0074, A0075, A0076, A0077, @SP_EVENT_ACT_ATTACK, A0078, A0079, A0079
Sprite = Atk11, A0081, #3, A0082, A0083, A0084, #12, @SP_EVENT_ACT_ATTACK, A0085, #5, A0086, A0087, A0087
Sprite = Atk12, A0089, #5, A0090, A0091, #7, A0092, #5, A0093, A0094, @SP_EVENT_ACT_ATTACK, A0095, A0095
Sprite = Atk13, A0097, #5, A0098, A0099, A0100, #7, A0101, #5, @SP_EVENT_ACT_ATTACK, A0102, A0103, A0103
Sprite = Atk14, A0105, #5, A0106, A0107, #7, A0108, #5, A0109, @SP_EVENT_ACT_ATTACK, A0110, A0011, A0011
Sprite = Atk15, A0113, #5, A0114, A0115, #7, A0116, #5, A0117, @SP_EVENT_ACT_ATTACK, A0118, A0119, A0119
Sprite = Atk16, A0121, #5, A0122, A0123, #7, A0124, #5, A0125, A0126, #7, @SP_EVENT_ACT_ATTACK, A0127, #5, A0127
Sprite = Perform, A0128, #4, A0129, A0130, A0131, #8, A0132, #2, A0133, A0134, #4, A0135, W0001
Sprite = Point1, A0128, #4, A0129, A0130, A0131, #8, A0132, #2, A0133, A0134, #4, A0135, W0001
Sprite = Point2, A0136, #4, A0137, A0138, A0139, #8, A0140, #2, A0141, A0142, #4, A0143, A0144, W0001
Sprite = Defend, W0018, #30, W0017, #6, W0001
Sprite = Hurt, W0022, #30, W0021, #6, W0001
Sprite = Die1, F0001, #12, F0002, F0003, F0004, F0005, #90, @SP_EVENT_ACT_FADEOUT
Sprite = Die2, F0006, #12, F0007, F0008, #60, F0009, F0010, #90, @SP_EVENT_ACT_FADEOUT
Sprite = Drop, F0001, #3, F0002, F0003, F0004, F0005, F0006, F0007, F0008, F0009, F0010, F0011, F0012, F0013, F0014, F0015, F0016
; ゲ炳м笆
; 硈
Sprite = SAtk01, A0025, #2, A0026, A0027, #4, A0028, #2, A0029, A0030, @SP_EVENT_ACT_CHECK, A0031, A0031, @SP_EVENT_ACT_FINISHED
; 辟臟
Sprite = SAtk02, A0033, #5, A0034, A0035, #7, A0036, @SP_EVENT_ACT_CHECK, #5, A0037, A0038, A0039, A0039, @SP_EVENT_ACT_FINISHED
; 纒辈
Sprite = SAtk03, A0033, #4, A0034, A0035, A0036, @SP_EVENT_ACT_CHECK, A0037, A0038, #15, A0037, #4, A0036, @SP_EVENT_ACT_CHECK, A0035, A0034, A0033, A0033, @SP_EVENT_ACT_FINISHED
; 癵活
Sprite = SAtk04, A0033, #5, A0034, A0035, #7, A0036, #5, A0037, @SP_EVENT_ACT_CHECK, A0038, A0039, A0039, @SP_EVENT_ACT_FINISHED
;╈
Sprite = SAtk05, A0057, #5, A0058, A0059, #7, A0060, #5, A0061, @SP_EVENT_ACT_CHECK, A0062, A0063, A0063, @SP_EVENT_ACT_FINISHED
;珼辟
Sprite = SAtk0601, A0056, #6, A0057, A0058, A0059, A0060, A0061, A0061, @SP_EVENT_ACT_FINISHED
Sprite = SAtk0602, A0019, #6, A0020, A0021, A0022, A0023, A0023, @SP_EVENT_ACT_FINISHED
; 臂腻
Sprite = SAtk07, A0073, #2, A0074, #3, A0075, A0076, A0077, A0078, @SP_EVENT_ACT_CHECK, A0074, A0075, A0076, A0077, A0078, A0079, A0079, @SP_EVENT_ACT_FINISHED
; 花疨
Sprite = SAtk08, A0113, #5, A0114, #7, A0115, A0116, A0117, @SP_EVENT_ACT_CHECK, A0044, A0043, A0041, A0041, @SP_EVENT_ACT_FINISHED
; ゲ炳м 砮ら
Sprite = SAtk09, A0097, #5, A0098, A0099, #65, A0100, @SP_EVENT_ACT_CHECK, #5, A0101, A0102, A0103, A0103, @SP_EVENT_ACT_FINISHED
; ゲ炳м ﹀羖
Sprite = SAtk10, A0097, #5, A0098, A0099, #90, A0100, @SP_EVENT_ACT_CHECK, #5, A0101, A0102, A0103, A0103, @SP_EVENT_ACT_FINISHED
; 耻
Sprite = SAtk11, A0065, #4, A0066, A0067, A0068, A0069, A0070, #12, @SP_EVENT_ACT_CHECK, A0071, #4, A0071, @SP_EVENT_ACT_FINISHED
; 睹籖
Sprite = SAtk1201, A0113, #4, A0114, A0115, A0116, @SP_EVENT_ACT_CHECK, #6, A0117, #4, A0118, A0119, A0119, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1202, A0049, #4, A0050, A0051, A0052, A0053, @SP_EVENT_ACT_CHECK, A0054, #6, A0055, #4, A0055, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1203, A0033, #4, A0034, A0035, A0036, #6, A0037, @SP_EVENT_ACT_CHECK, A0038, #4, A0039, A0039, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1204, A0009, #4, A0010, A0011, A0012, @SP_EVENT_ACT_CHECK, A0013, A0014, A0015, A0015, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1205, A0041, #4, A0042, A0043, A0044, @SP_EVENT_ACT_CHECK, A0045, A0046, A0047, A0047, @SP_EVENT_ACT_FINISHED
; ゲ炳м 臦ぇ
Sprite = SAtk1301, A0088, #6, A0089, A0090, A0091, A0092, A0093, A0094, A0095, A0088, A0088, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1302, A0064, #6, A0065, A0066, A0067, A0068, A0069, A0070, A0071, @SP_EVENT_ACT_FINISHED
; ゲ炳м ぇ
Sprite = SAtk1401, A0032, #6, A0033, A0034, A0035, A0036, A0037, A0038, A0039, A0039, @SP_EVENT_ACT_FINISHED
Sprite = SAtk1402, A0048, #6, A0049, A0050, A0051, A0052, A0053, A0054, A0055, A0139, #60, A0139, @SP_EVENT_ACT_FINISHED
;ゲ炳м 忌獴
Sprite = S6Atk1201, A0073, #2, A0074, #3, A0075, A0076, A0077, A0078, A0074, A0075, A0076, A0077, A0078, A0074, A0075, A0076, A0077, A0078, A0074, A0075, A0076, A0077, A0078, A0079, A0079, @SP_EVENT_ACT_FINISHED
[/spoil]
- Kế đó, rename tên của item vũ khí (nếu muốn), ví dụ 861, và đặt trong \Shape\Thing
- Đăng ký tên và khai báo các chi tiết, ví dụ các dũng, trí trong Setting\Thing.ini của item đó
Ví dụ:
[spoil]
[THING]
No = 861
Name = 狂神霸刀
Type = 2
Param1 = 0
Param2 =
Param3 =
Param4 =
Param5 =
ScriptNo = 52
ScriptHit = 30
SFResID =
BFResID = 241
BFWResID = 205
IconID = 861
IsRare = 6
Count = 1
Level = 50
HP = 100
MP = 100
Str = 50
Int = 10
Speed = 7
Loyal = 50
Rate = 20
ResponseTime =
Price = 500000
BFMagic01 = 57 ;狂雷天牢
BFMagic02 = 69 ;旋灯怒张
BFMagic03 = 112 ;活天术
BFMagic04 = 122 ;分身斩
BFMagic05 = 245 ;噬血魔刃
SFMagic01 = 79 ;稳定军心
SFMagic02 = 85 ;回春仙术
SuperAttack =
SoldierType =
Formation =
GenSkill01 = 22 ;狂击
GenSkill02 = 40 ;剑术精髓
ArmySkill01 =
ArmySkill02 =
AGSkill01 =
AGSkill02 =
Age01 =
Age02 =
Age03 =
Age04 =
Age05 =
Age06 =
Age07 =
Age08 =
IsUsed = 1
[/spoil]
Chú giải:
No = 861 -----> số thứ tự file item trong shape/thing/
BFResID = 241 -------> số thứ tự thư mục trong shape/BFObj/BFWeapon/
BFWResID = 205 -----> số thứ tự thư mục trong shape/BF/WeaponLight (vũ khí phát sáng)
IconID = 861 --------> thường là sẽ trùng với No nở trên
...
Sau cùng, nếu cũng muốn sử dụng vũ khí này ngay thì khai báo bằng số(No) trong General01.ini
Ví dụ:
Weapon = 861 ; 狂神霸刀