查看: 559|回复: 37

有爱编辑器1.0 beta

[复制链接]

1389

时沙

46

精华

117

主题

声望: 11957   虚弱: 0

管理员

↓收集癖,你懂的↓

万神殿圣光永恒炉石无冕者希尔瓦娜斯·风行者伊利丹·怒风奔波尔菠萝泰坦之握金鸡报晓瓦兰纳尔·远古王者之锤积少成多时沙之瓶炉石天马荣耀属于联盟!为了部落!Doge比格沃斯先生雷施哼哼(lulus制)uiwow(lulus制)银色北伐军黑色宝石猎豹泰兰德·语风莉莉安·沃斯祖国万岁!!小咕信仰战假死猎人今天也只能打恢复的增强萨跑路骑士吟游牧师孝顺骑士潜行者登山猎手划水武僧搓水法爷卖糖术神金鼠(ytfirefox制)

 楼主| 发表于 5 天前 | 显示全部楼层 |阅读模式


作为起名废就暂时叫这个吧..
从挺久以前就断断续续的弄了好几个编辑数据库的小工具,但是最后都因为数据库结构变动导致没用了
虽然能通过修改源码去匹配字段,但是也有些因为重装而导致丢失了源码的情况..就类似truice之类的工具也是存在这种情况.
所以想着鼓捣一个能通过配置文件进行布局和绑定数据库字段的编辑器,当数据库有变动时,只需要更改配置文件就行了.


目前鼓捣完了基础框架:
用lua作为配置文件,原本是用json的,可惜json功能太弱,连注释都不行,用lua倒方便很多.
完成数据库的执行,查询
多表格支持,最好就是一个.lua设置一个表格,以后好管理
完成对文本框的数据填充




                               
登录/注册后可看大图


如果什么都不设置就是一片空白...
111.gif

新建文件 database/test.lua
输入
  1. UI = UI or {}
  2. local item_template = {
  3.         Type = "mysql",                                --必填,编辑器类型,以后可能会添加dbc的支持
  4.         Database = "world",                        --表格所在数据库
  5.         Table = "item_template",        --表格的名字
  6.         Name = "item_template",                --编辑器名字,用于显示在编辑器左上显示,唯一,同时也用于注册对象
  7.         Fields = {                                        --字段设置,说明在上方
  8.                 {field = "entry", type = 1, name = "物品id",isFilter = true},
  9.                 {field = "name", type = 1, name = "物品名称",isFilter = true},
  10.                 {field = "class", type = 1, name = "物品类型",isFilter = true},
  11.                 {field = "subclass", type = 1, name = "物品子类型",isFilter = true},
  12.                                 
  13.         }
  14. }
  15. table.insert(UI, item_template)
复制代码
main.lua 增加一行
require "database.test"

保存并重载
222.gif 333.gif

这是最低限度的使用,木有汉化



这是随便排了下的,因为没有固定高度和宽度,所以这个布局可能会因为不同分辨率的机子而显示的不同
批注 2020-09-16 001209.png


item_template.lua
item_template.zip (2.96 KB, 下载次数: 9)

评分

参与人数 18DKP +20 金币 +1710 收起 理由
2998022327 + 100
deanwow + 100 勇士们,进攻。
fz_hang + 100 以艾露恩的名义!
fermao + 100 为了国王的荣誉!
altf4 + 100 为了国王的荣誉!
ycl888888 + 10 + 100 为了梦梦的荣誉!
hevfly + 100 Lok'tar ogar!
伊布诺斯 + 100
zxflcq + 100 Lok'tar ogar!
hsings + 100 让这个世界燃烧吧!
dingo_1 + 100 勇士们,进攻。
wolegecaole + 100 勇士们,进攻。
gcbbyy + 100 勇士们,进攻。
龙吟枫 + 100 大地母亲在忽悠着你.
239855 + 100 为了国王的荣誉!
fang139842 + 10 + 10 勇士们,进攻。
freadblangks + 100
grom.h + 100 为你而战,我的女士!

查看全部评分

因工作繁忙,只在晚上处理论坛事务.

1389

时沙

46

精华

117

主题

声望: 11957   虚弱: 0

管理员

↓收集癖,你懂的↓

万神殿圣光永恒炉石无冕者希尔瓦娜斯·风行者伊利丹·怒风奔波尔菠萝泰坦之握金鸡报晓瓦兰纳尔·远古王者之锤积少成多时沙之瓶炉石天马荣耀属于联盟!为了部落!Doge比格沃斯先生雷施哼哼(lulus制)uiwow(lulus制)银色北伐军黑色宝石猎豹泰兰德·语风莉莉安·沃斯祖国万岁!!小咕信仰战假死猎人今天也只能打恢复的增强萨跑路骑士吟游牧师孝顺骑士潜行者登山猎手划水武僧搓水法爷卖糖术神金鼠(ytfirefox制)

 楼主| 发表于 5 天前 | 显示全部楼层
建立新的lua配置

        该编辑器目前使用lua作为配置文件.并使用main.lua作为入口文件如果想要加载别的lua文件,需要先在main.lua中引用,比如想要加入characters.lua,它用于设计characters库中的characters表
新建文件characters.lua,可以放置在luaScripts里的随意一个路径下,如:database/characters/characters.lua

之后在main.lua中添加一行: require "database.characters.characters"  即可.


                               
登录/注册后可看大图


设计characters编辑器

        打开characters.lua文件,建议使用支持语法高亮的编辑器,如:notepad++
输入如下内容就可以最低限度的使用了:
  1. Editors = Editors or {}
  2. local characters = {
  3.         Type = "mysql",                                --必填,编辑器类型,以后可能会添加dbc的支持
  4.         Database = "characters",        --表格所在数据库
  5.         Table = "characters",                --表格的名称
  6.         Name = "玩家角色数据",                --编辑器名字,用于显示在编辑器左上显示,唯一,同时也用于注册对象
  7. }
  8. table.insert(Editors, characters)
复制代码

                               
登录/注册后可看大图

字段属性
        众所周知,数据库每个字段都有它的作用,如果仅仅只操作了上述的步骤,那么编辑器就仅仅生成一个简单的视图.只能做最低程度的查看和编辑.
所以我们就需要对字段的属性进行编辑.
在上面的local characters = {} 中加一段,Fields = {}, 这是字段的定义Table.
例如:
  1. Editors = Editors or {}
  2. local characters = {
  3.         Type = "mysql",                                --必填,编辑器类型,以后可能会添加dbc的支持
  4.         Database = "characters",        --表格所在数据库
  5.         Table = "characters",                --表格的名称
  6.         Name = "玩家角色数据",                --编辑器名字,用于显示在编辑器左上显示,唯一,同时也用于注册对象
  7.         Fields = {
  8.                 --field 字段名                 isFilter 是否为筛选字段  name 名称                         tooltip 工具提示
  9.                 {field = "guid",                 isFilter = true,         name = "GUID",                 tooltip = "玩家的GUID"},
  10.                 {field = "account",         isFilter = true,         name = "账号ID",         tooltip = "玩家的账号ID"},
  11.                 {field = "name",                 isFilter = true,         name = "玩家名称",         tooltip = "玩家的姓名"},
  12.                 {field = "race",                 isFilter = true,         name = "种族",                 tooltip = "玩家的种族"},
  13.                 {field = "class",                 isFilter = true,         name = "职业",                 tooltip = "玩家的职业"},
  14.                 {field = "gender",                 isFilter = true,         name = "性别",                 tooltip = "玩家的性别"},
  15.                 {field = "level",                 isFilter = true,         name = "等级",                 tooltip = "玩家的等级"},
  16.         },
  17. }
  18. table.insert(Editors, characters)
复制代码
效果:
444.gif
对于字段的属性以后将会增加更多的支持,比如有些是flag的数据就会提供一些复选框以供点选需要的等.
目前的暂时的属性有:
  1.                 field = "entry",                         -- 必填,field用于区分是字段或布局,并用于生成SQL的字段名依据.除此之外下面的属性均是选填,等号后是默认值.
  2.                 orientation = false,                 -- 布局,默认 false(垂直). 可改为 true(水平)
  3.                 type = 1,                                        -- 字段类型,暂时只支持1,
  4.                 isFilter = false,                        -- 是否为可用于筛选器的字段
  5.                 hiddenColumn = false,                -- 是否在搜索页面的表格中隐藏该列(建议隐藏部分用处不大的字段)
  6.                 hiddenLabel = false,                -- 是否隐藏Label
  7.                 name = "物品id"                                -- 该字段显示的名字
  8.                 textColor = "#ffffffff",        -- 字段显示的文字的颜色
  9.                 tooltip = "工具提示",                -- 鼠标悬停输入框时弹出的提示文字
  10.                 borderColor = "#567d00"                -- 边框颜色,不填写则不显示边框
  11.                 width = 100,                                -- 框体宽度
  12.                 height = 100,                                -- 框体高度
复制代码



                               
登录/注册后可看大图


布局

        布局主要是使用 {   }, 来进行定义,被括住的字段将组成一个组.可以把相似,类似,同类的整理到一个组合中.然后合理的规划下各个组的位置就行.布局过程中可以点击编辑器的重载按钮进行重新布局.可以在{之前添加类似[2]=的定义,可以用于对字段的排布进行设定.每个组当中也可以添加另一个组,如类似 { { }, { }, }也是成立的.
简单的布局示例:
  1. Editors = Editors or {}
  2. local characters = {
  3.         Type = "mysql",                                --必填,编辑器类型,以后可能会添加dbc的支持
  4.         Database = "characters",        --表格所在数据库
  5.         Table = "characters",                --表格的名称
  6.         Name = "玩家角色数据",                --编辑器名字,用于显示在编辑器左上显示,唯一,同时也用于注册对象
  7.         Fields = {
  8.                 --field 字段名                 isFilter 是否为筛选字段  name 名称                         tooltip 工具提示
  9.                 {
  10.                         orientation = true,
  11.                         borderColor = "#567d00",
  12.                         {field = "guid",                 isFilter = true,         name = "GUID",                 tooltip = "玩家的GUID"},
  13.                         {field = "account",         isFilter = true,         name = "账号ID",         tooltip = "玩家的账号ID"},
  14.                 },
  15.                
  16.                
  17.                 {
  18.                         borderColor = "#cccccc",
  19.                         {field = "race",                 isFilter = true,         name = "种族",                 tooltip = "玩家的种族", orientation = true,},
  20.                         {field = "class",                 isFilter = true,         name = "职业",                 tooltip = "玩家的职业", orientation = true,},
  21.                 },
  22.                
  23.                 {field = "name",                 isFilter = true,         name = "玩家名称",         tooltip = "玩家的姓名"},
  24.                 {field = "gender",                 isFilter = true,         name = "性别",                 tooltip = "玩家的性别"},
  25.                 {field = "level",                 isFilter = true,         name = "等级",                 tooltip = "玩家的等级"},
  26.         },
  27. }
  28. table.insert(Editors, characters)
复制代码
555.gif 目前 {}, 组的可用属性暂时只有:
  1. borderColor = "#567d00"                -- 边框颜色,不填写则不显示边框
  2. orientation = false,                 -- 布局,默认 false(垂直). 可改为 true(水平)
复制代码


有空再继续写
因工作繁忙,只在晚上处理论坛事务.

175

时沙

0

精华

0

主题

声望: 622   虚弱: 0

Lv.3(忠诚者)

炉石金鼠(ytfirefox制)

发表于 5 天前 发表自手机触屏版 | 显示全部楼层
第一次坐沙发,支持下。

510

时沙

0

精华

5

主题

声望: 1120   虚弱: 0

Lv.3(忠诚者)

炉石时沙之瓶银色北伐军祖国万岁!!信仰战今天也只能打恢复的增强萨潜行者金鼠(ytfirefox制)

发表于 5 天前 发表自手机触屏版 | 显示全部楼层
大佬又来发新玩意儿了,前排支持

411

时沙

4

精华

6

主题

声望: 2805   虚弱: 0

Lv.4(锻造者)

探索者

炉石时沙之瓶祖国万岁!!信仰战今天也只能打恢复的增强萨吟游牧师潜行者卖糖术神金鼠(ytfirefox制)

发表于 5 天前 | 显示全部楼层
没时间玩了,不过看起来很赞!谢谢大佬分享
自=======================
==================寻=====
======烦=================
==============恼=========

262

时沙

5

精华

20

主题

声望: 3177   虚弱: 0

有爱科普组

小白一个 啥都不懂 各位大佬 多多指教

炉石信仰战今天也只能打恢复的增强萨跑路骑士吟游牧师卖糖术神金鼠(ytfirefox制)

发表于 5 天前 | 显示全部楼层
本帖最后由 fang139842 于 2020-9-16 01:17 编辑

恭迎盟主看界面就类似Truice一样的  虽然Truice有源码,但是编译貌似非常麻烦
这个就非常友好 非常歪瑞古德
好吧,emmmmm
这个问题没遇到过

我不懂了

262

时沙

5

精华

20

主题

声望: 3177   虚弱: 0

有爱科普组

小白一个 啥都不懂 各位大佬 多多指教

炉石信仰战今天也只能打恢复的增强萨跑路骑士吟游牧师卖糖术神金鼠(ytfirefox制)

发表于 5 天前 | 显示全部楼层
本帖最后由 fang139842 于 2020-9-16 01:34 编辑

额。。。
no file 'D:\database editor\..\lib\lua\5.3\database\item_template.dll'
        no file 'D:\database editor\loadall.dll'
        no file '.\database\item_template.dll'
        no file 'D:\database editor\database.dll'
        no file 'D:\database editor\..\lib\lua\5.3\database.dll'
        no file 'D:\database editor\loadall.dll'
        no file '.\database.dll'
stack traceback:
        [C]: in function 'require'
        D:\database editor\luaScripts\main.lua:3: in main chunk
        [C]: in function 'require'
        [string "chunk"]:9: in main chunk        

是缺dll文件么

点评

缺item_template.lua下载了放到database文件夹里就行  发表于 5 天前
好吧,emmmmm
这个问题没遇到过

我不懂了

377

时沙

0

精华

0

主题

声望: 749   虚弱: 0

Lv.3(忠诚者)

炉石时沙之瓶今天也只能打恢复的增强萨潜行者金鼠(ytfirefox制)

发表于 5 天前 | 显示全部楼层
感恩樓主分享的熱情!有愛始終需要大佬們的支持啊

22

时沙

0

精华

0

主题

声望: 77   虚弱: 0

Lv.1(追随者)

炉石

发表于 5 天前 | 显示全部楼层
我觉得名字起的好

219

时沙

0

精华

5

主题

声望: 1891   虚弱: 0

Lv.3(忠诚者)

超级小白

炉石信仰战今天也只能打恢复的增强萨吟游牧师金鼠(ytfirefox制)

发表于 5 天前 | 显示全部楼层
这个要是汉化了就成神了

17

时沙

0

精华

0

主题

声望: 20   虚弱: 0

Lv.1(追随者)

发表于 5 天前 | 显示全部楼层
有帮助 谢谢!!!!!!!
快速回复 返回顶部 返回列表