月缺花残 发表于 2022-5-5 13:25:46

自定义属性建议

本帖最后由 月缺花残 于 2022-5-5 14:45 编辑

整体方法可以使用91的outway的方法,考虑到gom和gee的使用者,将这部分拆分为两种使用方式。

第一部分:
较为基础简单的方法——



该方法较为简单,将自定义属性填入到自定义属性的描述中,这部分描述直接绘制到悬浮框内,由于是简单模式,所以不记录内容值

假设UserItem下存在CustomValue数组来记录道具第一个自定义属性变量,那么简单模式下UserItem.CustomValue = 0

【UserItem.CustomValue1 = 0 即:直接绘制text内容到悬浮框 】

因为该变量不需要通过值指向或调用其他内容,所以为0

UserItem.CustomValue为该物品第一位自定义属性具体的值,此时为20 则UserItem.CustomValue = 20

此时
UserItem.CustomValue = 0;
UserItem.CustomValue = 20;

在脚本中可以通过

GetItemCustomValue 1 N$value1 的方法把自定义属性位置1的值赋给N$value1 然后让使用者根据具体对变量进行操作

而赋予道具自定义属性,则可以使用
SetItemCustomValue 1 100 的方法将100赋值给自定义属性位置1,也就是UserItem.CustomValue

由于不需要对UserItem.CustomValue进行操作,所以这种使用方法较为简单。

但是这种方法对于高端一些的操作者来说,稍微有点不够用,所以就有了第二部分,进阶方法——



进阶方法和基础方法本质上没有任何的区别,只是在属性位的text里不直接填写文本内容,而是通过数值或指针的方式,指向下方内容段的某一行

当自定义属性位置1的text内容为$2$(假设)时,则指向下方内容段内对应的第二行,或者 2=魔法力增加:

并且将2赋值给UserItem.CustomValue,所以此时 UserItem.CustomValue = 2


在悬浮框内绘制的,也是第二行的内容加上一个值

自定义属性位置2的内容为$$10(假设)时,则随机在下方文本段中的第一行到第十行,或者1=攻击力增加:···10=防御力增加之间随机选择。

由于UserItem.CustomValue的不定性,对脚本的操作的技术要求相对较高。
UserItem.CustomValue = random(10)+1;//1-10的随机

在检测时可用
#if
CheckItemCustomValueT 110   
···
来检测自定义属性1的内容值是否等于10,或者用

GetItemCustomValueT 1 N$valuet1 来直接获取这个值

在赋予时可以使用

SetItemCustomValueT 1 10//直接赋予一个值
或者
MOVR N$aRandom 10
SetItemCustomValueT 1 N$aRandom//将一个随机值赋予UserItem.CustomValue

除此之外
应扩展包括但不限于以下内容
SetItemCustomValueTColor //改变自定义属性在悬浮框内的颜色
或在内容段中通过
{s=攻击力增加:;c=251}{s=$VALUE$;c=249}等方法控制颜色

SetItemCustomValueVisible//是否将该属性绘制在悬浮框内



-----------

除此之外,建议将自定义属性相关内容加入到插件接口中,方便插件更具体详细的操作。。。。。。

以上配图和文字仅供参考,不产生具体意义和实际用途













月缺花残 发表于 2022-5-5 14:58:38

其实outway就挺好。。。。。。。。。。
页: [1]
查看完整版本: 自定义属性建议