请选择 进入手机版 | 继续访问电脑版

GA地精研究院

 找回密码
 立即注册
查看: 3898|回复: 20

[演示&系统] 分享自己的全屏装备系统:纯T+多人+可移植+内附教程+支持任意版本

[复制链接]
发表于 2013-7-21 03:48:01 | 显示全部楼层 |阅读模式
本帖最后由 leisel 于 2013-7-21 17:14 编辑



做地图也有些年了,不敢说十分精通,也积累了点经验,心里总有个想法是不是应该留下点什么呢?
大大小小的老人也都有自己的小系统神马的贡献在外。时间精力关系总没能下决心去做点什么。

大概是因为acomc的缘故(他在GA的ID忘记了~C什么来着),他的一个朋友的徒弟想要一个全屏装备系统,纯T的
我想,为何不趁这个机会把这个东西好好写写呢?(尼玛几个通宵就这样过去了,坑爹啊)
总算是优化完了,希望这个纯T的玩意能够帮到那些新手朋友,也欢迎老鸟一起交流互相学习~
 楼主| 发表于 2013-7-21 03:50:33 | 显示全部楼层
本帖最后由 leisel 于 2013-7-21 17:22 编辑

全屏装备系统简介
未标题-1.jpg


操作界面比较丑,有需要的同学可以自行PS,不过物品栏位不能移动
因为当前使用的是自动化处理,在修改触发器的前提下,可以配合完成栏位移动

————————————————————————————————————————————


系统简介:

简单来说系统分2个部分,一个是全屏装备系统的逻辑处理,一个是多重背包系统
这个系统把多重背包系统和全屏装备系统合并了
你现在看到的是一个直接操作物品的全屏装备系统...
相对而言演示,这应该是一个成品系统,移植之后对设置进行小小的处理就可以适应多人使用

因此细节还是比较多,为了移植顺利,我都一一罗列了出来,按照程序操作应该是错不了的
自己已经亲自移植过,准确无误

1、适用于1.20~1.26
因为并没有使用哈希表等一些相对高级的东西,用数组就完成了功能的搭建,所以没有对使用什么版本的WAR3提出要求
你可以再在1.20以上任意版本中使用本系统。当然你觉得哈希表可以让这个系统变得更加强大,那么,不妨试试··

2、纯T制作
最初是因为不懂JASS,后来觉得有时间学JASS不如多做一会地图~(JAVA写得还行)
不过也尽量优化了处理过程,语句本身不是很多,尽量减少函数的调用次数,效果尚能接受

3、支持多人
那小堆代码,能够支持1-10个玩家的全屏装备系统,系统初始化也是按照10人规模进行设计的
而且优化的时候这里做了特别的处理,不同玩家之间的装备界面可以不规则地安放,主要记录正确坐标就可以进行系统初始化
我原本的系统是按照固定距离直线排列自动根据玩家初始化,这里没有这样的要求

4、移植方便

优化过程中比较注重触发器的封装,只要修正少量的设置,就能解决所有问题,降低移植难度和意外,一气呵成

5、扩展性强
结构化的东西,都会非常利于扩展,比方说有一天你不需要物品不需要多重背包了,假设你用的是YDWE
可以轻易地构造出随机物品属性什么的,那么全屏装备逻辑系统仍然可以充当面板操作,在后台接合你的属性数据~

缺点:大部分法球效果会失去作用。



演示系统下载: 纯T多人支持任意版本的全屏装备系统.w3x (158.32 KB, 下载次数: 814)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-21 03:54:06 | 显示全部楼层
本帖最后由 leisel 于 2013-7-21 06:57 编辑

全屏装备系统移植流程


一、物体编辑器转移清单
(注意物编最下方自定义部分)


1、导入图形资源(4个):总共3个模型1个贴图
注:inventoryskin256.blp路径改成跟名字一致,其余无需修改保持默认路径即可


2、技能(2个):2个物品栏技能
3、单位(1个):1个充当背包格子的单位——背包


4、可破坏物(6个):
⑴装备界面——装备系统的主界面
⑵选择圈——选中装备系统物品时显示的光圈
⑶丢弃物品——从背包中将物品丢弃出来
注:以上三项是系统元素,另外三个可破坏物代表全屏系统中的图标

5、物品(3个):3个测试物品,关于创建物品和使用细则,后面会有详细讲解,先拷几个样本


二、拷贝触发器

1、在复制触发器之前,请确保你的WE“自动生成未知变量”项是打开的,检验办法如下:
打开WE主窗体→单击左上角的"文件"→"参数设置"→"综合"
勾上"当黏贴触发器数据时自动创建未知变量",点"确定"


2、一共4个触发器文件夹,全部复制完后按Ctrl+B,找出多面板数组LeaderBoard,将数组大小设置为10
找出矩形区域数组d_players,大小设置为10,这两项非常重要,不设不影响单人使用,因此很容易被忽略
想要支持多人使用时就乱套了


3、文件夹:全屏装备系统

⑴找不到"xz3","xz4"因为触发器创建和引用的顺序不一样,点进去重新确认一下就行。(见附图绿色部分)
⑵"xz","xz2"的一级条件中和触发单位进行校对的对象缺失(见附图红色部分),引用到移植的单位“背包”即

⑶"FSChange"和<读档>文件夹下的"Read"都需要校正一次删除和添加物品栏技能动作,如下图所示;


修正2.jpg


修正4.jpg


4、文件夹:全屏装备系统初始化

系统的初始化部分,包括不同玩家之间的系统初始化,系统参数初始化以及全屏装备系统物品信息初始化等等,

初始化的细节在相关章节会有提及,有几个地方需要进行调整。

FSCreate:

⑴2重循环内的创建单位动作(见附图红色部分)→将创建的单位指向移植过来的单位——“背包”
循环体中一共有3个,全部替换成“背包”(3个动作一模一样,可复制黏贴)


⑵第1个2重循环外面一个单独“创建可破坏物在最后创建的单位的位置”(见附图黄色部分)
将创建的对象指向可破坏物——“丢弃物品”


⑶确认所有的"三月之匙"(见附图绿色部分),"三月之匙"是默认的指向项,如果该项已经指向一个有属性的物
品,务必更改该项,确保指向的物品是无属性的,不会是自动使用并消失的消耗类物品。

⑷最末端的两个添加技能动作(见附图蓝色部分),分别修正为添加“物品栏2”和“物品栏3”,移植过来的那
两个技能。

修正1.jpg

到这里,先把地图保存一下,关掉WE,重新打开
然后打开“可破坏物”,把玩家1的全屏装备界面拖出来,放在你想要安置的地方,接着往下看


RPGSystemInit:

FSsys_Kphw_xz = 可破坏物“选择圈”(如图红色部分)
d_players[]是关于全屏装备界面镜头活动范围区域的限制,在刚才拖出来的全屏装备界面的中心点创建一个最
小的矩形区域,参考地图内设置,然后将d_players[1]引用到刚才创建的矩形区域(见附图蓝色部分)。

修正3.jpg
FSsys_Kphw_Lx[]引用到正确的可破坏物类型上,分别是三个装备的图标
无法设置的,需要删除相关项重新设置变量,正确如图:


修正5.jpg


OK,到此为止,全屏装备系统移植结束。






回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-21 03:59:48 | 显示全部楼层
本帖最后由 leisel 于 2013-7-21 07:57 编辑

初始化全屏装备系统

一、英雄
"cs"中的 "heroes[1]=最后创建的单位" 这一句实际要达到的效果是"heroes[触发玩家的索引]=使用全屏系统的英雄"
这用法很常见,用过的同学自然知道怎么用,没用过的同学····
假设:
玩家1要使用全屏系统的英雄是吉安娜,那么heroes[1]=吉安娜
玩家2要使用全屏系统的英雄是火女,那么heroes[2]=火女
玩家3要使用全屏系统的英雄是芭比娃娃,那么heroes[3]=芭比娃娃
然后就可以删掉"cs"文件夹了。

这个赋值动作通常发生在选择英雄之后立即进行

二、系统
英雄赋值完毕之后通常就是直接调用FSCreate,进行玩家装备系统的初始化
而RPGSystemInit,EquipInfoInit要在这之前完成初始化,时间上需要进行控制

FSCreate初始化有3个参数需要进行设置:

1、intA = 当前初始化的玩家索引号 (根据游戏创建角色的方式想办法给这个intA赋值上匹配玩家的索引号,如玩家1就给1,玩家2就给2)

初始化1.jpg

2、doubleX = 该玩家的全屏装备界面的第一个背包的x坐标 - 32
3、doubleY =  该玩家的全屏装备界面的第一个背包的y坐标 + 34
值得提醒的是,不同玩家的装备界面是没有摆放规律要求的,只要不重叠就好
需要知道的是该玩家所使用的装备界面的第一个背包的坐标,就可以根据该坐标来进行系统初始化
还有就是,通常最初算出来的坐标时可能有偏差的,只需要对doubleX ,doubleY进行微调就好,全体自动调整

演示1.jpg


RPGSystemInit在增加玩家装备系统的时候只有一个参数需要进行设置,每新增一个玩家就要创建一次d_players[玩家索引]=新的矩形区域
这个新的矩形区域用于控制进入装备系统时的镜头活动范围,可以参照玩家1来造

初始化2.jpg

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-21 06:05:56 | 显示全部楼层
本帖最后由 leisel 于 2013-7-21 08:26 编辑

全屏系统物品初始化

一、物品

1、所有想要进入全屏装备系统的物品的分类必须设置成“可购买”(系统默认值,可根据需要修改AcquireEquip)
2、可以进入全屏装备系统的全部装备的生命值必须是独一无二的(不能重复)
3、物品物编中设置的属性对使用全屏装备系统的英雄同样生效

二、生成物品全屏系统中的图标和说明信息

1、打开物编"可破坏物"复制一个图标样本(例如暗色单手剑)
修改“替换纹理文件”项的地址到你想要的图标地址(通常和物品的图标地址一致)

QQ截图20130721073905.jpg

2、在EquipInfoInit中复制一份其他物品的FSsys_Kphw_Lx赋值项(可破坏物图标)
黏贴并设置FSsys_Kphw_Lx[匹配物品的生命值] = 匹配物品图标的可破坏物

3、在EquipInfoInit中复制一份其他物品的Str_EquipInfo赋值项(物品说明)
黏贴并设置Str_EquipInfo[匹配物品的生命值] = 匹配物品的说明(从物编复制相关物品的说明黏贴进去就成)

(图标和物品说明是相挨出现,一次就是一对)

22.jpg

假设你要添加物品“梨花枪”到全屏装备系统,它的生命值为5
在EquipInfoInit中新增2两项,分别是设置梨花枪的图标和文字说明
FSsys_Kphw_Lx[5] = 梨花枪(可破坏物-图标)
Str_EquipInfo[5] = (从物编中复制物品-梨花枪的文字说明到这里黏贴就可以)


4、再次强调,物品预设的属性就是英雄穿戴的属性,英雄不想用了给普通单位丢6格背包中是一样使用的
因此物品的预设信息说明和全屏物品中的信息说明应该完全一致

三、物品等级

物品等级代表物品使用的部位,一共分9个部位,每个物品必须严格按照等级划分
等级对应的部位分别是:

1级  =  主手武器
2级  =  副手
3级  =  头盔
4级  =  身躯
5级  =  戒指
6级  =  腰带
7级  =  手套
8级  =  鞋子
9级  =  项链

回复 支持 1 反对 0

使用道具 举报

发表于 2013-8-11 22:10:14 | 显示全部楼层
顶一个

点评

···发这贴的那个星期我一直在安慰自己···淡定淡定··这玩意已经过时了··  发表于 2013-8-12 16:30
0 0 早就看到你这演示贴了 一直没敢回复...  发表于 2013-8-12 12:13
内牛满面···终于有人回了··  发表于 2013-8-11 23:37
此处无声胜有声...  发表于 2013-8-11 22:12
回复 支持 反对

使用道具 举报

发表于 2013-8-30 21:47:01 | 显示全部楼层
本帖最后由 a4454962 于 2013-8-30 21:51 编辑

关于可破坏物 这玩意用LUA比较好
这玩意用J写决对比t方便- -
虽然过时了
但也别一直模仿前人的东西
还有你发错地方了- -
这东西在这地方的确有些老了
回复 支持 反对

使用道具 举报

发表于 2013-9-18 20:35:40 | 显示全部楼层
话说这做得蛮好的,怎么这么少人
回复 支持 反对

使用道具 举报

发表于 2013-9-19 18:32:16 | 显示全部楼层
好东西,不管怎样顶个先
回复 支持 反对

使用道具 举报

发表于 2013-9-19 19:23:11 来自GA卫星 | 显示全部楼层
话说,这是屏幕显示的版本吗,好像用到可破坏物了,应该是固定区域显示的版本吧

点评

不是,是多面板,这要改不难,有了显示信息,想显示在哪都没问题  发表于 2013-12-21 12:00
回复 支持 反对

使用道具 举报

发表于 2013-12-18 18:36:15 | 显示全部楼层
如果是使用次数的物品材料 那么可破坏物如何显示其数量?

点评

这个没有设计,另行设置  发表于 2013-12-21 12:01
回复 支持 反对

使用道具 举报

发表于 2014-8-16 11:54:45 | 显示全部楼层
上年的坟来挖啦,做得真的很好,支持支持!!!
回复 支持 反对

使用道具 举报

发表于 2017-9-12 19:45:04 | 显示全部楼层

大神,我拿走啦。。
我试试能不能加入自己的地图
谢谢大神
叩拜
回复 支持 反对

使用道具 举报

发表于 2017-10-22 09:54:20 | 显示全部楼层
非常感谢你无私分享
回复 支持 反对

使用道具 举报

发表于 2018-2-11 15:01:20 来自GA卫星 | 显示全部楼层
大佬,您这个系统好像有点bug啊,只能装6个部位,然后就会出现在背包里
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2018-6-22 13:12 , Processed in 0.466545 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表