藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

4YX平台★新服送15首充30续充

4YX平台★新服送15首充30续充

【百款精品公益服】【全新页游盒子】今日新区★2020真正免费送首充福利服★官服品质

★怀旧西游,长久耐玩★

★怀旧西游,长久耐玩★

★【怀旧西游】【12门派】【怀旧剧情】【房屋子女】【打造炼妖】★

魔力宝贝手游经典重置版

★ 魔力宝贝手游经典重置版★

★魔力宝贝手游经典重置版, 三端互通, 经典怀旧, 现已开放压力测试, 测试期间VIP商城免费使用★

★承接推广 ★
★承接推广 ★

★承接推广★

★BT精品手游GM权限无限刷★

█BT精品手游GM权限无限刷█

〖手游+页游=全部无限元宝满V18-------上线满V-------GM后台---刷----刷----刷---〗

★一刀99999高爆游戏无限元宝★

★一刀99999高爆游戏无限元宝★

★『百战沙城SF|斗罗大陆SF』一刀999999高爆页游修改版,满V20+无限元宝SSSS得神兵神将秒BOSS★

【独家精品手游】【长久稳定】

【独家精品手游】【长久稳定】

【独家手游盒子】【三端互通】【独家版本】打金玩家天堂,长期稳定人气高

☆[仿官梦幻]推荐服☆

☆[仿官梦幻]推荐服☆

[极致·怀旧仿官梦幻]无VIP,无抽奖,无定制。已开3年,服务器再次续费5年,长久稳定人气火爆。

【超变梦幻西游·推荐服】
★【超变梦幻西游·推荐服】★

★【超变梦幻】全新超变装备打造系统 全新怪物定制、SSS级宠物、全新龙魂系统★

★承接推广 ★

★承接推广 ★

★承接推广 ★

【征途2手游SF】【倩女幽魂手游SF】

【征途2手游SF】【倩女幽魂手游SF】

★【征途2手游SF】【倩女幽魂手游SF】【救世之树SF】【DNF阿拉德】问道手游SF★

★GM版火爆页游★

★GM版火爆页游★

★【百款变态页游SF】【变态手游SF】【安卓+IOS手游】【上线免费顶级VIP】★

★dnf★全职业平衡★公益服★
★★dnf★全职业平衡★公益服★★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【373791165】

★霸王大陆4.0 火爆国服★

★霸王大陆4.0 火爆国服★

★【霸王大陆】【霸王4.0】【火爆国服】【挂机PK怀旧青春】★

【西游降魔录】【3D大型魔幻PK网游】

★【西游降魔录】【3D大型魔幻PK网游】★

★西游降魔录 3D大型魔幻PK网游 不删档首服 加群送礼包体验:425312704★

★承接推广★

★承接推广★

★承接推广★

★小不点 史上难度最高奇迹MU 速进★

★★小不点 史上难度最高奇迹MU 速进★★

★小不点奇迹MU==>内涵段子新区今天震撼开启~~赶快去注册吧!!★

★承接推广★

★承接推广★

★承接推广★

单开西游,完美还原助战系统

★单开西游,完美还原助战系统★

★单开助战,无须再五开,一个人玩遍天下,完美还原助战,玩法多样化。 全新升级动物套,图鉴增加属性。单开干一切,努力白嫖,藏宝阁系统开放 ★

★100%高度还原的梦幻西游★

★100%高度还原的梦幻西游★

★全网唯一可实现渡劫、化圣效果,官方玩法100%还原,真正的梦幻战斗系统★

查看: 297|回复: 10

[讨论] 物集大话西游替换老版人物研究——续

[复制链接]
 楼主| 发表于 2022-5-13 16:29:56 | 显示全部楼层 |阅读模式
疫情期间无聊,研究了一下替换老版人物的方法。

感谢https://www.iopq.net/thread-17111197-1-1.html的抛砖引玉。

上面帖子的办法,有点破釜沉舟!但总的来挺有开创性的。不过他遗留了几个问题,总结来说就是两个:一个是,更换武器,皮肤也跟着变换;
一个是,上坐骑之后变新形象。

坐骑稍微复杂一点,我还没来得及改,武器的问题我已经解决。

解决思路如下:
一、
客户端源码\src\com\gl\util\Xy2Util.java,替换旧皮肤,龙族不换。按照上面帖子操作
  1. public static Map<String, String> MODEL;
  2.         static {
  3.                 MODEL = new HashMap<String, String>();
  4.         MODEL.put("20001", "11101");
  5.         MODEL.put("20002", "11102");
  6.         MODEL.put("20003", "11103");
  7.         MODEL.put("20007", "11104");
  8.         MODEL.put("20009", "11105");
  9.         MODEL.put("20004", "12102");
  10.         MODEL.put("20006", "12101");
  11.         MODEL.put("20005", "12103");
  12.         MODEL.put("20008", "12104");
  13.         MODEL.put("20010", "12105");
  14.         MODEL.put("21001", "21101");
  15.         MODEL.put("21003", "21102");
  16.         MODEL.put("21002", "21103");
  17.         MODEL.put("21007", "21104");
  18.         MODEL.put("21009", "21105");
  19.         MODEL.put("21006", "22101");
  20.         MODEL.put("21005", "22102");
  21.         MODEL.put("21004", "22103");
  22.         MODEL.put("21008", "22104");
  23.         MODEL.put("21010", "22105");
  24.         MODEL.put("22001", "31101");
  25.         MODEL.put("22002", "31102");
  26.         MODEL.put("22003", "31103");
  27.         MODEL.put("22004", "32103");
  28.         MODEL.put("22005", "32101");
  29.         MODEL.put("22006", "32102");
  30.         MODEL.put("22007", "31104");
  31.         MODEL.put("22008", "32104");
  32.         MODEL.put("22009", "31105");
  33.         MODEL.put("22010", "32105");
  34.                 MODEL.put("23001", "41101");
  35.         MODEL.put("23002", "41103");
  36.         MODEL.put("23003", "41102");
  37.         MODEL.put("23004", "42101");
  38.         MODEL.put("23005", "42102");
  39.         MODEL.put("23006", "42103");
  40.         }
复制代码



二、
角色拿武器之后会有一个判断,判断武器的类型,
在客户端src\com\tool\time\TimeLimit.java拉到最下面就能看到。
不知道为何里面把“双环”和“灯笼”的普通装备去掉了,我们可以自己加上,武器对应的id是武器的皮肤id。
  1. public static int good(int id){
  2.                 if ((id>=1600&&id<=1615)||id==6100||id==7006) {return 1;}
  3.                 if ((id>=1400&&id<=1415)||id==6106||id==7012) {return 2;}
  4.                 if ((id>=1100&&id<=1115)||id==6124||id==7021) {return 3;}
  5.                 if ((id>=1200&&id<=1215)||id==6122||id==7022) {return 4;}
  6.                 if ((id>=2200&&id<=2215)||id==6109||id==7016) {return 5;}
  7.                 if ((id>=2400&&id<=2415)||id==6119||id==7020) {return 6;}
  8.                 if ((id>=1300&&id<=1315)||id==6103||id==7009) {return 7;}
  9.                 if ((id>=1700&&id<=1715)||id==6102||id==7008) {return 8;}
  10.                 if ((id>=2100&&id<=2115)||id==7013||id==6105) {return 9;}
  11.                 if ((id>=1000&&id<=1015)||id==6118||id==7007) {return 10;}
  12.                 if (id==7019||id==6120) {return 11;}//加上双环
  13.                 if ((id>=1800&&id<=1815)||id==6104||id==7011) {return 12;}
  14.                 if ((id>=1900&&id<=1915)||id==6108||id==7017) {return 13;}
  15.                 if ((id>=2200&&id<=2215)||id==6109||id==7010) {return 14;}
  16.                 if ((id>=1500&&id<=1515)||id==7014||id==6117) {return 15;}
  17.                 if ((id>=2000&&id<=2015)||id==6107||id==7015) {return 16;}
  18.                 if (id==7018||id==6121) {return 17;}//加上灯笼
  19.                 if ((id>=2617&&id<=2632)||id==6125||id==7023) {return 18;}
  20.                 return 0;  
  21.         }
复制代码
这里修改就有两种方法:
1、直接把这十八般兵器从头到尾全部注释掉,这样人物使用武器就不会有任何变化!
但是有个不足的地方就是,这样龙族角色就没有武器了;用第二种方法可以解决。
2、简单做个判定,只有龙族可以使用武器皮肤。
源代码231行如下:
  1.   else if (GoodsListFromServerUntil.getChoseGoodsList()[0]!=null) {
  2.                         long se=roleShow.getSpecies_id().longValue();
  3.                         long w=good(Integer.parseInt(GoodsListFromServerUntil.getChoseGoodsList()[0].getSkin()));
  4. <font color="#ff0000">                        if (w!=0) {//修改这里</font>
  5.                                
  6.                                 //TODO 获取光武皮肤
  7.                                 if (pf == null && GoodsListFromServerUntil.NB == 5) {
  8.                                         //if ((w==2&&se==20001)||(w==2&&se==20009)||(w==1&&se==20010)||(w==1&&se==21005)||(w==10&&se==21008)||(w==1&&se==22009)||(w==1&&se==23001)||(w==1&&se==24001)) {
  9.                                                 w+=18;
  10.                                         //}
  11.                                 }
  12.                                 buffer.append("S");
  13.                                 buffer.append((w<<32)|se);
  14.                         }
  15.                 }
复制代码
改成这样即可:
  1.    if ((w!=0)&&(se==24001||se==24002||se==24003||se==24004||se==24005||se==24006)) {
复制代码
这个就表示使用武器之后,必须是龙族才有新皮肤,否则一律全是老版皮肤!至于上面的光武代码,基本没用,删掉也行。

这样就解决了武器变皮肤的问题!

另外关于上一个帖子里提到的问题,说登录时创建人物的界面还显示新皮肤,这个简单!
把客户端src\org\come\login\CreateView.java的259行到276行注释掉就好了
  1. else {
  2.                         String weapon=GetdqWeapon();
  3.                         long type=0;
  4. /*                        if (weapon.equals("剑")) {type=1;}
  5.                         else if (weapon.equals("扇")) {type=2;}
  6.                         else if (weapon.equals("锤")) {type=3;}
  7.                         else if (weapon.equals("斧头")) {type=4;}
  8.                         else if (weapon.equals("拳套")) {type=5;}
  9.                         else if (weapon.equals("书")) {type=6;}
  10.                         else if (weapon.equals("棍")) {type=7;}
  11.                         else if (weapon.equals("鞭")) {type=8;}
  12.                         else if (weapon.equals("钩")) {type=9;}
  13.                         else if (weapon.equals("刀")) {type=10;}
  14.                         else if (weapon.equals("双环")) {type=11;}
  15.                         else if (weapon.equals("枪")) {type=12;}
  16.                         else if (weapon.equals("幡")) {type=13;}
  17.                         else if (weapon.equals("爪")) {type=14;}
  18.                         else if (weapon.equals("浮尘")) {type=15;}
  19.                         else if (weapon.equals("飘带")) {type=16;}
  20.                         else if (weapon.equals("灯笼")) {type=17;}
  21.                         else if (weapon.equals("弓")) {type=18;}*/
  22.                         part=SpriteFactory.createPart(type<<32|SelectedRoleID(), GetdqActionIntTwo(), 1, null);
  23.                 }
复制代码


最后,我这里存在的问题有俩:
1、坐骑的皮肤没有换
坐骑那里还没研究,另外想找个大佬给我指点一下,上学那会只学过一点C语言,Java很多我都看不懂。
2、人物角色换武器之后,老版皮肤也应该跟着换武器
这个需要做的事情有点多。
要去掉hh文件,引入老版人物不同武器的素材,还有坐骑素材,删掉龙族等等,不少的事要干。
总之,以Java强大的面向对象编程功能,没有实现不了的事。
唯一就是觉得自己好蠢,我猜测当年物集的作者,从旧版人物过度到新版,也是费了很大功夫的,如今我们开倒车,感觉自己好蠢!



希望能有大神出来,给个坐骑皮肤的修改教程。

如果没有,大家多等等,我去研究研究,顺便学一点Java。


祝好!




[发帖际遇]: cnucas 在论坛发帖时没有注意,被小偷偷去了 2 枚 金币. 幸运榜 / 衰神榜
发表于 2022-5-13 16:55:54 | 显示全部楼层
本帖最后由 yue303 于 2022-5-13 17:21 编辑

物集开发时候貌似是17年,开发时候就是新人物了。灵犀大绿底端是有双环和灯笼的。后来的法门天梯不是大绿底端基础上的,法门端战斗背景不固定,人物对话框特高,一堆小bug还不如灵犀好呢。 坐骑替换老版早就有不少人弄了,但没人出教程。
[发帖际遇]: yue303 乐于助人,奖励 7 枚 金币. 幸运榜 / 衰神榜
发表于 2022-5-13 17:12:57 | 显示全部楼层
本帖最后由 yue303 于 2022-5-13 18:04 编辑

大佬的方法确实有用,切换武器不变了,但进战斗还是新皮肤。
第二个方法就是手里没武器,哈哈



装备武器后,貌似大话站街手里是不拿武器的,忘了官服是不是这样。 进战斗和道具栏显示人物拿武器的状态。






TestpackJapnel.java  改成这样了


本帖子中包含更多资源

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

x
[发帖际遇]: yue303 在论坛发帖时没有注意,被小偷偷去了 1 枚 金币. 幸运榜 / 衰神榜
 楼主| 发表于 2022-5-13 20:34:52 | 显示全部楼层
yue303 发表于 2022-5-13 17:12
大佬的方法确实有用,切换武器不变了,但进战斗还是新皮肤。
第二个方法就是手里没武器,哈哈

进战斗没问题啊。

物品栏里的人物,拿了武器之后改变动作,这个有点麻烦。

不过你可以改一下皮肤动作,直接改成attack对应的动作,以后就一直是攻击状态。
 楼主| 发表于 2022-5-13 20:53:59 | 显示全部楼层
进战斗,老版皮肤


站街,老版皮肤,我的物品栏里的皮肤没有改

本帖子中包含更多资源

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

x
[发帖际遇]: cnucas 捡了钱没交公 金币 降了 2 枚 . 幸运榜 / 衰神榜
 楼主| 发表于 2022-5-13 20:56:16 | 显示全部楼层
登陆界面,武器类型注释之后。显示老版皮肤

本帖子中包含更多资源

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

x
发表于 2022-5-14 10:40:50 | 显示全部楼层
本帖最后由 yue303 于 2022-5-14 15:44 编辑
cnucas 发表于 2022-5-13 20:56
登陆界面,武器类型注释之后。显示老版皮肤

我的好像不行,是不是我没注释对哦,虎头怪手里没武器


本帖子中包含更多资源

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

x
 楼主| 发表于 2022-5-14 17:34:14 | 显示全部楼层
yue303 发表于 2022-5-14 10:40
我的好像不行,是不是我没注释对哦,虎头怪手里没武器

对的,登陆的创建界面确实没有武器。
你的进战斗换了皮肤,可能需要去看看精灵工厂那个文件。
发表于 2022-5-14 17:49:47 | 显示全部楼层
cnucas 发表于 2022-5-14 17:34
对的,登陆的创建界面确实没有武器。
你的进战斗换了皮肤,可能需要去看看精灵工厂那个文件。

SpriteFactory.java 是不是去掉 的注释有点多了? 大佬给看看





本帖子中包含更多资源

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

x
 楼主| 发表于 2022-5-14 22:10:20 | 显示全部楼层
yue303 发表于 2022-5-14 17:49
SpriteFactory.java 是不是去掉 的注释有点多了? 大佬给看看

我发了新方法了,你去试试
头像被屏蔽
发表于 2022-5-15 13:51:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
[发帖际遇]: a44784768 发帖时在路边捡到 5 枚 金币,偷偷放进了口袋. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2022-5-24 13:34 , Processed in 0.049513 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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