铁血引擎装备加星、打孔及镶嵌,传奇一条龙镶嵌的宝石属性教程

铁血引擎装备加星、打孔及镶嵌,传奇一条龙镶嵌的宝石属性教程

20190720071100.png (706.72 KB, 下载次数: 0)

下载附件

2019-7-20 07:23 上传

注意:

  1.镶嵌的宝石,属性:AC2=攻击伤害增加, MAC2=物理伤害减少,DC2=魔法伤害减少,MC2=忽视目标防御,SC2=攻击伤害反弹

框内物品破碎命令:DestroyItem

镶嵌宝石拆除命令:DisDiamond 位置

参数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 位置 操作符(+/-/=) 值

功能:修改升级物品的属性,位置与极品属性设置一样

UPDATEEND

格式:UpdateEnd

功能:标志升级动作完成。加在@StartUpdate触发段的最后执行

CanUpdate

格式: CanUpdate 变量

功能:检测装备是否还有空孔

说明:如果有空孔,返回空的孔位到指定的变量

CHANGEITEMADDVALUE

格式:ChangeItemAddValue 孔位 类型 操作符(+/-/=) 值

功能:修改升级物品的特殊属性

说明:类型=1,表示麻痹属性;=2表示复活属性,=3表示护身属性,=4表示防麻属性,=5表示破护身属性,=6表示破复活属性

说明:类型=7,表示多倍攻击;=8表示冰冻攻击,=9表示防冰冻攻击

值表示各种属性的机率

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=孔位序号

当从五个孔里取出物品时,触发:QF中的@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

;==========================================================

文章归发布者所有。发布者:爱到深处,转载请注明出处:https://www.anyitu.com

如该内容侵犯您的权利,请及时联系我们

微信公众号