找回密码
 立即注册

QQ登录

只需一步,快速开始

[全版本]TomoriItemMythic——新一代属性标签系统!自定义属性!

像素搬运菌 2024-2-29 02:27:40 娱乐 阅读 255 来自 中国广西南宁
服务器插件
中文名称: 传奇物品编辑器
英文名称: TomoriItemMythic
插件来源: 转载
适用服务端: Cauldron CraftBukkit Spigot 
插件类型: 娱乐
语言支持: 中文 英文 
适用版本: 1.6.x 1.7.x 1.8.x 1.9.x 1.10.x 1.11.x 1.12.x 1.13.x 
前置插件/mod:
下载地址: https://github.com/LocyDragon/TomoriItemMythic
原贴地址:

马上登录/注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
undefinedTomoriItemMythicundefined
脚本&模板式|自定义属性|新一代原创属性Lore|解决方案
想要做和别人服务器与众不同的高逼格装备?试试这个!



你嫌插件太大?不!我们优化很好
请不要做一个伸手*!我们急需您的支持!请在下方评分罢~
开源地址:

已知Bug:
本插件不支持服务器的重载(Reload),重载后会抛出一堆错误
undefined

注意,视频里简单介绍了模板如何使用以及一些功能,但是视频里的俩个模板不是插件自带的。如果你需要,请加SpicyChicken的外交群,模板在群文件里

更新日志:
v0.0.1 ——插件雏形(未发布)
v1.0.0 ——修复了一个编译时的bug
v1.0.1 ——支持血量最大上限的修改了(在config里)/修复一个正则表达式的bug


undefined为什么用这个插件&本插件的优势undefined

· 你可以使用本插件自定义你的Lore的格式 undefined
· 你可以自己做属于你的属性!自定义性极高
undefined
· 本插件采用模板&脚本制作方法,制作完后使用模板极其方便
· 本插件自带怪物掉落接口,无需再去修改mythicmobs等怪物插件了!

最后: 本插件至今依然是BETA版本,功能还较少,计划里的东西都会慢慢做起来,欢迎点击帖子左下角持续关注本插件

本插件对小白服主极其不友好,但是功能强大,请慎用~~

容我没有美工精神弄得不好看,不过这个Lore的格式就不是固定的
先介绍一下插件的指令吧

· /tim version  
——查看插件当前版本号
· /tim model [模板名称]
——给你手上的物品立即使用一个模板,默认可以填写的模板: Default

—————————————————[手动分界线]——————————————————
· /tim load [模板名]
—— 加载一个存在的模板
· /tim drop [概率(0-100)] [怪物名字(包含&颜色代码)]
—— 给指定的怪物增加一个掉落物,掉落物为你手上的物品!

——————————————————————
配置文件:

DefaultScript:
  ExtraHealth: #额外血量的格式
    - "血量加成: <input>" #<input>就是你要输入的值
    - "+<input> 最大生命值" #可以添加多个格式
    - "最大生命值 >>> +<input>"

这个插件怎么玩起来?

· 本插件是模板式的 一个模板包含了两个东西: 主模板脚本
插件内部自带一个模板,名字叫Default
那如何添加新的模板呢?往下看
你可以使用/tim model Default 自己去体验一下默认的模板~演示的图片在上面,本插件会以一问一答的方法来给你的武器添加属性

· 当然 你也可以用其他的Lore插件直接添加属性

· 不过我们自带的属性也就两个而已,很瘠薄,怎么办呢?
  作者很良心地提供了自己做的一个模板 ——
  这里面包含了约11种属性 (本模板的名字是Basic):

如何安装模板?
1.下载后,把本压缩文件解压到
/plugins/TomoriItemMythic/model  (注意别放错了)

2. 然后我们回到游戏,输入指令:
/tim load Basic (如果乱码而不能加载,自行把所有文件转码)

你可以使用/tim model Basic
来使用这个模板制作Lore属性武器了!

如果你觉得这个就特别丑的话,可以自己用别的Lore插件来插入这个东西。
当然,你也可以修改这个格式!具体怎么做,我们下面将会慢慢来说
这么点属性而已,岂能满足有特殊需求的服主? 我们将会教你如何自定义属性

作为一个使用者,你需要掌握的有:

1.随机数生成Lore的格式
我们看到上面那个测试物品的Lore里的:

伤害加成: +12到30

这样的Lore就是符合随机数生成的格式的,那么TIM会自动给您生成一个在(12,30]区间的一个随机数,那么意思就是伤害加成是在12到30点之间的。

那么如何使一个Lore符合随机数生成的格式呢?
简单描述一下,就是有
两段数字,中间一个字隔开来,那么就会生成这两段数字之间的随机数

如何理解?举个例子:
伤害加成: +20-40
我们可以看到,20-40这一串字符是我们可以自定义的范围,这之间有一个字符 "-" 隔开了两个数字: 20和40 那么,TIM认为就会输出20到40之间的随机一个数字

再举个例子:
伤害加成: +在20到50之间的随机数
我们看到,这里有一个字符 "到" 隔开了前后的两端数字 "20" 和 "50" ,那么TIM就会认为你需要20到50之间的一个随机数。

总而言之,还是一句话:
两段数字,中间一个字隔开来,那么就会生成这两段数字之间的随机数





自定义属性 & 自定义Lore格式

敲黑板) 本部分是插件一个最难搞的地方,但是我们会慢慢来教你如何搞懂这一部分
学习前,你需要带的软件:
Notepad++
一个有耐心的心
好一点的键盘(雾

另外提一点,最好是自己也去试试

第一关——解剖一个模板的结构
对于任何一个模板来说,都是一个文件夹
—— 我们拿上面那个Basic模板来举个例子:


其中:
Model.tim 文件 ——这个文件是每个脚本里都必须有的,而且和Script文件夹放在一起,这个文件 必须叫 Model.tim 否则将不会被加载 (敲黑板 重点
    —— Model.tim是干啥的?
    —— 你可以用Notepad++打开Model.tim 可以看到这个是掌管物品Lore模板的

但是光有物品Lore 而无实际的效果 这样的属性是没有灵魂的
此时就该我们的

Script 文件夹出场啦~ ——这个文件夹是每个脚本里不一定要有的,但是如果有,这个文件夹就必须要叫做Script。它管理着各种Lore属性的具体实现效果 (敲黑板 重点

然后我们双击这个文件夹 看到里面有各种各样的后缀名为 .tos 的文件

这些都是啥玩意儿? 其实每一个 .tos 文件都是一个属性的具体内容 我们称为脚本 它对应着一个属性。看到我们有 11 个 .tos的文件,这说明这个模板里有 11 种不同的属性
当我们有这些属性的武器 攻击/被别人攻击 时,这些脚本就会运行。

我们可以看到,如果把一个模板比作一个礼物,那么 Model.tim 就是礼物的包装盒,而Script文件夹就是里面实质的东西。

至此,第一章内容已经结束。本章简要说明了一个模板的结构。


第二关——Model.tim
· 从上一章中我们可以知道,Model.tim 这个文件是管理Lore的格式(样式)的,那么我们该如何编写这个东西呢?
    我们先在model文件夹里随便创建一个空文件夹


然后我们要在里面弄一个 Model.tim 格式的文件,怎么弄呢?
· 方法一: 复制黏贴 (不推荐)
· 方法二:使用Notepad++创建:
我们在里面弄一个Model.txt 然后用Notepad++打开:

点击Notepad++左上角的 文件 -> 另存为

注意我们这里保存类型选择All types ,文件名是Model.tim 然后单击保存!

好了,这样一个空 Model.tim 就有了,那么我们把原来的Model.txt删除掉

接下来,我们开始编辑这个Model.tim文件了。我们用右键这个 Model.tim 用Notepad++打开它,然后在里面书写第一行:

ModelName是什么意思呢?这代表了你的模板的名字,是在指令/tim model [模板名字] 的时候用的,(注意,里面的冒号都是 英文半角 冒号, 冒号后面有一个空格)

接下来,我们输入一个ModelLore,输入以下内容:

ModelName: ceshi
ModelLore:
  - "&a这是第一行内容: <input>"
  - "&a这是第二行内容: <input>"

让我们来解释一下这里的东西:
注意:"-" 的前面有两个空格 "-"后面有一个空格, " 和 - 都是英文半角的
ModelLore代表了使用这个模板之后物品的Lore
这里的<input>是一个占位符(变量),这个占位符会被替换成:服主使用这个模板的时候,一问一答的时候输入的内容。

举个例子,比如
我输入/tim model ceshi 之后,
先在聊天框里输入了: &b啦啦啦
第二次又输入了:&a哈哈哈
那么这一串Lore就会像这样:

这是第一行内容: 啦啦啦
这是第二行内容: 哈哈哈

不过呢,我们从之前的Default模板的使用中知道,我们每输入一行内容之前,TIM都会发送一些信息来告诉你接下来应该输入什么,这是怎么做到的呢?

此时,就需要我们的UsingMessage了,
我们在Model.tim里面输入如下信息:

ModelName: ceshi
ModelLore:
  - "&a这是第一行内容: <input>"
  - "&a这是第二行内容: <input>"
UsingMessage:
  - "&a请输入第一行内容"
  - "&a请输入第二行内容"

然后,我们就能得到以下的效果:
当服主使用/tim model ceshi 的时候,
你的模板会先问他:请输入第一行内容,
然后比如服主输入了 233

之后模板又会问他:请输入第二行内容,
然后服主输入了 332,那么他就会变成:

这是第一行内容: 233
这是第二行内容: 332

由此可见,UsingMessage里的内容和ModelLore里的每一个<input>占位符一一对应
最后,我们想给这个模板的武器增加一个默认的名字,只要:

最后我们在Model.tim里的内容:
ModelName: ceshi
ModelLore:
  - "&a这是第一行内容: <input>"
  - "&a这是第二行内容: <input>"
UsingMessage:
  - "&a请输入第一行内容"
  - "&a请输入第二行内容"
ItemName: "&a&l+这只是一个可爱的测试武器而已啦+"

保存一下,亦或转码(因为作者电脑的需求,我这里需要转成ANSI编码)
然后我们就可以到游戏里使用/tim load ceshi 来试一试你的模板了!






至此,第二章已经结束,你可以掌握: 使用Model.tim文件来搭配我们以后会学习的脚本

第三关——我的第一个脚本 & Lore属性的格式修改
从上一章的学习,我们知道了如何使用Model.tim的四个属性以及它的作用
接下来,我们就要进入正题——编写脚本了
首先我们肯定是要创建一个名字叫 Script 的文件夹,和上一章我们做的Model.tim放在一起,它看起来像这样:


之后,我们在Script文件夹中,任意创建一个 .tos 后缀(不是.tim了) 的文件(前面的名字随意。如何创建我们就跳过了,大体过程和第二章的.tim文件的创建过程差不多了。


就像这样。然后为了迎合之前的Model.tim,我们在这个文件里输入(复制黏贴来也行)这么一行:

pattern: "这是第一行内容: <input>"

当你看到一行的内容的时候,你就大概知道了这里是什么意思了。是的,这个就是这个属性Lore的格式了,不过我还是要提醒你一点,这里的pattern是不需要 颜色& 代码的,否则一会儿运行不起来不怪我哈



拿我们上面这个武器打个比方:
看到这个第一行Lore:

这是第一行内容: 哈哈

这行Lore似乎符合我们上面书写的格式的,所以这个武器的这行属性会运行进入我们的脚本。而我们的 <input> 会被替换成 "哈哈"

那我们先做一个简单的脚本: 把这里的<input>输出出来!
怎么做呢: 我们在文件里添加一个script属性,这里面都是脚本的代码

这样,即可.我们把<input>给输出出来了(注意一下格式)
pattern: "这是第一行内容: <input>"
script:
  - 输出 <input>

注意:"-" 的前面有两个空格 "-"后面有一个空格, " 和 - 都是英文半角的

注意,上面一行代码如果你想要更简便,等同于:
print <input>

这样,即可.我们把<input>给输出出来了(注意一下格式)

转码,保存,你现在可以重启一下服务器来重载脚本试试效果了!(如果开启服务器的时候报错,十有**是转码不正确或者是脚本格式搞错了)

我们使用上次的剑:

去攻击一下怪物:

可以发现,效果已经有了,
为了您更好的学习,我们把本次的模板发上来,方便理解:

至此,第三章内容结束,通过这一章,你可以了解如何编写最基础的脚本。





第四关——我的第二个脚本
我们从上一章的学习中,已经做了一个脚本了。但是我们的武器有两个Lore也就是有两个属性,而我们只做了一个,那么我们现在把另外一个也给写了吧~

提示:本章内容比之前都来得少,

我们和之前一样,在Script文件夹中,弄一个.tos文件和之前的脚本文件放在一起:

这里我们依旧来编写这个CeShi2.tos

pattern我就不教怎么写了,上一章我们已经讲过,你自己可以去尝试一下,我们直接进入正题:

编写以上代码
pattern: "这是第二行内容: <input>"
script:
  - '输出 "&a&l你的属性是: "'
  - '输出 "&7>>> "+<input>'

这些是什么意思呢? 你可以自己保存了之后先去服务器里面重载一下试试看:

特别注意 :我们的pattern是用 双引号(英文状态下) 括起来的,而script里的每一行都是用 单引号 ' (英文状态下) 括起来的,否则有可能会报错


这是我们的武器,下面的是效果(这个效果和上次的一起有)



因此我们可以得到结论: 如果使用输出后面加上一个固定的字符串的话,需要用引号括起来。比如

输出 "你好"

比如

输出 "233"

那如果我们想要把两串字符拼接起来,需要用 "+"

比如

输出 "等级 >> "+<input>

再比如

输出 <input>+",这是你的等级"  

亦或者

输出 "&a你的属性是"+<input>+"点!"

小结: 这一章我们了解了基本的脚本编写方法,知道了pattern需要套上双引号,script里的每一行代码写完后前后都得带上单引号





第五章——语法
何为语法? 比如
输出 <input>
这一行代码就是按照语法来写的,但是你不能乱写,否则TIM也读不懂。那我们可以写点什么呢?
我们先不急,先列一张很大很大的语法表

1.设置性语法


2.获取性语法


3.其他你需要掌握的语法


我们把表格文件发上来(顺便贬低一下bbs自带的辣鸡表格
语法.rar (25.82 KB, 下载次数: 38)

读懂了吗?没读懂也没事,我们现在来实际操作一个脚本吧 很人性化地给了点音乐

我们先想好我们要做什么。这样吧,我们做一个这个:

当玩家攻击的时候,给玩家发送一句攻击的伤害并修改一下攻击伤害吧~
对着表格,我们写出来这些东西

Model.tim自己写吧,我就不管了,我们这里给出这个模板的文件

去试一试吧~

我们还添加了一个上文所说的 "随机数Lore" 形成了一个随机攻击范围的效果

至此,第五章已经结束,你应该懂得:
对于脚本的更多操作



第六章——逻辑判断(待更新
第七章——流程控制(待更新
第八章——防具(待更新





写在最后的话

本插件到现在还是BETA版本,有待更新的内容:
· 宝石
· 符文 等等
欢迎在右下角点击关注~


(0)
像素搬运菌板块版主

帖子地址: 

发表回复

使用道具 举报