装备加星、打孔及镶嵌 注意:1.镶嵌的宝石,属性:AC2=攻击伤害增加,MAC2=物理伤害减少,DC2=魔法伤害减少,MC2=忽视目标防御,SC2=攻击伤害反弹
框内物品破碎命令estroyItem
镶嵌宝石拆除命令isDiamond 位置
参数1: 位置为身上装备位置
拆解装备上的镶嵌宝石,注意装备必须戴在身上
1. 脚本:
UPDATEITEMWIN
格式:UPDATEITEMWIN N
功能:打开装备升级界面
说明:类型N=1 表示加星界面 N=2表示打孔界面 N=3表示镶嵌界面
MAKEHOLESUCC:打孔成功
ADDSTARSUCCESS: 加星成功
DiamondSucc
格式:DiamondSucc 孔号 宝石名
功能:把宝石镶嵌在装备上
UpdateItemToBag
格式:UpdateItemToBag 位置(0~2)
功能:将指定位置的升级物品返回到背包
说明:0=装备位置
1~5=五个孔的位置
DELSTAR:
格式:DELSTAR 要删的数量
功能:删除升级装备的星星
CHANGEITEMVALUE
格式:ChangeItemValue 位置 操作符(+/-/= )值 属性模式
功能:修改升级物品的属性,位置与极品属性设置一样
注意:属性模式为1时代表使用新属性
UPDATEEND
格式:UpdateEnd
功能:标志升级动作完成。加在@StartUpdate触发段的最后执行
CanUpdate
格式: CanUpdate 变量
功能:检测装备是否还有空孔
说明:如果有空孔,返回空的孔位到指定的变量
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 武术增加
CHANGEITEMVALUE
格式:ChangeItemValue 位置 操作符(+/-/=) 值
功能:修改升级物品的属性,位置与极品属性设置一样
RandomEx 参数一 参数二
参数一 变量值
参数二 随机值
功能 随机一个数值 赋值到 参数一的变量里
CHECKITEMADDVALUE
CHECKITEMADDVALUE 999 附加属性(0..28) (>,<,=,?) 数量
当装备位置等于999时代表检测加星框内装备的附加属性
CHECKITEMADDVALUE
GetAddStartItem 附加属性(0..28) 变量(支持D,N)
2. 触发
当在五个孔里放入物品时,触发:QF中的@AddUpdateDiamond段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=孔位序号
当从五个孔里取出物品时,触发F中的@DelUpdateDiamond段,
其中:S99=物品名
D99=物品的Stdmode
D98=物品的Shape
D97=物品的AniCount
D96=物品的Source
D95=物品的Duramax
D94=物品的Need
D93=物品的NeedLevel
D92=孔位序号
当放入装备时,触发: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
当拿走装备时,触发: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
点击开始按钮后,触发:QF中的@StartUpdate段。
=============================================================================================================
[@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变量,用来表示已经放入辅材
MOV D6 <$STR(D98)> ;D6变量,用来记录成功率,这里用辅格的shape字段来表示成功率,也可以改成其他字段
[@打孔_放入主材]
;检测打孔的宝石类型是不是指定的类型,这里举例用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变量,用来表示已经放入辅材
MOV D6 <$STR(D98)> ;D6变量,用来记录成功率,这里用辅格的shape字段来表示成功率,也可以改成其他字段
[@镶嵌_放入主材]
;检测打孔的宝石类型是不是指定的类型,这里举例用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变量,用来表示已经放入辅材
MOV D7 <$STR(D98)> ;D7变量,用来记录成功率,这里用辅格的shape字段来表示成功率,也可以改成其他字段
;取走材料时触发------------------------------
[@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
;按下开始按钮触发--------------------------------
[@StartUpdate]
#IF
Equal D2 1
#ACT
Goto @加星
break
#IF
Equal D2 2
#Act
Goto @打孔
break
#IF
Equal D2 3
#Act
Goto @镶嵌
[@加星]
#IF
Equal D3 1
Equal D5 1
#ACT
RandomEx D7 100
#IF
Small D7 <$STR(D6)>
#Act
ADDSTARSUCCESS
CHANGEITEMVALUE 0 + <$STR(D4)>
GuildNoticeMsg 11 254 加星成功! Self
UPDATEEND
UpdateItemToBag 0
#ELSEACT
GuildNoticeMsg 11 254 加星失败! Self
UPDATEEND
[@打孔]
#IF
Equal D3 1
Equal D5 1
#ACT
RandomEx D7 100
#IF
Small D7 <$STR(D6)>
#Act
MAKEHOLESUCC
GuildNoticeMsg 11 254 打孔成功! Self
UPDATEEND
UpdateItemToBag 0
#ELSEACT
GuildNoticeMsg 11 254 打孔失败! Self
UPDATEEND
[@镶嵌]
#IF
Equal D3 1
Equal D6 1
#ACT
RandomEx D8 100
#IF
Small D8 <$STR(D7)>
#Act
DiamondSucc <$STR(D10)> <$STR(S1)>
ChangeItemAddValue <$STR(D10)> <$STR(D4)> = <$STR(D5)>
GuildNoticeMsg 11 254 镶嵌成功<$STR(D10)>_<$STR(S1)>! Self
UPDATEEND
UpdateItemToBag 0
#ELSEACT
GuildNoticeMsg 11 254 镶嵌失败! Self
UPDATEEND
;==========================================================
|