物集大话西游替换老版人物研究

作者 : gm 本文共1468个字,预计阅读时间需要4分钟 发布时间: 2023-10-6 共1.15K人阅读

物集大话西游替换老版人物研究

总结来说就是两个:一个是,更换武器,皮肤也跟着变换;
一个是,上坐骑之后变新形象。

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

解决思路如下:
一、
客户端源码\src\com\gl\util\Xy2Util.java,替换旧皮肤,龙族不换。按照上面帖子操作

public static Map MODEL;
static {
MODEL = new HashMap();
MODEL.put(“20001”, “11101”);
MODEL.put(“20002”, “11102”);
MODEL.put(“20003”, “11103”);
MODEL.put(“20007”, “11104”);
MODEL.put(“20009”, “11105”);
MODEL.put(“20004”, “12102”);
MODEL.put(“20006”, “12101”);
MODEL.put(“20005”, “12103”);
MODEL.put(“20008”, “12104”);
MODEL.put(“20010”, “12105”);
MODEL.put(“21001”, “21101”);
MODEL.put(“21003”, “21102”);
MODEL.put(“21002”, “21103”);
MODEL.put(“21007”, “21104”);
MODEL.put(“21009”, “21105”);
MODEL.put(“21006”, “22101”);
MODEL.put(“21005”, “22102”);
MODEL.put(“21004”, “22103”);
MODEL.put(“21008”, “22104”);
MODEL.put(“21010”, “22105”);
MODEL.put(“22001”, “31101”);
MODEL.put(“22002”, “31102”);
MODEL.put(“22003”, “31103”);
MODEL.put(“22004”, “32103”);
MODEL.put(“22005”, “32101”);
MODEL.put(“22006”, “32102”);
MODEL.put(“22007”, “31104”);
MODEL.put(“22008”, “32104”);
MODEL.put(“22009”, “31105”);
MODEL.put(“22010”, “32105”);
MODEL.put(“23001”, “41101”);
MODEL.put(“23002”, “41103”);
MODEL.put(“23003”, “41102”);
MODEL.put(“23004”, “42101”);
MODEL.put(“23005”, “42102”);
MODEL.put(“23006”, “42103”);
}

复制代码

二、
角色拿武器之后会有一个判断,判断武器的类型,
在客户端src\com\tool\time\TimeLimit.java拉到最下面就能看到。
不知道为何里面把“双环”和“灯笼”的普通装备去掉了,我们可以自己加上,武器对应的id是武器的皮肤id。

public static int good(int id){
if ((id>=1600&&id<=1615)||id==6100||id==7006) {return 1;} if ((id>=1400&&id<=1415)||id==6106||id==7012) {return 2;} if ((id>=1100&&id<=1115)||id==6124||id==7021) {return 3;} if ((id>=1200&&id<=1215)||id==6122||id==7022) {return 4;} if ((id>=2200&&id<=2215)||id==6109||id==7016) {return 5;} if ((id>=2400&&id<=2415)||id==6119||id==7020) {return 6;} if ((id>=1300&&id<=1315)||id==6103||id==7009) {return 7;} if ((id>=1700&&id<=1715)||id==6102||id==7008) {return 8;} if ((id>=2100&&id<=2115)||id==7013||id==6105) {return 9;} if ((id>=1000&&id<=1015)||id==6118||id==7007) {return 10;} if (id==7019||id==6120) {return 11;}//加上双环 if ((id>=1800&&id<=1815)||id==6104||id==7011) {return 12;} if ((id>=1900&&id<=1915)||id==6108||id==7017) {return 13;} if ((id>=2200&&id<=2215)||id==6109||id==7010) {return 14;} if ((id>=1500&&id<=1515)||id==7014||id==6117) {return 15;} if ((id>=2000&&id<=2015)||id==6107||id==7015) {return 16;} if (id==7018||id==6121) {return 17;}//加上灯笼 if ((id>=2617&&id<=2632)||id==6125||id==7023) {return 18;} return 0; } 复制代码 这里修改就有两种方法: 1、直接把这十八般兵器从头到尾全部注释掉,这样人物使用武器就不会有任何变化! 但是有个不足的地方就是,这样龙族角色就没有武器了;用第二种方法可以解决。 2、简单做个判定,只有龙族可以使用武器皮肤。 源代码231行如下: else if (GoodsListFromServerUntil.getChoseGoodsList()[0]!=null) { long se=roleShow.getSpecies_id().longValue(); long w=good(Integer.parseInt(GoodsListFromServerUntil.getChoseGoodsList()[0].getSkin())); if (w!=0) {//修改这里

//TODO 获取光武皮肤
if (pf == null && GoodsListFromServerUntil.NB == 5) {
//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)) {
w+=18;
//}
}
buffer.append(“S”);
buffer.append((w<<32)|se); } } 复制代码 改成这样即可: if ((w!=0)&&(se==24001||se==24002||se==24003||se==24004||se==24005||se==24006)) { 复制代码 这个就表示使用武器之后,必须是龙族才有新皮肤,否则一律全是老版皮肤!至于上面的光武代码,基本没用,删掉也行。 这样就解决了武器变皮肤的问题! 另外关于上一个帖子里提到的问题,说登录时创建人物的界面还显示新皮肤,这个简单! 把客户端src\org\come\login\CreateView.java的259行到276行注释掉就好了 else { String weapon=GetdqWeapon(); long type=0; /* if (weapon.equals("剑")) {type=1;} else if (weapon.equals("扇")) {type=2;} else if (weapon.equals("锤")) {type=3;} else if (weapon.equals("斧头")) {type=4;} else if (weapon.equals("拳套")) {type=5;} else if (weapon.equals("书")) {type=6;} else if (weapon.equals("棍")) {type=7;} else if (weapon.equals("鞭")) {type=8;} else if (weapon.equals("钩")) {type=9;} else if (weapon.equals("刀")) {type=10;} else if (weapon.equals("双环")) {type=11;} else if (weapon.equals("枪")) {type=12;} else if (weapon.equals("幡")) {type=13;} else if (weapon.equals("爪")) {type=14;} else if (weapon.equals("浮尘")) {type=15;} else if (weapon.equals("飘带")) {type=16;} else if (weapon.equals("灯笼")) {type=17;} else if (weapon.equals("弓")) {type=18;}*/ part=SpriteFactory.createPart(type<<32|SelectedRoleID(), GetdqActionIntTwo(), 1, null); } 复制代码 最后,我这里存在的问题有俩: 1、坐骑的皮肤没有换 坐骑那里还没研究,另外想找个大佬给我指点一下,上学那会只学过一点C语言,Java很多我都看不懂。 2、人物角色换武器之后,老版皮肤也应该跟着换武器 这个需要做的事情有点多。 要去掉hh文件,引入老版人物不同武器的素材,还有坐骑素材,删掉龙族等等,不少的事要干。 总之,以Java强大的面向对象编程功能,没有实现不了的事。 唯一就是觉得自己好蠢,我猜测当年物集的作者,从旧版人物过度到新版,也是费了很大功夫的,如今我们开倒车,感觉自己好蠢!

声明:
本站网游单机网-藏宝湾(www.jiaobenwang.com/www.cangbaowan.top)所有源码都来源于网络收集修改或者交换!本站所有程序、源码只供大家学习和研究软件内含的设计思想和原理之用,请下载后24小时内删除!。请大家不要用于商用及违法使用,否者如引起一切纠纷与本网站无关,后果自负!!
如果侵犯了您的权益,请及时告知我们(QQ: 18001103 email:[email protected]),我们即刻删除!
如遇到资源失效,请在此贴下方评论区留言,我们将尽快补充资源!
如遇资源实在不会架设,可以换其他游戏或者版本试试,不要纠结一个版本。


网游单机网-脚本王 » 物集大话西游替换老版人物研究

常见问题FAQ

什么叫一键端?什么是手工端?
一键端:一般是虚拟机VM一键端或者windows一键启动服务端,适合新手!对于一键端来说,如果这个端是linux系统的,因为linux系统大家不熟悉,架设有点麻烦,所以很多人分享了自己架设服务端的linux系统镜像,这种叫VM一键端(虚拟机一键端)。 还有一种一键端是win系统的,大部分都是做好了启动服务端的快捷方式之类的,这种端实际和手工端相差不大了。win系统的一键端实际就是手工端!我个人认为如果端本身就是win系统的服务端,那就没必要去弄vm一键端了!

手工端:游戏服务端需手工安装配置,可以开服,适合老手,推荐方式!架设更有乐趣!
网单游戏有哪些架设方式?
1、单机玩耍,那么你只需要在你的电脑上 安装虚拟机软件+安卓模拟器即可。把服务端 运行在虚拟机的系统里面(如果是win服务端,也可以直接在电脑上运行服务端),客户端在安卓模拟器运行即可。各种VM一键端 基本就是用这种方式进行玩耍的!
2、局域网手机玩耍,局域网内,手机通过wifi连接你电脑上安装的服务端,离开这个wifi你就玩不了,这种方式虽然是局域网内可玩,但和外网架设实际上是一回事,都需要按照教程修改服务端、客户端。
3、外网玩耍,俗称开服,服务端架设在外网云服务器上,云服务器具有固定IP地址,在其他电脑上、手机上安装客户端即可玩耍。
最佳实现外网(互联网)开服玩耍的方式?
对于一般玩家来讲,如果是想实现和朋友一起玩耍网单游戏,那么就需要外网架设。最佳方式就是用内网映射的方式,仅需要一台百元级云服务器即可实现内网\局域网游戏穿透到互联网开服使用!本站提供了原创软件免费给大家使用!一般只要能局域网玩耍的网单游戏,均可实现外网玩耍!

发表评论