藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【我是大主宰SF★神将三国SF】【变态页游】★

★【0.1折】★【变态网页游戏私服】★

★神将三国网页版上线送V5 5w元宝 5000w铜币 我是大主宰上线满v,80万元宝,小怪都爆元宝,耐玩长久稳定★

【原始传奇SF/魔域永恒SF】【0.1折手游】

★【原始传奇SF/魔域永恒SF】【0.1折手游】★

★『战online+原始传奇+维京传奇+血饮龙纹+魔域永恒+斗罗大陆』一刀99999999999刀刀光柱★

★1.76特色复古传奇【首区】★

★1.76特色复古传奇【首区】★

★1.76特色复古传奇【首区】,不卖一切,仅售月卡!还你2003年的热血传奇!★

★【卓越之剑】访官微变轻氪★
★【卓越之剑】访官微变轻氪★

★【卓越之剑】访官微变轻氪-欢迎技术交流★

★怒火国际服!中国人送全满!★

★火爆怒火国际服 3D版【三端互通】★

★国人满赞助!12档会员直接拉满 国人拿首充!三日首充直接拉满 国人拿货币!1个亿灵符随便花 国人拿材料!拿时装!爽就完事了★

★0.1折!独家超低折扣手游★

★0.1折!独家超低折扣手游★

★0.1折!0.1折!0.1折!独家超低折扣手游公益服,首冲续充全部0.1折★

★【九阴真经】端游私服仿官★

★【九阴真经】端游私服仿官★

★国产大型武侠端游《九阴真经》SF问世了。2017年至今-【稳定】充值1比10,活跃就送至尊风物志,跨服雪域应有尽有。★

橘子冒险岛079★复古内挂ᐃ养老服

★★橘子冒险岛079★★复古内挂ᐃ养老服★★

★橘子MapleStory079(复古) ★内挂★技能突破玩法★新人进服赠送200积分★★新服启航,福利多多★☆增加五转技能☆ ★游戏启航★ ★火热内测★★

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

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

免费玩服找服,认准520梦幻资讯网!

★免费玩服找服,认准520梦幻资讯网★

★梦幻长期免费玩服,找服,请找www.mhxy520.com★

★梦幻西游★极致仿官公益★

★梦幻西游★极致仿官公益★

★无定制,全靠打,自由交易市场,无假人无托无gm介入,封任何脚本,银子保值。★

★ 新开三静脉,白嫖天堂★

★ 新开三静脉,白嫖天堂★

★逍遥西游,微变三经脉精心制作经典肝帝持续新区★

【梦幻西游】★端游领先版★
★【梦幻西游】★端游领先版★★

【梦幻西游★官方泄露版】----4月新区,无定制,无抽奖,全新战锦,每周更新一次。

★【梦幻国度】★端游★公益服★

★【梦幻国度】★端游★公益服★

★【梦幻国度】【端游】【全新版本公益服】【一样的童年不一样的游戏】【群63417379】★

★梦幻西游★仿官公益无充值★

★梦幻西游★仿官公益无充值★

★【情缘梦幻西游★独家仿官纯公益版】----2024新区,无定制,持续推广更新。推荐指数:★★★★★★★★★★★

★【梦幻西游★08仿官长久养老服】★

★★【梦幻西游★08仿官长久养老服】★★

★【梦幻西游★08仿官服2月新服,新人有路费资源福利】★

★【手游端游一键全自动搭建脚本】★

★【手游端游一键全自动搭建脚本】★

★【手游端游一键全自动搭建脚本】搭建游戏解放双手小白用了都说好★

★手游内部充值0.05折千款手游★

★手游内部充值0.05折千款手游★

★0.1折直充数千款手游可申请内部充值0.05折!超低折扣手游,全版本传奇手游--仙侠--古风-卡牌-角色扮演-二次元-全题材手游都支持内部充值0.05折★

★闪烁之光★精修PVP公益竞技服★

★闪烁之光★精修PVP公益竞技服★

★ ★★★全网独家精修★★★【闪烁之光】平衡PVP竞技公益服★应龙版本★上线十亿钻★长久养老★

★全新开服可白嫖放置传奇 荐★

★全新开服可白嫖放置传奇 荐★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698 ★

★【4月11日新服公测,全员领福利】★

★★【梦幻 4月新服,新人有路费 资源福利】★★

★★【梦幻西游★08仿官服微变 4月新服,新人有路费 资源福利】★★

6555my梦幻资讯网,众多私服发布网

★6555my梦幻资讯网,众多私服发布网★

★★★6555my梦幻资讯网,众多私服发布网★★★

★梦江南仿官无充值★

★ ★梦江南仿官无充值★★

★上线就送永久会员、银子礼包群号:531010715★

【百款GM页游+1折手游,上线送满级VIP】

★【百款GM页游+1折手游,上线送满级VIP】★

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

★【星空石器3.0】复古端游 有挂限制2开★
★★【星空石器3.0】复古端游 有挂限制2开★★

★【石器时代3.0纯PC-有挂限制2开】儿时怀旧游戏每晚活动多多 组队玩法 单人玩法 应有尽有 无需繁琐182任务★

★【大话西游2】稳定耐玩★只合不关★

★【大话西游2】稳定耐玩★只合不关★

★【大话西游2★2024最新版】稳定耐玩★只合不关★人气超旺★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

查看: 1963|回复: 17

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

[复制链接]
 楼主| 发表于 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 枚 金币,偷偷放进了口袋. 幸运榜 / 衰神榜
发表于 2022-6-7 14:54:22 | 显示全部楼层
受益匪浅,地图最好也换掉
[发帖际遇]: lcctey 被钱袋砸中进医院,看病花了 1 枚 金币. 幸运榜 / 衰神榜
发表于 2022-6-12 16:57:35 | 显示全部楼层
你的QQ 是多少啊
发表于 2022-8-16 13:05:10 | 显示全部楼层
这个需要改HH文件吗?
 楼主| 发表于 2022-8-16 18:27:10 | 显示全部楼层
大话爱好者 发表于 2022-8-16 13:05
这个需要改HH文件吗?

现在可以直接删掉HH文件了,另一个帖子里有全部替换的方法
发表于 2022-12-4 01:59:41 | 显示全部楼层
发表于 2022-12-18 23:17:32 | 显示全部楼层
厉害了,受教了!写的真心不错
发表于 2023-3-23 09:43:22 | 显示全部楼层
受教了!写的真不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-4-21 00:30 , Processed in 0.077906 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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