铁血引擎装备加星、打孔及镶嵌2代模式

[复制链接]
查看801 | 回复0 | 2019-7-21 00:34:40 | 显示全部楼层 |阅读模式
装备加星、打孔及镶嵌2代模式
注意:
宝石DBC分类:1.镶嵌的宝石,属性:AC2=攻击伤害增加,MAC2=物理伤害减少,DC2=魔法伤害减少,MC2=忽视目标防御,SC2=攻击伤害反弹
加星系统配置文件说明:
注意1:使用2代模式的环境下费用和成功率在服务端\Mir200\Envir\加星系统显示配置.txt下配置,使用2代加星系统费用和成功率是取配置文件里的设置,加星脚本无需在写扣除费用和关于成功率的脚本
注意2:启用2代模式必须在引擎的功能设置-功能选项-里勾选[启用2代加星系统]才可以使用
加星系统显示配置文件格式及方法如下:
加星例子:
标签:[加星]
格式:加星(对应星数)=金币 元宝 成功率 是否成功率加入装备(0/1)
例子:
[加星](代表加星触发的标签)
最大星数=18(填写触发的总星数)
加星1=100|90|80|1
加星1=100|90|80|1注解:加星1(代表框内装备没有星数时执行)=100(所需要的金币数量)|90(所需要的元宝数量)|80(成功率)|1(代表把成功率赋予装备0时代表把成功率赋予主材),每个参数用|隔开!
宝石镶嵌例子:
标签:[镶嵌]
格式:镶嵌(对应已镶嵌的宝石数量)=金币 元宝 成功率 是否成功率加入装备(0/1)
例子:
[镶嵌](代表镶嵌触发的标签)
镶嵌1=100|90|80
镶嵌1=100|90|80注解:镶嵌1(代表框内装备没有镶嵌宝石数量时执行)=100(所需要的金币数量)|90(所需要的元宝数量)|80(成功率)|1(代表把成功率赋予装备0时代表把成功率赋予主材),每个参数用|隔开!
打孔例子:
标签:[打孔]
格式:打孔(对应已打孔的数量)=金币 元宝 成功率 是否成功率加入装备(0/1)
例子:
[打孔](代表打孔触发的标签)
打孔1=100|90|80
打孔1=100|90|80注解:打孔1(代表框内装备没有孔位时执行)=100(所需要的金币数量)|90(所需要的元宝数量)|80(成功率)|1(代表把成功率赋予装备0时代表把成功率赋予主材),每个参数用|隔开!
注:辅材的成功率设置在物品DB里的shape字段设置辅材成功率加成
脚本命令说明:
1、框内装备破碎命令estroyItem
2、镶嵌宝石拆除命令isDiamond 位置
参数1: 位置为身上装备位置
拆解装备上的镶嵌宝石,注意装备必须戴在身上


3、UPDATEITEMWIN
格式:UPDATEITEMWIN N
功能:打开装备升级界面
说明:类型N=1 表示加星界面 N=2表示打孔界面 N=3表示镶嵌界面

4、MAKEHOLESUCC:打孔成功(2代打孔不需要使用此命令)
5、ADDSTARSUCCESS: 加星成功

6、DiamondSucc
格式:DiamondSucc 孔号 宝石名(2代镶嵌不需要使用此命令)
功能:把宝石镶嵌在装备上

7、UpdateItemToBag
格式:UpdateItemToBag 位置(0~2) 对应位置(1-5)
功能:将指定位置的升级物品返回到背包
说明:

第一个参数 0=装备位置 1= 主材位置 2= 辅材位置< /FONT>
如果位置= 0 装备直接拿下 材料返回
UpDateItemToBag 0 退回装备到背包里
如果 第一个参数等于1 就是拿下指定位置的材料
UpdateItemToBag 1 1 拿下主材料下第一个位置的材料
位置2为辅材和主材写法相同
8、DELSTAR:
格式:DELSTAR 要删的数量
功能:删除升级装备的星星

9、CHANGEITEMVALUE
格式:ChangeItemValue 位置 操作符(+/-/=) 值 属性模式
功能:修改升级物品的属性,位置与极品属性设置一样


注意:属性模式为1时代表使用新属性
10、CanUpdate
格式: CanUpdate 变量
功能:检测装备是否还有空孔
说明:如果有空孔,返回空的孔位到指定的变量,注意返回到变量的是空位编号并非剩余孔位数量,第一个孔位为1 2 3 的顺序

11、CHANGEITEMADDVALUE
格式:ChangeItemAddValue 孔位 类型 操作符(+/-/=) 值
功能:修改升级物品的特殊属性
说明:类型=1,表示麻痹属性;=2表示复活属性,=3表示护身属性,=4表示防麻属性,=5表示破护身属性,=6表示破复活属性

说明:类型=7,表示多倍攻击;=8表示冰冻攻击,=9表示防冰冻攻击, =10失明属性,=11表示混乱属性12 =红毒 13=绿毒 14=毒素躲避
说明:15=毒素恢复 16=生命值 17=MP值 18=体质(百生命分比) 19 =附加经验

值表示各种属性的机率

元素宝石数据库设置说明:
STDMODE = 58
AC2 攻击伤害
MAC2 物理伤害减少
DC2 魔法伤害减少
SC2 攻击伤害反弹
MC2 忽视目标防御
AC 防御增加
MAC 魔御增加
DC 攻力增加
MC 魔法增加
SC 道术增加
CC 刺术增加
JC 箭术增加
GC 武术增加

12、CHANGEITEMVALUE
格式:ChangeItemValue 位置 操作符(+/-/=) 值
功能:修改升级物品的属性,位置与极品属性设置一样

13、CheckDiamond
格式:CheckDiamond 孔位类型(1为主材 2为辅材) 物品名称
功能:在成功触发里使用,检测此次操作制定类型孔内是否有此物品

14、CHECKITEMADDVALUE
CHECKITEMADDVALUE 999 附加属性(0..28) (>,<,=,?) 数量
当装备位置等于999时代表检测加星框内装备的附加属性
功能:检测框内附加属性



15、GetAddStartItem
GetAddStartItem 附加属性(0..28) 变量(支持D,N)
功能获取框内指定属性值


16、SETCANUPDATAITEM
SETCANUPDATAITEM  类别 状态

类别:1=加星 2=打孔 3=镶嵌
状态:0/1 0=点开始按钮时引擎验证不成功 1=成功
注意:材料放入触发和取出材料触发必须更变状态来识别验证
每次执行成功后状态重置为0

触发说明:
1、当在主材框和辅材框放入物品时,触发:QF中的@AddUpdateDiamond段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=类型:1(主材框)2(辅材框)< /FONT>

2、当从主材框和辅材框取出物品时,触发F中的@DelUpdateDiamond段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=类型:1(主材框)2(辅材框)< /FONT>

3、当放入装备时,触发:QF中的@AddUpdateItem段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
N999=物品的AC
N998=物品的AC2
N997=物品的MAC
N996=物品的MAC2
N995=物品的DC
N994=物品的DC2
N993=物品的MC
N992=物品的MC2
N991=物品的SC
N990=物品的SC2
N989=物品的HP
N988=物品的MP
N987=物品的AddDamage
N986=物品的DelDamage
N985=物品的HitPoint
N984=物品的SpeedPoint
N983=物品的HitSpeed
N982=物品的AntiMagic
N981=物品的PoisonMagic
N980=物品的Strong
N979=物品的Luck
N978=物品的Color
N977=物品的CC
N976=物品的CC2
N975=物品的JC
N974=物品的JC2
N973=物品的GC
N972=物品的GC2< /FONT>

4、当拿走装备时,触发:QF中的@DelUpdateItem段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
N999=物品的AC
N998=物品的AC2
N997=物品的MAC
N996=物品的MAC2
N995=物品的DC
N994=物品的DC2
N993=物品的MC
N992=物品的MC2
N991=物品的SC
N990=物品的SC2
N989=物品的HP
N988=物品的MP
N987=物品的AddDamage
N986=物品的DelDamage
N985=物品的HitPoint
N984=物品的SpeedPoint
N983=物品的HitSpeed
N982=物品的AntiMagic
N981=物品的PoisonMagic
N980=物品的Strong
N979=物品的Luck
N978=物品的Color
N977=物品的CC
N976=物品的CC2
N975=物品的JC
N974=物品的JC2
N973=物品的GC
N972=物品的GC2< /FONT>

5、当成加星功后,触发:QF中的@StartUpdateOK1段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
D90=物品镶嵌的宝石数量< /FONT>

6、当加星失败后,触发:QF中的@StartUpdateFail1段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
D90=物品镶嵌的宝石数量< /FONT>

7、当成打孔功后,触发:QF中的@StartUpdateOK2段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
D90=物品镶嵌的宝石数量< /FONT>

8、当打孔失败后,触发:QF中的@StartUpdateFail2段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
D90=物品镶嵌的宝石数量< /FONT>

9、当成镶嵌功后,触发:QF中的@StartUpdateOK3段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
D90=物品镶嵌的宝石数量< /FONT>

10、当镶嵌失败后,触发:QF中的@StartUpdateFail3段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=物品的星星数
D91=物品打孔数量
D90=物品镶嵌的宝石数量< /FONT>

加星、镶嵌、打孔脚本实例:====================================================================================================
[@main]
<加星/@123(1)>\
<打孔/@123(2)>\
<镶嵌/@123(3)>

;装备加星,打孔,镶嵌======================================
[@123()]
#IF
#ACT
UPDATEITEMWIN <$ARG(1)>
;D1变表保存升级类型
MOV D1 <$ARG(1)>
MOV D2 0
MOV D3 0
MOV D4 0
MOV D5 0
MOV D6 0

;==========================================================
;以下是QF中的触发段
;放入装备时触发-------------------------------
[@AddUpdateItem]
;检测放入的物品是否属于可升级装备
#IF
!Equal D99 5
!Equal D99 6
#ACT
GuildNoticeMsg 11 254 该物品不能升级,请放入武器类装备! Self
UpdateItemToBag 0
break

#IF
Equal D1 1
#ACT
Goto @加星_放入装备
break

#IF
Equal D1 2
#Act
Goto @打孔_放入装备
break

#IF
Equal D1 3
#Act
Goto @镶嵌_放入装备
break

[@加星_放入装备]
;检测星星数量是否大于或等于10,如果小于10,则将D2变量设为1,表示装备升级类型是加星
#IF
!Small D92 10
#Act

GuildNoticeMsg 11 254 星星数量已达上限! Self
UpdateItemToBag 0
break
#ElseAct
MOV D2 1

[@打孔_放入装备]
;检测孔数是否小于3,如果小于3,则将D2变量设为2,表示装备升级类型是打孔
#IF
!Small D91 3
#Act
GuildNoticeMsg 11 254 装备孔数已达上限! Self
UpdateItemToBag 0
break
#ElseAct
MOV D2 2

[@镶嵌_放入装备]
;检测星星数量是否大于或等于10,如果小于10,则将D2变量设为3,表示装备升级类型是镶嵌
#IF
!CanUpdate D10
#Act
GuildNoticeMsg 11 254 没有孔位可以镶嵌! Self
UpdateItemToBag 0
break
#ElseAct
MOV D2 3

;放入材料时触发---------------------------------------
[@AddUpdateDiamond]
#IF
Equal D2 1
Equal D92 1
#ACT
Goto @加星_放入主材
break

#IF
Equal D2 1
Equal D92 2
#ACT
Goto @加星_放入辅材
break

#IF
Equal D2 2
Equal D92 1
#ACT
Goto @打孔_放入主材
break

#IF
Equal D2 2
Equal D92 2
#ACT
Goto @打孔_放入辅材
break

#IF
Equal D2 3
Equal D92 1
#ACT
Goto @镶嵌_放入主材
break

#IF
Equal D2 3
Equal D92 2
#ACT
Goto @镶嵌_放入辅材
break

[@加星_放入主材]
;检测加星的宝石类型是不是指定的类型,这里举例用100,当然也可以设成其他的值,只要不与数据库的其他装备冲突

#IF
!Equal D99 100
#ACT
GuildNoticeMsg 11 254 请放入指定类型的加星宝石! Self
UpdateItemToBag 1
break
#ELSEACT
;D3变量用来表示已经放入宝石
MOV D3 1
;D4变量保存宝石的shape值,用作升级成功时,增加装备的属性值,这里也可以指定其他字段
MOV D4 <$STR(D98)>

[@加星_放入辅材]
;检测辅材的类型
#IF
!Equal D99 101
#ACT
GuildNoticeMsg 11 254 请放入指定类型的辅助材料! Self
UpdateItemToBag 2
break
#ELSEACT
MOV D5 1 ;D5变量,用来表示已经放入辅材

[@打孔_放入主材]
;检测打孔的宝石类型是不是指定的类型,这里举例用102,当然也可以设成其他的值,只要不与数据库的其他装备冲突
#IF
!Equal D99 102
#ACT
GuildNoticeMsg 11 254 请放入指定类型的打孔宝石! Self
UpdateItemToBag 1
break
#ELSEACT
;D3变量用来表示已经放入宝石
MOV D3 1

[@打孔_放入辅材]
;检测辅材的类型
#IF
!Equal D99 101
#ACT
GuildNoticeMsg 11 254 请放入指定类型的辅助材料! Self
UpdateItemToBag 2
break
#ELSEACT
MOV D5 1 ;D5变量,用来表示已经放入辅材

[@镶嵌_放入主材]
;检测打孔的宝石类型是不是指定的类型,这里举例用103,当然也可以设成其他的值,只要不与数据库的其他装备冲突
#IF
!Equal D99 103
#ACT
GuildNoticeMsg 11 254 请放入指定类型的镶嵌宝石! Self
UpdateItemToBag 1
break
#ELSEACT
;D3变量用来表示已经放入宝石
MOV D3 1
MOV D4 <$STR(D98)> ;D4变量用来保存shape值,这里表示要镶嵌宝石增加的特殊属性类型
MOV D5 <$STR(D97)> ;D5变量用来保存AniCount值,这里表示要镶嵌宝石的特殊属性机率
MOV S1 <$STR(S99)> ;S1变量保存要镶嵌的宝石名

[@镶嵌_放入辅材]
;检测辅材的类型
#IF
!Equal D99 101
#ACT
GuildNoticeMsg 11 254 请放入指定类型的辅助材料! Self
UpdateItemToBag 2
break
#ELSEACT
MOV D6 1 ;D6变量,用来表示已经放入辅材

;取走材料时触发------------------------------
[@DelUpdateDiamond]
#IF
Equal D2 1
Equal D92 1
#ACT
Goto @加星_取下主材
break

#IF
Equal D2 1
Equal D92 2
#ACT
Goto @加星_取下辅材
break

#IF
Equal D2 2
Equal D92 1
#ACT
Goto @打孔_取下主材
break

#IF
Equal D2 2
Equal D92 2
#ACT
Goto @打孔_取下辅材
break

#IF
Equal D2 3
Equal D92 1
#ACT
Goto @镶嵌_取下主材
break

#IF
Equal D2 3
Equal D92 2
#ACT
Goto @镶嵌_取下辅材
break

[@加星_取下主材]
#IF
#ACT
MOV D3 0
MOV D4 0

[@加星_取下辅材]
#IF
#ACT
MOV D5 0
MOV D6 0

[@打孔_取下主材]
#IF
#ACT
MOV D3 0

[@打孔_取下辅材]
#IF
#ACT
MOV D5 0
MOV D6 0

[@镶嵌_取下主材]
#IF
#ACT
MOV D3 0
MOV D4 0
MOV D5 0

[@镶嵌_取下辅材]
#IF
#ACT
MOV D7 0
MOV D6 0


;QF触发
[@StartUpdateOK]
#IF
Equal D2 1
#Act
ADDSTARSUCCESS
CHANGEITEMVALUE 0 + <$STR(D4)>
GuildNoticeMsg 11 254 加星成功! Self
UpdateItemToBag 0
break

#IF
Equal D2 2
#Act
MAKEHOLESUCC
GuildNoticeMsg 11 254 打孔成功! Self
UpdateItemToBag
break

#IF
Equal D2 3
#Act
DiamondSucc <$STR(D10)> <$STR(S1)>
ChangeItemAddValue <$STR(D10)> <$STR(D4)> = <$STR(D5)>
GuildNoticeMsg 11 254 镶嵌成功<$STR(D10)>_<$STR(S1)>! Self
UpdateItemToBag 0
break

[@StartUpdateFail]
#IF
Equal D2 1
#Act
GuildNoticeMsg 11 254 加星失败! Self
break

#IF
Equal D2 2
#Act
GuildNoticeMsg 11 254 打孔失败! Self
break

#IF
Equal D2 3
#Act
GuildNoticeMsg 11 254 镶嵌失败! Self
break


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则