1n752yp2vm 发表于 2023-11-21 03:43:40

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

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

注意:
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





上一篇:GEE引擎传奇一条龙获取钻石的方法,直接兑换冲值点的教程
下一篇:GOM引擎传奇一条龙版本中怎么写充值点回收脚本?

终极吾辈 发表于 2023-11-21 03:49:09

楼主发贴辛苦了,谢谢楼主分享!

专属神器 发表于 2023-11-21 08:18:31

楼主发贴辛苦了,谢谢楼主分享!

帝王火龙 发表于 2023-11-21 11:03:31

在这里可以学到很多传奇一条龙开区时遇到的问题。

帝尊大陆 发表于 2023-11-21 12:44:01

感谢楼主提供这么好的论坛」

牛家村专属 发表于 2023-11-21 13:04:25

这个帖子不回对不起自己!

天猫迷失单职业 发表于 2023-11-21 18:21:38

感谢楼主提供这么好的论坛」

金币传奇 发表于 2023-11-21 23:25:13

比较全的传奇教程分享网站,站长辛苦了。

76合击 发表于 2023-11-21 23:30:47

传奇论坛里面相对来说比较好的一个!感谢站长分享的技术教程。

道盾合击 发表于 2023-11-22 02:33:23

这东西我收了!谢谢楼主!
页: [1] 2 3 4
查看完整版本: 铁血引擎传奇GM基地装备加星、打孔及镶嵌,镶嵌的宝石属性教程